《c语言期末复习》PPT课件.ppt

上传人:wuy****n92 文档编号:77679462 上传时间:2023-03-16 格式:PPT 页数:35 大小:396.50KB
返回 下载 相关 举报
《c语言期末复习》PPT课件.ppt_第1页
第1页 / 共35页
《c语言期末复习》PPT课件.ppt_第2页
第2页 / 共35页
点击查看更多>>
资源描述

《《c语言期末复习》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《c语言期末复习》PPT课件.ppt(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、题型:题型:20*2=402*10=20选择题选择题选择题选择题填空题填空题填空题填空题改错题改错题改错题改错题编程题编程题编程题编程题2*10=202*10=20改错、填空多考点:改错、填空多考点:#include 预处理预处理#define N 10 宏定义宏定义float ff(float a,float b,float c);函数声明函数声明main()主函数主函数int i,j,a10,*p,sum,x=1;变量定义变量定义sum=0;赋值赋值scanf(“%d”,&a0);输入语句,参数是地址输入语句,参数是地址if(i=0)for(;),while语句的考察,注意语句的考察,注意

2、表达式表达式的判断,的判断,循环体循环体语句的判断。语句的判断。输出语句输出语句函数调用函数调用int ss(int a,int b,int*q)main()int x,s10,y;ss(x,s,&y);实参和实参和形参形参个数相同,类型相同。个数相同,类型相同。双层循环双层循环int a56for(i=0;i=0;j-)i,j的范围的范围 if(i%2=0)奇数位对应偶数下标奇数位对应偶数下标 aij=i+j+1;规律规律总体上必须清楚的总体上必须清楚的:1)程序结构是三种程序结构是三种:顺序结构顺序结构,循环结构循环结构(三个循三个循环结构环结构),选择结构选择结构(if 和和 switc

3、h)。2)读程序都要读程序都要从从main()入口入口,然后从最上面顺序然后从最上面顺序往下读往下读(碰到循环做循环碰到循环做循环,碰到选择做选择碰到选择做选择)。3)计算机的数据在电脑中保存是以二进制的形式。计算机的数据在电脑中保存是以二进制的形式。数据存放的位置就是他的地址。数据存放的位置就是他的地址。4)二进制二进制 如何划成如何划成 十进制。十进制。概念常考到的:概念常考到的:、编译预处理不是编译预处理不是C语言的一部分,不占运行语言的一部分,不占运行时间。时间。C语言编译的程序称为源程序,它以语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。数值存放在文本文件中。、每个、

4、每个C语言程序中语言程序中main 函数是有且只有一函数是有且只有一个。个。、在函数中不可以再定义函数。定义不可嵌套,、在函数中不可以再定义函数。定义不可嵌套,但调用可以。但调用可以。、break可用于循环结构和可用于循环结构和switch语句。语句。、优先级:优先级:单目单目(+,-,!)算术表达式算术表达式关系表关系表达式达式逻辑表达式逻辑表达式三目三目赋值。赋值。语言的下列运算符中,优先级最高的运算符是(语言的下列运算符中,优先级最高的运算符是()。)。A.+B.+=C.|D.!=下列叙述正确的是()下列叙述正确的是()A 为提高程序运行速度可在源程序中加入一些宏定义为提高程序运行速度可

5、在源程序中加入一些宏定义 B 一个一个C语言源程序只能有一条预处理命令语言源程序只能有一条预处理命令 C 宏定义不占用程序运行时间,但与程序中的语句一样宏定义不占用程序运行时间,但与程序中的语句一样需要编程需要编程 D 宏定义中的宏名必须用大写字母表示宏定义中的宏名必须用大写字母表示 AC第一章第一章1)合法的用户标识符由)合法的用户标识符由字母,数字,下划线字母,数字,下划线组成。并且组成。并且第一个必须为字母或则是下划线第一个必须为字母或则是下划线。关键字关键字不可以作为用户不可以作为用户标识符号。标识符号。main define scanf printf 都是关键字。都是关键字。If是可

6、以做为用户标识符。因为是可以做为用户标识符。因为If中的第一个字母大写了,中的第一个字母大写了,所以不是关键字。所以不是关键字。2)实型数据的合法形式:)实型数据的合法形式:2.333e-1 就是合法的,且数据是就是合法的,且数据是2.33310-1。考试口诀:考试口诀:e前前e后必有数,后必有数,e后必为整数。后必为整数。2.3 小数点前后可省略其中一个。小数点前后可省略其中一个。3)字符数据的合法形式)字符数据的合法形式::1 是字符占一个字节,是字符占一个字节,1是字符串占两个字节是字符串占两个字节(含有含有一个结束符号一个结束符号0)。0 的的ASCII数值表示为数值表示为48,a 的

7、的ASCII数值是数值是97,A的的ASCII数值是数值是65。4)char是是1字节,字节,int是是2字节字节,long是是4字节,字节,float是是4个字节,个字节,double是是8字节字节 5)在转义字符中,)在转义字符中,x6d 十六进制数。十六进制数。141八进制数。八进制数。108 是非法的,因为不可以出现是非法的,因为不可以出现8。6)强制类型转换:)强制类型转换:一定是一定是(int)a 不是不是 int(a),类型上一定有括号的。类型上一定有括号的。注意(注意(int)()()=7和(和(int)的区别。的区别。7)表达式的考查:)表达式的考查:是表达式就一定有数值。是

8、表达式就一定有数值。赋值表达式:赋值表达式:表达式左边一定是一个变量。表达式左边一定是一个变量。自加、自减表达式自加、自减表达式:假设:假设a=5,+a(是为(是为6),),a+(为(为5);考试口诀:);考试口诀:+在前先加后赋,在前先加后赋,+在后先赋后加。在后先赋后加。逗号表达式:优先级别最低逗号表达式:优先级别最低;表达式的数值逗号最右边的表达式的数值逗号最右边的那个表达式的数值。那个表达式的数值。(2,3,4)的表达式的数值就是)的表达式的数值就是4。8)位运算的考查:会有一到二题考试题目。)位运算的考查:会有一到二题考试题目。右移一位表右移一位表示除以示除以2,2位除位除4,3位除

9、位除6。9)%(求余)符号两边要求是整数。(求余)符号两边要求是整数。10)取整丢小数的情况)取整丢小数的情况:、=1;、;、1/2=0;18.()为正确的变量名。)为正确的变量名。19.()为正确的字符常量。)为正确的字符常量。A.B.24mC.cD.M22.以下选项中,合法的实型常数是(以下选项中,合法的实型常数是()。)。29.语句语句 k=(m=5,n=+m);运行之后,变量运行之后,变量k、m、n的值依次的值依次为(为()。)。A.5,5,6 B.5,6,5C.6,6,5D.6,6,635.若有定义:若有定义:int m=4,n=5;float k;,则以下符合,则以下符合C语言语法

10、的语言语法的表达式是(表达式是()。)。44.若有定义若有定义 int i=1,j=9;则表达式则表达式(+j)*(i-)的的值为(值为()。)。A.0B.10C.9D.8 cDBDBB第二章1)printf函数的格式考查:函数的格式考查:%d对应对应int整型;整型;%c对应对应char字符;字符;%f对应对应float单精度单精度;%ld对应对应 long int;%lf 对应对应double。宽度的,左对齐等修饰。宽度的,左对齐等修饰。%.3f2)scanf函数的格式考察:函数的格式考察:注意该函数的第二个部分是注意该函数的第二个部分是&a 这样的地址,不是这样的地址,不是a;scanf

11、(“%d%d%*d%d”,&a,&b,&c);跳过输入的第三个数据跳过输入的第三个数据(b没赋值没赋值)。输入语句不能出现,只能是输入语句不能出现,只能是%6f。3)putchar,getchar 函数的考查:函数的考查:char a;a=getchar()是没有参数的,从键盘得到你是没有参数的,从键盘得到你输入的一个字符给变量输入的一个字符给变量a。putchar(y)把字符把字符y输出到屏幕中。输出到屏幕中。4)如何实现两个变量)如何实现两个变量x,y中数值的互换(要求背下来)中数值的互换(要求背下来)不可以把不可以把 x=y,y=x;要用中间变量要用中间变量 t=x;x=y;y=t。5)

12、while(c=getchar())!=n)注意点注意点:括号在这里的重要性。括号在这里的重要性。52.若已定义:若已定义:int a=5,b=9,c=6;则语句则语句 b+;+c;a=b-c;运运行后行后a的值为(的值为()。)。A.5B.3C.2D.454.若已定义若已定义 float x;要从键盘输入数据给变量要从键盘输入数据给变量x,则应选用(,则应选用()语句。)语句。A.scanf(%2.3f,&x);B.scanf(%6f,&x);C.scanf(%6.3f,&x);D.scanf(%5.3f,&x);58.若已定义若已定义 int a=11;执行以下语句后的输出结果是(执行以下

13、语句后的输出结果是()。)。printf(a=%d,a=%o,a=%xn,a,a,a);A.a=11,a=11,a=bB.a=11,a=13,a=b C.a=11,a=13,a=cD.a=11,a=12,a=1361.以下程序段的运行结果是(以下程序段的运行结果是()。)。int a=1;printf(%d,%d,%dn,a,+a,a+);3,3,1B.1,2,2C.1,2,3 D.3,2,1 BBBA66.有以下程序:有以下程序:main()int c;while(c=getchar()!=n)switch(c-2)case 0:case 1:putchar(c+4);case 2:putc

14、har(c+4);break;case 3:putchar(c+3);default:putchar(c+2);break;当输入:当输入:247,程序的输出结果是(,程序的输出结果是()。)。A.689B.6689C.66778D.66887Bc语言中是用语言中是用非非0表示逻辑真的,用表示逻辑真的,用0表示逻辑假的。表示逻辑假的。1)关系表达式:)关系表达式:表达式的数值只能为表达式的数值只能为1(表示为真),或(表示为真),或0(表示假)(表示假)关系的表达是为真的时候得到关系的表达是为真的时候得到1。如。如 98这个是真的,所以表达这个是真的,所以表达式的数值就是式的数值就是1;abc

15、的问题的问题2)逻辑表达式:)逻辑表达式:为为1(表示为真),(表示为真),0(表示假)(表示假)a)!&|优先的级别。优先的级别。b)不完全计算问题。不完全计算问题。c)要表示要表示 x 是比是比0大,比大,比10小的方法。小的方法。0 x10是不可以的。是不可以的。一定要用一定要用(0 x)&(x10)。36.若有定义:若有定义:int a=6;则语句则语句 a*=a-=a/=3;运行后,运行后,a的值是(的值是()。)。A.10B.0C.34D.2446.若已定义若已定义 int a=3,b=2,c=1;则语句则语句+a|+b&+c;运行后运行后b的值为(的值为()。)。A.0B.3C.

16、1D.248.若已定义:若已定义:int a=2,b=2;则表达式则表达式(a+(b+),b)的值是(的值是()。)。A.2B.3C.4D.669.若已定义若已定义 int x=-16,y=-12,z;语句语句z=x=cC.c-b|a+b&(b*c-a-c)D.(b*c-a-c)&(b*c-a-b)80.已定义已定义 double k=3.6;则正确的赋值表达式是(则正确的赋值表达式是()。)。A.k=double(-3.6)B.k%3C.k=k*(-1.0)=-3.6D.k+=k-=(k=1.2)*(k=3)89.若有定义:若有定义:float x=2,y=4,h=3;下列表达式中与下列表达

17、式中与计计算结果不相符的是(算结果不相符的是()。)。A.(x+y)*h/2 B.(x+y)*h*1/2C.(1/2)*(x+y)*hD.h/2*(x+y)CDDc1)if 语句语句 else 是与最接近的是与最接近的if且没有且没有else配套的相组合的。配套的相组合的。2)条件表达式:)条件表达式:条件表达式条件表达式1?表达式?表达式2:表达式:表达式3 注意是条件判断为真时执行表达式注意是条件判断为真时执行表达式2的数值,当是假的数值,当是假时执行表达式时执行表达式3的数值。的数值。3)switch语句:语句:a)一定要注意:有)一定要注意:有break 和没有和没有break的差别,

18、没的差别,没有有break时候,只要有一个时候,只要有一个case匹配了,剩下的都要执匹配了,剩下的都要执行,有行,有break则是直接跳出了则是直接跳出了 swiche语句。语句。b)switch只可以和只可以和break一起用,不可以和一起用,不可以和continue用。用。第三章79.以下程序运行后,以下程序运行后,a的值是(的值是()。)。main()int a,b;for(a=1,b=1;a=20)break;if(b%3=1)b+=3;continue;b-=5;A.101B.100C.8D.7c98.以下程序段运行后变量以下程序段运行后变量k的值为(的值为()。)。int a=3

19、,b=2;int k;k=(-a=b+)?a:b+1;A.0B.1C.2D.399.以下程序的运行结果是(以下程序的运行结果是()。)。void main()int n=9;switch(n-)default:printf(%d ,n+);case 8:case 7:printf(%d ,n);break;case 6:printf(%d ,n+);case 5:printf(%d ,n);A.8B.7C.8 9D.8 7cc101.以下程序的运行结果是(以下程序的运行结果是()。)。void main()int a;if(a=6)printf(%dn,a);else if(a6)printf

20、(%dn,a+2);else printf(%dn,a+3);A.运行时产生错误信息运行时产生错误信息B.9C.8D.6D103.若有定义若有定义:int a=2,b=3,c=1;则以下程序段的运行则以下程序段的运行结果是(结果是()。)。if(ab)if(ac)printf(%d ,a);else printf(%d ,b);printf(%d ,c);A.3 1B.2 1C.3D.1D第四章1)三种循环结构:)三种循环结构:for;while();do-while()三种。三种。a)for(;)语句)语句1;循环当中必须是两个分号,千万不要循环当中必须是两个分号,千万不要忘记。忘记。b)写

21、程序的时候一定要注意,)写程序的时候一定要注意,循环一定要有结束的条件,循环一定要有结束的条件,否则成了死循环。否则成了死循环。c)do-while()循环的最后一个循环的最后一个while();的分号一定不的分号一定不能够丢。(当心上机改错)能够丢。(当心上机改错)2)break:退出整个循环。:退出整个循环。continue:结束本次循环,就是循环体内剩下的语句不:结束本次循环,就是循环体内剩下的语句不再执行,跳到循环开始,然后判断循环条件,进行新一轮的再执行,跳到循环开始,然后判断循环条件,进行新一轮的循环。循环。3)嵌套循环)嵌套循环 就是有循环里面还有循环,这种比较复杂,要一层一层一

22、就是有循环里面还有循环,这种比较复杂,要一层一层一步一步耐心的计算,一般记住两层是处理二维数组的。步一步耐心的计算,一般记住两层是处理二维数组的。105.下列程序段中,非死循环的是(下列程序段中,非死循环的是()。)。A.int i=100;while(1)i=i%100+1;if(i=100)break;C.int s=10;while(+s%2+s%2)s+;B.int k=0;do +k;while(k=0);D.for(;)A 108.以下程序段运行后,循环体中的以下程序段运行后,循环体中的 n+=3;语句运行的语句运行的次数为(次数为()。)。int i,j,n=0;for(i=1;

23、i=3;i+)for(j=1;j=i;j+)n+=3;printf(%dn,n);A.6次次B.9次次C.12次次D.1次次A 114.以下程序的运行结果是(以下程序的运行结果是()。)。void main()int s=0,i=0;while(i=1;i-)for(j=i;j第一行第一行a1 4 5 6 第二行第二行a2 7 8 9 第三行第三行步骤二:步骤二:*(a0+1)我们就知道是第一行的第一个元素往后面跳一我们就知道是第一行的第一个元素往后面跳一列,那么这里就是列,那么这里就是a01元素,所以是元素,所以是2。*(a1+2)我们就知道是第二行的第一个元素往后面跳二我们就知道是第二行的

24、第一个元素往后面跳二列。那么这里就是列。那么这里就是 a12元素,所以是元素,所以是6。一定记住:只要是二维数组的题目,一定是写成如上的格一定记住:只要是二维数组的题目,一定是写成如上的格式,再去做题目,这样会比较简单。式,再去做题目,这样会比较简单。数组的初始化,二维的,行标可以不写,列标一定要写。数组的初始化,二维的,行标可以不写,列标一定要写。int a=1,2合法。合法。int a4=2,3,4合法。但合法。但int a4=2,3,4非法。非法。二维数组中的行指针二维数组中的行指针int a12;a现在就是一个行指针,现在就是一个行指针,a+1跳一行数组元素。跳一行数组元素。a0,a1

25、现在就是一个列指针。现在就是一个列指针。a0+1 跳一个数组元素。跳一个数组元素。还有记住脱衣服法则:还有记住脱衣服法则:a2变成变成*(a+2)a23变成变成*(a+2)3再可以变成再可以变成*(*(a+2)+3)函数函数1)main()int a=5,b=6,c;c=add(a,b);printf(“%d”,c);调用函数:调用函数:a,b是实参是实参整个函数得到一个数值就是:整个函数得到一个数值就是:add函数的返回数值。函数的返回数值。int add(int x,int y)int z;z=x+y;return z;被调用函数:被调用函数:x,y是形式参数是形式参数函数返回数值是整型函

26、数返回数值是整型2)一定要注意参数之间的传递)一定要注意参数之间的传递 实参和形参之间传数值,和传地址的差别。(考试实参和形参之间传数值,和传地址的差别。(考试的重点)的重点)传数值的话,形参的变化不会改变实参的变化。传数值的话,形参的变化不会改变实参的变化。传地址的话,形参的变化就会有可能改变实参的变传地址的话,形参的变化就会有可能改变实参的变化。化。3)函数声明的考查:)函数声明的考查:一定要有:函数名,函数的返回类型,函数的参数类一定要有:函数名,函数的返回类型,函数的参数类型。型。不一定要有:形参的名称。不一定要有:形参的名称。指针变量的本质是用来放地址,而一般的变量是放数值的。指针变

27、量的本质是用来放地址,而一般的变量是放数值的。int*p 中中*p和和p的差别:的差别:*p可以当做变量来用;可以当做变量来用;*的作用是取后面地址的作用是取后面地址p里面的数里面的数值值p是当作地址来使用。是当作地址来使用。*p+和和(*p)+的之间的差别:改错题目中很重要的之间的差别:改错题目中很重要 *p+是是 地址会变化。地址会变化。(*p)+是数值会要变化。是数值会要变化。三名主义:(考试的重点)三名主义:(考试的重点)数组名:表示第一个元素的地址。数组名不可以自加,数组名:表示第一个元素的地址。数组名不可以自加,他是地址常量名。(考了很多次)他是地址常量名。(考了很多次)函数名:表示该函数的入口地址。函数名:表示该函数的入口地址。字符串常量名:表示第一个字符的地址。字符串常量名:表示第一个字符的地址。指针(三个结论,什么时候指地址什么指针(三个结论,什么时候指地址什么时候是元素)时候是元素)其他(选择题)结构体结构体:struct共用体共用体:union枚举类型枚举类型:enum新类型新类型:typedef注意:关键字,区别注意:关键字,区别函数调用填空题:没其他可填时考虑:函数声明填空题:没其他可填时考虑:函数声明函数的实参函数的实参(在主函数中,不需要定义类型在主函数中,不需要定义类型)形参形参(定义类型定义类型);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 初中资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁