itgle.com

有以下程序: 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; } rintf("%d\n",m); } 程序运行后的输出结果是( )。A.1B.2C.3D.4

题目

有以下程序: 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; } rintf("%d\n",m); } 程序运行后的输出结果是( )。

A.1

B.2

C.3

D.4


相似考题
更多“有以下程序: 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; } rintf("%d\n",m); } 程序运行后的输出结果是( )。A.1B.2C.3D.4”相关问题
  • 第1题:

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

    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后的语句,输出&。

  • 第2题:

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

    以下程序的输出结果是 #include<stdio.h> main() {int a=15,b=21,m+0; switch(a%3) {case0:m++;bteak; 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

  • 第3题:

    有以下程序includemain(){int k=5,n=0;while(k>0){switch(k){defhult:break;case 1:n+

    有以下程序 #include<stdio.h> main() {int k=5,n=0; while(k>0) {switch(k) {defhult:break; case 1:n+=k: case 2: case 3:n+=k; } k--; } printf("%d\n",n); } 程序运行后的输出结果是( )

    A.0

    B.4

    C.6

    D.7


    正确答案:D
    解析:因为没有break语句,当k=2的时候,会顺序执行两条语句,k=1的时候,会顺序执行3条语句。

  • 第4题:

    下面程序的输出结果是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语句根本不用分析,因为执行流程根本不能到达那里。

  • 第5题:

    以下程序的输出结果是

    #include<stdio.h>

    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; } }

    printf("%d\n",m);}

    A.1

    B.2

    C.3

    D.4


    正确答案:A
    解析:考查switch语句的使用。switch语句的条件是"a%3=15%3=0",所以执行case 0后面的语句,m++;m=1,然后就执行break,跳出switch语句,所以最后输出m的值为1。

  • 第6题:

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

  • 第7题:

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

  • 第8题:

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

    A.3

    B.2

    C.4

    D.1


    正确答案:B
    本题考查switch语句及break的用法。第一个switch语句,因为a=6.a%2=0,所以执行“case0,m++;”,将m加1,遇到break语句跳出switch语句,结束循环。不执行下面的switch。

  • 第9题:

    有以下程序: main( ) { int a=15,b=21,m=0; switch(a%3) { case 0:m++;break; case l:m++; switch(b%2) { default:m++; case 0:m++;break; } } printf("%d\n",m); } 程序运行后的输出结果是

    A.1

    B.2

    C.3

    D.4


    正确答案:A

  • 第10题:

    有下列程序: include main() {int a=6,b=7,m=1; switch(a%2) {case 0:m++;break; cas

    有下列程序:

    #include<stdio.h>

    main()

    { int a=6,b=7,m=1;

    switch(a%2)

    { case 0:m++;break;

    case 1:m++;

    switch(b%2)

    { defaut:m++;

    case0:m++;break;

    }

    }

    printf("%d\n",m);

    }

    程序运行后的输出结果是( )。

    A.1

    B.2

    C.3

    D.4


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

  • 第11题:

    有以下程序 main ( ) { int k=5,n=0; while (k>0) { switch (k) { default : break; case 1 : n+=k; case 2 : case 3 : n+=k; } k--; } printf ("%d\n",n); 程序运行后的输出结果是

    A.0

    B.4

    C.6

    D.7


    正确答案:D
    解析:本题考查的是switch语句。switch语句中的case或default只是一种入口标号,它并不形成一种子句的概念。当满足其中某个标号的条件而进入switch语句中时,如果没碰到break语句,将一直执行到switch语句的结尾。题目中使用了一个while循环使k从5递减到1,当k=5或4的时候从default标号进入switch,碰到break;语句立即跳出,没有改变n:当k=3时,执行了一次n+=k;;k=2时,也执行了一次n+=k;k=1时,执行了两次n+=k;所以最终n的值为3+2+1+1=7。故应该选择D。

  • 第12题:

    单选题
    写出程序的运行结果。 #include main( ) { int i=0,j=0,k=0,m; for ( m=0;m<4;m++ ) switch ( m ) { case 0:i=m++; case 1:j=m++; case 2:k=m++; case 3:m++; } printf ("/n%d,%d,%d,%d",i,j,k,m); } 该程序的执行结果是()。
    A

    0,1,2,5

    B

    0,1,2,4

    C

    0,1,1,3

    D

    0,1,2,3


    正确答案: B
    解析: 暂无解析

  • 第13题:

    以下程序执行后的输出结果是【】。includemain(){int i, m=0,n=0,k=0;for(i=9;i<= 11 ;

    以下程序执行后的输出结果是【 】。

    include<iostream.h>

    main()

    {

    int i, m=0,n=0,k=0;

    for(i=9;i<= 11 ;i++)

    switch(i/10)

    {

    case 0: m++; n++; break;

    case 10: n++; break;

    default: k++; n++;

    }

    cout<<m<<n<<k;

    }


    正确答案:132
    132

  • 第14题:

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

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

    A.1

    B.2

    C.3

    D.4


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

  • 第15题:

    有以下程序:includeusing namespace Std;int main(){ int a = 15,b = 21,m = 0; swit

    有以下程序: #include <iostream> using namespace Std; int main( ) { int a = 15,b = 21,m = 0; switch(a%3) { case 0: m++; break; case 1: m++; switch(b%2) {

    A.1

    B.2

    C.3

    D.4


    正确答案:A
    解析:由于a=15,所以a%3的值为0。程序进入第1分支,执行“m++;”,最后输出m的值为1。

  • 第16题:

    有以下程序 main() { int a=15,b=21,m=0; switch(a%3) { casc 0: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语句中break语句的作用是退出分支语句,若没有break语句则一直向下执行。本题中首先计算switch后面括号里的表达式a%3,即15%3为0;执行case0;后面的语句m++;m自加1,即m为1;遇到break语句;然后跳出switch语句,所以最后输出的m的值为1。

  • 第17题:

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

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

    A.1

    B.2

    C.3

    D.4


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

  • 第18题:

    以下程序运行后的输出结果是main{ int i,m=0,n=0,k=0; for(i=9;i<=11;i++) switch(i/10) { case 0: m++;n++;break;  case 1: n++;break;  default:k++;n++; } printf("%d %d %d\n",m,n,k);}


    正确答案:1 3 0
    在本题中,程序首先定义了四个整型变量,其中变量i为循环变量,其他三个变量都被初始化为0。然后执行循环,从循环变量i的初值和结束条件我们可以看出,循环运行了三次。
    第一次循环,当i=9时,执行switch(i/10),由于变量i和10都是整型数值,按照C语言的规定,计算结果也应为整型,因此,i/10的结果为0,执行case 0结构,即变量m和n的值分别加1,然后执行break语句结束switch结构。
    第二次循环时,i=10,此时i/10=1,执行case 1结构,变量n的值再增加1,然后执行break语句结束switch结构。
    第三次循环时,i=11,此时i/10的结果仍然为1,执行case 1结构,变量n的值再增加1,然后执行break语句结束switch结构。
    循环结束,此时,变量m、n和k的值分别为1、3、0,然后执行输出语句,分别输出这几个变量的值,因此,程序最后的输出结果是1 3 0。

  • 第19题:

    有以下程序: 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; } } printf("%d\n",m); } 程序运行后的输出结果是( )。

    A.1

    B.2

    C.3

    D.4


    正确答案:A
    解析:在switch语句中break语句的作用是退出分支语句,若没有break语句则一直向下执行。本题中首先计算switch后面括号里的表达式a%3,即15%3为0:执行case0:后面的语句“m++;”,m自加1,即m为1;遇到break语句;然后跳出switch语句,所以最后输出的m值为1。所以选项A正确。

  • 第20题:

    有以下程序: include main ( ) {int k=5,n =0; while ( k>0){switch (k) {default: b

    有以下程序: #include <stdio, h>main ( ) { int k=5,n =0; while ( k>0) { switch (k) { default: break; case 1 : n+ =k; case 2 : case3 : n+ =k; } k--; printf( "% d \n" ,n);}程序运行后的输出结果是( )。

    A.0

    B.4

    C.6

    D.7


    正确答案:D
    解析:在程序中,当L的值为5和4时,case都没有与其匹配的值,所以执行default语句;当k=3时,执行n+=k;得n=3;当L=2时,执行case2:然后顺序执行case3:n+=k;得n=5;当k=1时,执行case1:n+=k;得n=6,然后顺序执行case2:和case3:n+=k;使得n=7。

  • 第21题:

    以下程序的输出结果是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嵌套语句的使用。

  • 第22题:

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

    有以下程序: #include<stdio.h> main() { int a=6,b=7,m=1; switch(a%2) { case 0:m++;break; case 1 :m++; switch(b%2) { defaut:m++; case0:m++;break; } } printf("%d\n",m); }

    A.1

    B.2

    C.3

    D.4


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

  • 第23题:

    写出程序的运行结果。 #include main( ) { int i=0,j=0,k=0,m; for ( m=0;m<4;m++ ) switch ( m ) { case 0:i=m++; case 1:j=m++; case 2:k=m++; case 3:m++; } printf ("/n%d,%d,%d,%d",i,j,k,m); } 该程序的执行结果是()。

    • A、0,1,2,5
    • B、0,1,2,4
    • C、0,1,1,3
    • D、0,1,2,3

    正确答案:A