版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、【说明】这是真题分类解析,比较经典。为了节省时间,提高效率,希望大家按这样一种方式阅读这份资料:直接做例题不懂,看解析再不懂,看知识点介绍,书本,课堂笔记再不懂,留着下次课问我不要从头开始,一个字一个字地读全国计算机等级考试二级 C语言考前复习资料第二章运算符与表达式1知识点:C运算符简介算术运算符:+、一、*、人%赋值运算符:=、+=、一=、*=、/=、%=、=、=、 &=、a=、|=关系运算符:、=、=、=、!=逻辑运算符:!、&&、|条件运算符:?:逗号运算符:,2知识点:运算符的结合和优先级3知识点:强制类型转换运算符一般形式:(类型说明符)(表达式)功能:把表
2、达式的运算结果强制转换成类型说明符所表示的类型例 1: (2009-04-06)表达式(int)(double)(5/2)+2.5)的值是 4。【解析】(int)(double)(5/2)+2.5 )宀(int)(double)2)+2.5)宀(int)(2.000000+2.5)宀(in t)(4.500000)4。4知识点:算术运算符:+、一、*、人% :参与运算的量均为整型。/ :当除号左右两边都是整数的时候,商也要是整数,如果不是整数则舍弃小数部分。当参与运算量有一个为实型,则商为 double型。例1: (2010-09-14)有以下定义:int a; long b; double
3、x, y;则以下选项中正确的表达式 是(A)A)a%(i nt)(x-y)B) a=x!=y ;C) (a*y)%bD)y=x+y=x【解析】参与%运算的左右操作数均为整型,故A项正确,C项错误。B项是赋值语句,不D项中x+y=x,错误。是表达式。赋值运算符左边必须是变量,而不是表达式,而5知识点:逗号表达式般形式:表达式1,表达式2嵌套形式:表达式1,表达式2,表达式3,表达式n求值过程:先求解表达式1,再求解表达式2,以表达式2的值为整个逗号表达式的值。例1: (2009-04-14 )设有定义:int x=2 ;以下表达式中,值不为6的是(D )A)x*=x+1B)x+,2*xC)x*=
4、(1+x)D)2*x,x+=2【解析】A项x=x*(x+1)=2*(2+1)=6; B项x+后,x的值为3,2*x的值为6,整个逗号表达式的值为 6; C项x=x*(1+x)=2*3=6 ; D项x=x+2=2+2=4,整个逗号表达式的值为 4。故答 案是D。6知识点:自增自减运算符+ii自加1后再参与运算i+i参与运算后再自加1-i i自减1后再参与运算i- i参与运算后再自减 1+和 -的运算对象只能为变量,不能是常量或表达式。a+的值是5;则不符合C语言规定的赋值D)i=!a ;C项错误。例1: (2009-09-06 )若有定义语句:int a=5 ;则表达式:【解析】表达式 a+的值
5、是a未加1之前的值,即5。.7知识点:赋值表达式一般形式:变量名=表达式赋值运算符左边必须是变量,而不是表达式。例 1: (2010-03-14 )若有定义:double a=22;int i=0,k=18语句是(C)A)a=a+, i+ ; B)i=(a+k) <=(i+k) ;C)i=a%11 ;【解析】a为double型,参与%运算的操作数均为整型,故 复合赋值运算符和表达式+=、一 =、*=、/=、%=、<<=、>>=、 &=、 A=、 |=例 2: (2010-09-16 )表达式 a+=a-=a=9 的值是(DA)9B)-9C)18D)0【解析
6、】赋值运算符的结合性是从右到左,a=9t a=a-9=0宀a=a+O=O+O=O。故答案是D。第三章顺序结构1知识点:格式输入函数 printf()(1) 一般形式:printf(格式控制字符串”,输出列表);(2) 遇到控制字符,按照控制字符的规定输出,遇到非格式字符串按原样输出。例1: (2009-04-07)若变量x,y已定义为int类型且x的值为99, y的值为9,请将输出语句printf( “ x/y=%d” ,x/y);补充完整,使其输出的计算结果形式为:x/y=11。(3) 格式字符串输出最小宽度:若实际位数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或
7、0。精度:若输出数字,则表示小数的位数,若输出的是字符,则表示输出字符的个数,若 实际位数大于所定义的精度数,则截去超过的部分。例 3: (2009-04-15 )程序段:int x=12;double y=3.141593;printf( %d%8.6f ”,x,y);的输出结果 是(A)A)123.141593B)12 3.141593C)12,3.141593D)123.1415930【解析】以%8.6f格式输出,即输出的总宽度为8,小数的位数为6。2知识点:格式输入函数scanf()(1) 一般形式:scanf(格式控制字符串",地址列表);(2 )若格式控制字符串中有非格式
8、字符串,则按原样输入。若格式控制字符串中没有非格式字符作输入数据之间的间隔,则可用空格、Tab、回车作间隔。例1: (2005-04-19)有以下程序main ()int m, n,p;scanf( m=%dn=%dp=%d ",&m,&n,&p);printf( %d%d%dn ”,m,n,p);若想从键盘上输入数据,使变量m中的值为123, n中的值为456, p中的值为789,则正确的输入是(A)A)m=123n=456p=789B)m=123 n=456 p=789C) m=123 ,n=456,p=789D)123 456 789【解析】seanf(
9、 m=%dn=%dp=%d ",&m,&n,&p);格式控制字符串中有非格式字符串,贝U按原样输入,故答案是 A。(3) 在输入字符数据时,若格式控制字符串中无非格式字符,则认为所有输入的字符均为有效字符。空格会被当作字符赋值给变量。例2:( 2009-04-23)有以下程序#i nclude <stdio.h>main ()int a1,a2;char c1,c2;scanf( %d%c%d%c",&a1,&c1,&a2,&c2);printf( %d,%c,%d,%c ",a1,c1,a2,c
10、2);若想通过键盘输入,使得a1的值为12,a2的值为34,c1的值为字符a,c2的值为字符b,程序输出结果是:12,a,34,b则正确的输入格式是(以下代表空格,<CR>代表回车)A)12a34b<CR>B)12_a_34_b<CR>C)12,a,34,b<CR>D)12_a34_b<CR>【解析】空格会被当作字符赋值给变量,故B、D错误;C项中逗号会被当作字符赋值给变量,故C项错误。(4) 格式字符串一般形式:%*输入数据宽度长度类型*表示该输入项,读入后不赋予相应的变量。输入数据宽度:用十进制数指定输入的字符数。例3:( 201
11、0-09-07)有以下程序#i nclude <stdio.h>main ()int x,y;scanf( %2d%ld ",&x,&y); printf( %dn "x+y);程序运行时输入:1234567程序的运行结果是34579。【解析】%2d输入的数据宽度为 2,x的值为12,y的值为34567,x+y=34579。长度格式符为h (短整型)和 I (长整型),%ld长整型数据,%lf双精度浮点数据。%d输入十进制整数;%f或%e输入实型数(用小数形式或指数形式)%c输入单个字符;%s输入字符串;0输入八进制整数%x输入十六进制整数;%u
12、输入无符号十进制整数例 4: (2009-04-16 )若有定义语句:double x,y,*px,*py ;执行了 px=&x ; py=&y ;之后,正确的输入语句是(C)A) scanf( %f%f”x,y);B)scanf( %f%f ",&x,&y);C)scanf( %lf%le ",px,py);D)scanf( %lf%lf ",x,y);【解析】A、D项地址列表,应为 &x,&y ; x、y为double型,格式控制字符串不是 %f%f, 故B项错误。3知识点:字符输出函数putchar()一般形式
13、:putchar( a);putchar( 101 ');4知识点:字符输入函数getchar()一般形式:getchar();或 ch=getchar();例1: (2010-03-15)有以下程序#i nclude <stdio.h>main ()char a,b,c,d;scanf( %c%c",&a,&b);c=getchar(); d=getchar();printf( %c%c%c%cn ",a,b,c,d);当执行程序时,按下列方式输入数据(从第1列开始,<CR>代表回车,注意:回车也是-个字符)12<CR
14、>34<CR>则输出结果是(B)A)1234B)12C)12D)12334【解析】以%c格式读取一个字符,以getchar()形式也是读取一个字符。空格会被当作字符赋值给变量。所以,a='1',b='2 ,c='n',d= '3。第四章选择结构1知识点:关系运算符和表达式例1:( 2010-09-08 )在C语言中,当表达式值为0时表示逻辑值“假”,当表达式值为 非0时表示逻辑值“真”。例 2 :( 2010-03-06) 设x为int型变量,请写出一个关系表达式(x%3=0)&&(x%7=0),用以判断x同时为
15、3和7的倍数时,关系表达式的值为真。2知识点:逻辑运算符和表达式进行逻辑运算时,若&&左边的值为0,则不再对右边的运算对象进行运算,整个表达式的值为0。例1: int a=2 ;则表达式(!a=1)&&(a+=2)的值为0, a的值为2。【解析】! a为0,! a=1的值为0,&&左边的值为0,则不再对右边的运算对象进行运算,所以a的值为2。若|左边的运算对象的值为1,则不再对右边的运算对象进行运算,整个表达式的值为1。例2:( 2010-03-17)若a是数值类型,则逻辑表达式 (a=1)|(a!=1)的值是(A)A)1B)0C)2D)不知道a
16、的值,不能确定【解析】a的值有两种情况:a等于1或a不等于1。故逻辑表达式(a=1)|(a!=1)的值为1。3知识点:if语句if (表达式),其中表达式可以是任意合法的C语言表达式。对于单个if语句,其后跟随的受if控制的只能是1个语句或者是1个复合语句。例1:(2009-09-17)设有定义:int a=1,b=2,c=3;以下语句中执行效果与其它三个不同的是(C)A)if(a>b) c=a , a=b, b=c;B)if(a>b) c=a , a=b, b=c; C)if(a>b) c=a ; a=b; b=c;D)if(a>b) c=a ; a=b; b=c;
17、【解析】对于单个if语句,其后跟随的受if控制的只能是1个语句或者是1个复合语句。故C项,if(a>b)条件成立时,语句c=a;才被执行,而无论if(a>b)条件成立与否,语句a=b;b=c;都会被执行。A、B、D项,只有if(a>b)条件成立时,语句 c=a; a=b;b=c;才被执行。4知识点:if语句的嵌套内嵌结构中,else总是与前面最近的且未曾配对的if语句配对,组成一对if-else语句。例2:( 2010-09-18)有以下程序#i nclude <stdio.h>main ()int a=1,b=0;if(!a) b+;else if(a=0) i
18、f(a) b+=2;else b+=3;printf( “ n”,b);程序运行后的输出结果是(A)A)0B)1 C) 2D)3【解析】else总是与前面最近的且未曾配对的if语句配对,组成一对if-else语句。即else b+=3;与if(a) b+=2;配对。if(!a)不成立,不执行 b+;else if(a=0)不成立,不执行if(a) b+=2;else b+=3;故直接执行printf( “n”,b);,输出结果为 0。5知识点:条件表达式一般形式:表达式 1 ?表达式2:表达式3执行过程:表达式1的值为真,条件表达式取表达式2的值;表达式1的值为假,条件表达式取表达式3的值。例1:(2009-09-19)以下程序段中,与语句:k=a>b?(b>c?1:0):0 ;功能相同的是(A)A)if(a>b)&&(b>c) k=1;B) if(a>b)|(b>c) k=1;else k=0;else k=0;C) if(a<=b) k=0;D) if(a>b) k=1;else if(b<=c) k=1;else if(b>c) k=1;else k=0;【解析】条件运算符的结合性是从右至左。当b>c时,b>c?1:0的值为1,k
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二四年度版权侵犯了损害赔偿合同
- 成都环保产业技术合作合同(04版)
- 2024年度地砖采购合同的合作发展计划2篇
- 典当行与借款人2024年度房屋抵押流程融资合同
- 2024版特许经营合同:连锁餐饮品牌授权与经营权转让
- 二零二四年度食品加工厂租赁合同
- 到期合同补充协议书范本
- 二零二四年度物业管理服务合同(含门卫临时用工)
- 槽罐车化妆品运输合同(04版)
- 二零二四年度环保型汽车制造与销售合同
- 反应堆结构课件4第四章一回路设备
- 汽轮机滤油方案
- 小学数学专题讲座:小学数学计算能力的培养课件
- 《高三上学期期中家长会》课件
- 《药品储存与养护》考试复习题库(含答案)
- 《美丽文字民族瑰宝》课件
- 如何有效的提高班级整体成绩做一名的班主任课件
- 知识竞赛pptPPT(完美版)
- 产品包装、防护和交付管理规定
- 施工现场扬尘防治资料 全套
- DB12-T1059-2021行洪河道堤防工程安全监测技术规程
评论
0/150
提交评论