更多“写出下列程序段的输出结果:_______。 int i=1; switch (i%3 ) { case 0: printf("zero"); case 1: printf("one"); case 2: printf("two"); }”相关问题
  • 第1题:

    下列程序的输出结果是______。 main() { int i=3; switch(i) { case 1: case 2:printf("%d",i); case 3: case 4:break; default:printf("OK"); } }

    A.0

    B.3

    C.OK

    D.没有任何输出


    正确答案:D
    解析:在题中,i的值为3,由于“case 3:”后面没有break语句,所以继续向下执行“case 4:”后面的语句,由于“case 4:”后面的语句为break强行迟出switch语句,所以,本题没有任何输出。

  • 第2题:

    有以下程序 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.11122

    B.12

    C.12020

    D.120


    正确答案:A
    解析:当执行switch语句时,首先计算紧跟其后一对括号中的值,然后在语句体内寻找与该值吻合的case标号。若相等,则执行该标号后开始的各语句,包括在其后的所有case和default后的语句,直到switch语句体结束。

  • 第3题:

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

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

    A.19

    B.18

    C.6

    D.8


    正确答案:A
    解析:本题考查switch语句。当i=1时,执行case1,因为没有遇到break语句,所以依次往下运行,a=a+2=2,a=a+3=5;当i=2时,执行case2,因为没有遇到break语句,所以依次往下运行,a=a+2=7,a=a+3=10;当i=3时,执行case3,a=a+1=11,因为没有遇到break语句,所以依次往下运行,a=a+2=13,a=a+3=16;当i=4时,执行default,a=a+3=19,结束循环。

  • 第4题:

    下列程序的输出结果是______。 main() { int i=3; switch(i) { case1: case2:printf("%d",i); case3: case4:break; default: printf ("OK"); } }

    A.0

    B.3

    C.OK

    D.没有任何输出


    正确答案:D
    解析:在题中,i的值为3,由于“case3:”后面没有break语句,所以继续向下执行“case4:”后面的语句,由于“case4:”后面的语句为break强行退出switch语句,所以,本题没有任何输出。

  • 第5题:

    有以下程序: 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)正确。

  • 第6题:

    有以下程序 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。

  • 第7题:

    以下程序的输出结果是( )。 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。

  • 第8题:

    有以下程序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。

  • 第9题:

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

    A.19

    B.1

    C.6

    D.8


    正确答案:A
    本题考查switch语句。当i一1时,执行case1,因为没有遇到break语句,所以依次往下运行,“a=a+2=2,a=a+3=5”;当i=2时,执行case2,因为没有遇到break语句,所以依次往下执行,“a=a+2=7,a=a+3=10”;当i=3时,执行case3,a=a+1=11,因为没有遇到break语句,所以依次往下运行,a—a+2—13,a—a+3一l6:当i=4时,执行default,a=a+3=19,结束循环。

  • 第10题:

    下列程序的输出结果是_______。 main() { int i=3; switch(i) { case1: case 2:printf("%d",i) case 3: case 4:break; default : printf("OK") } }

    A.0

    B.3

    C.OK

    D.没有任何输出


    正确答案:D
    解析:在题中,i的值为3,由于“case3:”后面没有break语句,所以继续向下执行“case4:”后面的语句,由于“case 4:”后面的语句为break强行退出switch语句,所以,本题没有任伺输出。

  • 第11题:

    有以下程序: 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选项是正确的。

  • 第12题:

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

    #include<stdio.h>

    main

    { int a=0,i;

    for(i=1;i<5;i++)

    { switch(i)

    { case 0:

    case 3:a+=1;

    case 1;

    case 2:a+=2;

    default:a+=3;

    }

    }

    printf("%d",a);

    }

    A.19

    B.1

    C.6

    D.8


    正确答案:A
    本题考查switch语句。当i一1时,执行case1,因为没有遇到break语句,所以依次往下运行,“a=a+2=2,a=a+3=5”;当i=2时,执行case2,因为没有遇到break语句,所以依次往下执行,“a=a+2=7,a=a+3=10”;当i=3时,执行case3,a=a+1=11,因为没有遇到break语句,所以依次往下运行,a—a+2—13,a—a+3一l6:当i=4时,执行default,a=a+3=19,结束循环。

  • 第13题:

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

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

    #include<stdio.h>

    main()

    { int a=0,i;

    for(i=1;i<5;i++)

    { switch(i)

    { case 0:

    case 3:a+=1;

    case 1:

    case2:a+=2;

    default:a+=3;

    }

    }

    printf("%d",a);

    }

    A.19

    B.18

    C.6

    D.8


    正确答案:A
    解析:本题考查switch语句。当i=1时,执行 case 1,因为没有遇到break语句,所以依次往下运行, a=a+2=2,a=a+3=5 当i=2时,执行case2,因为没有遇到break语句,所以依次往下运行,a=a+2=7, a=a+3=10;当i=3时,执行case3,a=a+1=11,因为没有遇到break语句,所以依次往下运行,a=a+2=13, a=a+3=16;当i=4时,执行default,a=a+3=19,结束循环。

  • 第14题:

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

    A.19

    B.1

    C.6

    D.8


    正确答案:A
    本题考查switch语句。当i=1时,执行casel,因为没有遇到break语句,所以依次往下运行,“a=a+2=2,a=a+3=5”;当i=2时,执行case2,因为没有遇到break语句,所以依次往下执行,“a=a+2=7,a=a+3=10”;当i=3时,执行case3,a=a+1=11,因为没有遇到break语句,所以依次往下运行,a=a+2=13,a=a+3=16;当i=4时,执行default,a=a+3=19,结束循环。

  • 第15题:

    下面程序的输出结果为( )。 main( ) { int a=1,b=0; switch(a) { case 1:switch (b) { case 0: printf("**0**"); break; case 1: printf("**1**"); break; } case 2: printf("**2**"); break; }}

    A.**0**

    B.**0****2**

    C.**0****1****2**

    D.有语法错误


    参考答案B

  • 第16题:

    以下程序的运行结果是( )。

    main()

    (int a=2,b=7,c=5;

    switch(a>0)

    {case 1:switch(b<0)

    {case 1:switch(");break;

    case 2:printf("!");break;

    }

    case 0:switch(c==5)

    {case 0:printf("*");break;

    case 1:printf("");break;

    case 2:printf("$");break;

    }

    default:printf ("&");

    }

    printf("\n");

    }


    正确答案:#&
    #& 解析:刚开始时,switch后面的表达式a>0为真(1),与case1匹配,然后执行case1后面的switch语句,表达式b0值为0,没有与其匹配的语句,返回外层,因为外层没有break语句,顺序执行case 0后面的switch语句,表达式“c==5”值为1,与其后面的case1匹配,因此输出#,遇到break返回外层,又因为外层没有break语句,顺序执行default后的语句,输出&。

  • 第17题:

    有以下程序 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

  • 第18题:

    以下程序的输出结果是 main() { int a=0,i; for(i=1;i<5;i++) { switch(i) {case0: case3:a+=2; case 1: case2:a+=3; default:a+=5; } } printf(“%d\n”,A) ; }

    A.31

    B.13

    C.10

    D.20


    正确答案:A
    解析:switch语句的执行过程是:在switch后面的表达式的值和case后面常量表达式的值吻合时,就执行该case分支的语句。如果在该语句的后面没有break语句,则按顺序继续执行下一个case分支,直到遇到break语句或switch多分支语句结束,在switch语句中,break语句的作用是使流程跳出switch结构,终止switch语句的执行。在本题中,因为每个case语句后面都没有break语句,所以,第一轮循环(i==1)执行过后a的值为8,第2轮(i==2)执行过后a的值为16,第3轮(i==3)执行过后a的值为26,第4轮(i==4)执行过后a的值为31,然后执行“i++”语句,这时循环条件为假,循环结束。

  • 第19题:

    以下程序的输出结果是()。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后的语句。

  • 第20题:

    以下程序的输出结果是( )。 main() { int a=0,i; for(i=1;i<5;i++) { switch(i) { casc 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
    解析:在本题中,因为每个case语句后面都没有break语句,所以,第一轮循环(i=1)执行过后a的值为8,第2轮(i==2)执行过后a的值为16,第3轮(i==3)执行过后a的值为26,第4轮(i==4)执行过后a的值为31,然后执行“i++”语句,这时循环条件为假,循环结束。所以,4个选项中A正确。

  • 第21题:

    有以下程序 #include<stdi0.h> main( ) {int a[]={2,3,5,4),i; for(i=0;i<4;i++) switch(i%2) {case 0:switch(a[i]%2) {case 0:a[i]++;break; case l:a[i]--; }break; case1:a[i]=0; } for(i=0;i<4;i++)printf("%d",a[i]);printf("\n"); } 程序运行后的输出结果是( )。

    A.3344

    B.2050

    C.3040

    D.0304


    正确答案:C
    本题考查嵌套分支语句。共输出4个值:当i=0时,i%2取余后还是0,则执行ease0语句,继续switch语句,此时i为0,数据的下标是从0开始的,a[03的值为2,则a[0]%2=0,继续执行case0,数组a[0]++,值变为3,执行break跳出第二重开关语句。出来后继续执行break,跳出第一重开关语句,继续循环;输出第一个值为3。i++后值为1,i%2=1%2取余后值为1,执行casel,将0赋给a[l],退出开关语句,输出第二个值为0。i++后值为2,i%2=2%2取余后值为0’a[2]的值为5,则a[2]%2=1,继续执行casel,数组a[2]--,值变为4,执行break跳出第二重开关语句。出来后继续执行break,跳出第一重开关语句,继续循环;输出第三个值为4。i++后值为3,i%2=3%2取余后值为1,执行casel,将0赋给a[3],退出开关语句,输出第四个值为0。结果为3040。

  • 第22题:

    下列程序的输出结果是______。 main() { int i=3; switch(i) { case 1: case 2:printf("%d",i); case 3: case 4:break; default:printh("OK"; } }

    A.0

    B.3

    C.OK

    D.没有任何输出


    正确答案:D
    解析:在题中,i的值为3,由于“case3:”后面没有break语句,所以继续向下执行“case4:”后面的语句,由于“case4:”后面的语句为break强行退出switch语句,所以,本题没有任何输出。

  • 第23题:

    以下程序的输出结果是( )。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。

  • 第24题:

    单选题
    有以下程序:#include main(){ int a[]={2,3,5,4},i; for(i=0;i<4;i++) switch(i%2) {  case 0:      switch(a[i]%2)      {       case 0:a[i]++;break;       case 1:a[i]--;      }break;  case 1:a[i]=0; } for(i=0;i<4;i++)printf(%d,a[i]); printf();}程序运行后的输出结果是(  )。
    A

    3344

    B

    2050

    C

    3040

    D

    0304


    正确答案: B
    解析:
    main函数的主体是一个for循环语句,for循环中包含一个switch语句,如果判断条件为0则进入第二个switch语句,如果判断语句为1则执行“a[i]=0”,最后将数组顺序输出。所以程序功能是将数组下标为奇数的项设为0,数组下标为偶数的项,如果对应的元素为偶数则加1,如果对应的元素为奇数则减1。答案选择C选项。