itgle.com
更多“下列程序运行后i的值是()。 int i=10; switch(i+1){ case 10:i++;break; case 11:++i; case 12:++i;break; default:i=i+1; }”相关问题
  • 第1题:

    下列程序的输出结果是______。 main() { int i=3; switch(i) { case 1: case 2:printf("%d",i); case 3: case 4:break; default:printf("OK"); } }

    A.0

    B.3

    C.OK

    D.没有任何输出


    正确答案:D
    解析:在题中,i的值为3,由于“case 3:”后面没有break语句,所以继续向下执行“case 4:”后面的语句,由于“case 4:”后面的语句为break强行迟出switch语句,所以,本题没有任何输出。

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

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

  • 第4题:

    下列程序的运行结果为【】。 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

  • 第5题:

    假定输入的10个整数为:32,64,53,87,54,32,98,56,98,83。那么下列程序的运行结果是【 】。

    include <iostream>

    using namespace std;

    int main()

    {

    int a,b,C,X;

    a = b = C = 0;

    for(int i = 0;i<10;i++)

    {

    cin>>x;

    switch(x%3)

    {

    case 0 :a+=x; break;

    case 1 :b+=x; break;

    case 2 : C+=x; break;

    }

    }

    cout<<a<<","<<b<<","<<C<<end1;

    return 0;

    }


    正确答案:14164452
    141,64,452 解析:解此类题的关键是读懂程序代码,把程序所要实现的功能分析出来。此题中,利用switch选择语句,并根据对3取模后所得值的不同来分类,把所输入的整数分别累加后存入a,b,c。通过分析出此程序所要实现的功能,就可以对所输入的10个数进行分类了。
    ①对3取模后为0的数有:87、54
    ②对3取模后为1的数有:64
    ③对3取模后为2的数有:32、53、32、98、56、98、83
    把这3组数字分别累加并分别存入a,b,c后得:a=141,b=64,c=452。

  • 第6题:

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

    B.21021

    C.122

    D.12


    正确答案:C

  • 第7题:

    下面程序的运行结果是( )。 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。

  • 第8题:

    下列程序的输出的结果是______。 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

  • 第9题:

    以下程序运行后的输出结果是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。

  • 第10题:

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

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

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

    main( )

    { char c;

    int i;

    for(i=65;i<68;i++)

    { c=i+32;

    switch(c)

    { case 'a':case 'b':case 'c':printf("%c,",c);break; default:printf("end");}

    }

    }

    A a,b,c,end

    B a,a,a,end

    C a,a,a,

    D a,b,c,


    正确答案:D

  • 第13题:

    请补充函数fun(),该函数的功能是:分类统计一个字符串中元音字母和其他字符的个数(不区分大小写)。

    例如,输入aeiouAOUpqn,结果为A∶2 E∶1 1∶1 O∶2 U∶2 Other∶4。

    注意:部分源程序给出如下。

    请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。

    试题程序:

    include<stdiO.h>

    include<conio.h>

    define N 100

    void fun(char *str,int bb[ ])

    {

    char *p=str;

    int i=0;

    for(i=0;i<6;i++)

    【 】;

    while(*p)

    {

    switch(*p)

    {

    case 'A':

    case 'a':bb[0]++;break;

    case 'E':

    case 'e':bb[1]++;break;

    case 'I':

    case 'i':bb[2]++;break;

    case 'O':

    case 'o':bb[3]++;break;

    case 'U':

    case 'u':bb[4]++;break;

    default:【 】;

    }

    【 】

    }

    }

    main()

    {

    char str[N),ss[6]="AEIOU";

    int i;

    int bb[6];

    clrscr();

    printf("Input a string:\n");

    gets(str);

    printf("the string is:\n");

    puts(str);

    fun(str,bb);

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

    printf("\n%c:%d",ss[i],bb[i]);

    printf("\nother:%d",bb[i]);

    }


    正确答案:bb[i]=0 bb[5]++ p++;
    bb[i]=0 bb[5]++ p++; 解析:第一空:数组bb[6]用来存放5个元音字母和其他字符的个数,在使用之前需要清零。第二空:数组元素bb[5]用来存放其他字符的个数,当指针p所指的字符不是元音字母时,则认为是其他字符,bb[5]加1。第三空:指针p指向字符串str,通过p自加1来移动指针,访问字符串中的所有字符。

  • 第14题:

    以下程序的输出结果是()。includevoid main(){int a(5),b(6),i(0),j(0);switch(a) {

    以下程序的输出结果是( )。 #include<iostream.h> void main() { int a(5),b(6),i(0),j(0); switch(a) { case 5:switch(b) { case 5:i++;break; case 6:j++;break; default:i++;j++; } case 6:i++; j++; break; default:i++;j++; } cout<<i<<","<<j<<endl; }

    A.1,2

    B.1,3

    C.2,2

    D.2,3


    正确答案:A

  • 第15题:

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

  • 第16题:

    以下程序执行后的输出结果是【】。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

  • 第17题:

    已知C源程序如下: include include void reverse(char S[]){ int C,i,J; f

    已知C源程序如下:

    include<stdio. h>

    include<string. h>

    void reverse(char S[]){

    int C,i,J;

    for(i=0,j=strlen(s)-1;i<j;i++,j++){

    c=s[i];

    s[i]=s[j];

    s[j]=c;

    }

    }

    void getHex(int number,char s[]){

    int I;

    i=0;

    while(number>0){

    if(number%16<10)

    s[i++]=number%16+'0';

    else

    switch(number%16){

    case 10:s[i++]='A';break;

    case 11:s[i++]='B';break;

    case 12:s[i++]='C';break;

    case 13:s[i++]='D';break;

    case 14:s[i++]='E';break;

    case 15:s[i++]='F';break;

    default:printf("Error");break;

    }

    number/=16;

    }

    s[i]:'\o';

    reverse(s);

    }

    int main(){

    unsigned int number;

    int i=0:

    char s[50];

    printf("%s","please input number;\n");

    scanf("%d",&number):

    getHex(number,s);

    i=0;

    while(s[i])

    printf("%c",s[i++]);

    return 0;

    }

    画出程序中所有函数的控制流程图。


    正确答案:流程图
    流程图

  • 第18题:

    有以下程序 main() {int i; for(i=0;i<3;i++) switch(i) { case0:printf("%d",i); case2:printf("%d",i); default:printf("%d",i); } } 程序运行后的输出结果是

    A.22111

    B.21021

    C.122

    D.12


    正确答案:C
    解析:程序中for循环了三次,第一次i=0,执行switch语句中case0:分支,直到遇到default语句,退出switch,这里共执行了三个输出语句分别输出0,0,0,第二次循环i=1,switch语句中没有匹配的分支,故只执行default语句输出1,退出switch语句;第三次循环i=2,从switch语句中的case2:开始执行,共执行了两个输出语句输出2、2。最后输出的结果为000122。

  • 第19题:

    以下程序的输出结果是 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++”语句,这时循环条件为假,循环结束。

  • 第20题:

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

  • 第21题:

    下列程序的输出结果是【】。 include void main() { inta(5),b(6),i(0)1j(0); switch(a

    下列程序的输出结果是【 】。

    include<iostream.h>

    void main()

    {

    inta(5),b(6),i(0)1j(0);

    switch(a)

    {

    case 5:switch(b)

    {

    case 5:i++;break;

    case 6:j++;break;

    defaun:i++;j++;

    }

    case 6:i++;

    j++;

    break;

    default:i++;j++;

    }

    cout<<i<<","<<j<<endl;

    }


    正确答案:12
    1,2

  • 第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) { 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。

  • 第24题:

    #include

    main()

    { char str[ ]=“The C program”,c;

    int i;

    for(i=2;(c=str[i])!=‘\0’;i++)

    { switch(c)

    { case ‘g’: ++i; break;

    case ‘o’: continue;

    default: printf(“%c”,c); continue;

    }

    printf(“*”);

    }

    printf(“\n”);

    }


    正确答案:
    4.e C pr*am