C语言程序设计

单选题有以下程序: #include int m1(int x,int y) {return x<=y?x:y; } int m2(int x,int y) {return x<=y?y:x; } int fun(int a,int b) {return a+b; } main() {int x=2,y=3,z=1;printf(%d,fun(m1(x,y),m2(y,z))); } 程序的运行结果是(  )。A 6B 5C 4D 3

题目
单选题
有以下程序: #include  int m1(int x,int y) {  return x<=y?x:y; } int m2(int x,int y) {  return x<=y?y:x; } int fun(int a,int b) {  return a+b; } main() {  int x=2,y=3,z=1;  printf(%d,fun(m1(x,y),m2(y,z))); } 程序的运行结果是(  )。
A

6

B

5

C

4

D

3

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

第1题:

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

第2题:

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

第3题:

以下程序的输出结果是______。 include int add(int x, int y) { return x+y; } doub

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

include<iostream.h>

int add(int x, int y)

{

return x+y;

}

double add(double x, double y)

{

return x+y;

}

void main()

{

int a=3, b=3;

double c=6.5, d=1.5;

cout<<add(a, b)<<","<<add(c, d)<<end1;

}


正确答案:68
6,8

第4题:

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

第5题:

以下程序执行后的输出结果是( )。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,但它并不能传递给实参,当然最终的输出肯定是不确定的随机数了。

第6题:

现有如下程序段

#include "stdio.h"

int aa(int x,int y);

main()

{int a=24,b=16,c;

c=aa(a,b);

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

int aa(int x,int y)

{int w;

while(y)

{w=x%y;

x=y;

y=w;}

return x;}

则程序段的输出结果是

A.8

B.7

C.6

D.5


正确答案:A

第7题:

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

第8题:

有以下程序:includeint f(int x){int y;if(x==0||x==1)return(3);y=x*x-f(x-2);return

有以下程序: #include<stdio.h> int f(int x) {int y; if(x==0||x==1)return(3); y=x*x-f(x-2); return y; } main() {int z; z=f(3);printf("%d\n",z); } 程序的运行结果是( )。

A.0

B.9

C.6

D.8


正确答案:C
解析:本题主要考查函数的递归调用。当x=0或者x=1时返回值为3,即f(0)=3,f(1)=3;否则返回值为x*x-f(x-2)。f(3)=3*3-f(1)=9-3=6。

第9题:

分析以下程序执行结果【】。 include int f (int x, int y){return x,y; } double f (d

分析以下程序执行结果【 】。

include<iostream.h>

int f (int x, int y){

return x,y;

}

double f (double x, double y) {

return x,y;

}

void main() {

int a=4, b=6;

double c=2.6, d=7.4;

cout<<f (a, b) <<","<<f (c, d) <<end1;

}


正确答案:24 19.24
24, 19.24

第10题:

请将以下程序中的函数声明语补充完整。 include int【】 main(){int x,y,(*p)(); sccanf("

请将以下程序中的函数声明语补充完整。

include<stdio.h>

int【 】

main()

{ int x,y,(*p)();

sccanf("%d%d",&x,&y);

p=max;

printf(%d\n",(*p)(x,y));

}

int max(int a,int b)

{return(a>b?a:b);}


正确答案:max(int aint b)
max(int a,int b) 解析:在C语言中,除了主函数外,对于用户定义的函数都遵循“先定义,后使用”的规则,若把函数定义放在调用之后,应该在调用之前对函数进行说明(或称为函数原型说明)。
函数的说明形式为:
类型名 函数名(参数类型1,参数类型2……)
本题是通过max()函数来求出a和b中较大的数,由于max()函数的位置在main()函数之后,想要在main()函数中调用max()函数,就必须先在main()函数之前对max()函数进行说明,因为当在所有函数外部、被调用之前说明函数时,在对函数进行说明的语句后面所有位置上都可以对该函数进行调用。所以,在横线上应该填上被调函数的说明语句即 max(int a,int b) 。

更多相关问题