《c语言基础知识总结 .docx》由会员分享,可在线阅读,更多相关《c语言基础知识总结 .docx(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品名师归纳总结C 语言最重要的学问点复习资料总体上必需清晰的 :1) 程序结构就是三种:次序结构 、挑选结构 分支结构 、循环结构。2) 读程序都要从 main 入口 , 然后从最上面次序往下读遇到循环做循环 ,遇到挑选做挑选 ,有且只有一个main 函数。3) 运算机的数据在电脑中储存就是以二进制的形式、数据存放的位置就就是她的的址、4) bit 就是位 就是指为 0 或者 1。 byte 就是指字节 , 一个字节 = 八个位、概念常考到的 :1、编译预处理不就是C 语言的一部分 ,不占运行时间 ,不要加分号。 C 语言编译的程序称为源程序 ,它以 ASCII 数值存放在文本文件中。2、d
2、efine PI 3 、 1415926;这个写法就是错误的 ,肯定不能显现分号。3、每个 C 语言程序中 main 函数就是有且只有一个。4、在函数中不行以再定义函数。5、算法 :可以没有输入 ,但就是肯定要有输出。6、break 可用于循环结构与switch 语句。7、逗号运算符的级别最低,赋值的级别倒数其次。第一章 C 语言的基础学问第一节、对 C 语言的基础熟识1、C 语言编写的程序称为 源程序 ,又称为 编译单位 。2、C 语言书写格式就是自由的,每行可以写多个语句 ,可以写多行。3、一个 C 语言程序有且只有一个main 函数 ,就是程序运行的起点。其次节、熟识 vc+1、VC 就
3、是软件 ,用来运行写的 C 语言程序。2、每个 C 语言程序写完后 ,都就是 先编译 ,后链接 ,最终运行 。、 c-、 obj-、exe这个过程中留意、 c 与、 obj 文件时无法运行的,只有、 exe 文件才可以运行。常考! 第三节、标识符1、标识符 必考内容 :合法的要求就是由字母,数字 ,下划线组成。有其它元素就错了。并且第一个必需为字母或就就是下划线。第一个为数字就错了2、标识符分为关键字、预定义标识符、用户标识符。关键字 :不行以作为用户标识符号。maindefinescanfprintf都不就是关键字。 困惑您的的方 If 就是可以做为用户标识符。由于If 中的第一个字母大写了
4、,所以不就是关键字。预定义标识符 :背诵 definescanfprintfinclude 。记住预定义标识符可以做为用户标识符。用户标识符 :基本上每年都考 ,具体请见书上习题。第四节:进制的转换十进制转换成二进制、八进制、十六进制。二进制、八进制、十六进制转换成十进制。第五节:整数与实数1) C 语言只有八、十、十六进制,没有二进制。但就是运行时候,全部的进制都要转换成二进制来进行处理。 考过两次 可编辑资料 - - - 欢迎下载精品名师归纳总结a、C 语言中的八进制规定要以0 开头。 018 的数值就是非法的 ,八进制就是没有8 的,逢 8 进 1。b、 C 语言中的十六进制规定要以0x
5、 开头。2) 小数的合法写法 :C 语言小数点两边有一个就是零的话,可以不用写。1、 0 在 C 语言中可写成 1、0、 1 在 C 语言中可以写成、1。3) 实型数据的合法形式 :a、2、333e-1 就就是合法的 ,且数据就是 2、333 10-1。b、考试口诀 :e 前 e 后必有数 ,e 后必为整数 。请结合书上的例子。4) 整型一般就是 4 个字节 , 字符型就是 1 个字节 ,双精度一般就是 8 个字节 : long int x;表示 x 就是长整型。unsigned int x;表示 x 就是无符号整型。第六、七节 :算术表达式与赋值表达式核心 :表达式肯定有数值!1、算术表达式
6、 :+,-,*,/,%考试肯定要留意 :“ /” 两边都就是整型的话 ,结果就就是一个整型。3/2 的结果就就是1、“ /” 假如有一边就是小数 ,那么结果就就是小数。3/2、0 的结果就就是可编辑资料 - - - 欢迎下载精品名师归纳总结0、5“ %”符号请肯定要留意就是余数,考试最简洁算成了除号。% 符号两边要求就是整数。不就是整数就错了。可编辑资料 - - - 欢迎下载精品名师归纳总结2、赋值表达式 :表达式数值就是最左边的数值,a=b=5; 该表达式为 5,常量不行以赋值。1、int x=y=10:错啦 ,定义时 ,不行以连续赋值。2、int x,y;x=y=10;对滴,定义完成后 ,
7、可以连续赋值。3、赋值的左边只能就是一个变量。4、int x=7 、7;对滴 ,x 就就是 75、float y=7; 对滴 ,x 就就是 7、0 3、复合的赋值表达式 :int a=2;a*=2+3; 运行完成后 ,a 的值就是 10。a=a*2+3=2*5=10肯定要留意 ,第一要在 2+3 的上面打上括号。变成2+3 再运算。4、自加表达式 :自加、自减表达式:假设 a=5,+a 就是为 6, a+ 为 5;运行的机理 :+a 就是先把变量的数值加上1,然后把得到的数值放到变量a中,然后再用这个+a 表达式的数值为 6,而 a+就是先用该表达式的数值为5,然后再把 a 的数值加上 1 为
8、 6,再放到变量 a 中。 进行了 +a 与 a+后 在下面的程序中再用到a 的话都就是变量 a 中的 6了。考试口诀 :+ 在前先加后用 ,+在后先用后加。5、逗号表达式 :优先级别最低。表达式的数值逗号最右边的那个表达式的数值。2,3,4 的表达式的数值就就是4。z=2,3,4 整个就是赋值表达式 这个时候 z 的值为 4。有点难度哦! z=2,3,4 整个就是逗号表达式 这个时候 z 的值为 2。补充 :可编辑资料 - - - 欢迎下载精品名师归纳总结1、空语句不行以随便执行,会导致规律错误。2、注释就是最近几年考试的重点,注释不就是 C 语言 ,不占运行时间 ,没有分号。不行以嵌套!3
9、、强制类型转换 :肯定就是 inta不就是inta, 留意类型上肯定有括号的。留意 inta+b与inta+b的区分。 前就是把 a+b 转型 ,后就是把 a 转型再加 b。4、三种取整丢小数的情形:、 int a =1 、 6;、 inta;、 1/2; 3/2;第八节、字符1字符数据的合法形式 :1 就是字符占一个字节 ,1 就是字符串占两个字节含有一个终止符号 。0 的 ASCII 数值表示为 48,a 的 ASCII 数值就是 97,A 的 ASCII 数值就是 65。一般考试表示单个字符错误的形式:651字符就是可以进行算术运算的,记住 :0-0=48大写字母与小写字母转换的方法:A
10、+32=a相互之间一般就是相差32。2转义字符 :转义字符分为一般 转义字符、八进制转义字符、十六进制转义字符。一般转义字符 : 背诵0、 n、”、。八进制转义字符 :141就是合法的 , 前导的 0 就是不能写的。十六进制转义字符 :x6d 才就是合法的 ,前导的 0 不能写 ,并且 x 就是小写。3、字符型与整数就是近亲:两个具有很大的相像之处char a = 65 ;printf “%c”, a;得到的输出结果:aprintf “%d”, a;得到的输出结果:65第九章、位运算1位运算的考查 :会有一到二题考试题目。总的处理方法 :几乎全部的位运算的题目都要按这个流程来处理 先把十进制变
11、成二进制再变成十进制 。例 1:char a = 6, b;b = a2;这种题目的运算就是先要把a的十进制 6 化成二进制 ,再做位运算。例 2:肯定要记住 ,异或的位运算符号” ”。 0 异或 1 得到 1。0 异或 0 得到 0。两个女的生不出来。考试记忆方法 :一男 1一女 0 才可以生个小孩 1。例 3:在没有舍去数据的时候, 右移一位表示除以2。其次章第一节 :数据输出 一 二 1、使用 printf 与 scanf 函数时 ,要在最前面加上 #include “ stdio、h” 2、printf 可以只有一个参数,也可以有两个参数。 挑选题考过一次 3、printf “ 第一部
12、分 ” ,其次部分; 把其次部分的变量、表达式、常量以第一部分的形式呈现出来!4、printf “ a=%d,b=%d” ,12, 34 考试重点!肯定要记住就是将12 与 34 以第一部分的形式现在在终端也就就是黑色的屏幕上。考试核心为 :一模一样 。在黑色屏幕上面显示为a=12,b=34可编辑资料 - - - 欢迎下载精品名师归纳总结printf “ a=%d,n b=%d”,12, 34那么输出的结果就就是:a=12,b=345、int x=017;肯定要弄清晰为什么就是这个结果!过程很重要printf “ %d” , x; 15printf “ %o” , x; 17printf “
13、%#o” ,x; 017printf “ %x” , x; 11 printf “ %#x ” ,x; 0x116、int x=12,y=34;留意这种题型char z= a;printf “ %d ”,x,y;一个格式说明 ,两个输出变量 ,后面的y 不输出printf “ %c” ,z;结果为 :12a格式说明%d%ld%f%lf%5d表示内容整型长整型intlong int浮点型 floatdouble输出一个百分号格式说明%c%s%o%#o%x%#x表示内容字符char 字符串 八进制带前导的八进制十六进制带前导的十六进制7、肯定要背诵的举例说明 :printf “ %2d” ,123
14、 ;其次部分有三位 ,大于指定的两位 ,原样输出 123printf “ %5d” ,123 ;其次部分有三位 ,小于指定的五位 ,左边补两个空格123 printf “ %10f ” ,1、25 ; 小数要求补足6 位的 ,没有六位的补0,。结果为 1、250000 printf “ %5、3f ” ,125 ; 小数三位 ,整个五位 ,结果为 1、250小数点算一位 printf “ %3、1f ” ,1、25 ; 小数一位 ,整个三位 ,结果为 1、3 要进行四舍五入 第三节 数据输入1、scanf“ a=%d,b= %d”,&a,&b考试超级重点!肯定要记住就是以第一部分的格式在终端输
15、入数据。考试核心为:一模一样 。在黑色屏幕上面输入的为a=12,b=34 才可以把 12 与 34 正确给 a 与 b 。有一点不同也不行。2、scanf“ %d,%d ” ,x,y; 这种写法确定错误,scanf 的其次个部分肯定要就是的址!scanf“ %d,%d ” ,&x,&y; 留意写成这样才可以!3、特殊留意指针在scanf 的考察例如 : int x=2;int *p=&x;scanf“ %d” ,x;错误scanf“ %d”,p; 正确scanf“ %d” ,&p;错误scanf“ %d” ,*p 错误4、指定输入的长度考试重点终端输入 :1234567scanf“ %2d%4
16、d%d ” ,&x,&y,&z;x为 12,y 为 3456,z 为 7终端输入 :1 234567由于 1 与 2 中间有空格 ,所以只有 1 位给 x scanf“ %2d%4d%d ” ,&x,&y,&z;x为 1,y 为 2345,z 为 675、字符与整型就是近亲:int x=97;printf “ %d” ,x;结果为 97可编辑资料 - - - 欢迎下载精品名师归纳总结printf “ %c” ,x;结果为 a6、输入时候字符与整数的区分考试超级重点 scanf“ %d” ,&x; 这个时候输入1,特殊留意表示的就是整数1scanf“ %c”,&x; 这个时候输入1,特殊留意表示
17、的就是字符1 ASCII 为整数 48。补充说明 :1) scanf 函数的格式考察 :留意该函数的其次个部分就是&a这样的的址 ,不就是 a; scanf“%d%d%*d%d ”,&a,&b,&c;跳过输入的第三个数据。2) putchar ,getchar 函数的考查 :chara = getchar 就是没有参数的 ,从键盘得到您输入的一个字符给变量a。putchary 把字符 y 输出到屏幕中。3) 如何实现两个变量x ,y 中数值的互换 要求背下来 不行以把 x=y ,y=x;要用中间变量t=x;x=y;y=t 。4) 如何实现保留三位小数,第四位四舍五入的程序, 要求背下来 y=i
18、ntx*100+0 、5/100 、 0这个保留两位 ,对第三位四舍五入y=intx*1000+0 、5/1000 、0 这个保留三位 ,对第四位四舍五入y=intx*10000+0 、 5/10000 、0 这个保留四位 ,对第五位四舍五入这个有推广的意义 ,留意 x = intx这样就是把小数部分去掉。第三章特殊要留意 :C 语言中就是用非0 表示规律真的 , 用 0 表示规律假的。C 语言有构造类型 ,没有规律类型。关系运算符号 :留意 8 这个关系表达式就是真的,所以 98 这个表达式的数值就就是1。如 76 这个关系表达式就是假的,所以 76 这个表达式的数值就就是0b、考试最简洁错
19、的:就就是 int x=1,y=0,z=2;xyz就是真仍就是假?带入为102, 从数学的角度动身确定就是错的 ,但就是假如就是 C 语言那么就就是正确的!由于要10 为假得到 0,表达式就变成了 0&|优先的级别。c) 留意短路现象。考试比较喜爱考到。具体请见书上例子,肯定要会做例 1 与例 2d) 表示 x 小于 0 大于 10 的方法。0x10 就是不行的 肯定记住 。就是先运算 0x得到的结果为1 或就 0; 再用 0,或 1 与 10比较得到的总就是真 为 1。所以肯定 要用 0x&x10表示比 0 大比 10 小。3) if语句a、else 就是与最接近的if 且没有 else 的
20、语句匹配。可编辑资料 - - - 欢迎下载精品名师归纳总结b、交换的程序写法:t=x;x=y;y=t; c、ifabt=a;a=b;b=t;ifabt=a;a=b;b=t;两个的区分 ,考试多次考到了! d、单独的 if 语句:ifabt=a;标准的 if 语句:ifabmin=a;elsemin=b;嵌套的 if 语句:ifacprintf “ok. ”;多项一的 if 语句 ifa= =tprintf “a”;else ifb= =tprintf “b”; else ifc= =tprintf “c”; else pritnf “d”;通过习题 ,要熟识以上几种 if 语句!经典考题 :结
21、合上面四种 if 语句题型做题 ,答错了 ,请自行了断!预备 ,开头! inta=1,b=0;if ! ab+; 即假如 a 的值就是 0,就.a=1,就执行 b+, 也就就是说当 a 的值等于 0 的时候才会执行 b+ 。else ifa= =0 ifab+=2;else b+=3;请问 b 的值就是多少?假如没有瞧懂题目,您千万不要自行了断 ,这样瞧得懂不会做的人才会有理由的活着。正确的就是 b 为 3。inta=1,b=0;if ! ab+;就是假的不执行else ifa= =0就是假的部执行ifab+=2;属于 else if 的嵌套 if 语句,不执行。else b+=3;if-el
22、se-if 语句没有一个正确的 ,就执行 else 的语句! 4条件表达式 :表达式 1 ?表达式 2 :表达式 3 a、考试口诀 : 真前假后。b、留意就是当表达式1 的数值就是 非 0 时,才采纳表达式 2 的数值做为整个运算结果,当表达式 1 的数值 为 0 时,就用表达式 3 的数值做为整个的结果。c、int a=1,b=2,c=3,d=4,e=5;k=ab ?c:de? d:e;求 k 的数值时多少?答案为 5先求 de? d:e;结果为 :5之后求 k=ab ? c:5;结果为 :k=5 5switch 语句 :a) 执行的流程肯定要弄懂!上课时候具体的过程讲了 ,请自己肯定弄懂
23、.b) 留意有 break 与没有 break 的差别 ,书上的两个例子 ,没有 break 时候,只要有一个 case匹配了,剩下的都要执行 ,有 break 就就是直接跳出了 swiche 语句。 break 在 C 语言中就就是分手 ,一刀两断的意思。c) switch 只可以与 break 一起用 ,不行以与 continue 用。d) switchx x: 就是整型常量 ,字符型常量 ,枚举型数据。case 1: 、不行以就是变量。case 2: 、可编辑资料 - - - 欢迎下载精品名师归纳总结e) switch 就是必考题型 ,请大家肯定要完成书上的课后的switch 的习题。第
24、四章1) 三种循环结构 :a) for ; while;do- while 三种。b) for 循环当中必需就是两个分号,千万不要遗忘。c) 写程序的时候肯定要留意,循环肯定要有终止的条件,否就成了死循环。d) do-while 循环的最终一个 while; 的分号肯定不能够丢。 当心上机改错 ,do while 循环就是至少执行一次循环。2) break与continue 的差别记忆方法 :break: 就是打破的意思 ,破了整个循环 所以看见 break 就退出真个一层循环。continue:就是连续的意思 ,连续循环运算 , 但就是要终止本次循环,就就是循环体内剩下的语句不再执行 ,跳到
25、循环开头 ,然后判定循环条件,进行新一轮的循环。3) 嵌套循环就就是有循环里面仍有循环,这种比较复杂 ,要一层一层一步一步耐心的运算,一般记住两层就是处理二维数组的。4) whilec=getchar.=n 与whilec=getchar .=n 的差别可编辑资料 - - - 欢迎下载精品名师归纳总结a = 3 .= 2与 a=3 ! =2先瞧先判定 3.=2 的关系意思为 :3 不等于 2 么.的区分 :a=3.=2可编辑资料 - - - 欢迎下载精品名师归纳总结就是就 return 1 ; 否就 return 0;【1 为真,0 为假】结果返回的就是 1得到 :a=1这个等号就是赋值,将
26、1 的值赋给 a a=3.=2先运行 a=3,接着运行后面的 .=2即括号的优先级大于 .= a=3 表示将 3 赋值给 a再运行 :3.=2判定 3 与 2 就是否相等的关系! =号的级别高于 =号 所以第一个先运算3! =2 第一个 a 的数值就是得到的1; 其次个 a的数值就是 3。考试留意点 :括号在这里的重要性。5) 每行输出五个的写法 : for i=0 ;i=100;i+ printf “ %d” ,i;ifi+1%5=0printf“ n”;假如 i 就是从 1 开头的话 ,就就是 ifi%5=0printf“ n” ;6) 如何整除一个数 : i%5=0 表示整除 5I%2=
27、0 表示整除 2,同时表示就是偶数! 7输入 123,输出 321 逆序输出数据int a=123;可编辑资料 - - - 欢迎下载精品名师归纳总结whilei ! =0printf “ %d” ,i%10; i=i/10;8) for 只管后面一个语句 :int i=3; fori=3;i6;i+:printf “#”:请问最终打印几个#号?答案为一个!9) 不停的输入 ,直到输入 # 停止输入!不停的输入 ,直到输入 $停止输入! while x=getchar.=# while x=getchar.=$ 不停的输入 ,直到遇到?停止输入!while x=getchar.=. 解说:肯定要
28、留意这种给出了条件,然后如何去写的方法! 10for 循环与 switch 语句的与在一起考题!11多次显现的考题 :int k=1int k=1;while- -k;whilek- -;printf “ %d” ,k;printf “ %d” ,k;结果为 0第一次循环 :测试的就是 k=1,结果为 -1开头时 ,k=1, 循环体为空 ,不做任何事情 ,k-1,其次次循环时 ,k=0,k-1,k=-1, 循环终止 ,打印 k 的值 ,k=-1也即 while1, 符合循环条件 ,然后 k 自减变成 0,进入循环体 空循环 。其次次循环 :测试的就是 k=0, 也即while0, 不符合循环条
29、件 ,然后 k 自减变成 -1,跳过循环体。所以最终输出的就是 -1第五章1、函数 :就是具有肯定功能的一个程序块,就是 C 语言的基本组成单位。2、函数不行以嵌套定义。但就是可以嵌套调用。3、函数名缺省返回值类型,默认为 int。4、C 语言由函数组成 ,但有且仅有一个 main 函数!就是程序运行的开头!5、如何判定 a 就是否为质数 :背诵这个程序! voidiszhishu int a fori=2;ia/2;i+ifa%i=0 printf“不就是质数” ; printf “就是质数! ”;6、如何求阶层 :n. 背诵这个程序!int funint nint p=1; fori=1;
30、i*breturn a;return a可以知道返回的就是a 的址。else return b;main int x=7,y=8,*max;max = fun&x,&y;由于 fun&x,&y的运算结果就是的址 , 所以用 max来接收。printf“ %d,%d”,9、考试重要的话语 :指针变量就是存放 的址的。并且指向哪个就等价哪个, 全部显现 *p 的的方都可以用它等价的代替。例如 :int a=2,*p=&a;*p=*p+2; 由于 *p 指向变量 , 所以指向哪个就等价哪个, 这里 *p 等价于 , 可以相当于就是 a=a+2第七章数组 : 存放的类型就是一样的。多个数组元素的的址就
31、是连续的。1、一维数组的初始化 :int a5=1,2,3,4,5;合法int a5=1,2,3, ;合法int a=1,2,3,4,5;合法,常考 ,后面打算前面的大小! int a5=1,2,3,4,5,6;不合法 ,赋值的个数余外数组的个数了2、一维数组的定义 ;int a5; 留意这个的方有一个重要考点,定义时数组的个数不就是变量肯定就是常量。int a5合法 ,最正常的数组int a1+1合法 ,个数就是常量2,就是个算术表达式int a1/2+4合法,同样就是算术表达式int x=5,int ax;不合法 ,由于个数就是x, 就是个变量 ,非法的 ,define P 5int aP
32、合法 ,define 后的的 P 就是符号常量 ,只就是长得像变量3、二维数组的初始化int a23=1,2,3,4,5,6;合法 ,很标准的二维的赋值。int a23=1,2,3,4,5, ;合法 ,后面一个默认为 0。int a23=1,2,3, 4,5,6;合法 ,每行三个。int a23=1,2,3,4,5;合法 ,第一行最终一个默认为0。int a23=1,2,3,4,5,6,7;不合法 ,赋值的个数余外数组的个数了。int a3=1,2,3,4,5,6;不合法 ,不行以缺省行的个数。int a2=1,2,3,4,5,6;合法 ,可以缺省列的个数。可编辑资料 - - - 欢迎下载精品
33、名师归纳总结补充 :1一维数组的重要概念 :对 a10 这个数组的争论。、 a 表示数组名 ,就是第一个元素的的址,也就就是元素a0 的的址。 等价于 &a 、 a 就是的址常量 ,所以只要显现 a+,或者就是 a=a+2 赋值的都就是错误的。、 a 就是一维数组名 ,所以它就是列指针 ,也就就是说 a+1 就是跳一列。对 a33 的争论。、 a 表示数组名 ,就是第一个元素的的址,也就就是元素a00 的的址。、 a 就是的址常量 ,所以只要显现 a+,或者就是 a=a+2 赋值的都就是错误的。、 a 就是二维数组名 ,所以它就是行指针 ,也就就是说 a+1 就是跳一行。、 a0 、 a1 、 a2 也都就是的址常量, 不行以对它进行赋值操作, 同时它们都就是列指针,a0+1,a1+1,a2+1都就是跳一列。、留意 a 与 a0 、 a1、 a2就是不同的 ,它们的基类型就是不同的。前者就是一行元素,后三者就是一列元素。2 二维数组做题目的技巧 :假如有 a33=1,2,3,4,5,6,7,8,9这样的题目。步骤一 :把她们写成 :第一列
限制150内