77范文网 - 专业文章范例文档资料分享平台

二级C语言笔试考点相关真题(答案解析版)(4)

来源:网络收集 时间:2019-01-07 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

【解析】本题考查逻辑运算和ASCII码。While循环的功能是对输入的第偶数个且为小写字母的字符进行处理,将小写字母转化为大写,因此答案为1AbCeDf2dF。

4.3 if语句和if选择结构

64【2011年9月选择题第18题】有以下程序

#include main()

{ int a=1,b=0; if(--a) b++;

else if(a==0) b+=2; else b+=3;

printf(\,b); }

程序运行后的输出结果是________。 A)0 B)1 C)2 D)3 参考答案:C

【解析】本题考查运算符和选择语句,执行到if语句时,--a为0,所以不会执行后面的语句,但是会执行else if 后面的语句,所以执行后,b=2,选项C)正确。

65【2011年3月选择题第17题】if语句的基本形式是:if(表达式)语句,以下关于\表达式\值的叙述中正确的是

A)必须是逻辑值 B)必须是整数值 C)必须是正数 D)可以是任意合法的数值 参考答案:D

【解析】if语句中的表达式可以是逻辑值也可以是任意合法的数值,表达式的运算结果为非0(真)或者0(假)。

66【2011年3月选择题第27题】有以下程序

#include main()

{ int x=1,y=0; if(!x)y++; else if(x==0)

if(x)y+=2; else y+=3; printf(\,y); }

程序运行后的输出结果是

A)3 B)2 C)1 D)0 参考答案:D

【解析】根据在if…else语句中,else总是和最近的if配对的原则,本题中层次关系是:if (!x)与else if(x==0)是一组,在最外层。而if(x)与else是一组,位于else if(x==0)条件的内层。据此所有条件均不成立,所以y未进行任何操作,仍为0。

16

67【2011年3月填空题第7题】有以下程序

#include main() { int x;

scanf(\,&x);

if(x>15)printf(\,x-5); if(x>10)printf(\,x); if(x>5)printf(\,x+5); }

若程序运行时从键盘输入12<回车>,则输出结果为 【7】 。 参考答案:1217

【解析】本题中输入12时,第一条if的条件x>15不满足因此不执行,第二条if的条件x>10满足因此输出12,第三条if的条件x>5满足因此输出17。

68【2011年3月填空题第10题】以下程序运行后的输出结果是 【10】 。

#include main()

{ int x=10,y=20,t=0; if(x==y)t=x;x=y;y=t; printf(\,x,y); }

参考答案:20 0

【解析】本题中if选择的条件x==y不满足,因此直接执行后面的x=y和y=t,则x的值为20,y的值为0。

69【2010年9月选择题第18题】有以下程序 #include main()

{ int a=1,b=0; if(!a)b++;

else if(a==0) if(a) b+=2; else b+=3;

printf(\,b); }

程序运行后的输出结果是

A)0 B)1 C)2 D)3 参考答案:A

【解析】根据在if…else语句中,else总是和最近的if配对的原则,本题中层次关系是:if(!a)与else if(a==0)是一组,在最外层。而if(a)与else是一组,位于else if(a==0)条件的内层。据此所有条件均不成立,所以b未进行任何操作仍为初始值0。

70【2010年3月选择题第19题】有如下嵌套的if语句 if(a

if(a

17

else k=c; else

if(b

以下选项中与上述if语句等价的语句是 A)k=(a

B)k=(ac)?b:c); C)k=(a

【解析】嵌套的if语句功能是将k赋值为a、b、c中的最小值,选项A中没有比较a、c的大小,选项B中语句\((bc)?b:c)\错误,选项D中没有比较b、c大小。

71【2010年3月填空题第7题】有以下程序 #include main()

{ int a=1,b=2,c=3,d=0; if(a==1) if(b!=2)

if(c==3)d=1; else d=2; else if(c!=3)d=3; else d=4; else d=5;

printf(\}

程序运行后的输出结果是【7】。 参考答案:4

【解析】a==1为真,b!=2为假,c!=3为假,所以d=4。

72【2009年9月选择题第17题】设有定义:int a=1,b=2,c=3;,以下语句中执行效果与其他三个不同的是________。 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;} 参考答案:C

【解析】 逗号表达式的求解过程是:按表达式顺序从左往右依次求解。本题中由于判断条件a>b的值为假,所以选项A)、B)、D)中if语句后面的语句均未被执行,而C)中的后两条语句a=b和b=c被执行,因此选项C)的执行效果与其他三个不同。

73【2009年9月选择题第19题】以下程序段中,与语句:k=a>b?(b>c?1:0):0;功能相同的是________。

A)if((a>b)&&(b>c))k=1;

18

else k=0;

B)if((a>b)‖(b>c))k=1; else k=0; C)if(a<=b)k=0;

else if(b<=c)k=1; D)if(a>b)k=1;

else if(b>c) k=1; else k=0; 参考答案:A

【解析】 表达式k=a>b?(b>c?1∶0)∶0表示:如果(a>b)条件为真,则k取值(b>c?1∶0),否则k取值0;当a>b的情况下,如果b>c,则k值为1,否则为0。所以该表达式与选项A)功能相同。

74【2009年3月选择题第17题】以下是if语句的基本形式: if(表达式)语句 其中\表达式\。 A)必须是逻辑表达式 B)必须是关系表达式

C)必须是逻辑表达式或关系表达式 D)可以是任意合法的表达式 参考答案:D

【解析】 C语言中if(表达式)中表达式的值可以是任意合法的表达式,如果表达式的值为0表示条件为假,如果表达式的值非0表示条件为真。

75【2009年3月选择题第18题】有以下程序: #include main() { int x;

scanf(\,& x); if(x<=3); else

if(x!=10) printf(\,x); }

程序运行时,输入的值在哪个范围才会有输出结果________。 A)不等于10的整数

B)大于3且不等10的整数 C)大于3或等于10的整数 D)小于3的整数 参考答案:B

【解析】 if-else控制结构中,else总是与最近的未配对的if匹配。本题的执行过程为:如果输入整数小于3则不进行任何操作,否则判断是否不等于10,若为真则进行输出。因此程序输出的数据为大于3且不等于10的整数。

76【2009年3月选择题第19题】有以下程序: #include < stdio.h>

19

main()

{ int a=l,b=2,c=3,d=0; if(a==l && b++==2) if(b!=2||c--!=3)

printf(\,%d,%d\\n\,a,b,c); else printf(\,%d,%d\\n\,a,b,c); else printf(\,%d,%d\\n\,a,b,c); }

程序运行后的输出结果是________。 A)1,2,3 B)1,3,2 C)l,3,3 D)3,2,1

参考答案:C

【解析】 程序首先执行第一个判断语句,a==1成立;b++==2,先判断b是否为2,再进行b加1操作,执行后b的值为3。继续执行第二个判断语句,注意程序此时进行逻辑或运算,b!=2的值为真,因此条件表达式b!=2||c--!=3的值为真,程序便不再执行第二个逻辑语句c--!=3,而直接进行输出操作。因此,本题正确答案为C)。

4.4 switch语句和goto语句

77【2010年9月选择题第19题】若有定义语句int a,b;double x;则下列选项中没有错误的是 A) switch(x%2) B)switch((int)x/2.0) { case 0:a++;break; { case 0:a++;break; case 1:b++;break; case 1:b++;break; default :a++;b++; default:a++;b++; } }

C)switch((int)x%2) D)switch((int)(x)%2) { case 0:a++;break; { case 0.0:a++;break; case 1:b++;break; case 1.0:b++;break; default:a++;b++; default:a++;b++; } } 参考答案:C

【解析】switch()中括号内的变量类型应该与下面case语句后的常量保持类型一致。使用(int)x,可以将x强制转换成整型,然后与整型2做取余运算还是整型数据。若与数据2.0做取余运算,按照转换原理:向高精度的数据类型进行转换,结果就变成了实型数据。综上所述,本题C)正确,B)错误。A),D)均不满足switch语句的原则。

78【2010年3月选择题第18题】以下选项中与if(a==1)a=b;else a++;语句功能不同的switch语句是 A)switch(a)

{ case 1:a=b;break; default:a++; }

B)switch(a==1)

20

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库二级C语言笔试考点相关真题(答案解析版)(4)在线全文阅读。

二级C语言笔试考点相关真题(答案解析版)(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/415207.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: