有以下程序: main() { char k; int i; for(i=1;i<3;i++) { scanf("%c",&k); switch(k) { case '0': printf("another\n"); case '1': printf("number\n"); } } } 程序运行时,从键盘输入01<回车>,程序执行后的输出结果是( )。A.another numberB.another number anotherC.another number numberD.number numbe

题目

有以下程序: main() { char k; int i; for(i=1;i<3;i++) { scanf("%c",&k); switch(k) { case '0': printf("another\n"); case '1': printf("number\n"); } } } 程序运行时,从键盘输入01<回车>,程序执行后的输出结果是( )。

A.another number

B.another number another

C.another number number

D.number number


相似考题
参考答案和解析
正确答案:C
解析:本题在for循环中嵌套了switch语句,每循环一次通过scanf()函数从键盘上输入一个k值,然后执行switch语句。for循环共循环了两次,当i=1时,从键盘上读入'0',使得k的值为'0',执行switch语句中case'0':后面的语句,输出"another",接着执行case'0':下面的语句输出"number",退出switch语句,当i=2时,从键盘上读入'1',使得k的值为'1',执行switch语句中case'1'后面的语句,输出"number",退出switch语句。当i=3时退出循环。故最后的输出为"another"、"number"和"number",所以,4个选项中选项C符合题意。
更多“有以下程序:main(){char k; inti;for(i=1;i<3;i++){scanf("%c",&amp;k);switch(k){case '0': pri ”相关问题
  • 第1题:

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

    main

    { char*s="12134211";

    int v[4]=(0,0,0,0),k,i;

    for(k=0;s[k];k++)

    { switch(s[k])

    { case'1':i=0;

    case'2':i=1;

    case'3':i=2;

    case'4':i=3;}

    }

    v[i]++:

    }

    for(k=0;k<4;k++)printf("%d",v[k]);

    A.4 2 1 1

    B.0 0 0 8

    C.4 6 7 8

    D.8 8 8 8


    正确答案:B
    本题考查switch,case语句,当k=0时,循环体成立,执行switch后表达式的值为'1',执行case'1',i的值为0,因为没有break语句,继续执行其后的语句,到最后一个语句时i的值为3,此时v[i]++,v[3]=1,接着执行k++后,k的值为1,当k=1时,循环成立。执行switch后的表达式的值为'2',执行case'2',i的值为1,因为没有break语句,继续执行其后的语句,到最后一小语句时,i的值为3,此时v[i]++,v[3]=2,接着执行k++后,k的值为2,依次下去,case'4'也会执行,最后i的值一定为3,到v[3]=8时循环结束,而v[0]~v[2]的值一直没有变化,故选择B选项。

  • 第2题:

    有以下程序:includemain(){char k; int i; for(i=1;i<3;i++) {scanf("%c",&k);swi

    有以下程序: #include <stdio.h> main() { char k; int i; for(i=1;i<3;i++) { scanf("%c",&k); switch(k) { case '0': printf("another\n"); case '1': printf("number\n"); } { } 程序运行时,从键盘输入:01<回车>,程序执行后的输出结果是( )。

    A.another number

    B.another number another

    C.another number

    D.number number


    正确答案:C
    解析:本题中没有使用break终止switch语句的执行,当k为'0'时,执行完case'0'后的输出后将继续执行case'1'后的输出;当k为'1'时,执行case'1'后的输出。

  • 第3题:

    以下程序的输出结果是 () 。 main() { char *s="12134211" ; int v[4]={0 ,0,0,0} ,k,i ; for(k=0 ;s[k] ;k++) { switch(s[k]) { case '1' :i=0 ; case '2' : i=1 ; case '3' : i=2 ; case '4' : i=3 ; } v[i]++ ; } for(k=0 ;k<4;k++) printf("%d ",v[k]) ; }

    A.4 2 1 1

    B.0 0 0 8

    C.4 6 7 8

    D.8 8 8 8


    A

  • 第4题:

    有以下程序: main () { char k; int i; for(i=1;i<3;i++) { scanf("%c",&k); switch(k) { case '0': printf("another\n"); case '1': printf("number\n"); } } } 程序运行时,从键盘输入:01<回车>,程序执行后的输出结果是

    A.another number

    B.another number another

    C.another number number

    D.number number


    正确答案:C
    解析:switch语句的执行过程是:在switch后面的表达式的值和case后面常量表达式的值吻合时,就执行后面的语句.如果在该语句的后面没有break语句,则继续执行下一个case,直到遇到break语句或switch多分支的结束,在switch语句中,break语句的作用是使流程跳出switch结构,终止Switch语句的执行.本题中在for循环中嵌套了swish语句,每循环一次通过scanf()函数从键盘上输入一个k值,然后执行switch语句。for循环共循环了2次,当i=1时,从键盘上输入0,使得k的值为0,执行switch语句中case:0后面的语句,输出another,接着执行case:0下面的语句输出number,退出switch语句,当i=2时,从键盘上输入1,使得k的值为1,执行switch语句中case1后面的语句,输出number,退出switch语句.当i=3时退出循环.故最后的输出为another、number和number,所以,4个选项中选项C符合题意。

  • 第5题:

    有以下程序 main() { char k;int i; for(i=1;i<3;i++) { scanf("%c",&k); switch(k) { case'0':printf("another\n"); case'1':printf("number\n"); } } } 程序运行时,从键盘输入:01<回车>,程序执行后的输出结果是

    A.another number anothor

    B.another number number

    C.another number

    D.number number


    正确答案:C
    解析:switch语句的执行过程是:在switch后面的表达式的值和case后面常量表达式的值吻合时,就执行后面的语句。如果在该语句的后面没有break语句,则继续执行下一个case,直到遇到break语句或switch多分支则结束,在switch语句中,break语句的作用是使流程跳出switch结构,中止switch语句的执行。本题中在for循环中嵌套了 switch语句,每循环一次通过scanf()函数从键盘上输入一个k值,然后执行switch语句。 for循环共循环了2次,当i=1时,从键盘上输入0,使得k的值为0,执行switch语句中 cast:0后面的语句,输出another,接着执行case:0下面的语句输出number,退出switch语句,当i=2时,从键盘上输入1,使得k的值为1,执行switch语句中case:1后面的语句,输出number,退出switch语句。当i=3时退出循环。故最后的输出为another、number和 number。