计算机二级

以下程序的输出结果是( )。 main { int i; for(i=0;i<3;i++) switch(i){case 0:printf("%d",i); case 2:printf("%d",i); default:printf("%d",i); } }A.000102B.000020C.000122D.000111

题目

以下程序的输出结果是( )。 main { int i; for(i=0;i<3;i++) switch(i){case 0:printf("%d",i); case 2:printf("%d",i); default:printf("%d",i); } }

A.000102

B.000020

C.000122

D.000111

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

以下程序的输出结果是( )。main(){ int i; for(i=0;i<3;i++) switch(i) { case 0:printf(&quo

以下程序的输出结果是( )。

main()

{ int i;

for(i=0;i<3;i++)

switch(i)

{ case 0:printf("%d",i);

case 2:printf("%d",i);

default:printf("%d",i); }

}

A.000102

B.000020

C.000122

D.000111


正确答案:C
当i=0时,执行switch语句,对应的执行case0,输出0,因为没有break,接着执行case2的语句,又输出一个0,接着执行default语句,再输出一个0,返回i++;i=1时,没有case语句,执行default语句,输出一个1,接着又返回i++;当i=2时执行case2和default语句分别输出一个2,此时又返回i++,i变为3,for循环不成立,终止,最后输出000122。

第2题:

有以下程序: main() { int i; for(i=0;i<3;i++) switch(i) { case1:printf("%d",i); case2:printf("%d",i); default:printf("%d",i); } } 执行后输出结果是( )。

A.11122

B.12

C.12020

D.120


正确答案:A
解析:for循环执行了3次,第一次时i的值为0,执行其后的switch语句,没有匹配的分支,执行default语句后的printf语句,输出为0;第二次循环时i的值为1,执行其后的switch语句,与第一个分支匹配,执行其后的primf语句,输出1,由于没有遇到break语句,所以一直向下执行,又输出了两个1,第三次循环时i值为2,执行其后的switch语句,同理输出两个2。所以, A选项是正确的。

第3题:

有以下程序main(){ int i; for(i=0;i<3;i++) switch(i) { case 1: printf("%d",i); case 2: printf("%d",i); default: printf("%d",i); }}程序执行后的输出结果是A.011122 B.012C.012020 D.120


正确答案:A
在本题中,程序首先定义了一个循环变量i,然后执行for循环,从循环变量的初始值及循环的结束条件可以判断出循环执行3次。
第一次循环时,i=0,然后执行switch语句,由于i=0,无法找到匹配的case结构,执行default结构,此时输出变量i的值0。本次循环结束。
第二次循环时,i=1,然后执行switch语句,由于i=1,首先执行case 1结构,输出1,由于没有break,程序接着执行case 1结构,又输出1,接着又执行default结构,又输出一个1。在本次循环中,总共输出3个1。
第三次循环时,i=2,然后执行switch语句,由于i=2,首先执行case 2结构,输出2,由于没有break,程序接着执行default结构,又输出一个2。在本次循环中,总共输出2个2。三次循环后循环结束,主函数结束。
从上面对程序的分析我们可以知道,程序最后的输出结果是011122。因此本题的正确答案选A。

第4题:

以下程序的输出结果是()。includemain(){int a,i;a=0; for(i=1;i<5;i++) {switch(i){ c

以下程序的输出结果是( )。 #include <stdio.h> main() { int a,i;a=0; for(i=1;i<5;i++) { switch(i) { case 0: case 3:a+=2; case 1: case 2:a+=3; default:a+=5; } } printf("%d\n",a); }

A.31

B.13

C.10

D.20


正确答案:A
解析:多分支选择switch语句的一般形式为:switch(表达式){case常量表达式1:语句1;case常量表达式2:语句2;┆case常量表达式n:语句n;default:语句n+1;}其语义是:计算表达式的值,并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时,即执行其后的语句,不再进行判断,继续执行后面所有case后的语句。如果表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。

第5题:

有以下程序: main() { int I; For (i=0;i<3;i++) switch(i) { case 0:printf("%d",i); case 2:printf("%d",i); default:printf("%d",i); } } 程序运行后的输出结果是 ______。

A.22111

B.21021

C.122

D.12


正确答案:C
解析:本题考查switch语句的执行过程。如果case语句中没有break语句,则顺序执行。因此第一次循环i=0被输出了3次,i=1被输出一次,i=2被输出两次。

第6题:

有以下程序

main( )

{ int i;

for(i=0;i<3;i++)

switch(i){

case 0:printf("%d",i);

case 2:printf("%d",i);

default:printf("%d",i);

}

}

程序运行后的输出结果是

A.22111

B.21021

C.122

D.12


正确答案:C
解析:swltch分支结构程序中每一个分支(case)后应有一个break语句跳出,否则程序会由符合条件的入点顺序执行,所以本程序中循环3次的入点分别为caseO、(default、case2,由于没有跳出语句,从进入点顺序执行,最后输出结果为000122。

第7题:

有以下程序 main() {int i; for(i=0;i<3;i++) switch(i) { case0:printf("%d",i); case2:printf("%d",i); default:printf("%d",i); } } 程序运行后的输出结果是

A.22111

B.21021

C.122

D.12


正确答案:C
解析:程序中for循环了三次,第一次i=0,执行switch语句中case0:分支,直到遇到default语句,退出switch,这里共执行了三个输出语句分别输出0,0,0,第二次循环i=1,switch语句中没有匹配的分支,故只执行default语句输出1,退出switch语句;第三次循环i=2,从switch语句中的case2:开始执行,共执行了两个输出语句输出2、2。最后输出的结果为000122。

第8题:

有以下程序 main() { int i; for(i=0;i<3;i++) switch(i) { case 0: printf("%d",i); case 2: printf("%d",i); default: printf("%d",i); } } 程序运行后的输出结果是______。

A.22111

B.21021

C.122

D.12


正确答案:C

第9题:

有以下程序: include main ( ) int i;for(i =0;i <3 ;i ++ )switch (i)case 0: printf

有以下程序: #include <stdio.h> main ( ) int i; for(i =0;i <3 ;i ++ ) switch (i) case 0: printf(" % d" ,i); case 2: printf(" % d" , i); default: printf( "% d" , i);程序运行后的输出结果是( )。

A.22111

B.21021

C.122

D.12


正确答案:C
解析:程序中没有使用break终止switch语句的执行。当i:0时,执行第一个case语句,因为它后面没有break,所以一直到执行完default语句结束,输出3个0,再执行下一循环。所以只有选项C)正确。