更多“若int i=1;执行下面程序段后,变量i的值是()。 switch (i) { case '1': case '2': case '3': default : i+=1 ;break; }”相关问题
  • 第1题:

    下面程序的输出结果是( )。 public class Sun { public static void main(String args[ ]) { int i = 1; switch (i) { case 0: System.out.println("zero"); break; case 1: System.out.println("one"); case 2; System.out.println("two"); default: System.out.println("default"); } } }

    A.one

    B.one,default

    C.one,two,default

    D.default


    正确答案:C
    解析:该题考查对switch-case-break的理解。每个分支语句后面必须有break语句,否则程序向下执行,直到遇到break语句或程序结束。所以,该题i=1时执行case1分支语句,而case1分支语句后没有break语句,程序继续向下执行case2分支语句和 default分支语句。A只执行了case 1;B只执行了case 1和default;C;只执行了default。故本题的正确答案是C。

  • 第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题:

    下列程序的输出结果是( )。 #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,结束循环。

  • 第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 void main(void) {int i=10;switch(i){case 9:i=i

    下列程序的运行结果为【 】。

    include<iostream.h>

    void main(void)

    {int i=10;

    switch(i)

    { case 9:i=i+1;

    case 10:i=i+1;

    case 11:i=i+1;

    default:i=i+1;

    }

    cout<<i<<endl;

    }


    正确答案:13
    13

  • 第6题:

    下面程序的运行结果是( )。 define P(A)printf("%d",A)main() {int j,a[]={1,2,3,4,5,6,7},i=5; for(j=3;j>1;j--) {switch(j) {case 1: case 2:P(a[i++]);break; case 3:P(a[--i]); } } }


    正确答案:5 5
    5 5 解析:分析程序执行过程,第一次循环时,j=3,i=5,因为switch(3),所以执行case 3,调用P(a[--i])=P(a[4])=P(5),输出5;第二次循环时,j=2,i=4,因为switch(2),所以执行case 2,调用P(a[i++])=P(a[4])=P(5),输出5,之后i自加等于5。

  • 第7题:

    下列程序的输出的结果是______。 public class exl6 { public static void main(String[] args) { int j=10; for(int i=0;i<3;i++) { j-=i+1; switch (j){ case 3: break; case 5: break; case 8: break; default: j=0;break; } } System,out.println(j); } }

    A.5

    B.3

    C.8

    D.0


    正确答案:D

  • 第8题:

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

  • 第9题:

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

  • 第10题:

    下列程序的输出结果是( )。 #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,结束循环。

  • 第11题:

    下列程序的输出结果是_______。 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语句,所以,本题没有任伺输出。

  • 第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题:

    下程序的输出结果是

    main( )

    {int a=0,i;

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

    {switch(i)

    {case 0:

    case 3:a+=2;

    case 1:

    case 2:a+=3;

    default:a+=5;

    }

    }

    cout<<a<<end1;

    }

    A.31

    B.13

    C.10

    D.20


    正确答案:A
    解析:本题也是考察switch语句中的break的作用,由于题中所有的case分支都没有 break,故将顺序执行这些分支。只要耐心按照流程将数据累加到a上,就可以得到正确答案为A。

  • 第15题:

    下列程序的输出结果是()。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,结束循环。

  • 第16题:

    有以下程序 main( ) { int a=0,i; 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

  • 第17题:

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

    以下程序的输出结果是 #include <iostream.h> void main () { int a=0, i; for (i=1; i<5; i++) { switch (i) { case 0 : case 3 : a+=2; case 1 : case 2 : a+=3; default : a+=5; } } cout<<a<<endl; return; }

    A.31

    B.13

    C.10

    D.20


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

  • 第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题:

    有以下程序 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
    解析:本题考核的知识点是for循环和switch语句的综合运用。for循环执行了3次,第一次时i的值为0,执行其后的switch语句,没有匹配的case,执行default语句后的pdntf语句,输出为0;第二次循环时i的值为1,执行其后的switch语句,与第一个case分支匹配,执行其后的printf语句,输出1,由于没有遇到break语句,所以一直向下执行,又输出了两个1,第三次循环时i值为2,执行其后的switch语句,同理输出两个2。所以,A选项为所选。

  • 第20题:

    有以下程序:includemain(){int a=6,b=7,m=I;switch(a%2){case 0:m++;break;case 1:m++

    有以下程序: #include<stdio.h> main() {int a=6,b=7,m=I; switch(a%2) {case 0:m++;break; case 1:m++; switch(b%2) {defaut:m++; case 0:m++;break; } } printf("%d\n",m); } 程序运行后的输出结果是( )。

    A.1

    B.2

    C.3

    D.4


    正确答案:B
    解析:本题考查switch语句。因为a=6,所以a%2=0,因此第一个switch语句,执行case 0,将m加1,遇到break语句跳出switch语句,输出m值为2。

  • 第21题:

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

  • 第22题:

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

  • 第23题:

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

  • 第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选项。