下面程序的输出结果为( )。 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.有语法错误

题目

下面程序的输出结果为( )。 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.有语法错误


相似考题
更多“下面程序的输出结果为( )。 main( ) { int a=1,b=0; switch(a) { case 1:switch (b) { case ”相关问题
  • 第1题:

    下面程序的输出结果是main(){int a=15, b=21,m=0;switch(a%3){ case 0, m++; break;case 1 :m++; switch(b%2) { default: m++; case 0:m++ ;break; }}cout<<m<<end1}

    A.1

    B.2

    C.3

    D.4


    正确答案:A
    解析:本题考查switch语句的嵌套。实际上,只要考生按照顺序进行分析可以发现里层嵌套的switch语句根本不用分析,因为执行流程根本不能到达那里。

  • 第2题:

    以下程序的输出结果是includemain(){ inta=15/b=21,m=0;switch(a%3){ case0:m++;break

    以下程序的输出结果是 #include<stdio.h> main() { int a=15/b=21,m=0; switch(a%3) { case0:m++;break; case 1:m ++; switch(b%2) { default:m++; case 0:m ++;break;}} printf("%d\n",m);}

    A.1

    B.2

    C.3

    D.4


    正确答案:A
    解析:switch语句的条件是“a%3=15%3=0”,所以执行case0后面的语句,m++;m=1,然后就执行break,跳出switch语句,所以最后输出的m的值为1。注意:switch嵌套语句的使用。

  • 第3题:

    下面程序的正确输出结果是()。 main() { int x=1,y=0,a=0,b=0; switch(x) { case 1:switch(y) { case 0:a++;break; case 1:b++;break; } case 2:a++;b++;break; case 3:a++;b++; } printf(“%d %dn”,a,b); }

    A.1 0

    B.2 1

    C.1 1

    D.2 2


    0

  • 第4题:

    以下程序的输出结果是()。includemain(){int a=8,b=6,m=1;switch(a%4){case 0:m++;brea

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

    A.1

    B.2

    C.3

    D.4


    正确答案:B
    解析:本题考查switch语句。因为a=8,a%4=0,所以执行case 0后面的语句,将m加1,遇到break语句跳出switch。

  • 第5题:

    请阅读以下程序:includemain(){ int x=1,y=0,a=0,b=0;switch(x){ case 1:switch(y){ c

    请阅读以下程序: #include<stdio.h> main() { int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y) { case 0:a++;break; case 2: a++,b++;break;} printf("a=%d,b=%d\n" ,a,b); 上面程序的输出结果是( )。

    A.a=2,b=1

    B.a=1,b=1

    C.a=1,b=0

    D.a=2,b=2


    正确答案:A
    解析:switch语句的执行过程为:进入switch结构后,对条件表达式进行运算,然后从上至下去找与条件表达式值相匹配的case,以此作为入口,执行switch结构中后面的各语句,直到遇到break语句,则跳出switch语句,如果各case都不匹配时则执行default后面的语句。注意:if语句及if嵌套语句的使用。