itgle.com
更多“以下程序的输出结果是 main() {int a,i;a=0; for(i=1;i<5;i++) {switch(i) {case 0: case 3:a ”相关问题
  • 第1题:

    以下程序的输出结果是

    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后的语句。

  • 第2题:

    以下程序的输出结果是 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; }

    A.31

    B.13

    C.10

    D.20


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

  • 第3题:

    以下程序的输出结果是 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("%dn",a); }

    A.31

    B.13

    C.10

    D.20


    B

  • 第4题:

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

  • 第5题:

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