c语言基础内容——一些基础内容(完节)
发布日期:2021-06-29 11:11:21 浏览次数:2 分类:技术文章

本文共 5163 字,大约阅读时间需要 17 分钟。

带个徒弟过国二,所以就干脆打成博客形式吧;

自己也可以回顾,加深一下学习,为学嵌入式打好基础;
考国二的可以看下,大神也可以指点一些,毕竟本人还是很菜的;
会直续更新的;
废话不多说,直接进入主题;

1;计算语言的发展;

计算机语言的种类非常的多,总的来说可以分成机器语言,汇编语言,高级语言三大类。然而这种相对的高级和低级,相对人的使用而言,机器语言就是01组成这更方便计算机的使用,而不方便与人,而高级语言就更适合于人的使用;
因此有这样一句话,语言的发展都是朝着更方便人使用的方向进化的;

2;c语言的运行机制;

这里写图片描述
一个现代编译器的主要工作流程:
源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 目标代码 (object code) → 链接器(Linker) → 可执行程序 (executables)
——源代码:简单的说就是你所编写的代码
——预处理器:预处理器是在真正的编译开始之前由编译器调用的独立程序。预处理器可以删除注释、包含其他文件等功能。
——编译器:简单讲,编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序;在C语言里面就是将C语言翻译成机器语言。
——目标代码:一般指编译后的代码,它一般由机器代码或接近于机器语言的代码组成。
——链接器:将目标文件外加库链接为一个可执行文件。
一般在windows上用Devc生成的可以执行文件是已exe作为后缀的可执行文件

3;介绍一下编译器吧;

vc++6.0;国二是是这个
链接:
到最后编写完代码之后;进行编译链接运行的步骤;
这里写图片描述
我们现在暂时常用的是devc吧?
这里写图片描述

4;打代码的时候需要注意;

注:打代码的时候记得要把输入法切换到默认输入法,纯英文输入法。不然书写代码的时候很容易出现错误,中文的标点符号和英文的标点符号是不一样的。
注:每一行代码结束需要分号结束;

5;介绍一个简单的入门代码;学会了那也就可以说自己会敲代码了吧。嘻嘻;开玩笑,只能说明你入坑了,程序员这个大坑;

这里写图片描述
介绍;
头文件;

什么叫做头文件:比较官方的话语是这么说的“头文件作为一种包含功能函数、数据接口声明的载体文件,主要用于保存程序的声明,而定义文件用于保存程序的实现 ”;//可以理解为“把头文件当作一个工具箱,里面有很多工具,如果我们用到了这个工具,那么就需要把这个工具箱拿过来”。例如上面那个代码里面的#include
;为什么要声明这个头文件,就是因为下面使用了printf和scanf函数,这个函数(工具)在这个头文件里面(工具箱里面),因此要用到函数工具则要声明这个头文件;

main函数;

任何c语言程序只能有一个main函数,main函数是整个程序的入口,称之为主函数,程序从main函数开始执行,到main函数最后就结束程序;

定义一个变量;

变量的定义语法如下:数据类型 变量名 = 值;//或者先不赋值;int d;定义一个int类型变量d

printf();输出函数;

输出括号你们引号里面的全部容;注意如果存在%d类似的,这些叫做占位符,先占一个位置,然后把后面的数据列表的值放进来;printf("c语言欢迎你%d\n",d);//%d就是占位符;,后面的就是数据列表,依次放到占位符的位置,即可;

scanf();输入函数;

一样由两部分构成;要在键盘上输入引号里面的全部内容;如果是占位符就要输入一个这占位符表示类型的值;后面就是要接一个地址;将前面输入的值放到这个地址里面去,相当于赋值了;&这个符号就是取地址符;取d的位置,将%d接收的值放到这个位置里面,达到将这个值赋值给d;

6;基本数据类型;

前面那个int类型就是基本数据类型,%d就是表示int这个基本数据类型的占位符;
这里写图片描述
注意国二其字节大小;是以这个表为主
这里写图片描述
其占位符;记得几个常用数据类型的占位符;也叫格式化字符
int——%d;
long——%ld;
char——%c;
float——%f;
double——%lf;
8进制整数——%o;
16进制整数——%x;
来个程序测试一下吧;注意字节大小与计算机的位数有关系,但是国二里面字节是一定的以上图为准;是16位;
这里写图片描述

注意sizeof()sizeof操作运算符;计算这种变量,数据类型的大小的;可以直接接数据类型名字;可以接变量;并且在接变量的时候可以将括号省略,因为它是操作符;

7;标志符;

系统自定义标识符;
——关键字;也就保留字
这里写图片描述
——预定义标志符;
一些标准函数;例如sqrt,printf等
编译预处理命令;例如;define ,include等
用户定义标识符也就是取名字;
规则;
1,要以字母或下划线开头,有字母下划线,数字组成;
2,不能采用关键词命名;
3;预定义的标识符,只是不建议使用,但可以用;
4;区分大小写的;
5;有长度规定的;许多系统都是截取8个;
“常作为国二选择题;选出合法的用户标志符;”

8;常量和变量;

8.1;整数;
在c语言中可以使用十进制,八进制。16进制等几种形式;
8进制,以数字0开始;011相当于10进制的73;
16进制,以0x或者0X开头并且还有a到f或者大写字母;0X16等于十进制32;
其进制转化可以看我另外的博客;那里详细介绍了;
注意;在c语言中要表示长整形数需要在整形数后加l或者大写L;043L;

8.2;实数,也就是我们所说的小数,他只能由10进制表示不能用其他进制转化了;

实数一般用小数形式或者指数形式表示;(国二常考)
小数;由数字0到9和小数点组成(注意必须要有小数;)
0.3 .23 23. 都是合法的的实数;
指数形式;由整数部分,小数点和小数部分,和指数部分,并且指数部分是在E和e后跟整数介码;
0.0314就是3.14E-2;

注意;字母E或e后面必须要接有数字,并且一定是整数;整数部分和小数部分可以省略但是不能同时省略。小数点或eE以及整数介码可以省略,但是不能同时省略;

例如;

123E4;135.6e-7;.123e8;0e0;都是合法的;
e5;3.2e0.5;5e;.e3都是不合法的;
5e;小数点和整数介码同时省略;
.e3;整数和小数部分同时省略了;

8.3;字符常量;两种表达方法

1;直接用单引号括起来,’a’;
一个字符常量的值都是由ASC|| 代码确定了的;

2;以一个反斜杠“\”开头的字符序列,成为转义字符;

这里写图片描述
‘\101’表示ASC||为十进制65的字符‘A’;
来个有趣的;还记得也做过这个选择题;
这里写图片描述
大小写字母转换的程序;
这里写图片描述

3;字符串常量;(这个比较容易忘记,字符串也可以有常量)

字符串常量由一对双引号括起来的字符序列;
“abc”,“123”都是合法的;
补充;
字符串长度就是字符的个数;
字符串的大小就是字符的个数加上最后一个结束符‘\0’;
这里写图片描述

符号常量;define修饰;

当一个字符常量被多次使用时,为提高他的灵活性,我们就用一个符号来表示他;这个符号就叫做符号常量;
定义格式;#define 标识符 常量;(注意这个要在main函数之前定义,属于预编译;
其实还有一个修饰变量不可变的关键词,const;
详情可以看#define与const

8.4;变量;

介绍;一个变量就要有其名字,系统可以通过变量名来访问变量,并且变量在程序中使用前必须定义,也就是指定变量名称和数据类型,以便编译系统为它分配相应的存储单元;ps;要进行初始化;等下证明他不会进行默认初始化的;

变量的定义;

数据类型符  变量名列表;多个变量用逗号隔开;int a, b;//定义两个int变量a,b;

进行变量赋值;

变量名 = 表达式;a = 10;//就是将10赋值给a;//注意这里是=而不是==,注意区分,在C语言中==是判断是否等于,=代表赋值;当定义一个变量但是又没有给他赋值的时候,系统会分配一个不确定的值给他,那么其就没什么意义了;等下代码证明;如果变量类型和所赋值类型不一致的时候,所赋数据将被转换成与变量相同的类型;int x = 10.111;直接就是x=10;

这里写图片描述

8.5;数据类型的自动转换和强制转换;

可以看我之前的博客;
链接;;

9;基本运算符与表达式;

9.1;算术运算符和算术表达式;

加减乘除取摸;
这里写图片描述
自增自少;
c语言中有两个特殊的算术运算符:自增运算符++,自减运算符- -。它们都是单目运算符,而已运算对象必须是变量;
自增,自减,的结合方向是自右至左,他们是使运算对象的值加1减1;
这里写图片描述
算术表达式;
表达式,x*y%c-0.9+‘A’;这些;
注意;进行算术运算的时候,应该注意;(国二选择题)
1;注意算术符的优先级;
2;优先级相同是,应该按照运算符的结合方向出来;
可以看下之前我博客的前面关于优先级的部分;
链接;;

9.2;赋值运算符和赋值表达式;

这里写图片描述
赋值表达式;
是由赋值运算符“=”将一个变量和表达式连接起来的式子;
格式;变量 = 表达式;
注意;(常做考题)
赋值运算符的左边必须是变量;
当赋值表达式中左边变量与右边表达式的数据类型不同时,则需要进行类型转化;
规则为;
右边的表达的值转化为左边变量的数据类型,然后再赋值给变量;

9.3;关系运算符和关系表达式;

这里写图片描述
注意,关系表达式的运算结果只有两种;真或假;非0为真,0为假;
特别注意运算符的优先级;

低于算术运算符但是高于赋值运算符;结合性都是自左向右;

9.4;逻辑运算符和逻辑表达式;

这里写图片描述
注意其短路原则;(常考)

1;a&&b&&c;如果a为假则不再执行任何操作,直接返回0;意思就是b,c不进行操作;这就是短路;因为a为0,那么这个式子一定为0了,结果已经确定了bc是否执行没有什么关系了;如果a为1;则要执行b,如果b等于0,那么c就不需要执行了;一样的道理,2;a||b||c;如果a为真那么不再执行任何操作,直接返回1;意思就是b,c不进行操作;这就是短路;因为a为1,那么这个式子一定为1了,结果已经确定了bc是否执行没有什么关系了;如果a为0;则要执行b,如果b等于1,那么c就不需要执行了;一样的道理,3;a&&b||c;或者a||b&&c;因为逻辑与的优先级大于逻辑或,因此可以将其看做2类型;总结;对于&&,只有左边运算对象不为0,才继续进行右边的运算;对于||,只有左边的运算对象为0,才继续进行左边的运算;注意;逻辑与&&的优先级高于逻辑或;结合性为从左到右;a&&b||c就是    (a&&b)||a;   从||两边加括号;(技巧)

9.5;条件运算符;

a?b:c;唯一的运算符;
等效于;
if(a){
b;
}
else{
c;
}
这里写图片描述
9.6;逗号运算符;
在c语言中,逗号“,”是一种特殊的运算符,用于将若干个表达式连接起来;
格式;
表达式1,表达式2,表达式3;
其运算规则;
先计算表达式1,再计算表达式2,最后计算表示3;最后一个表达式的值就是逗号运算符的值;
这里写图片描述
9.7;基本位运算,
之前写过博客,
链接为;;

10;输入输出基本函数介绍;

10.1;介绍单个字符的输入输出;
c = getchar();单个字符的输入;接收一个字符并赋值为c;
putchar(c);单个字符的输出;输出字符变量c
这里写图片描述

注意使用getchar();接收的时候,键盘敲入的;空格,换行,等都会作为字符被其接收;以后这点要特别注意;

10.2;格式输入输出;

scanf,printf可以对任意类型的多个数据按照指定格式进行输入输出操作;
这节单独拿出来吧;觉得是个比较容易忘的;并且有点麻烦的;下次补上链接;

累死;这篇博客打得也是够久的了;终于码完了,但是感觉好多不足的;下次有新知识在补上;感觉还是不怎么熟悉,并且这知识点顺序没怎么逻辑一下,基本上是按照自己的书来一样,只是自己码上了图而已;越这样就越佩服出书的人了,我的个天啊,以后无论看什么书,都应该抱着尊敬的态度去学习,每本书都包含了作者无数的心血;

我感觉我自己打博客一样,感觉自己真的很很花心思的。
有时候在想,如果自己打的博客丢失了,真不敢相信,我会是怎样的心情,千万不要这样啊;;越想越吓人;
休息一回,等哈还要打一篇java博客;;;;
感觉发表博客的那刻是最开心的,从心里的高兴;
看到浏览量变多,也十分高兴,这是自己的付出劳动满足了自己一点点虚荣心;

期待自己的水平越变越高,毕竟对自己未来的期望很高哈;

软硬件都要会,我也是醉了;没办法,那么大学只能少浪一点点哈,,,

转载地址:https://blog.csdn.net/zw1996/article/details/53314096 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:汉若塔递归(读懂递归和写出递归)
下一篇:java—可视化日历

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年04月08日 07时07分50秒