以下程序的输出结果是( )。includemain()int i=0,a=0;while(i以下程序的输出结果是( )。#includemain()int i=0,a=0;while(ifor(;;)if((i%10)==0)break;else i--;i+=11;a+=I;printf("%d\n",a);A.21B.32C.33D.11

题目
以下程序的输出结果是( )。includemain()int i=0,a=0;while(i<20)for(;;)if((i%10)==0)brea

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

#include

main()

int i=0,a=0;

while(i<20)

for(;;)

if((i%10)==0)break;

else i--;

i+=11;a+=I;

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

A.21

B.32

C.33

D.11


相似考题
更多“以下程序的输出结果是( )。#includemain()int i=0,a=0;while(i<20)for(;;)if((i%10)==0)brea ”相关问题
  • 第1题:

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

    main()

    {int i=0,a=0;

    while(i<20)

    { for(;;)

    { if((i%10)==0)break;

    else i--;}

    i+=11;

    a+=i;

    }

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

    }


    正确答案:32
    32 解析:while(表达式)的功能是:首先计算表达式的值.若为真,则执行循环体语句,执行完毕,再计算表达式的值.若仍为真,则重复执行循环体语句,直到表达式的值为假,结束while语句的执行,继续执行while语句后面的语句;i=0时满足循环条件,也满足if的条件,执行语句得i=11,a=11,第2次循环不满足if的条件,执行i--,i=10,执行i+=11;a+=i后,得i=21,a=32,不满足i20,循环结束。

  • 第2题:

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

  • 第3题:

    以下程序的输出结果是【】。 main() { int p[7]=(11,13,14,15,16,17,18}; int i=0,j=0; while(i<7&a

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

    main()

    {

    int p[7]=(11,13,14,15,16,17,18};

    int i=0,j=0;

    while(i<7&&p[i]%2==1)j+=p[i++];

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

    }


    正确答案:24
    24 解析:本题程序定义了一维数组p,有七个数组元素,整型变量i,j初值分别为0,当while的条件表达式(i7&&p[i]%2=1)的值为真时,执行语句j+=p[i++];,如:当i=0时,i7为真,p[i]%2=11%2=1,表达式(p[i]%2=1)的值为真,所以接个表达式(i7&&p[i]%2=1的值为真,执行j=j+p[i++]=0+11=11,i=1;,依此类推可以得出答案24。

  • 第4题:

    有以下程序includemain(){char*a[]={"abcd","ef","gh","ijk"};int i; for(i=0;i<4;i++

    有以下程序 #include<stdio.h> main() { char*a[]={"abcd","ef","gh","ijk"}; int i; for(i=0;i<4;i++) printf("%c",*a[i]); } 程序运行后的输出结果是______。

    A.agei

    B.dfhk

    C.abcd

    D.abcdefghijk


    正确答案:A
    解析:本题主要考查了字符数组的赋值,字符数组中的一个元素存放一个字符,所以数组元素a[0]、a[1]、a[2]和a[3]中依次存放了a、e、g、i,因此,在执行for循环时,四次的输出结果为a、e、g、i,因此选项A是正确的。

  • 第5题:

    有以下程序include main(){ int.i=0,a=0;while(i<20){for(;;) {if((i%10)==0)break;el

    有以下程序 #include <stdio.h> main() { int.i=0,a=0; while(i<20) { for(;;) { if((i%10)==0) break; else i--; } i+=11; a+=i; } printf("%d\n",a) ; } 程序运行后的输出结果是( )

    A.21

    B.32

    C.33

    D.11


    正确答案:B

  • 第6题:

    有以下程序: #include<stdio.h> main { int i=0,a=0; while(i<20) { for(;;) {if((i%10)==0)break: else i--; } i+=11: a+=i: } printf("%d\n",a); } 程序的输出结果是( )。

    A.62

    B.63

    C.33

    D.32


    正确答案:D
    本题考查while循环。当i<20时,进入while循环体,循环体内的for循环实现的功能是i%10==0,也就是说当i值为0或者l0的倍数的时候,跳出循环,执行i+=11;a+=i;,若i值不是10的倍数,则一直执行for循环i--。①当i=0时,执行i+=11;a+=i;,i=11,a=11;②判断i=10时,跳出for循环,执行i+=11;a+=i;,i=21,a=32;③判断i=21>20,不符合题意,结束循环。

  • 第7题:

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

  • 第8题:

    以下程序的输出结果是 ______。includeInt f(){static int i=0;int a=1;a+=;i++;ret

    以下程序的输出结果是 ______。 #include<iostream.h> Int f(){ static int i=0; int a=1; a+=; i++; return a; } void main() { int i,s=0; for(i=0;i<4;i++) s+=f(); cout<<s;

    A.10

    B.15

    C.21

    D.28


    正确答案:A

  • 第9题:

    以下程序的输出结果是 main( ) { int i=0,a=0: while(i<20) { for{::) { if((i%10)==0)break; else i--; } i+=11;a+=i; } cout<<a<<end1; }

    A.21

    B.32

    C.33

    D.11


    正确答案:B
    解析:本题是两个循环语句和一个判断语句的嵌套。对于这类试题,只要考生基础知识扎实,细心判断,一般是没有多大难度的。For循环的作用是在i等于10的时候跳出循环,本题的答案为B。

  • 第10题:

    有以下程序:includemain() {int a[3][3],*p,i; p=&a[0][0]; for(i=0;i<9;i++) p[i

    有以下程序: #include <stdio.h> main() { int a[3][3],*p,i; p=&a[0][0]; for(i=0;i<9;i++) p[i]=i+1; printf("%d\n",a[1][2]); } 程序运行后的输出结果是( )。

    A.3

    B.6

    C.9

    D.2


    正确答案:B
    解析:本题考查指向数组元素的指针变量。p=&a[0][0]是把该数组的第一个元素a[0][0]的地址赋给指针变量p,a[1][2]是数组中的第6个元素,根据for循环中的赋值可知,输出结果是6。

  • 第11题:

    以下程序输出结果是 include main ( ){int i=0,a=0; while ( i<2 0 ){for(;;){if ((i

    以下程序输出结果是 #include <stdio.h> main ( ) { int i=0,a=0; while ( i<2 0 ) { for(;;) { if ((i%10) ==0) break; else i--; } i+=11; a+=i; } print f ( "%d\n" , a); }

    A.21

    B.32

    C.33

    D.11


    正确答案:B
    解析:break语句只能在循环体和switch语句体内使用。本题程序为在while循环中嵌套for循环。先看内层for循环,该循环的3个表达式全部省略,循环条件始终为真,但循环体内的break语句为终止循环的条件。首先,由初始条件判断外层循坏while括号内表达式的值,该值为真,执行本次while循环,即执行循环体内的订语句,判断该表达式后面括号里表达式的值为真,执行break语句,跳出内层循环,执行下面的语句,此时i和a的值均变为11;回到外层循环,判断表达式“i20”仍为真,执行内层循环语句,此时if条件不满足,执行else语句,i的值为10,继续内层循环,if语句条件满足,执行break语句,跳出内层循环,执行下面的语句后,i和a的值分别是21和32。再判断外层循环的条件为假,结束循环.所以,4个选项中B为所选。

  • 第12题:

    单选题
    有以下程序:#include #include main(){ char w[20], a[5][10] = {abcdef, ghijkl, mnopq, rstuv, wxyz}; int i,j; for(i=0;i<5;i++) {  j=0;  while(a[i][j]!='\0')j++;  w[i]=a[i][j-2]; } w[5]='\0'; puts(w);}程序运行后的输出结果是(  )。
    A

    agmrw

    B

    ekpuy

    C

    djotx

    D

    flqvz


    正确答案: C
    解析:
    本题程序功能是依次将a[0]、a[1]、a[2]、a[3]对应的字符串中的倒数第二个字符赋给w[0],w[1],w[2],w[3],答案选择B选项。

  • 第13题:

    以下程序运行后的输出结果是【】include main ( ) {char a[] ="123456789", *p;int i =0;

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

    include <stdio.h>

    main ( )

    { char a[] ="123456789", *p;

    int i =0;

    p=a;

    while( * p)

    { if(i%2 ==0) *p='*';

    p++;i++;

    }

    puts(a);

    }


    正确答案:*2*4*6*8*
    *2*4*6*8* 解析:程序中指针p指向数组a,while(*P)语句的循环条件是* p!='\0',在循环体中,当 i=0,2,4,6,8时,i%2=0,执行*p='*',即a[i]='*',继续执行p++;i++;使i为奇数;当i=1, 3,5,7时,i%2=1,继续执行p++;i++;使i为偶数。可见,程序在字符串"123456789",的下标为偶数的位置上赋值'*',代替原字符串中的1,3,5,7,9。所以,程序输出结果为*2*4*6*8*。

  • 第14题:

    以下程序的输出结果是【】。 include void main(){ int i,a[5]; i=0; while(i<5){ a[i]

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

    include<iostrean.h>

    void main(){

    int i,a[5];

    i=0;

    while(i<5){

    a[i]=8*(i-2+4*(i>2))%5;

    i++;

    }

    for(i=4;i>=0;i--) cout<<a[i];

    }


    正确答案:3 0 0 -3 -1
    3 0 0 -3 -1

  • 第15题:

    以下程序的输出结果是

    main( )

    {

    int i=0,a=0;

    while(i<20)

    {

    for(;;)

    {

    if((i%10)==0)break;

    else i - -;

    }

    i+=11;a+=i;

    }

    cout<<a<<endl;

    }

    A.21

    B.32

    C.33

    D.11


    正确答案:B
    解析:本题是两个循环语句和一个判断语句的嵌套。For循环的作用是在i等于10的时候跳出循环。本题的答案为B。

  • 第16题:

    以下程序的输出结果是( )。 include main() {int i=10,j=0; do {j=j+i; i--; }while(i>5

    以下程序的输出结果是( )。 include<stdio.h> main() {int i=10,j=0; do {j=j+i; i--; }while(i>5); printf("%d\n",j); }


    正确答案:40
    40 解析:分析程序,初始时i=10,j=0,这时do循环中的“i=j+i”

  • 第17题:

    以下程序的输出结果是()。includemain(){int a[3][3]={0,1,2,0,1,2,0,1,2},i,j,s=1;for

    以下程序的输出结果是( )。 #include<stdio.h> main() {int a[3][3]={0,1,2,0,1,2,0,1,2},i,j,s=1; for(i=0;i<3;i++) for(j=i;j<=i;j++) s+=a[i][a[j][j]]; printf("%d\n",s); }

    A.3

    B.4

    C.1

    D.9


    正确答案:B
    解析:当外层循环为i时,内层循环i只能取j=i,所以s+=a[i][a[j][j]],其实就是s+=a[i][a[i][i]],当i=0时,s=s+a[0][a[01[0]]=s+a[0][0]=1,当i=1时,s=s+a[1][a[1][1]1=s+a[1][1]=1+1=2,当i=2时,s=s+a[2][a[2][2]]=s+a[2][2]=2+2=4。

  • 第18题:

    有以下程序:includemain(){int i=0,a=0;while(i<20){for(;;){if((i%5)==0)break;else

    有以下程序: #include<stdio.h> main() {int i=0,a=0; while(i<20) {for(;;) {if((i%5)==0)break; else i--; } i+=13,a+=i; } pfintf("%d\n",A); } 程序的输出结果是( )。

    A.62

    B.63

    C.23

    D.36


    正确答案:D

  • 第19题:

    下述程序的输出结果是()。includevoid main(){int a[20],*p[4];int i,k=0;for(i=0;i<20

    下述程序的输出结果是( )。 #include<stdio.h> void main() {int a[20],*p[4]; int i,k=0; for(i=0;i<20;i++) a[i]=i; for(i=0;i<4;i++) p[i]=&a[i*i+1]; for(i=0;i<4;i++) {k=k+*p[i];} printf("%d",k); }

    A.10

    B.18

    C.6

    D.数组元素引用不合法,输出结果不定


    正确答案:B
    解析:第一个for循环,给数组a的20个元素分别赋值0~19;第二个for循环,给数组p赋值,p[0]=a[1]=1,p[1]=a[2]=2,p[2]=a[5]=5,p[3]=a[10]=10;第三个for循环,将数组p中元素的值进行累加,k=1+2+5+10=18。

  • 第20题:

    以下程序运行后的输出结果是【】。include main(){int i=10,j=0;do{j=j+ i; i--;}while

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

    include <iostream.h>

    main()

    {

    int i=10,j=0;

    do

    {

    j=j+ i; i--;

    }

    while(i>2);

    cout<<j;

    }


    正确答案:52
    52

  • 第21题:

    有以下程序:

    #include

    main

    { int i=0,a=0;

    while(i<20)

    { for(;;)

    { if((i%10)==0) break;

    else i--;}

    i+=11;

    +=i;}

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

    程序的输出结果是( )。

    A.62

    B.63

    C.33

    D.32


    正确答案:D
    本题考查while循环。当i<20时,进入while循环体,循环体内的for循环实现的功能是i%10==0,也就是说当i值为0或者l0的倍数的时候,跳出循环,执行i+=11;a+=i;,若i值不是10的倍数,则一直执行for循环i--。①当i=0时,执行i+=11;a+=i;,i=11,a=11;②判断i=10时,跳出for循环,执行i+=11;a+=i;,i=21,a=32;③判断i=21>20,不符合题意,结束循环。

  • 第22题:

    以下程序的输出结果是()includemain(){ int i=0,a=0;while(i<20){ for(;;){if((i%10)=

    以下程序的输出结果是( ) #include<stdio.h> main() { int i=0,a=0; while(i<20) { for(;;){if((i%10)==0)break;else i--;} i+=11;a+=i; } printf("%d\n",A) ; }

    A.21

    B.32

    C.33

    D.11


    正确答案:B

  • 第23题:

    以下程序的输出结果是includemain(){int i=0,a=0; while(i<20) { for(;;){ if((i%10)=

    以下程序的输出结果是 #include<stdi0.h> main() { int i=0,a=0; while(i<20) { for(;;) { if((i%10)==0)break; elsei--; } i+=11;a+=i; } printf(“%d\n”,A) ; }

    A.21

    B.32

    C.33

    D.11


    正确答案:B
    解析:break语句只能在循环体和switch语句体内使用。本题程序为在while循环中嵌套for循环。先看内层for循环,该循环的3个表达式全部省略,循环条件始终为真,但循环体内的break语句为终止循环的条件。首先,由初始条件判断外层循环while括号内表达式的值,该值为真,执行本次while循环,即执行循环体内的if语句,判断该表达式后面括号里表达式的值为真,执行break语句,跣出内层循环,执行下面的语句,此时i和a的值均变为11;回到外层循环,判断表达式“i20”仍为真,执行内层循环语句,此时if条件不满足,执行else语句,i的值为10,继续内层循环,if语句条件满足,执行break语句,跳出内层循环,执行下面的语句后,i和a的值分别是21和32。再判断外层循环的条件为假,结束循环。