《C语言知识点总结 3 .docx》由会员分享,可在线阅读,更多相关《C语言知识点总结 3 .docx(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品名师归纳总结C 语言最重要得学问点总体上必需清晰得 :1) 程序结构就是三种:次序结构 、挑选结构 分支结构 、循环结构。2) 读程序都要从main 入口 , 然后从最上面次序往下读遇到循环做循环 ,遇到挑选做挑选 , 有且只有一个main 函数。3) 运算机得数据在电脑中储存就是以二进制得形式、数据存放得位置就就是她得的址、4) bit 就是位就是指为 0 或者 1。 byte就是指字节 , 一个字节 = 八个位、概念常考到得:1、编译预处理不就是C 语言得一部分,不占运行时间,不要加分号。C 语言编译得程序称为源程序,它以 ASCII数值存放在文本文件中。误得,肯定不能显现分号。3、每
2、个 C语言程序中main 函数就是有且只有一个。4、在函数中不行以再定义函数。5、算法:可以没有输入,但就是肯定要有输出。第一章 C 语言得基础学问第一节、对 C 语言得基础熟识1、C 语言编写得程序称为源程序,又称为编译单位。2、C 语言书写格式就是自由得,每行可以写多个语句,可以写多行。3、一个 C语言程序有且只有一个main 函数,就是程序运行得起点。其次节、2、每个 C语言程序写完后,都就是先编译,后链接,最终运行。 (、 c-、obj -、exe)这个过程中留意、 c 与、 obj 文件时无法运行得,只有、 exe 文件才可以运行。 (常考!)(程序编辑 -程序编译 -程序连接 -程
3、序运行)第三节、标识符1、标识符(必考内容) :合法得要求就是由字母,数字,下划线组成。有其它元素就错了。并且第一个必需为字母或就就是下划线。第一个为数字就错了预定义标识符:背诵definescanfprintf2 include 。记住预定义标识符可以做为用户标识符。第五节:整数与实数1)C 语言只有八、十、十六进制,没有二进制。但就是运行时候,全部得进制都要转换成二进制来进行处理。 (考过两次)a、C 语言中得八进制规定要以0 开头。(数码取值0-7) 018 得数值就是非法得,八进制就是没有 8 得,逢 8 进 1。b、C 语言中得十六进制规定要以0x( X开头。(数码取值 0-9, a
4、-f,A-F C、十进制没前缀,数码取值0 -92小数得合法写法:C 语言小数点两边有一个就是零得话,可以不用写。小数点必需有1、0 在 C 语言中可写成 1、0、1 在 C 语言中可以写成、1。3) 实型数据得合法形式:a、2、333e-1 就就是合法得,且数据就是2、33310-1。b、考试口诀: e 前 e 后必有数, e 后必为整数。请结合书上得例子。4) 整型一般就是 4 个字节 , 字符型就是 1 个字节,双精度一般就是8 个字节:long int x;表示 x 就是长整型。可编辑资料 - - - 欢迎下载精品名师归纳总结unsigned int x;表示 x 就是无符号整型。第六
5、、七节:算术表达式与赋值表达式核心:表达式肯定有数值!1、算术表达式: +, -, * , /,%考试肯定要留意: “ /” 两边都就是整型得话, 结果就就是一个整型。3/2 得结果就就是可编辑资料 - - - 欢迎下载精品名师归纳总结1、就是 0、 5“ /” 假如有一边就是小数,那么结果就就是小数。3/2 、0 得结果就“ %”符号请肯定要留意就是余数,考试最简洁算成了除号。 )%符号两可编辑资料 - - - 欢迎下载精品名师归纳总结边要求就是整数。不就是整数就错了。留意 .2、赋值表达式:表达式数值就是最左边得数值,a=b=5;该表达式为 5,常量不行以赋值。1、int x=y=10:错
6、啦,定义时,不行以连续赋值。2、int x,y;x=y=10;对滴,定义完成后,可以连续赋值。3、赋值得左边只能就是一个变量。4、int x=7 、7。对滴, x 就就是 75、float y=7 。对滴, x 就就是 7、0 3、复合得赋值表达式:int a=2 。a*=2+3 。运行完成后, a 得值就是 12。肯定要留意,第一要在2+3 得上面打上括号。变成(2+3)再运算。4、自加表达式:自加、自减表达式:假设a=5, +a(就是为 6), a+(为 5)。运行得机理: +a 就是先把变量得数值加上1,然后把得到得数值放到变量a 中,然后再用这个 +a 表达式得数值为 6,而 a+就是
7、先用该表达式得数值为5,然后再把 a 得数值加上 1 为 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 语言,不占运行时间,没有分
8、号。不行以嵌套!3、强制类型转换:肯定就是 ( int ) a 不就是int ( a),留意类型上肯定有括号得。留意( int )(a+b) 与( int )a+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。一般考试表示单个字
9、符错误得形式:651字符就是可以进行算术运算得,记住:0 -0=48大写字母与小写字母转换得方法:A+32=a相互之间一般就是相差32。2)转义字符:转义字符分为一般转义字符、八进制转义字符、十六进制转义字符。一般转义字符:背诵 0 、 n 、 、 ”、。八进制转义字符: 141 就是合法得,前导得 0 就是不能写得。十六进制转义字符: x6d 才就是合法得,前导得0 不能写,并且 x 就是小写。3、字符型与整数就是近亲:两个具有很大得相像之处char a = 65 ;printf “%c” , a;得到得输出结果:a printf “ %d” , a;得到得输出结果:65例 2:肯定要记住,
10、异或得位运算符号”。0 异或 1 得到 1。0 异或 0 得到 0。两个女得生不出来。考试记忆方法:一男 1一女 0才可以生个小孩 1 。例 3:在没有舍去数据得时候,右移一位表示除以2。其次章第一节:数据输出(一) (二)3、printf (“ 第一部分 ”,其次部分)。把其次部分得变量、表达式、常量以第一部分得形式呈现出来!5、int x=017 。肯定要弄清晰为什么就是这个结果!过程很重要printf (“ %d”, x)。 15 printf (“ %o”, x)。 17printf (“ %#o”, x)。 017可编辑资料 - - - 欢迎下载精品名师归纳总结printf (“ %
11、x”, x)。 11 printf (“ %#x”,x)。 0x116、int x=12, y=34。 留意这种题型char z= a。printf (“ %d ”, x, y)。 一个格式说明,两个输出变量,后面得y 不输出printf (“ %c”, z)。结果为: 12a 7、肯定要背诵得举例说明:printf (“ %2d”, 123 )。其次部分有三位,大于指定得两位,原样输出 123printf (“ %5d”, 123 )。其次部分有三位,小于指定得五位,左边补两个空格 123printf (“ %10f”, 1、25)。小数要求补足 6 位得,没有六位得补0,。结果为1、250
12、000printf (“ %5、3f ”,125)。小数三位,整个五位,结果为1、250(小数点算一位)printf (“ %3、1f ”,1、 25 )。小数一位,整个三位,结果为1、3(要进行四舍五入)第三节 数据输入4、指定输入得长度(考试重点) 终端输入: 1234567scanf(“%2d%4d%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 为 676、输入时候字符与整数得区
13、分(考试超级重点)scanf(“%d”, &x)。这个时候输入 1,特殊留意表示得就是整数 1scanf(“%c”, &x )。这个时候输入 1,特殊留意表示得就是字符1 ASCII为整数 48。补充说明:scanf“ %d%d%*d%d” ,&a,&b,&c;跳过输入得第三个数据。2) putchar ,getchar函数得考查:chara = getchar 就是没有参数得,从键盘得到您输入得一个字符给变量a。putchar y把字符 y 输出到屏幕中。3) 如何实现两个变量x , y 中数值得互换(要求背下来)不行以把 x=y ,y=x; 要用中间变量t=x。x=y。 y=t。4)如何实
14、现保留三位小数,第四位四舍五入得程序,(要求背下来)y=( int)( x*100+0 、 5) /100 、0这个保留两位,对第三位四舍五入y=( int)( x*1000+0 、5) /1000 、0 这个保留三位,对第四位四舍五入y=( int )( x*10000+0 、5) /10000 、0 这个保留四位,对第五位四舍五入这个有推广满意义,留意x = (int ) x 这样就是把小数部分去掉。第三章特殊要留意: C 语言中就是用非 0 表示规律真得,用0 表示规律假得。C 语言有构造类型,没有规律类型。关系运算符号:留意 =得写法, =与 =得区分!(考试重点) if 只管后面一个
15、语句,要管多个,请用大括号!b、考试最简洁错得:就就是int x=1,y=0,z=2;xyz 就是真仍就是假?带入为102,从数学得角度动身肯定就是错得,但就是假如就是C 语言那么就就是正确得由于要10 为假得到 0,表达式就变成了 02 那么运算结果就就是1,称为了真得了!可编辑资料 - - - 欢迎下载精品名师归纳总结3) if语句a、else 就是与最接近得 if 且没有 else 得语句匹配。c、if ( ab)t=a;a=b;b=t;if ( ab) t=a;a=b;b=t; 两个得区分,考试多次考到了! d、单独得 if 语句: if ( ab) t=a。标准得 if 语句: if
16、 ( ab) min=a。 elsemin=b 。嵌套得 if 语句: if ( ac)printf “ ok.” 。多项一得 if 语句 if( a= =t) printf “ a” ;else if (b= =t) printf “ b” ; else if (c= =t) printf “c” ; else pritnf “ d” ;通过习题,要熟识以上几种 if 语句!经典考题:结合上面四种if 语句题型做题,答错了,请自行了断!预备,开头!inta=1, b=0。 if (! a) b+。 else if( a= =0) if ( a) b+=2。else b+=3。请问 b 得值就
17、是多少? 正确得就是 b 为 3。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,条件判定得次序就是自右向左5)switch 语句:b)留意有 break 与没有 break 得差别, 书上得两个例子, 没有 break 时候, 只要有一个 case 匹配了,剩下得都要执行,有br
18、eak 就就是直接跳出了swiche 语句。 break 在 C 语言中就就是分手,一刀两断满意思。d switchxx:就是整型常量,字符型常量,枚举型数据。case 1: 、不行以就是变量。case 2:、第四章1)三种循环结构:a) for() 。 while 。do- while 三种。d do-while 循环得最终一个 while; 得分号肯定不能够丢。 (当心上机改错) , do while循环就是至少执行一次循环。2 break 与continue 得差别记忆方法:break :就是打破满意思, (破了整个循环)所以看见break 就退出整个一层循环。可编辑资料 - - - 欢
19、迎下载精品名师归纳总结continue : 就是连续满意思, (连续循环运算) ,但就是要终止本次循环,就就是循环体内剩下得语句不再执行,跳到循环开头,然后判定循环条件,进行新一轮得循环。4 while ( c=getchar) .= n ) 与while ( c=getchar .= n )得差别先瞧 a = 3 .= 2与 ( a=3)! =2 得区分:(! =号得级别高于 =号 所以第一个先运算3!=2) 第一个 a 得数值就是得到得1。其次个a 得数值就是 3。考试留意点 : 括号在这里得重要性。7)输入 123,输出 321 逆序输出数据int i=123;while ( i!=0)
20、printf (“ %d”, i%10)。 i=i/10;8for 只管后面一个语句:int i=3 。for ( i=3。 i6;i+)。printf “ #”。请问最终打印几个#号?答案为一个! 9)不停得输入,直到输入# 停止输入!whilex=getchar.= # 11)多次显现得考题:int k=1int k=1 。while ( - -k)。while (k- -)。printf (“ %d”, k)。printf (“ %d”, k)。结果为 0结果为 -1第五章1、函数:就是具有肯定功能得一个程序块,就是C 语言得基本组成单位。2、函数不行以嵌套定义。但就是可以嵌套调用。3、
21、函数名缺省返回值类型,默认为int 。4、C 语言由函数组成,但有且仅有一个main 函数!就是程序运行得开头!5、如何判定 a 就是否为质数:背诵这个程序!voidiszhishu( int a )for (i=2 。 i*b )return a 。return a可以知道返回得就是a 的址。else return b 。main () int x=7, y=8, *max 。max = fun( &x, &y )。由于 fun(&x, &y)得运算结果就是的址,所以用max 来接收。printf (“ max is %d”, *max ) ;9、考试重要得话语:指针变量就是存放的址得。并且
22、指向哪个就等价哪个,全部显现*p得的方都可以用它等价得代替。例如: int a=2 , *p=&a 。*p=*p+2;由于 *p 指向变量 ,所以指向哪个就等价哪个,这里*p 等价于,可以相当于就是a=a+2第七章数组: 存放得类型就是一样得。多个数组元素得的址就是连续得。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 。留意这
23、个的方有一个重要考点,定义时数组得个数不就是变量肯定就是常量。int a5合法,最正常得数组int a1+1合法,个数就是常量2,就是个算术表达式int a1/2+4合法,同样就是算术表达式int x=5,int ax;不合法,由于个数就是x,就是个变量,非法得,define P 5int aP合法, 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
24、;合法,第一行最终一个默认为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;合法,可以缺省列得个数。补充:1) 一维数组得重要概念: 对 a10 这个数组得争论。、 a 表示数组名,就是第一个元素得的址,也就就是元素a0 得的址。(等价于 &a) 、 a 就是的址常量,所以只要显现a+,或者就是 a=a+2 赋值得都就是错误得。、 a 就是一维数组名,所以它就是列指针,也就就是说a+1 就是跳一列。对 a33 得争论。、 a 表示数组名,就是第一个元素得的
25、址,也就就是元素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 这样得题目。步骤一:把她们写成:第一列其次列第三列a0123 第一行a1456
26、 其次行a2789 第三行步骤二:这样作题目间很简洁:*a0+1 我们就知道就是第一行得第一个元素往后面跳一列,那么这里就就是a01 元素, 所以就是。*a1+2 我们就知道就是其次行得第一个元素往后面跳二列。那么这里就就是a12 元素, 所以就是 6 。肯定记住: 只要就是二维数组得题目,肯定就是写成如上得格式,再去做题目,这样会比较简洁。可编辑资料 - - - 欢迎下载精品名师归纳总结3) 数组得初始化,一维与二维得,一维可以不写,二维其次个肯定要写int a=1 , 2 合法。int a4=2 , 3, 4合法。但 int a4=2 , 3, 4非法。4) 二维数组中得行指针int a1
27、2 。其中 a 现在就就是一个行指针,a+1 跳一行数组元素。搭配( * ) p2 指针a0 , a1 现在就就是一个列指针。a0+1 跳一个数组元素。搭配*p2 指针数组使用5) 仍有记住脱衣服法就:超级无敌重要a2变成* ( a+2) ;a23 变成 * ( a+2) 3 再可以变成* ( *( a+2)+3) 这个思想很重要!其它考试重点文件得复习方法:把上课时候讲得文件这一章得题目要做一遍,肯定要做,基本上考试得都会在练习当中。 1)字符串得 strlen与 strcat() 与 strcmp() 与 strcpy()得使用方法肯定要记住。她们得参数都就是的址。其中strcat() 与
28、 strcmp()有两个参数。2) strlen与 sizeof 得区分也就是考试得重点。3) definef( x)( x*x)与definef( x) x*x 之间得差别。肯定要好好得留意这写简洁错得的方,替换得时候有括号与没有括号就是很大得区分。4) int*p 。p = ( int * ) malloc ( 4)。p = ( int * ) malloc ( sizeof( int) 。以上两个等价当心填空题目, malloc 得返回类型就是void *6) 函数得递归调用肯定要记得有终止得条件,并且要会算简洁得递归题目。要会作递归得题目7) 结构体与共用体以及链表要把握最简洁得。ty
29、pedef 考得许多,而且肯定要知道如何引用结构体中得各个变量, 链表中如何填加与删除节点,以及何如构成一个简洁得链表,肯定记住链表中得节点就是有两个域,一个放数值,一个放指针。9) 两种重要得数组长度:char a= a , b , c ; 数组长度为,字符串长度不定。 sizeofa为。char a5= a , b ,c 数组长度为,字符串长度。 sizeofa为。String = a,b,c 字符串长度为四,包括终止符 0、10) scanf 与 gets 得数据:假如输入得就是 good good study !那么 scanf“ %s” ,a; 只会接收good、考点:不行以接收空格
30、。getsa; 会接收good good study.考点:可以接收空格。14) 数组中放数组肯定要瞧懂: int a8=1,2,3,4,4,3,2,2;int b5=0;ba3+这个写法要瞧懂, 结果要知道就是什么?b4+, 本身就是 0,运行完后, b4为 1 了。15) 字符串得赋值C 语言中没有字符串变量,所以用数组与指针存放字符串:1、charch10= “ abcdefgh” ;对2、char3、charch10=“ abcdefgh ”;ch10= a , b , c, d , e , f , g对 , h ;对可编辑资料 - - - 欢迎下载精品名师归纳总结4、char*p= “ abcdefgh” ;对5、char*p;对p=“ abcdefgh ”;6、charch10;错了!数组名不行以赋值!ch= “ abcdefgh ”;7、char*p= “ abcdefgh” ;错了!不能够显现大括号!16) 字符串赋值得函数背诵:肯定要背诵,当心笔试填空题目。把 s 指针中得字符串复制到t 指针中得方法1、while ( ( *t=*s )! =null ) s+。 t+。完整版本 2、while ( *t=*s) s+。 t+。 简洁版本 3、while ( *t+=*s+ )。高级版本可编辑资料 - - - 欢迎下载