有下列程序: #include<stdi0.h>intf(intx,inty) {return((y-x)*x);} voidmain( ) {inta

题目

有下列程序: #include<stdi0.h>intf(intx,inty) {return((y-x)*x);} voidmain( ) {inta=3,b=4,c=5,d; d=f(f(a,b),f(a,c)); printf("%d\n",d); } 程序运行后的输出结果是( )。

A.10

B.9

C.8

D.7

参考答案和解析
正确答案:B
B。【解析】在C语言中,子函数f(intX,inty)的功能是计算y减去x的差与X之积。所以在主函数中,调用f(a,b)的值等于3,调用f(a,c)的值等于6,然后再调用f(3,6)的值等于9,所以正确答案为选项8。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

有以下程序 include floatfun(int x,int y) {return(x+y);}void main() {int a=2,b

有以下程序 #include<iostream.h> floatfun(int x,int y) {return(x+y);} void main() {int a=2,b=5,c=8; tout<<fun((int)fun(a+c,b),a-C);} 程序运行后的输出结果是

A.编译出错

B.9

C.21

D.9


正确答案:B
解析:本题的运算过程是fun((int)fun(a+c,b),a-c),fun((int)fun(10,5),2-8),fun((int)15.000000,-6),thn(15,-6)=9。

第2题:

有以下程序includefloat fun(int x,int y){return(x+y);}void main(){int a=2,b=5,

有以下程序 #include<iostream.h> float fun(int x,int y) {return(x+y);} void main() {int a=2,b=5,c=8; cout<<fun((int)fun(a+c,b),a-c);} 程序运行后的输出结果是( )。

A.编译出错

B.9

C.21

D.9


正确答案:B

第3题:

有下列程序:

#include<stdi0.h>intf(intx,inty)

{return((y-x)*x);}

voidmain( )

{inta=3,b=4,c=5,d;

d=f(f(a,b),f(a,c));

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

}

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

A.10

B.9

C.8

D.7


正确答案:B
B。【解析】在C语言中,子函数f(intX,inty)的功能是计算y减去x的差与X之积。所以在主函数中,调用f(a,b)的值等于3,调用f(a,c)的值等于6,然后再调用f(3,6)的值等于9,所以正确答案为选项8。

第4题:

以下程序的输出结果是int f(int x,int y){ return(y-x)*x; }main(){ int a=3,b=4,c=5,d; d=f(f(3,4),f(3,5)); printf("%d\n",d);}


正确答案:9
本题主要考查函数的嵌套调用。在本题程序中,首先定义了一个函数f,函数带有两个整型形参,该函数的作用从程序中不难看出,是返回一个两形参差与第一个形参乘积的结果值。
在主函数中,定义四个整型变量a,b,c,d,其中a,b,c的初值分别为3,4,5,然后嵌套调用函数f,通过简单的计算我们可以知道,f(3,4)的返回值为3,而f(3,5)的返回值为6,然后分别用这两个返回值作为f的参数,得到返回值9,并将这个值赋值给变量d,然后输出,因此,最后的输出结果是9。

第5题:

有以下程序inc1udeint f(int x,int y){return((y-x)*x);)main(){ int a=3,b=4,c=5,d;d

有以下程序 #inc1ude<stdio.h> int f(int x,int y) { return((y-x)*x);) main() { int a=3,b=4,c=5,d; d=f(f(a,B) ,f(a,C); printf("%d\n",D); } 程序运行后的输出结果是______。

A.10

B.9

C.8

D.7


正确答案:B
解析:本题考查的是函数的嵌套调用和参数传递,先执行main函数,第—次调用f(a,b) ,将参数a,b的值传递给函数f中对应开参x,y,然后返回表达式“(y-x)*x););”的运算结果,即:(4-3)*3=3,所以函数结果为3;第二次调用f(a,c) ,将参数a,c的值传递给函数f中对应形参x,y,然后返回表达式“(y-x)*x);”的运算结果,即:(5-3)*3=6,所以函数返回值为6;第三次调用函数f,使用的参数是前两次调用的结果,即:f(3,6),将参数值传递给函数f中对应形参x,y,返回的结果为9,因此,选项B是正确的。

第6题:

有以下程序:includeFloat fun(int x, int y){return(x+y) ;}void main( ){int a=2,

有以下程序: #include<iostream.h> Float fun(int x, int y) { return(x+y) ;} void main( ) { int a=2,b=5,c=8; cout < < fun((int) fun(a+c, b) ,a-c) ;} 程序运行后的输出结果是

A.编译出错

B.9

C.21

D.9.0


正确答案:B
解析:本题的运算过程是fun((int) fun (a+c, b) ,a-c) ,fun((int) fun(10,5) ,2-8) ,fun ((int) 15.000000,-6) ,fun(15,-6) =9。

第7题:

有以下程序includefloat fun(int x,int y){return(x+y);}void main( ){int a=2,b=5

有以下程序 #include<iostream.h> float fun(int x,int y) {return(x+y);} void main( ) {int a=2,b=5,c=8; cout<<fun((int)fun(a+c,b) ,a-c) ;}程序运行后的输出结果是

A.编译出错

B.9

C.21

D.9


正确答案:B
解析:本题的运算过程是fun((int)fun (a+c,B,a-C,fun((int)fun(10,5),2-8),fun ((int)15.000000,-6),fun(15,-6)=9。

第8题:

下面程序的结果【】。 include int f(int); void main() { int x=1,i; for (i=0; i<3;

下面程序的结果【 】。

include<iostream.h>

int f(int);

void main() {

int x=1, i;

for (i=0; i<3; i++)

cout<<f(x)<<‘ ’ ;

cout<<end1;

}

int f(int x){

int y=1;

static int z=3

y++;

z++;

return (x+y+z);

}


正确答案:7 8 9
7 8 9

第9题:

若有以下程序: include using namespace std; int f(int x, int y) {return(y-x)*x;

若有以下程序:

include <iostream>

using namespace std;

int f(int x, int y)

{

return (y-x)*x;

}

int main()

{

int a=3,b=4,c=5,d;

d=f(f(a,b) ,f(a,c) );

cout<<d<<<end1;

return 0;

}

执行后的输出结果是【 】。


正确答案:9
9 解析:本题考核函数的嵌套调用。在主函数中执行语句“d=f(f(a,b) ,f(a,c));”调用了3次f()函数:调用f(a,b) 得到的值为3,调用f(a,c) 得到的值为6,调用f(3,6)得到的值为9。