C语言程序设计复习资料_第1页
C语言程序设计复习资料_第2页
C语言程序设计复习资料_第3页
C语言程序设计复习资料_第4页
C语言程序设计复习资料_第5页
已阅读5页,还剩5页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言程序设计复习资料总体上必须清楚的:1)程序结构包括三种:顺序结构、循环结构(三个循环结构)、选择结构(if和switch)。2)读程序时要从main()入口开始,然后按照顺序往下读,碰到循环做循环,碰到选择做选择。3)计算机中的数据以二进制形式保存,数据存放的位置就是它的地址。4)bit是指位,即0或1;byte是指字节,一个字节等于八个位。5)必须记住如何将二进制转换成十进制。概念常考到的:1、编译预处理不是C语言的一部分,不在运行时进行。C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。2、每个C语言程序中只有一个main函数。3、在函数中不可以再定义函数。4、算法必须有输出,但可以没有输入。5、break可用于循环结构和switch语句。6、逗号运算符的优先级最低。第一章1)合法的用户标识符考查:合法的用户标识符由字母、数字、下划线组成,不能包含其他元素。第一个字符必须是字母或下划线,不能是数字。关键字不能作为用户标识符,但If可以,因为它的第一个字母大写了。2)实型数据的合法形式:2.333e-1是合法的,表示2.333×10^-1。记忆口诀:e前e后必有数,e后必须为整数。3)字符数据的合法形式:'1'是一个字符,占一个字节;"1"是一个字符串,占两个字节(包含一个结束符号)。'0'的ASCII数值为48,'a'的ASCII数值为97,'A'的ASCII数值为65。4)整型一般是两个字节,字符型是一个字节,双精度一般是4个字节:考试时可能会涉及到16位编译系统或32位系统,但不必在意。掌握整型一般是两个字节,字符型是一个字节,双精度一般是4个字节即可。5)转义字符的考查:在程序中,inta=0x6d是将一个十六进制数赋值给变量a,注意0x必须存在。a~f。在程序中,inta=6d是一个八进制形式。在转义字符中,'\x6d'是合法的,不能写成大写的X。'\141'是合法的,但不能写成'141'。'\108'是非法的,因为不能出现8。6)算术运算符的优先级别:7)关于强制类型转换,正确的写法是(int)a,而不是int(a),需要注意类型上一定要加括号。此外,需要注意(int)(a+b)和(int)a+b的区别。前者是把a+b的结果转型,后者是先把a转型再与b相加。8)表达式一定会有数值。在赋值表达式中,表达式的数值是最左边的数值,例如a=b=5,该表达式的数值为5,常量不能被赋值。自加、自减表达式中,++a表示先将变量的数值加1,然后将得到的数值放到变量a中,表达式的数值为6;而a++表示先将表达式的数值为5,然后再将a的数值加1为6,再将6放到变量a中。需要记住的口诀是“++在前先加后用,++在后先用后加”。逗号表达式的优先级别最低,表达式的数值为逗号最右边的那个表达式的数值。例如(2,3,4)的表达式的数值为4。9)位运算的考察可能会有一到两道题目。处理方法是先将十进制数转换成二进制数,再将二进制数转换成十进制数。例如chara=6,b;b=a<<2;需要先将a的十进制数6转换成二进制数,再进行位运算。需要注意的是,在没有舍去数据的情况下,<<左移一位表示乘以2,>>右移一位表示除以2。10)018的数值是非法的,因为八进制数中没有8,逢8进1。11)%符号两边必须是整数,否则会出错。12)三种取整丢小数的情况包括:1、inta=1.6;2、(int)a;3、在除法运算中,如果被除数和除数都是整数,则结果也是整数,小数部分会被舍去。第二章1)printf函数的格式考察包括%d对应整型,%c对应字符,%f对应单精度等等。此外,还需要注意宽度和左对齐等修饰符。对于longint类型,应使用%ld,对于double类型,应使用%lf。2)scanf函数的格式考察需要注意第二个部分是&a这样的地址,而不是a。例如Scanf(“%d%d%*d%d”,&a,&b,&c),可以跳过输入的第三个数据。3)putchar和getchar函数的考察中,需要注意chara=getchar()是没有参数的,会从键盘获取一个字符并将其赋值给变量a。而putchar(‘y’)会将字符y输出到屏幕中。第三章在C语言中,非表示逻辑真,而表示逻辑假。关系表达式的数值只能为1(表示为真)或0(表示为假)。比如,9>8这个表达式是真的,所以表达式的数值就是1。逻辑表达式也只能为1或0,而C语言中有三种逻辑运算符号:&&、||、!,其中!的优先级最高。同时,要注意短路现象,考试中经常会涉及到。如果要表示x比大比10小,不能使用0<x<10,而是应该使用(0<x)&&(x<10)。if语句中,else是与最接近的if且没有else的相组合的。条件表达式中,表达式1的值为真时,表达式2的值被赋给整个条件表达式,否则表达式3的值被赋给整个条件表达式。在switch语句中,一定要注意有break和没有break的差别。没有break时,只要有一个case匹配了,剩下的都要执行,有break则是直接跳出了switch语句。第四章C语言中有三种循环结构:for、while、do-while。在for循环中,必须有两个分号,而在do-while循环中,最后一个while的分号一定不能丢。同时,写程序的时候一定要注意循环一定要有结束的条件,否则会成为死循环。在循环中,break和continue有着不同的作用。break是打破的意思,所以看见break就退出整个一层循环。而continue是继续的意思,但是要结束本次循环,就是循环体内剩下的语句不再执行,跳到循环开始,然后判断循环条件,进行新一轮的循环。在嵌套循环中,要注意内层循环的break和continue只会影响内层循环,而不会影响外层循环。1)循环嵌套的处理方法处理循环嵌套时,需要耐心地一层一层计算,通常处理二维数组需要记住两层循环。2)while((c=getchar())!=’\n’)和while(c=getchar()!=’\n’)的区别在这里,第一个表达式会先计算c=getchar(),再和’\n’比较,第二个表达式会先计算getchar()!=’\n’,再将结果赋给c。因此,两者的计算顺序不同,会产生不同的结果。3)函数的参数和返回值函数是一个具有特定功能的程序块,通过传递参数可以得到返回值。在调用函数时,将实参传递给形参,函数计算后返回一个结果,这个结果就是函数的返回值。4)注意参数的传递方式参数可以通过数值或地址传递,传递数值时形参的变化不会影响实参,传递地址时形参的变化可能会影响实参的变化。5)函数声明的要点函数声明需要包括函数名、返回类型和参数类型,但不一定需要包括形参的名称。6)指针变量和一般变量的区别指针变量用来存放地址,而一般变量用来存放数值。在int*p中,*p可以当做变量来使用,而p是一个地址。7)数组名、函数名和字符串常量名的含义数组名表示第一个元素的地址,是一个地址常量,不可以自加;函数名表示函数的入口地址;字符串常量名表示第一个字符的地址。8)一维数组的重要概念对于数组a[10],a表示数组名,是第一个元素的地址,也是元素a[10]的地址。由于a是地址常量,因此a++或a=a+2都是错误的。1.数组名a表示第一个元素的地址,即a[0]的地址。2.数组名a是地址常量,因此a++或a=a+2都是错误的。3.数组名a是二维数组名,因此a+1跳一行,a是行指针。4.a[0]、a[1]、a[2]都是地址常量,不能进行赋值操作,它们都是列指针,a[0]+1、a[1]+1、a[2]+1跳一列。5.a和a[0]、a[1]、a[2]的基类型不同,前者是一行元素,后三者是一列元素。对于二维数组,可以按列或按行来处理。例如a[3][3]={1,2,3,4,5,6,7,8,9},可以按列写成:147258369然后就可以通过指针操作来访问数组元素,如*(a[0]+1)表示第一行的第二个元素,即a[0][1],值为1;*(a[1]+2)表示第二行的第三个元素,即a[1][2],值为6。在初始化二维数组时,第二个维度必须指定大小,而第一个维度可以省略。例如inta[]={1,2}是合法的,inta[][4]={2,3,4}也是合法的,但inta[4][]={2,3,4}是非

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论