1、C语言知识点总结资料I总体上必要清晰:程序构造是三种:顺序构造,循环构造(三个循环构造),选取构造(if和switch)读程序都要从main()入口,然后从最上面顺序往下读(遇到循环做循环,遇到选取做选取)。计算机数据在电脑中保存是以二进制形式。数据存储位置就是它地址。bit是位是指为0或者1。byte是指字节。一种字节=八个位。定要记住二进制如何转换成十进制。概念常考到:1、编译预解决不是C语言一某些,不占运营时间,不要加分号。C语言编译程序称 为源程序,它以ASCII数值存储在文本文献中。2、每个C语言程序中main函数是有且只有一种。3、在函数定义中不可以再定义函数。4、算法是一定要有输
2、出,她可以没输入。5、break可用于循环构造和switch语句。6、逗号运算符级别最低。第3章1)合法顾客标记符考查:合法规定是由字母,数字,下划线构成。有其他元素就错了。并且第一种必要为字母或则是下划线。第一种为数字就错了。核心字不可以作为顾客标记符号。main define scanf printf都不是核心字。困惑你 地方If是可以做为顾客标记符。由于If中第一种字母大写了,因此不是核心字。2)实型数据合法形式:2.333e-1就是合法,且数据是2.333X10考试口诀:e前e后必有数,e后必为整数。3)字符数据合法形式::1是字符占一种字节,1是字符串占两个字节(具有一种结束符号)。
3、0ASCII数值表达为48,aASCII数值是97,AASCII数值是65。普通考试表达单个字符错误形式: 65 1字符是可以进行算术运算,记住:0-0=48大写字母和小写字母转换办法: A+32=a互相之间普通是相差32。4)int型TC中是2个字节,VC中是4个字节。字符型是1个字节。5)转义字符考查:在程序中int a = 0x6d,是把一种十六进制数给变量a注意这里0x必要存在。在程序中int a = 06d 是一种八进制形式。在转义字符中,x6d才是合法,0不能写,并且x是小写。141是合法,0是不能写。108是非法,由于不可以浮现8。6)强制类型转换:一定是(int) a不是int
4、 (a),注意类型上一定有括号。注意(int) (a+b)和(int) a+b区别。前是把a+b转型,后是把a转型再加b。7)表达式考查:是表达式就一定有数值。赋值表达式:表达式数值是最左边数值,a=b=5;该表达式为5,常量不可以赋值。自加、自减表达式:假设a=5,+a (是为6),a+ (为5);运营机理:+a是先把变量数值加上1,然后把得到数值放到变量a中,然后再用这 个+a表达式数值为6,而a+是先用该表达式数值为5,然后再把a数值加上1为6, 再放到变量a中。进行了+a和a+后在下面程序中再用到a话都是变量a中6 了。考试口诀:+在前先加后用,+在后先用后加。逗号表达式:优先级别最低
5、;表达式数值逗号最右边那个表达式数值。(2,3,4)表达式数值就是4。8)018数值是非法,八进制是没有8,逢8进1。9)%符号两边规定是整数。不是整数就错了。10)三种取整丢小数状况:1、inta =1.6;2、(int)a;3、1/2;3/2;11)字符型和整数是近亲: char a = 65 ;printf(“c”,a);得到输出成果:a prmtf(“d”,a);得到输出成果:6512)printf函数格式考查:%d相应整型;c相应字符;f相应单精度等等。宽度,左对齐等修饰。 %ld 相应 long int;%lf 相应 double。13)scanf函数格式考察:注意该函数第二个某些
6、是&a这样地址,不是a;scanf(“%d%d%*d%d”,&a,&b,&c);跳过输入第三个数据。14)putchar ,getchar 函数考查:char a = getchar()是没有参数,从键盘得到你输入一种字符给变量a。putchar(y)把字符y输出到屏幕中。15)如何实现两个变量x,y中数值互换(规定背下来)不可以把x=y ,y=x;要用中间变量t=x;x=y; y=t。16)如何实现保存三位小数,第四位四舍五入程序,(规定背下来)这个有推广意义,注意x = (int) x这样是把小数某些去掉。第4章特别要注意:e语言中是用非0表达逻辑真,用0表达逻辑假。1)关系表达式:表达式
7、数值只能为1 (表达为真),或0 (表达假)当关系表达是为真时候得到1。如98这个是真,因此表达式数值就是1;2)逻辑表达式:只能为1 (表达为真),或0 (表达假)a) 共有&| !三种逻辑运算符号。b) !&|优先级别。c) 注意短路现象。考试比较喜欢考到。d) 要表达x是比0大,比10小办法。0x10是不可以(一定记住)。是先计算 0x得到成果为1或则0;再用0,或1与10比较得到总是真(为1)。因此一 定要用(0x)&(x 1 2 3 第0行a1 4 5 6 第1行a2 7 8 9 第2行环节二:这样作题目间很简朴:*(a0+1)咱们就懂得是第一行第一种元素往背面跳一列,那么这里就是a
8、01元素, 因此是1。*(a1+2)咱们就懂得是第二行第一种元素往背面跳二列。那么这里就是a12元素,因此是 6。一定记住:只要是二维数组题目,一定是写成如上格式,再去做题目,这样会比较简朴。6)数组初始化,一维和二维,一维可以不写,二维第二个一定要写int a=1,2合法。 int a4=2,3,4合法。 但 int a4=2,3,4非法。7)二维数组中行指针 int a12;其中a当前就是一种行指针,a+1跳一行数组元素。搭配(*) p2指针。a0,a1当前就是一种列指针。a0+1跳一种数组元素。搭配*p2指针数组使用。8)尚有记住脱帽子法则:a2变成 * (a+2) a23变成 *(a+
9、2)3,再可以变成 * (* (a+2) +3)这个思想很重要!第7章函数:是具备一定功能一种程序块;是c语言基本构成单位。 ,/1)函数参数,返回数值(示意图):2)定要注意参数之间传递实参和形参之间传数值,和传地址差别。(考试重点)传数值话,形参变化不会变化实参变化。传地址话,形参变化就会有也许变化实参变化。3)函数声明考查:一定要有:函数名,函数返回类型,函数参数类型。不一定要有:形参名称。4)规定掌握库函数:sqrt() fabs() pow() sin()其中 pow(a,b)是重点。23 是由 pow(2,3)表达。5)“文献包括”考查点:no1.c#include”no2.c”m
10、ain() add(29,33)no2.cint add(int a,int b) return a+b;这里一种C语言程序是有两个文献构成,分别是no1.c,no2.c。那么no1.c中最开始有 个#include”no2.c她表达把第二个文献内容给包括过来,那么no1.c中调用add()函数时 候就可以了把数值传到no2.c中被调用函数add()了。一种文献必要要有main函数。这句话错了。 例如:no2.c就没有。头文献一定是以.h结束。这句话错了。例如:no1.c中就是#mclude”no2.c”以.c结尾。第8章1)指针变量本质是用来放地址,而普通变量是放数值。2)int *p中 *
11、p和p差别:*p可以当做变量来用;*作用是取背面地址p里面数值 p是当作地址来使用。3)*p+和 (*p) +之间差别改错题目中很重要*p+是地址会变化。(*p) +是数值会要变化。 (考试重点)4)三名主义:数组名:表达第一种元素地址。|数组名不可以自加,她是地址常量名。(考了诸多次) 函数名:表达该函数入口地址。字符串常量名:表达第一种字符地址。5)考试重要话语:指针变量是存储地址。并且指向哪个就等价哪个,所有浮现*p地方都可以用它等价代替。例如:int a=2,*p=&a;*p=*p+2;(由于*p指向变量a,因此指向哪个就等价哪个,这里*p等价于a,可以相称于是a=a+2) 指针变量两
12、种初始化办法一:int a=2,*p=&a;(定义同步初始化).办法二:int a=2,*p;(定义之后初始化p=&a;文献复习办法:把上学时候讲文献这一章题目要做一i上考试都会在练习当中。strlen和sizeof区别也是考试重点;define f (x) (x*x) 和define f (x) x*x之间差别。一定要好好注意这写容易错地方,替代时候有括号和没有括号是很大区别。int *p;p = (int *) malloc (2);p = (int *) malloc (sizeof (int);以上两个等价当心填空题目,malloc返回类型是void *尚有main(int argc,
13、char *argv) 这种具有参数题目,是很呆板题目。第 一种参数是表达输入字符串数目,第二个参数是指向存储字符串。函数递归调用一定要记得有结束条件,并且要会算简朴递归题目。要会作递归 题目构造体和共用体以及链表要掌握最简朴。typedef考诸多,并且一定要懂得如何引用 构造体中各个变量,链表中如何填加和删除节点,以及何如构成一种简朴链表,一定记 住链表中节点是有两个域,一种放数值,一种放指针。函数指针用法(*f)()记住一种例子:int add(int x,int y) main() int (*f)()f=add;赋值之后:合法调用形式为1、add(2,3);2、f(2,3);3、(*f)(2,3)9)11)共用体考查:union TT int a;char ch2;考点一:sizeof (struct TT) = 2;考点二: TT t1 ;t1=0x1234;那么 ch0=0x 34;ch1=0x12