有如下程序: #include <stdio.h> int sum(int a,int b) {  return a+b

题目
单选题
有如下程序: #include  int sum(int a,int b) {  return a+b-2; } main() {  int i;  for(i = 0;i < 5;i++)   printf(%d,sum(i,3));  printf(); } 程序运行后的输出结果是(  )。
A

54321

B

01234

C

45678

D

12345

参考答案和解析
正确答案: C
解析:
本题程序执行过程为:在i=0,1,2,3,4时依次输出sum(i,3),即调用sum函数后依次输出1、2、3、4、5,答案选择D选项。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

有以下程序 fun(int x,int y){return(x+y);} main() { int a=1,b=2,c=3,sum; sum=fun((a++,b++,a+b),c++); printf("%d\n",sum); }

A.6

B.7

C.8

D.9


正确答案:C
解析:在fun((a++,b++,a+b),c++)中,先算括号内的(a++,b++,a+b)逗号运算,即先算出a++的值,a=2;再算出b++的值,b=3;最后算出a+b的值,a+b=2+3=5,整个逗号表达式的值为最后a+b的值即为5;接下来调用fun函数,此时原语句变为:smn=fun(5,C++);进行运算,c++表示在使用c以后再将c的值加1,所以结果为:5+3=8。

第2题:

现有如下程序段,则程序段的输出结果为 【16】 。

#include "stdio.h"

int fun()

{static int k;

return k;}

main()

{int m;

m=fun();

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


正确答案:
0

第3题:

阅读下面程序,则程序的执行结果为 【10】 。

#include "stdio.h"

main()

{int a=30,b=20,z;

z=fun(a+b,a-b);

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

}

fun(int a,int b)

{int z;

z=a/b;

return z;

}


正确答案:
5

第4题:

有如下程序:includeint func(int a,int b){return(a+b):}main(){int x=2,y=5,z=8,r; r

有如下程序: #include <stdio.h> int func(int a,int b) { return(a+b):} main() { int x=2,y=5,z=8,r; r=func(func(x,y),z); printf("%d\n",r); } 该程序的输出结果是( )。

A.12

B.13

C.14

D.15


正确答案:D
解析:在表达式r=func(func(x,y),z)中,func(x,y)是第一次调用函数,它的返回值7作为func函数第二次调用的实参,结果为15。

第5题:

下列程序的执行结果是______。 include int a; int sum_a(void) { a=a+5; return a;

下列程序的执行结果是______。

include<lostream.h>

int a;

int sum_a(void)

{

a=a+5;

return a;

}

void main(void)

{

a=a+sum_a( );

cout<<a<<endl;

}


正确答案:10
10 解析:本题考查全局变量的使用。全局变量被系统默认初始化为0,故在执行a=a+sum-a( );语句时,首先执行sum_a函数,将a的值改变为5,该函数的返回值也是5,故最后a的值被赋值为10。

第6题:

如下程序的输出结果是______。 include using namespace std; int funl(int x){retu

如下程序的输出结果是______。

include<iostream>

using namespace std;

int funl(int x){return++x;}

int fun2(int&x){return++x;}

int main( ){

int x:1,y=2;

Y=funl(fun2(x));

cout<<x<<','<<y;

return 0;

}


正确答案:23
2,3

第7题:

有以下程序:includefun(int a, int b){if(a>b) return(a); elsereturn(b);}main(){int

有以下程序: #include <stdio.h> fun(int a, int b) { if(a>b) return(a); else return(b); } main() { int x=3,y=8,z=6,r; r=fun(fun(x,y),2*z); printf("%d\n",r); } 程序运行后的输出结果是( )。

A.3

B.6

C.8

D.12


正确答案:D
解析:本题考查函数的返回值。fun函数的功能是比较a,b的值,返回其中较大者。对于main函数中的语句r=fun(fun(x,y),2*z);是先调用fun(x,y)返回8,再将8和12作为实参调用函数fun,得到的返回值为12。

第8题:

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

第9题:

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

第10题:

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

有如下程序: #include <iostream> using namespace std; int getSum(int num); int main () { int i; for (i=1; i<4; i++) cout<<getSum(i); return 0; } int getSum(int hum) { static int sum=O; sum+=num; return sum; } 上述程序执行后的输出结果是( )。

A.136

B.248

C.123

D.135


正确答案:A
解析:在函数getSum()中,局部变量sum被声明为static,并且初始化为0。该程序使用getSum()函数计算并报告当前计算所得结果。由于sum是static变量,因此它在函数调用过程中始终保持其值,即使函数调用结束,其空间也不会被释放,下次再调用时,上次运行结果仍然保留。

更多相关问题