【解析】本题考查逻辑运算和ASCII码。While循环的功能是对输入的第偶数个且为小写字母的字符进行处理,将小写字母转化为大写,因此答案为1AbCeDf2dF。
4.3 if语句和if选择结构
64【2011年9月选择题第18题】有以下程序
#include
{ 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
{ 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
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
{ 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
{ 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中语句\((b 71【2010年3月填空题第7题】有以下程序 #include { 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 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)在线全文阅读。
相关推荐: