有以下程序 main ( ) {int i,s=0;for (i=1;i<10; i+=2)s+=i+1; print f ( "%d\n", s);} 程序执行

题目

有以下程序 main ( ) { int i,s=0; for (i=1;i<10; i+=2) s+=i+1; print f ( "%d\n", s); } 程序执行后的输出结果是

A.自然数1~9的累加和

B.自然数1~10的累加和

C.自然数1~9中奇数之和

D.自然数1~10中偶数之和

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

在下述程序中,判断i>j共执行的次数是( )。 main() { int i=0,j=10,k=2,s=0; for(;;) { i+=k; if(i>j) {printf("%d",s);break;} s+=i; } }

A.4

B.7

C.5

D.6


正确答案:D

第2题:

有以下程序:int f(int b[][4]){int i,j,s=0;for(j=0;i<4;i++){i=j;if(i>2)i=3-j;s+=b[i][j];}ret

有以下程序: int f(int b[][4]) { int i,j,s=0; for(j=0;i<4;i++) { i=j; if(i>2) i=3-j; s+=b[i][j]; } return s; } main() { int a[4][4]={{1,2,3,4,},{0,2,4,6},{3,6,9,12},{3,2,1,0}}; printf("%d\n",f(a)); } 执行后的输出结果是( )。

A.12

B.11

C.18

D.16


正确答案:D
解析:在主函数中首先定义了一个4行4列的二维数组a,并用该数组的数组名作为实参调用函数f()。函数f()中的for循环作用,是将数组前3行中的对角线上的元素,即b[0][0]、b[1][1]、b[2][2]和第一行的第四列元素即b[0][3]累加到变量s中, s=a[0][0]+a[1][1]+a[2][2]+a[0][3]=1+2+9+4=16。然后将s的值返回在主函数中输出。

第3题:

有以下程序

main()

{ int i,s=0,t[]={l,2,3,4,5,6,7,8,9};

for(i=0;i<9;i+=2) s+=*(t+i);

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

}

程序执行后的输出结果是

A)45

B)20

C)25

D)36


正确答案:C
(36)C) 解析: 统计1~9 九个数中的奇数和 , 此题考察指向数组的指针, C 语言规定数组名代表数组的首地址 , 也就是第一个元素的地址。因此 *(t+i) 代表数组的第 i+1 个元素。程序运行的结果是 1+2+3+4+5+6+7+8+9=25 。

第4题:

有下列程序: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);printf(&qu

有下列程序:

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

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

}

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

A.A.45

B.20

C.25

D.36


正确答案:C
在for循环语句中自变量i从0开始,每次自加2,执行s+=*(t+i)语句,因为C语言规定数组名做表达式相当于数组的首地址,也就是第一个元素的地址。因此,*(t+i)代表数组的第i+1个元素。所以程序运行的结果是1+3+5+7+9=25,即变量S的值等于25。

第5题:

有以下程序: maln() { int i,s=0,t[]={1,2,3,4,5,6,7,8,9}; for(i=0;i<9;i+=2)s+=*(t+i); printf("%d\n",s); } 程序执行后的输出结果是( )。

A.45

B.20

C.25

D.36


正确答案:C
解析:通过for循环语句s=*(t+0)+*(t+2)+*(t+4)+*(t+6)+*(t+8)=1+3+5+7+9=25。

第6题:

有以下程序: main() { int i,s=0; for(i=1;i<10;i+=2) s+=i+1; ptintf("%d\n",s); } 程序执行后的输出结果是( )。

A.自然数1~9的累加和

B.自然数1~10的累加和

C.自然数1~9中奇数之和

D.自然数1~10中偶数之和


正确答案:D
解析:本题中,i赋初值为1,并对其每次进行加2操作,即i每次均为1~10之间的奇数,s+=i+1,即s=s+i+1,相当于s等于原来的s每次加上1~10之间的偶数,直到ilO不成立;当i=1时,s=0+1+1=2;当i=3时,s=2+3+1=2+4;当i=5时,s=2+4+5+1=2+4+6;当i=7时,s=2+4+6+7+1=2+4+6+8;当i=9时,s=2+4+6+8+9+1=2+4+6+8+10;当i=11时,i10不成立,结束循环。所以,4个选项中选项D符合题意。

第7题:

有以下程序

main()

{int i,s=0,t[]={l,2,3,4,5,6,7,8,9};

for(i=0;i<9;i+=2)s+=*(t+i);printf("%d\n",s);}

程序执行后的输出结果是

A.45

B.20

C.25

D.36


正确答案:C
解析:统计1~9九个数中的奇数和,此题考察指向数组的指针。C语言规定数组名代表数组的首地址,也就是第一个元素的地址。因此*(t+i)代表数组的第i+1个元素。程序运行的结果是1+2+3+4+5+6+7+8+9=25。

第8题:

以下程序的输出结果是

int f()

{ static int i=0;

int s=1;

s+=i; i++;

return s; }

main()

{ int i,a=0;

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

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

A.20

B.24

C.25

D.15


正确答案:D
解析:函数的静态局部变量在编译时就赋初值,即只赋初值一次,在程序运行时它已有初值,以后每次调用函数时不再重新赋值,而只是保留上次函数调用结束时的值。

第9题:

以下程序的输出结果是 include int f( ) { static int i=0; int s=1 s+ =i;

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

A.20

B.24

C.25

D.15


正确答案:D
解析:对函数的静态局部变量是在编译时就赋初值,即只赋初值一次,在程序运行时它已有初值,以后每次调用函数时不再重新赋值,而只是保留上次函数调用结束时的值。注意:静态函数只能用静态变量。

第10题:

以下程序的输出结果是 ( )。 include using namespace std; int f(int b[],int m, in

以下程序的输出结果是 ( )。 #include <iostream> using namespace std; int f(int b[],int m, int n) { int i,s = O; for(i = m;i<n;i+=2) s+=b [i]; return s; } int main ( ) { int x a[] = {1,2,3,4,5,6,7,8,9}; x = f(a,3,7); cout<<x<<end1; return 0; }

A.10

B.18

C.8

D.15


正确答案:A
解析:本题考查对数组以及数组作为函数参数的掌握程度。本题通过参数传递将数组a传给f()函数中的数组b,并由s传递返回值给主函数中的x。主函数中,x=f(a,3,7),即把数组a传给f()函数中的数组b,把3传给m,把7传给n。所以函数f()中的for循环中,是从3开始循环,经过两次循环后,实现a[3]和a[5]值的累加,并存入s中,然后返回给主函数中的x。所以x的值为10。故本题答案是A。

更多相关问题