有如下程序:    int func(int a,int b)      {return(a+b);)      main()      {      int x=2,y=5,z=8,r;     r=func(fune(x,y),z);     printf(”%d\n”,r);}    该程序的输出的结果是()A、12B、13C、14D、15

题目

有如下程序:    int func(int a,int b)      {return(a+b);)      main()      {      int x=2,y=5,z=8,r;     r=func(fune(x,y),z);     printf(”%d\n”,r);}    该程序的输出的结果是()

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

第1题:

有以下程序: fun (iht 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
解析:主函数中首先定义了4个整型变量x、y、z和r,并分别给x、y、z赋初值为3、8、6,接着调用一个fun()函数,并将返回值赋给变量r。其中将fun(x,y)函数的返回值和2*z作为fun()函数的两个参数。在内层fun(x,y)函数中,将x的值和y的值传给形参a和b,此时a和b的值分别为3和8,执行if浯句,由于if后面判断条件表达式a>b为假,所以执行else后面的语句,返回值为8。此时,外层fun(x,y)函数两个参数为8和2*z=12,所以r的赋值语句相当于r=fun(8,12),同上分析可知tim(8,12)返回值为12,因此最后r的值为12。

第2题:

以下程序执行后的输出结果是( )。include usingnamespacestd;void try(int,int,int,in

以下程序执行后的输出结果是( )。 #include <iostream> using namespace std; void try(int,int,int,int); int main ( ) { int x,y,z,r; x=1; y=2; try(x,y,z,r); cout<<r<<end1; return 0; } void try(int x,int y, int z,int r) { z = x+y; x = X*X; y = y*y; r = z+x+y; }

A.18

B.9

C.10

D.不确定


正确答案:D
解析:本题常见的错误解答是:把x=1,y=2代入到函数try中,逐步计算出r=8。最后得到r的输出值是8。下面是正确解答。根据程序逐步分析:①程序中定义了一个名为try的void型函数,即函数try()没有任何返回值。②而try()函数在主函数中是以一条独立语句的方式被调用的,且主函数最后输出变量r的值。③但在主函数中,并没有对变量r赋值。④在C++语言中,数据只能从实参单向传递给形参,称为按值传递。也就是说,当简单变量作为实参时,用户不能在函数中改变对应实参的值。所以,虽然在函数try()中,r的值为8,但它并不能传递给实参,当然最终的输出肯定是不确定的随机数了。

第3题:

写出下列程序的运行结果。 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); }


正确答案:
12

第4题:

下列程序的输出结果是_____。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

第5题:

有如下程序 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
解析:调用函数func(x,y),返回x+y,即7;再调用函数func(7,z),返回7+z,即15。

第6题:

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

第7题:

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

第8题:

有如下程序

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

第9题:

有以下程序

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()函数的功能是求出两个数的最大数并返回主函数r=fun(fun(x,y),2*z)处。执行过程为先调用函数fun(x,y)求得两数中的较大者,再进行自身的递归调用,此时函数中的两个参数为刚求得的数和2*z(即12)传递给子函数,找出两数中的大数。

第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另一次调用的实参。注意本题调用两次函数。

更多相关问题