单选题有以下程序: #include main() {int i=0,sum=1;do{sum += i++;}while(i<6);printf(%d,sum); } 程序的输出结果是(  )。A 22B 18C 20D 16

题目
单选题
有以下程序: #include  main() {  int i=0,sum=1;  do  {   sum += i++;  }while(i<6);  printf(%d,sum); } 程序的输出结果是(  )。
A

22

B

18

C

20

D

16


相似考题
更多“有以下程序: #include <stdio.h> main() {  int i=0,sum=1;  do  {   ”相关问题
  • 第1题:

    有以下程序:include void sum(int a[ ] ){a[0]=a[-1] +a[1];}main ( ){int a[10] = {

    有以下程序:#include <stdio, h>void sum(int a[ ] ){ a[0]=a[-1] +a[1];}main ( ){ int a[10] = {1,2,3,4,5,6,7,8,9,10}; sum(&a[2]); prinff("% d \n",a[2]); }程序运行后的输出结果是( )。

    A.6

    B.7

    C.5

    D.8


    正确答案:A
    解析:本题将主函数中a[2]的地址传递给了sum函数中的形参a[],使得sum函数中的(a+0)为主函数中a[2]的地址,所以a[-1]即*(a-1)的值为主函数中a[1]的值,故函数sum中a[0]=2+4。由于此函数中的a是指向主函数中的a[2],所以主函数中的a[2]的值即为6。

  • 第2题:

    下列程序段的输出结果是【】。 include void main() {inti=10,sum=0;do{sum=+sum+i;i=i

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

    include<iostream.h>

    void main()

    {int i=10,sum=0;

    do

    {

    sum=+sum+i;

    i=i-2;

    }while(i>=2);

    cout<<sum<<end1;

    }


    正确答案:30
    30

  • 第3题:

    以下程序的输出结果是【】。 include using namespace std; int main(){ int sum,i; for(

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

    include<iostream>

    using namespace std;

    int main(){

    int sum,i;

    for(sum=0,i=1;i<5;i++)sum+=i;

    cout<<sum<<endl;

    return 0;

    }


    正确答案:10
    10 解析:本题程序实现的是计算1+2+3+4的和,因此最后输出为10。

  • 第4题:

    有以下程序:include void sum(int *a){a[0]=a[1];}main(){int aa[10]={1,2,3,4,5,6,7,

    有以下程序: #include <stdio.h> void sum(int *a) { a[0]=a[1]; } main() { int aa[10]={1,2,3,4,5,6,7,8,9,10},i; for(i=2;i>=0;i--) sum(&aa[i]); printf("%d\n",aa[0]); } 执行后的输出结果是( )。

    A.4

    B.3

    C.2

    D.1


    正确答案:A
    解析:该程序通过main函数循环凋用sum函数。当i=2时,将实参aa[2]的地址传递给形参,此时a[0]=a[1]=aa[3]=4,即aa[2]=4;当i=1时,将实参aa[1]的地址传递给形参,此时a[0]=a[1]=aa[2]=4,即aa[1]=4;当i=0时,将实参aa[0]的地址传递给形参,此时a[0]=a[1]=aa[1]=4,即aa[0]=4;当i=-1时,不满足条件i>=0,跳出循环,程序执行后数组aa中的值为4,4,4,4,5,6,7,8,9,10,所以aa[0]=4。

  • 第5题:

    有以下程序 include int a=1; int f(int c) { stati

    有以下程序 #include <stdio.h> int a=1; int f(int c) { static int a=2; c=c+1; return (a++) + c; } main() { int i, k=0; for(i=0;i<2;i++) { int a=3; k += f(a); k +=a; printf("%d\n",k); }

    A.14

    B.15

    C.16

    D.17


    正确答案:A
    解析:静态局部变量的作用域跟一般局部变量相同,都是从声明处开始到声明所在函数或语句块结束为止。但静态局部变量的生存周期却是从第1次执行到该静态局部变量的声明语句时起,直到程序结束。而—般局部变量的生存周期到离开它的作用域时就结束了。本题的f()函数中static int a=2;语句就声明了一个静态局部变量a,并初始化为2。主函数中,通过一个for循环连着调用了2次f()函数。两次调用形参c都为3,f()函数中让c增1变为4,然后输出(a++) +c,第1次调用a为2,所以输出结果为3+4=6,而第2次调用a被上次调用时的++运算符增1,所以为3,输出结果为3+4=7。所以主函数for循环结束后,k的值是13,下面一条k+=a;语句中的a是全局变量a,值为1。故最终输出结果是14,应该选择 A。

  • 第6题:

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

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

    A.012

    B.123

    C.234

    D.345


    正确答案:D
    解析:程序通过for(i=0;i9;i++)p[i]=i语句对二维数组a的元素依次赋值,使a[0][0]=0,a[0][1]=1,a[0][2]=2,a[1][0]=3,a[1][1]=4,a[1][2]=5,a[2][0]=6,a[2][1]=7,a[2][2]=8,程序运行的结果为345。

  • 第7题:

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

  • 第8题:

    有以下程序 include main() { int i=5; do { if(i%3==1)

    有以下程序 #include <stdio.h> main() { int i=5; do { if(i%3==1) if(i%5==2) { printf"*%d",i); break; } i++; } while(i!=0); printf("\n"); } 程序的运行结果是______。

    A.*7

    B.*3*5

    C.*5

    D.*2*6


    正确答案:A
    解析:do-while语句的特点是先执行循环体,然后判断循环条件是否成立,当循环条件的值为0时循环结束。break的特点;当break出现在循环体中,则在执行break后,跳出本层循环体。本题执行过程如下:
    i=5:不满足条件i%3=1,执行i++,此叫i=6;
    i=6:不满足条件i%3=1,执行i++,此时i=7;
    i=7:满足条件i%3=1,执行内嵌if,判断条件i%5=2,满足,输出“*7”,执行break,跳出do循坏体,执行“printf("\n");”,结束。

  • 第9题:

    有以下程序: include using namespace std; int main() {int i=1,sum=0;Loop:if(i<=20

    有以下程序:

    include<iostream>

    using namespace std;

    int main()

    {

    int i=1,sum=0;

    Loop:if(i<=20)

    {

    sum+=i;

    i++;

    goto Loop;

    }

    cout<<sum<<end1;

    return 0;

    }

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


    正确答案:210
    210 解析:本题是goto跳转语句的应用。程序中,如果满足条件“i=20”,则执行语句“sum+=i;i++;”然后,又跳转到Loop处。直到条件“i=20”不满足。由此可知,此程序的功能是统计1~20的总和,即210。

  • 第10题:

    若有以下程序 include int a[ ]={2,4,6,8}; main( ) { int i; int *p=a; for(i=0;i<4

    若有以下程序

    #include <stdio.h>

    int a[ ]={2,4,6,8};

    main( )

    { int i;

    int *p=a;

    for(i=0;i<4;i++) a[i]=*p;

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

    上面程序的输出结果是

    A.6

    B.8

    C.4

    D.2


    正确答案:D
    解析:在C语言中,数组元素下标是从0开始的;指针变量p指向数组的首地址。for循环语句中,指针变量 p始终指向数组的首地址,因而执行循环赋值语句后数组各元素的值均变为2。

  • 第11题:

    有以下程序:include int fun(int x[], int n){ static int sum =0,i;for(i=0;i

    有以下程序: #include <stdio.h> int fun(int x[], int n) { static int sum =0,i; for(i=0;i<n;i ++ )sum + =x[i]; return sum;{ int a[] ={1,2,3,4,5},b[]={6,7,8,9},s=0; s = fun(a,5) + fun(b,4) ;printf( "%d \n",s);程序执行后的输出结果是( )。

    A.45

    B.50

    C.60

    D.55


    正确答案:C
    解析:静态变量是在编译时赋初值的,即只赋初值一次,在程序运行时它已有初值,以后每次调用函数时不再重新赋初值而只是保留上次函数调用结束时的值。在main函数中调用fun(a,5),执行for循环得到sum=0+a[0]+a[1]+a[2]+a[3]+a[4]=15;然后调用fun(b,4),因为sum为静态变量,再次调用时sum保留上次函数调用结束时的值,所以sum:15+b[0]+b[1]+b[2]+b[3]=45;返回sum的值,main函数中输出的s=15+45=60。

  • 第12题:

    有如下程序 includeviodmain() {int i,sum=0;for(i=1;i<=3;sum++)sum+=i;cout<

    有如下程序 #include<iostream.h> viod main() { int i,sum=0; for(i=1;i<=3;sum++) sum+=i; cout<<sum<<end1; } 该程序的执行结果是 ______。

    A.6

    B.3

    C.死循环

    D.0


    正确答案:C

  • 第13题:

    有以下程序: include using namespace std; int f(int); int main() {int i;for(i=0;

    有以下程序:

    include <iostream>

    using namespace std;

    int f(int);

    int main()

    {

    int i;

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

    cout<<f(i)<<" ";

    return 0;

    }

    int f(int i)

    {

    static int k=1;

    for(;i>0;i--)

    k+=i;


    正确答案:1 2 5 11 21
    1 2 5 11 21 解析:函数f()中定义了一个内部静态变量k,其作用域仍在定义它的函数内。但该类型变量采用静态存储分配,当函数执行完,返回调用点时,该变量并不撤销,其值将继续保留,若下次再进入该函数时,其值仍然存在。内部静态变量有隐含初值0,并且只在编译时初始化一次。

  • 第14题:

    有以下程序: include main ( ) int i;for(i =0;i <3 ;i ++ )switch (i)case 0: printf

    有以下程序: #include <stdio.h> 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
    解析:程序中没有使用break终止switch语句的执行。当i:0时,执行第一个case语句,因为它后面没有break,所以一直到执行完default语句结束,输出3个0,再执行下一循环。所以只有选项C)正确。

  • 第15题:

    include “stdio.h” void main() { int sum=0,a=11; while(a<=10) {sum=sum+a; a++; }

    #include “stdio.h” void main() { int sum=0,a=11; while(a<=10) {sum=sum+a; a++; } printf(“sum=%d\n”,sum); } 上述程序段的运行结果是( )

    A. sum=0

    B. sum=55

    C. sum=10

    D. sum=11


    正确答案:A

  • 第16题:

    有以下程序 include main() { int i,j,m=55; for(i=1;i<=3;i++)

    有以下程序 #include <stdio.h> main() { int i,j,m=55; for(i=1;i<=3;i++) for(j=3;j<=i;j++) m=m%j; printf("%d\n",m); } 程序的运行结果是

    A.0

    B.1

    C.2

    D.3


    正确答案:B

  • 第17题:

    下面程序执行的结果是【 】。 include using namespace std; void main(){ int sum=0; i

    下面程序执行的结果是【 】。

    include <iostream>

    using namespace std;

    void main(){

    int sum=0;

    int array[6]={1,2,3,4,5,6};

    int *p;

    p=&array[0];

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

    sum=sum+*p;

    p++;

    }

    cout<<sum;

    }


    正确答案:21
    21 解析:本题用数组地址来访问数组内容,通过数组指针来操作数组内容,依次取出数组内容进行加和,然后进行输出。

  • 第18题:

    有以下程序:include include main( ) {char a[ 7 ] = "a0 \0a0 \0";int i,

    有以下程序:#include <stdio.h>#include <string.h>main( ) { char a[ 7 ] = "a0 \0a0 \0"; int i,j; i = sizeof(a); j = strlen(a); printf(" % d %d \n" ,i,j); }程序运行后的输出结果是( )。

    A.22

    B.76

    C.72

    D.62


    正确答案:C
    解析:C语言.中以,'\0'作为字符串的结束符,且strlen函数计算的是,'\0',字符前的所有字符的个数,故本题中strlen(a)应为2。数组定义以后系统就为其分配相应大小的内存空间,而不论其中有没有内容。sizeof运算符是计算变量或数组所分配到的内存空间的大小,所以本题的sizeof(a)为7。

  • 第19题:

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

  • 第20题:

    有以下程序,程序执行后,输出结果是【】include void fun(int*A) {a[0]=a[1];} main() {i

    有以下程序,程序执行后,输出结果是【 】

    include<stdio.h>

    void fun(int*A)

    { a[0]=a[1];}

    main()

    { int a[10]={10,9,8,7,6,5,4,3,2,1,},i;

    for(i=2;i>1=0;i-) fun(&a[i]);

    for(i=0;i<10;i++) printf("%d,a[i]);

    printf("\n");

    }


    正确答案:7777654321
    7777654321 解析:本题主要考查函数的调用,第—次调用把数组元素a[2]的地址赋给a,此时a[1]即是原数组的a[3]等于7,再执行赋值语句a[0]=a[1],则a[0]和a[1]中的值都是7,然后再把这个值返回给a[2]同样地第二次调用的时候函数返回值也是7,第三次调用返回值也是7,因此数组的前4个元素,即对a[0]、a[1]、a[2]和a[3]的值都为7,当执行第二个for循环时输出数组中所有元素的值7777654321。

  • 第21题:

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

  • 第22题:

    有以下程序:include main(){ int i,n=0;for(i=2;i<5;i++){do {if(i%3) continue;n++;

    有以下程序: #include <stdio.h> main() { int i,n=0; for(i=2;i<5;i++) { do { if(i%3) continue; n++; } while(! i); n++; } printf("n=%d\n",n); } 程序执行后的输出结果是( )。

    A.n=5

    B.n=2

    C.n=3

    D.n=4


    正确答案:D
    解析:for循环中,当i=2时,i%3为真,结束本次while循环,!i为假,执行n++,n为1;当i=3时,i%3=0,执行n++,n为2,!i为假,执行n++,n为3;当i=4时,i%3为真,结束本次while循环,!i为假,执行n++,n为4;当i=5时,for循环结束。这时输出n=4。

  • 第23题:

    有以下程序: include main( ) { int sum=0,x=5; do{sum+=x;}while(!--x); printf("%d\n",sum); } 程序的运行结果是( )。

    A.0

    B.5

    C.14

    D.15


    答案:B
    解析:do-while循环,先执行循环体sum+=x,则sum=sum+x=0+5=5,再执行while中的表达式,结果为0,退出循环,所以运行结果是5。

  • 第24题:

    有以下程序:include main( ){int i,s=0,t[] = {1,2,3,4,5,6,7,8,9};for(i=0;i<9;i+=2)

    有以下程序:#include <stdio.h>main( ){ int i,s=0,t[] = {1,2,3,4,5,6,7,8,9}; for(i=0;i<9;i+=2) s+=*(t+i); prinff("% d \n ",s);

    A.45

    B.20

    C.25

    D.36


    正确答案:C
    解析:程序中的*(t+i)相当于t[i]。由于for循环变量的增量为2,因此i分别取值0,2,4,6,8,因为t[0]=1,t[2]=3,t[4]=5,t[6]=7,t[8]=9,对其进行求和运算,结果为25。