02600C语言程序设计

有函数int m( float x) {float z;z=x;return(z);}则返回值是()A、整型值B、XC、ZD、实型值

题目

有函数int m( float x) {float z;z=x;return(z);}则返回值是()

  • A、整型值
  • B、X
  • C、Z
  • D、实型值
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

执行下面程序段后,z值为( )。int x=1,y=2,z=3;z=z/(float)(x/y);

A.编译无法通过

B.6

C.3

D.2


正确答案:A

第2题:

下列给定程序中,函数fun()的功能是;计算函数 F(x, y ,z)=(x+ y)/(x-y)+(z+ y)/(z-y)的值。其中x和y不相等,z和y不等。例如,当x的值为9,y的值为11,2的值为15时,函数值为-3.50。

请改正程序中的错误,使它能得出正确的结果。

注意:不要改动main 函数,不得增行或删行,也不得更改程序的结构。

试题程序:

include <stdio. h>

include <math. h>

/**************found******************/

define FU(m, n) (m/n)

float fun(float a, float b, float c)

{ float value;

value=FU(a+ b, a-b)+FU(c+ b, c-b);

/*************found******************/

return(Value);

}

main()

{ float x, y, z, sum;

printf ("Input x y z:: ");

scanf("%f%f%f", &x, &y, &z);

printf("x=%f, y=%f, z=%f\n ",x, y, z);

if (x==y||y==z) {printf ("Data error! \n ");

exit (0); }

sum=fun (x, y, z);

printf("The result is:%5. 2f\n ",sum);

}


正确答案:(1)错误;#define FU(m n) (m/n) 正确:#define FU(mn) (m)/(n) (2)错误:return (Value); 正确:return (value);
(1)错误;#define FU(m, n) (m/n) 正确:#define FU(m,n) (m)/(n) (2)错误:return (Value); 正确:return (value); 解析:如果从数学思想来说,这是一道简单的小学数学题,当然,用C语言的别的办法实现的话,也用不了三两句的程序,但是,这道题的考查点在C语言的宏定义上(这样的问题比较隐蔽),它的格式为#define 标识符字符串,中间要用空格分开,在该题中,标识符为FU (m, n),而字符串则是(m/n),由题干信息易知,应该是# define FU(m,n) (m)/(n)。

第3题:

若有如下函数模板定义,则正确使用该函数模板的语句是( )。templatevoid add(type a, type b, type 和c){ c=a+b ; }

A.float x,y,z;add(x,y,z) ;

B.int x,y,z;add(x,y,和z) ;

C.float x,y ;int z;add(x,y,z) ;

D.float x,y ;int z;add(x,y,和z) ;


参考答案:A

第4题:

下列函数定义中,会出现编译错误的是

A.max(int x,int y,int *z) { *z=x>y ? x:y; }

B.int max(int x,y) { int z; z=x>y ? x:y; return z; }

C.max(int x,int y) { int z; z=x>y?x:y; return(z); }

D.int max(int x,int y) { return(x>y?x:y); }


正确答案:B
解析:定义函数时,若需要声明形式参数时,则每个形式参数都必须单独声明类型。

第5题:

下列函数定义中,会出现编译错误的是 ______。

A.max(int x,int y,int *z) { *z=x>y? x:y;}

B.int max(int x,y) {int z; z=x>y? x;y; return z; }

C.max(int x,int y) { int z; z=x>y? x:y; return(z); }

D.int max(int x,int y) { return(x>y?x:y);}


正确答案:B
解析:本题考查函数的定义。选项B中函数形参y没有说明数据类型。

第6题:

设有如下的变量定义:

double x=4.700000;float y=2.5f;int z=7;

则执行表达式“y+z%3* (int) (x+y)%2/4”后的值是【 】。


正确答案:5
5 解析:根据算术运算的优先级规则,应先执行z%3* (int) (x+y)%2/4之后,再用其值与 y作加法运算。z%3*(int) (x+y)%2/4的执行顺序为先计算z%3,得值为1,再计算x+y并取整,其值为7,用z%3的值1.与(int) (x+y)的值7相乘得7,再计算7%2得值为1,再计算1/4,由于两个整数相除,其结果为商的整数部分,所以1/4的值为0。最后执行y+0,其结果为2.5。

第7题:

若输入1.5、2.5,则以下程序的运行结果为______。main(){ float a,b; int c; scanf("%f,%f,",&a,&b); c=max(a,b); printf("%d",c);}max(x,y)float x,y;{ float z; z=x>y?x:y; return(z);}

A.1.5

B.2.5

C.2

D.3


正确答案:C

第8题:

设int x=3,y=4,z=5;则值为0的表达式是()。

A.x>y++

B.x<=++y

C.x!=y+z>y-z

D.y%z>=y-z


参考答案:A

第9题:

执行下面程序段后,2值为( )。 int x=1,y=2,z=3; z=z/(float)(x/y);

A.编译无法通过

B.6

C.3

D.2


正确答案:A
本题考查Java的运算和类型转换。题目中变量X、y、z是int类型,由于括号的优先级要高,所以语句(float)(x/y)的结果为0.0,分母已经成为0,编译肯定无法通过。另外,由于z是int型,不能将float型强制转化为int型。

第10题:

下列函数定义中,会出现编译错误的是

A.max(int x,int y,int*z) {*z=x>y?xy;}

B.int max(int x,y) {int z; z=x>y?xy; return z; }

C.max(int x,int y) {int z; z=x>y?xy;return(z); }

D.int max(int x,int y) { return(x>y?xy);}


正确答案:B
解析:本题考核的知识点是函数的定义方法。选项B中在说明形参时,省略了第二个参数的类型,故选项B编译不能通过。

更多相关问题