C语言各章节的重点和易错之处.docx
- 文档编号:9387506
- 上传时间:2023-05-18
- 格式:DOCX
- 页数:27
- 大小:37.96KB
C语言各章节的重点和易错之处.docx
《C语言各章节的重点和易错之处.docx》由会员分享,可在线阅读,更多相关《C语言各章节的重点和易错之处.docx(27页珍藏版)》请在冰点文库上搜索。
C语言各章节的重点和易错之处
C语言各章节的重点和易错之处
第二章算法
重点:
掌握用N-S流程图表示算法。
注意C语言的语句是以“;”作为结束符,一行可以书写多条语句。
例:
当a,b,c的值分别为3,4,5时,以下各语句执行后a,b,c的值为多少?
(1)if(a>c)
{a=b;b=c;c=a;}
else
{a=c;c=b;b=a;}
执行后a,b,c的值为__5_,_5_,__4_
(2)if(a a=c; else a=b;c=b;b=a; 执行后a,b,c的值为_5__,_5__,_4__ (3)if(a! =c) ;/*空语句*/ else a=c;c=b;b=a; 执行后a,b,c的值为_3__,_3__,_4_ 第三章数据类型、运算符与表达式 重点: 注意八进制和十六进制常量的表示方式,以及指数的表示方式;区分字符常量与字符串常量的区别;混合运算时各种运算符和优先级;逗号表达式的结果为最后一个表达式值;标识符的命名规则。 注意: C语言是区分大小写的。 易错之处: 1)将’a’与”a”混为一谈。 前者为字符常量,在内存中占用一个字节的存储空间;后者为字符串常量,在内存中占用二个字节的存储空间,即对于字符串常量系统会自动在最后一个字符后面添加一个字符串结束标志-’\0’(ASCII码值为0的字符,即第一个字符――“空字符”,它要占用一个字节的存储空间。 ) 2)在字符串常量中,特别是统计字符个数时,忽略了转义字符的作用和含义。 尤其是‘\ddd’(’\’后面1~3个八进制数)和’\xhh’(’\x’后面1~2个十六进制)只是用来表示一个字符,即字符的ASCII码值。 例: a)下面四个选项中,均是非法常量的选项是 A 。 A)‘as’-0fff‘\0xa’ B)‘\\’‘\01’12,456 C)-0x18011770xf D)0xabc‘\0’“a” b)下面四个选项中,均是正确的数值常量或字符常量的选项是 D 。 A)0.00f8.9e‘&’ B)“a”3.9E-2.51e1‘\”’ C)‘3’0110xFF000a D)+0110xabcd2e250. 3)自增(++)和自减(――)运算符作为后置运算符时要特别小心。 这时变量先参加表达式的计算,然后再增1(++)或减1(--)。 例: 执行以下的C语言程序段后,a=【10】,b=【9】,c=【11】。 intx=10,y=9; inta,b,c; a=(x--==y++)? x--: y++; b=x++; c=y; 另外,++和--只能用于变量,而不能用于常量或表达式。 例: 有以下定义: inta[10],*p;p=a; 若想得到数组中第二个元素的地址,则可通过如下语句实现: p++;或p=&a[1];而a++;是错误的,因为数组名a是常量。 4)两个整数相除(/),结果为整数(小数部分舍去);“%”运算符两端的表达式(或数据)必须是整数。 这两个运算符配合使用可以得到一个整数的各位数字。 例: a)若有定义: inta=7;floatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是 A 。 A)2.500000B)2.750000C)3.500000D)0.000000 b)下面程序的功能是输出1至100之间每位数的乘积大于每位数的和的数。 请填空。 #include main() { intn,k=1,s=0,m; for(n=1;n<=100;n++) { k=1;s=0; 【m=n】; while(【m】) { k*=m%10; s+=m%10; 【m/=10】; } if(k>s)printf(“%d”,n); } } 第四章顺序程序设计 重点: printf()和scanf()的格式化输入/输出,以及附加格式的应用。 当使用getchar()和scanf()的“%c”格式进行单个字符输入时,要特别注意“回车键”的问题,因为当输入一组数据按下“回车键”后,“回车键”转换为’\f’(换行)字符保留在键盘缓冲区中,就会被后续的接收输入的getchar()和scanf()的“%c”所收,从而造成错误。 例: 【题4.11】已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是 D 。 inta1,a2;charc1,c2; scanf(“%d%d”,&a1,&a2); scanf(“%c%c”,&c1,&c2); A)1020AB AB C)1020AB 第五章选择结构程序设计 重点: 关系运算符和逻辑运算符的优先级顺序;复杂关系(或逻辑)表达式的正确书写;switch()语句中常量表达式的前后顺序;多外选择结构嵌套时要注意各级关系表达式之间的关系。 必须明确关系(或逻辑)表达式的结果只有两个值: “真”(用数值1表示)和“假”(用数值0表示);但是在判断一个关系(或逻辑)表达式是“真”还是“假”时,是看这个表达式的值是“0”还是“非0”(即使是负数也是“真”的)。 易错之处: 1)在switch()语句中多个常量表达式仅起到一个程序跳转的入口指示(即语句标号),并不是实现多路分支,要想实现多路分支就必须在每个case中使用break;语句。 例: 以下程序段的运行结果是 **1** **3** 。 intx=1,y=0; switch(x) { case1: switch(y) { case0: printf(“**1**\n”);break; case1: printf(“**2**\n”);break; } case2: printf(“**3**\n”); } 2)判断语句中给出的关系(或逻辑)表达式与题目的要求不符。 例: 表示图中坐标轴上阴影部分的正确表达式是 C 。 //////// //////// X abc A)(x<=a)&&(x>=b)&&(x<=c) B)(x<=a)||(b<=x<=c) C)(x<=a)||(x>=b)&&(x<=c) D)(x<=a)&&(b<=x<=c) 3)忽略了逻辑运算符: &&和||部分运算的特征。 例: 执行以下语句后a的值为【1-D】,b的值为【2-A】。 inta=5,b=6,w=1,x=2,y=3,z=4; (a=w>x)&&(b=y>z); ++a||++b&&++c; 【1】A)5B)0C)2D)1 【2】A)6B)0C)1D)4 4)注意三目运算符的结合方向是“自右向左”。 例: 设有intx=1,y=0;,则以下表达式的值为【‘A’】。 x-->(y+x)? 10: 12.5>y++? ‘A’: ‘Z’ (因为它等价于: x-->(y+x)? 10: (12.5>y++? ‘A’: ‘Z’)) 第六章循环控制程序设计 重点: 循环控制表达式正确性和有效性,特别是当循环之间或者循环与选择之间嵌套时更应注意内外层循环体中循环控制表达式的一致性。 注意break语句和continue语句的使用,当循环与switch语句嵌套或者循环之间嵌套时,break语句仅能结束它所在的循环体或switch语句体。 易错之处: 1)循环控制变量的初始值、改变语句与循环控制表达式不匹配(根据题意)。 例: a)设有以下程序段 intx=0,s=0; while(! x! =0)s+=++x; printf(“%d”,s); 则 B 。 A)运行程序段后输出0B)运行程序段后输出1 C)程序段中的控制表达式是非法的D)程序段执行无限次 b)若运行以下程序时,从键盘输入2473<回车>,则下面程序的运行 结果是 A 。 #include main() { intc; while((c=getchar())! =‘\n’) switch(c-‘2’) { case0: case1: putchar(c+4); case2: putchar(c+4);break; case3: putchar(c+3); default: putchar(c+2);break; } printf(“\n”); } A)668977B)668966C)66778777D)6688766 c)有一堆零件(100到200之间),如果分成4个零件一组的若干组,则多2个零件;若分成7个零件一组,则多3个零件;若分成9个零件一组,则多5个零件。 下面程序是求这堆零件总数,请选择填空。 #include main() { inti; for(i=100;i<200;i++) if((i-2)%4==0) if(! ((i-3)%7)) if( D ) printf(“%d”,i); } A)i%9=5B)i%9! =5C)(i-5)%9! =0D)i%9==5 d)下面程序是输出一个正整数等差数列的前十项,此数列前四项之和及之积分别是26和880,请选择填空。 #include main() { inta,d,i,s,f,x;/*a是第一项*/ for(a=1;a<30;a++) for(d=1;【1-C】;d++) { s=0;f=1;x=a; for(i=1;i<=4;i++) { s=s+x; f=f*x; x=x+d; } if(s==26&&f==880) for(i=0;i<10;i++) printf(“%3d”,【2-A】); } printf(“\n”); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 各章 重点 和易
![提示](https://static.bingdoc.com/images/bang_tan.gif)