第5章 函数(带答案)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第5章函数

一、选择题

1、以下正确的说法是( A )

A) 实参可以是常量、变量或表达式B) 实参类型不必同形参类型一致

C) 形参可以是常量、变量或表达式D) 实参顺序与形参顺序无关

2、以下函数首部的定义形式的正确的是(B )

A) int fun(int x; int y) B) int fun(int x, int y) C) int fun(int x, y) D) int fun(int x, int y);

3、以下描述正确的是(B )

A) 如果形参和实参的类型不一致,应以实参类型为准

B) 如果函数值类型与返回值类型不一致,应以函数值类型为准

C) return语句后不能是表达式

D) 定义函数时,可以省略不写形参的类型,只写形参名

4、下列关于函数的描述错误的是( D )

A) c程序是由函数组成的B) c程序中的函数是各自独立的

C) main函数可以调用其它的函数D) 在main函数中可以嵌套定义别的函数

5、关于C语言的主函数描述正确的是()B

A) C程序可以有多个main函数B) C程序有且只有一个main函数

C) C程序可以没有main函数D) C程序不一定从main函数开始执行

6、若定义的函数有返回值,则以下关于该函数调用的叙述错误的是()D

A) 函数调用可作为独立的语句存在B) 函数调用可作为一个函数的实参

C) 函数调用可以出现在表达式中D) 函数调用可作为一个函数的形参

7、以下对于return语句的作用叙述不正确的是()C

A) 可以将函数值返回给主调函数B) 可以将程序流程返回到主调函数

C) 一个函数只能有一个return语句D) 一个函数可以没有return语句

8、C语言规定,函数返回值的类型是由( D )决定的。

A) return语句中表达式的类型B) 调用该函数的主调函数的类型

C) 调用该函数时系统临时D) 在定义函数时所指定的函数值类型

9、在C语言程序中,若对函数类型未加显式说明,则函数的隐含类型为()A

A) int B) double C) void D) float

10、若函数定义如下,则函数返回值的数据类型是()A

float fun(int x)

{ int y=x+2;

return(y);

}

A) float B) int C) 不能确定D) 编译出错

11、以下正确的函数形式是()D

A) double fun(int x, int y) B) void fun(int x, y)

{ z = x + y; { int z;

return z; return z;

} }

C) double fun(x, y) D) double fun(int x, int y)

{ double z = x + y; { double z = x + y;

return z; return z;

} }

12、函数调用时,若参数为“值传递”方式,则下列描述错误的是(B )

A) 实参可以是表达式B) 实参与形参共用同一内存单元

C) 调用时为形参分配内存单元D) 实参与形参类型应一致

13、若函数定义如下,假设将常数1.6传给x,则函数的返回值是()B int fun(float x)

{ float y=x+2;

return(y);

}

A) 3.6 B) 3 C) 4 D) 3.0

14、设有如下的函数,则函数返回值的类型是( ) C

ggg(float x)

{ return(x*x); }

A) 与参数x的类型相同B) void C) int D) 无法确定

15、有以下程序,则执行后输出的结果是()A

#include "stdio.h"

void fun(int k,int n)

{ int t;

t=k; k=n; n=t;

}

void main()

{ int k=1, m=2;

fun(k, m);

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

}

A) 1,2 B) 2,1 C) 1,1 D) 2,2

16、以下程序运行后的输出结果是( ) D

#include "stdio.h"

int fun(int a, int b)

{ if (a>b) return(a);

else return(b);

}

void 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

*********************************数组作函数参数*********************************

17、对于一维数组名作函数实参,以下描述正确的是( A )

A) 必须在主调函数中说明此数组的大小

B) 实参数组类型与形参数组类型可以不一致

C) 函数调用时是将实参数组中的所有元素值复制到形参数组中

D) 实参数组名与形参数组名必须保持一致

18、数组名作参数时,以下叙述正确的是()B

A) 函数调用时是将实参数组的所有元素传给形参

B) 函数调用时是将实参数组的首地址传给形参

C) 函数调用时是将实参数组的第1个元素传给形参

D) 函数调用时是将实参数组所有元素的地址传给形参

19、已有如下数组定义和函数调用语句,则fun函数的形参数组的正确定义方法是( C )int a[3][4];

fun(a);

A) fun( int a[][6]) B) fun(int a[3][] C) fun(int a[][4]) D) fun(int a[][])

20、有以下程序,则执行后的结果为()C

#include "stdio.h"

void fun(int b[], int n)

{ for(int i=0;i

++b[i];

}

void main()

{ int x, a[5]={2,3,4,5,6};

f (a, 5);

printf("%d\n", a[1]);

}

A) 2 B) 3 C) 4 D) 5

***********************************嵌套和递归***********************************

21、以下描述错误的是()D

A) C程序中,函数可以直接或间接的调用自己

B) 函数调用时,函数名必须与所调用的函数名字完全一致

C) 函数声明语句中的类型必须与函数返回值的类型一致

D) 实参数可以与形参个数不一致

相关文档
最新文档