收藏 分销(赏)

2021年C语言知识点总结.doc

上传人:二*** 文档编号:4517171 上传时间:2024-09-26 格式:DOC 页数:12 大小:120.04KB
下载 相关 举报
2021年C语言知识点总结.doc_第1页
第1页 / 共12页
本文档共12页,全文阅读请下载到手机保存,查看更方便
资源描述
C语言知识点总结资料I 总体上必要清晰: 程序构造是三种:顺序构造,循环构造(三个循环构造),选取构造(if和switch) 读程序都要从main()入口,然后从最上面顺序往下读(遇到循环做循环,遇到选取做选取)。 计算机数据在电脑中保存是以二进制形式。数据存储位置就是它地址。 bit是位是指为0或者1。byte是指字节。一种字节=八个位。 —定要记住二进制如何转换成十进制。 概念常考到: 1、编译预解决不是C语言一某些,不占运营时间,不要加分号。C语言编译程序称 为源程序,它以ASCII数值存储在文本文献中。 2、每个C语言程序中main函数是有且只有一种。 3、在函数定义中不可以再定义函数。 4、算法是一定要有输出,她可以没输入。 5、break可用于循环构造和switch语句。 6、逗号运算符级别最低。 第3章 1)合法顾客标记符考查: 合法规定是由字母,数字,下划线构成。有其他元素就错了。 并且第一种必要为字母或则是下划线。第一种为数字就错了。 核心字不可以作为顾客标记符号。main define scanf printf都不是核心字。困惑你 地方If是可以做为顾客标记符。由于If中第一种字母大写了,因此不是核心字。 2)实型数据合法形式: 2.333e-1就是合法,且数据是2.333X10' 考试口诀:e前e后必有数,e后必为整数。 3)字符数据合法形式:: '1'是字符占一种字节,"1"是字符串占两个字节(具有一种结束符号)。 '0'ASCII数值表达为48,'a'ASCII数值是97,'A'ASCII数值是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 (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 了。 考试口诀:++在前先加后用,++在后先用后加。 逗号表达式:优先级别最低;表达式数值逗号最右边那个表达式数值。(2,3,4)表达式数值就是4。 8)018数值是非法,八进制是没有8,逢8进1。 9)%符号两边规定是整数。不是整数就错了。 10)三种取整丢小数状况: 1、int a =1.6; 2、(int)a; 3、1/2; 3/2; 11)字符型和整数是近亲: char a = 65 ; printf(“%c”,a);得到输出成果:a prmtf(“%d”,a);得到输出成果:65 12)printf函数格式考查: %d相应整型;%c相应字符;%f相应单精度等等。宽度,左对齐等修饰。 %ld 相应 long int;%lf 相应 double。 13)scanf函数格式考察: 注意该函数第二个某些是&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)关系表达式: 表达式数值只能为1 (表达为真),或0 (表达假) 当关系表达是为真时候得到1。如9>8这个是真,因此表达式数值就是1; 2)逻辑表达式: 只能为1 (表达为真),或0 (表达假) a) 共有&& || !三种逻辑运算符号。 b) !>&&>||优先级别。 c) 注意短路现象。考试比较喜欢考到。 d) 要表达x是比0大,比10小办法。0<x<10是不可以(一定记住)。是先计算 0<x得到成果为1或则0;再用0,或1与10比较得到总是真(为1)。因此一 定要用(0<x)&&(x<10)表达比0大比10小。 3) if语句 else是与最接近if且没有else相组合。 4) 条件表达式: 表达式1 ?表达式2 :表达式3 注意是当非0时候是表达式2数值,当为0是就是表达式2数值。 考试口诀:真前假后。 5)switch 语句: a) —定要注意有break和没有break差别,书上(34页)两个例子,没有break 时候,只要有一种case匹配了,剩余都要执行,有break则是直接跳出了 switch语句。 b) switch只可以和break —起用,不可以和continue用。 C) switch(x) x:是整型常量,字符型常量,枚举型数据。 {case 1:.... 不可以是变量。 case 2:... } 第5章 1)三种循环构造: a) for () ; while();do- while()三种。 b) for循环当中必要是两个分号,千万不要忘掉。 c) 写程序时候一定要注意,循环一定要有结束条件,否则成了死循环。 d) do-while()循环最后一种while();分号一定不可以丢。(当心上机改错),do—while 循环是至少执行一次循环。 2) break 和 continue 差别 记忆办法: break:是打破意思,(破了整个循环)因此看见break就退出真个一层循环。 continue:是继续意思,(继续循环运算),但是要结束本次循环,就是循环体内剩余 语句不再执行,跳到循环开始,然后判断循环条件,进行新一轮循环。 3) 嵌套循环 就是有循环里面尚有循环,这种比较复杂,要一层一层一步一步耐心计算,普通记住 两层是解决二维数组。 while ((c=getchar())!=’\n’)和 while (c=getchar() !=’\n’)差别 先看a = 3 != 2和(a=3) =2区别: (!=号级别髙于=号因此第一种先计算3!=2)第一种a数值是得到1;第二个a数值是3。考试注意点:括号在这里重要性。 第6章 1)一维数组重要概念: 对a[10]这个数组讨论。 1、a表达数组名,是第一种元素地址,也就是元素a[0]地址。 2、a是地址常量,因此只要浮现a++,或者是a=a+2赋值都是错误。 3、a是一维数组名,因此它是列指针,也就是说a+1是跳一列。 对a[3][3]讨论。 1、a表达数组名,是第一种元素地址,也就是元素a[0]地址。 2、a是地址常量,因此只要浮现a++,或者是a=a+2赋值都是错误。 3、a是二维数组名,因此它是行指针,也就是说a+1是跳一行。 4、a[0]、a[1]、a[2]也都是地址常量,不可以对它进行赋值操作,同步它们都是列指针, a[0]+1, a[1]+1, a[2]+1 都是跳一列。 5、注意a和a[0]、a[1]、a[2]是不同,它们基类型是不同。前者是一行元素,后 三者是一列元素。 2) 两种重要数组长度: char a={‘a’,’b’,’c’};数组长度为3,字符串长度不定。sizeof(a)为3。 char a[5]={ ‘a’,’b’,’c’} 数组长度为 5,字符串长度 3。sizeof(a)为 5。 3) scanf 和 gets 数据 如果输入是 good good study!那么scanf(“%s”,a);只会接受good.考点:不可以接受空格。 gets(a);会接受good good study!考点:可以接受空格。 4) 字符串strlen()和strcat ()和strcmp ()和strcpy ()用法一定要记住。她 们参数都是地址。其中strcat ()和strcmp ()有两个参数。 5)二维数组做题目技巧: 如果有 a[3][3]={1,2,3,4,5,6,7,8,9}这样题目。 环节一:把她们写成: 第0列 第1列 第2列 a[0]—> 1 2 3 —> 第0行 a[1]—> 4 5 6 —> 第1行 a[2]—> 7 8 9 —> 第2行 环节二:这样作题目间很简朴: *(a[0]+1)咱们就懂得是第一行第一种元素往背面跳一列,那么这里就是a[0][1]元素, 因此是1。 *(a[1]+2)咱们就懂得是第二行第一种元素往背面跳二列。那么这里就是a[1][2]元素,因此是 6。 一定记住:只要是二维数组题目,一定是写成如上格式,再去做题目,这样会比较简朴。 6)数组初始化,一维和二维,一维可以不写,二维第二个一定要写 int a[]={1,2}合法。 int a[][4]={2,3,4}合法。 但 int a[4][]={2,3,4}非法。 7)二维数组中行指针 int a[1][2]; 其中a当前就是一种行指针,a+1跳一行数组元素。搭配(*) p[2]指针。 a[0],a[1]当前就是一种列指针。a[0]+1跳一种数组元素。搭配*p[2]指针数组使用。 8)尚有记住脱帽子法则: a[2]变成 * (a+2) a[2][3]变成 *(a+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” main() { add(29,33) } no2.c int 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中 *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) 指针变量两种初始化 办法一: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,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 ch[2];} 考点一:sizeof (struct TT) = 2; 考点二: TT t1 ;t1=0x1234; 那么 ch[0]=0x 34;ch[1]=0x12
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服