{ case 0:a=b;break; case 1:a++; }
C)switch(a)
{ default:a++;break; case 1:a=b; }
D)switch(a==1)
{ case 1:a=b;break; case 0:a++; }
参考答案:B
【解析】switch(a==1)语句中,若a等于1,则a==1为\真\,则应该进行a=b的操作,故选项B错误。
21
第5章 循环结构
5.1 循环语句概述 5.2 while循环语句
79【2011年9月选择题第20题】有以下程序
#include
{ int a=7; while(a--);
printf(\,a); }
程序运行后的输出结果是________。 A)-1 B)0 C)1 D)7 参考答案:A
【解析】考查while循环,当a为0时,while(a--)下面的语句不会执行,但是会执行a--,所以最后a的结果为-1。
80【2011年3月选择题第26题】有以下程序段 #include
while(getchar()!='\\n'); … }
以下叙述中正确的是
A)此while语句将无限循环
B)getchar()不可以出现在while语句的条件表达式中
C)当执行此while语句时,只有按回车键程序才能继续执行 D)当执行此while语句时,按任意键程序就能继续执行 参考答案:C 【解析】本题中while循环条件为getchar()!='\\n',如果不按下回车键,则循环条件getchar()!='\\n'一直成立,形成一个空循环;如果按下回车键,则循环条件不成立使循环结束,程序继续执行。
81【2010年9月选择题第20题】有以下程序 #include
{ int a=l,b=2;
while(a<6) {b+=a; a+=2;b%=10;} printf(\,%d\\n\,a,b); }
22
程序运行后的输出结果是
A)5,11 B)7,1 C)7,11 D)6,1 参考答案:B 【解析】第一次循环后 b为3,a为3;第二次循环后b为6,a为5;第三次循环:执行b+=a,所以b为11;执行a+=2所以a为7;执行b%=10,所以b为1。
82【2010年9月选择题第21题】有以下程序 #include
{ int y=10; while(y--);
printf(\,y); }
程序执行后的输出结果是 A)y=0 B)y=-1
C)y=l D)while构成无限循环 参考答案:B
【解析】当y减为1时判断while(y--),此时满足条件,但是y变成0。下次循环判断while(y--)时,因为y为0不满足条件跳出循环,但是此时也要执行y--,所以y变成了-1。 打印输出时输出-1。
5.3 do…while循环语句
83【2009年9月填空题第9题】以下程序运行后的输出结果是__【9】__。
#include
{ int a=1,b=7; do{
b=b/2; a+=b; } while(b>1);
printf(\,a);} 参考答案:5 【解析】 第一次循环执行后,b=3,a=4,满足条件b>1,循环继续;第二次循环执行后,b=1,a=5,不满足条件b>1,结束循环。所以输出的a值为5。
5.4 for循环语句
84【2011年9月填空题第8题】以下程序运行后的输出结果是__【8】__。
#include
{ int i,j;
for(i=6;i>3;i--) j=i; printf(\,i,j); }
参考答案:34
【解析】该题中,只有执行完for循环后才输出数据,当for循环执行到最后一层时,即i=3
23
时,停止循环,此时i为3,j为上此循环的值为4,所以最终输出结果为34。
85【2011年9月填空题第10题】以下程序运行后的输出结果是__【10】__。 #include
for(a=0;a<15;a+=5) { putchar(a+’A’); } printf(\; }
参考答案:AFK
【解析】本题是进行字符输出,第一次输出0+'A',即A;第二次输出5+'A',即F;第三次输出10+'A',即K,然后跳出循环。
86【2011年3月选择题第22题】若i和k都是int类型变量,有以下for语句 for(i=0,k=-1;k=1;k++)printf(\下面关于语句执行情况的叙述中正确的是
A)循环体执行两次 B)循环体执行一次 C)循环体一次也不执行 D)构成无限循环 参考答案:D
【解析】本题程序中,for循环的循环条件是k=1,这个语句是赋值语句总是正确的,因此循环条件将一直满足,构成一个无限循环。
87【2011年3月选择题第23题】有以下程序 #include
{ char b,c; int i; b='a'; c='A';
for(i=0;i<6;i++)
{ if(i%2)putchar(i+b); else putchar(i+c); } printf(\}
程序运行后的输出结果是
A)ABCDEF B)AbCdEf C)aBcDeF D)abcdef 参考答案:B
【解析】本题中当变量i取值为0、2、4时,i可以被2整除,程序执行putchar(i+c),分别输出ACE;当变量i取值为1、3、5时,2除i的余数不为0,因此程序执行putchar(i+b),分别输出bdf。所以最终输出AbCdEf。
88【2010年3月选择题第21题】有以下程序 #include
24
{ int a=1,b=2;
for(;a<8;a++){b+=a;a+=2;} printf(\}
程序运行后的输出结果是
A)9,18 B)8,11 C)7,11 D)10,14 参考答案:D
【解析】初始值a=1,b=2,第一次循环:b=b+a=2+1=3,a=a+2=1+2=3,a=a+1=3+1=4;第二次循环:b=b+a=3+4=7,a=a+2=4+2=6,a=a+1=6+1=7;第三次循环:b=b+a=7+7=14,a=a+2=7+2=9,a=a+1=9+1=10,故本题答案选D。
89【2009年9月填空题第10题】有以下程序: #include
{ int f,fl,f2,i; f1=0;f2=1;
printf(\ %d \,f1,f2); for (i=3;i<=5;i++)
{ f=f1+f2;printf(\,f); f1=f2;f2=f; }
printf(\; }
程序运行后的输出结果是__【10】__。 参考答案:0 1 123 【解析】 第一个printf语句输出结果为0 1。循环体总共循环三次,第一次循环结果为,f=1,f1=1,f2=1;第二次循环结果为f=2,f1=1,f2=2;第三次循环结果为f=3,f1=2,f2=3。
5.5 循环的嵌套
90【2010年3月填空题第8题】有以下程序 #include
{ int m,n;
scanf(\ while(m!=n)
{ while(m>n)m=m-n; while(m printf(\} 程序运行后,当输入14 63<回车>时,输出结果是【8】。 参考答案:7 【解析】执行while(m 25 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库二级C语言笔试考点相关真题(答案解析版)(5)在线全文阅读。
相关推荐: