以下程序执行后sum的值是()。 main(){ int i,

题目

以下程序执行后sum的值是()。 main(){ int i,sum; for(i=1;i<6;i++) sum+=i; printf("%d/n",sum); }

  • A、15
  • B、14
  • C、不确定
  • D、0
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

有以下程序: int fun(int x[],int n) {static int sum=0,I; for(i=0;i<n;i++)sum+=x[i]; return sum; } main() {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
解析:fun函数中用static声明的局部变量sum的值在函数调用结束后不消失而保留原值,即占用的存储单元不释放,在下一次调用该函数时,该变量已有值,就是上一次函数调用结束时的值。

第2题:

有以下程序

int fun(int x[],int n)

{static int sum=0,i;

for(i=0;i<n;i++) sum+=x[i];

return sum;

}

main()

{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
解析:内部静态变量是始终存在的,当函数被调用退出后,内部静态变量会保存数据,再次调用该函数时,以前调用时的数值仍然保留着。Fun(a,5)的值是15,再次调用后sum=15,所以Fun(b,4)=45,s=45+15=60。

第3题:

以下程序:main(){inti,sum;for(i=1;i6;i++)sum+=i;printf(“%d\n”,sum);}执行程序后sum的值是()

A、15

B、14

C、不确定

D、0


参考答案:C

第4题:

设有以下程序:

main()

{int i,sum=0;

for(i=2;i<10;i++)

{ if((i%2)==0)

continue;

sum+=i;}

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

}

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


正确答案:24
24 解析:continue语句功能:结束本次循环(注:不是终止整个循环),即跳过循环体中continue语句后面的语句,开始下一次循环。

第5题:

有以下程序: 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
解析:分析函数调用即得。

第6题:

有如下程序: include using namespace std; int main(){ int sum;

有如下程序: #include<iostream> using namespace std; int main(){ int sum; for(int i=0;i<6;i+=3){ sum=i; for(int j=i;j<6;j++)sum+=j; } cout<<sum<<end1; return 0; } 运行时的输出结果是( )。

A.3

B.10

C.12

D.15


正确答案:D
解析:此题考查的是for循环。首先进入外循环,根据循环条件,i的初始化值为0,赋值给sum,进入内循环.i的初值也被赋值为 i的初始值0,所以第一次内循环sum值为0,判断j=0,小于6,进行第二次内循环,sum的值为1,同理,仍然进行内循环直到j=6,跳出内循环,sum=15:外循环中i=3,i6,满足循环条件进入第二次外循环,i=3,sum=3,进入内循环,j=3,同理,计算内循环中sum的值,直到j=6跳出内循环,此时sum=15;外循环中i=6,跳出外循环,执行输出语句,即sum=15。

第7题:

( 7 )执行下列语句后,变量 sum 的值是 ___________ 。

int sum=0;

for(int i=1;i<=3;i++)

for(int j=1;j<=i;j++)

sum++;


正确答案:

第8题:

有以下程序

int fun(int x[],int n)

{ static int sum=0,i;

for(i=0;i<n;i++) sum+=x[i];

return sum;

}

main()

{ 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

(40)C) 解析 : 内部静态变量是始终存在的 , 当函数被调用退出后 , 内部静态变量会保存数据 , 再次调用该函数时 , 以前调用时的数值仍然保留着 。 Fun(a,5) 的值是 15, 再次调用后 sum=15, 所以Fun(b,4)=45,s=45+15=60 。

第9题:

以下程序的输出结果是【 】。include main() {int i,j,sum; for(i=3;i>=-1;i-) (sum=0; fo

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

include<stdio.h>

main()

{int i,j,sum;

for(i=3;i>=-1;i-)

(sum=0;

for(j=1;j<=i;j++) sum+=i*j;

}

printf("%d\n,sum);

}


正确答案:√
1 解析:本题考查的是for循环嵌套。外循环i变量从3递减到1,内循环变量j在每轮外循环的作用下从1递增到i,并在每轮外循环结束时,通过内循环求得sum的值,但由于外循环体的第一条语句是将变量sum初始化为0,所以每轮外循环结束时求得的sum值均被下一轮外循环执行时重新初始化为0,只有在最后一轮,当i=1时,内循环求得stan=1,跳出内循环,i的值减1变为0,不满足i>=1这个条件,结束外循环,此时输出sum的值为1。

第10题:

有以下程序: 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] ); print f ("%d\n",aa[0]); } 执行后的输出结果是

A.4

B.3

C.2

D.1


正确答案:A
解析:本题考核的知识点是数组的定义、赋初值以及函数调用的组合应用.本题中函数sum(int*A)的作用是:将形参a所指的数组中的第二个元素的值a[1]赋给第一个元素a[0]。主函数中定义一个长度为10的整型数组并赋初值,接着执行一个for循环,该循环共执行了3次.当i=2时,调用函数sum(&aa[2]),主函数中将&aa[2]作为实参传给行参a,所以此时形参a所指的数组的第一个元素和第二个元素分别为aa[2]和aa[3],故执行完该函数后将aa[3]的值赋给aa[2],即aa[1]=aa[3]=4,当i=1时,调用函数sum(&aa[1]),主函数中将&aa[1]作为实参传给行参a,所以此时形参a所指的数组的第一个元素和第二个元素分别为aa[1]和aa[2],故执行完该函数后将aa[2]的值赋给aa[1],即aa[1]=aa[2]=4;当i=0时;调用函数sum(&aa[0]),,主函数中将&aa[0]作为实参传给行参a,所以此时形参a所指的数组的第一个元素和第二个元素分别为aa[0]和aa[1],故执行完该函数后将aa[1]的值赋给aa[0],即aa[0]=aa[1]=4;故最后输出的aa[0]的值为4,所以,4个选项中选项A符合题意。

更多相关问题