计算机二级

下列程序的输出结果是()。include int b=2; int func(int*a) { b+=*a;return b;} main(下列程序的输出结果是( )。 #include<stdio.h> int b=2; int func(int*a) { b+=*a;return b;} main() { int a=1,t=2; t+=func(&a); printf("%d\n",t); }A.4B.5C.6D.8

题目
下列程序的输出结果是()。include int b=2; int func(int*a) { b+=*a;return b;} main(

下列程序的输出结果是( )。 #include<stdio.h> int b=2; int func(int*a) { b+=*a;return b;} main() { int a=1,t=2; t+=func(&a); printf("%d\n",t); }

A.4

B.5

C.6

D.8

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

第1题:

下列程序的输出结果是( )。 #include<stdio.h> int b=2: int func(int*a) { b+=*a;return b;} main { int a=1,t=2; t+=func(&a): printf("%d\n",t); }

A.4

B.5

C.6

D.8


正确答案:B
本题考查函数调用时的参数传递。在执行函数func时,由于全局定义了一个变量b,所以在函数体中执行b=2+1=3,最终t=2+3=5。

第2题:

有以下程序 int b=2; int func(int*A) { b+=*a;return(B) ; } main() { int a=2,res=2; res+=rune(&A) ; printf("%d \n",res); } 程序运行后的输出结果是( )

A.4

B.6

C.8

D.10


正确答案:B

第3题:

下列程序的输出结果是()。includeint b=2;int func(int*A){b+=*a;return b;}main(){int

下列程序的输出结果是( )。 #include<stdio.h> int b=2; int func(int*A){ b+=*a;return b;} main() { int a=1,t=2; t+=func(&a); printf("%d\n",t); }

A.4

B.5

C.6

D.8


正确答案:B
解析: 本题考查函数调用时的参数传递。在执行函数func时,由于全局定义了一个变量b,所以在函数体中执行时b=2+1=3,最终t=2+3=5。

第4题:

下列程序的输出结果是()。 include int fun(int x) {int a; if(x==0‖x==1) return 3;

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

#include<stdio.h>

int fun(int x)

{ int a;

if(x==0‖x==1)

return 3;

else

a=x-fun(x-2) ;

return a;

}

void main()

{ printf("%d",fun(7) );

}

A.2

B.8

C.9

D.5


正确答案:A
解析:本题考查函数的递归调用。在函数递归调用时,fun(7):a=7-fun(5)→fun(5):a=5-fun(3)→ fun3:a=3-fun(1)→fun(1):a=3,反推回去fun(3):a=3-3=0→ fun(5):a=5-0=5→fun(7):a=7-5=2,最后的计算结果为2。

第5题:

下列程序的输出结果是includeint b=2;int func(int *a) {b+=*a;return(b) ;}void m

下列程序的输出结果是 #include<iostream.h> int b=2; int func(int *a) {b+=*a;return(b) ;} void main( ) { int a=2,res=2; res+=func(&a) ; cout<<res;}

A.4

B.6

C.8

D.10


正确答案:B
解析:在函数体语句中的b+=*a;的 *是指针运算符(也称间接访问运算符),*a就是main函数中a的值。

第6题:

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

第7题:

以下程序的输出结果是() include main( ) { int a,b; for(a=1,b=1,a<=50;a+ +)

以下程序的输出结果是 ( ) # include<stdio.h> main( ) { int a,b; for(a=1,b=1,a<=50;a+ +) { if(b>=10) break; if (b%2==1) { b+=2; continue } b+=2; } printf("%d\n",a); }

A.4

B.5

C.6

D.7


正确答案:C

第8题:

下列程序的输出结果为 include int func(int n) {if(n<1) return 1; else retur n

下列程序的输出结果为

#include<iostream.h>

int func(int n)

{

if(n<1) return 1;

else retur n+func(n-1) ;

return 0;

}

void main( )

{

cout < < func(5) < < endl;

}

A.0

B.10

C.15

D.16


正确答案:D
解析:本题考查的是递归函数的使用,题中递归函数的结束条件为n1,递推公式为f(n) =n +f(n-1) ,所以计算结果为5+4+3+2+1+1,最后一个1为n=0时的返回值。

第9题:

下列程序的输出结果是()。 include int b=2; int fune(int*a) {b+=*a;return b;} main(

下列程序的输出结果是( )。 #include<stdio.h> int b=2; int fune(int*a) { b+=*a;return b;} main() { int a=1,t=2; t+=func(&a); printf("%d\n",t); }

A.4

B.5

C.6

D.8


正确答案:B
解析:本题考查函数调用时的参数传递。在执行函数func时,由于全局定义了一个变量b,所以在函数体中执行时b-2+1-3,最终t=2+3=5。

第10题:

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

有如下程序: #include<iostream.h> int func(int a, int b) { return(a+b) ;} void main( ) { int x=2,y=5,z=8,r; r=func(func(x,y) ,z) ; cout < < r; } 该程序的输出的结果是

A.12

B.13

C.14

D.15


正确答案:D
解析:在语句r=func(func(x, y) ,z) ;中,fun(x, y) 是一次调用函数,它的值作为func另一次调用的实参。注意本题调用两次函数。

更多相关问题