函数习题及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
函数习题
一.选择题
1.以下正确的说法是 B 。
A)用户若需要调用标准库函数,调用前必须重新定义
B)用户可以重新定义标准库函数,如若此,该函数将失去原有定义
C)系统不允许用户重新定义标准库函数
D)用户若需要使用标准库函数,调用前不必使用预处理命令将该函数所在的头文件包含编译,系统会自动调用。
2.以下正确的函数定义是 D 。
A)double fun(int x, int y) B)double fun(int x,y)
{ z=x+y ; return z ; } { int z ; return z ;}
C)fun (x,y) D)double fun (int x, int y)
{ int x, y ; double z ; { double z ;
z=x+y ; return z ; } return z ; }
3.以下正确的说法是 D 。
A)实参和与其对应的形参各占用独立的存储单元
B)实参和与其对应的形参共占用一个存储单元
C)只有当实参和与其对应的形参同名时才共占用相同的存储单元
D)形参时虚拟的,不占用存储单元
4.以下正确的函数声明是 C 。
A)double fun(int x , int y) B)double fun(int x ; int y)
C)double fun(int x , int y) ; D)double fun(int x,y)
5.若调用一个函数,且此函数中没有return语句,则正确的说法是 D 。
A)该函数没有返回值
B)该函数返回若干个系统默认值
C)能返回一个用户所希望的函数值
D)返回一个不确定的值
6.以下不正确的说法是 B 。
A)实参可以是常量,变量或表达式
B)形参可以是常量,变量或表达式
C)实参可以为任意类型
D)如果形参和实参的类型不一致,以形参类型为准
7.C语言规定,简单变量做实参时,它和对应的形参之间的数据传递方式是 B 。A)地址传递
B)值传递
C)有实参传给形参,再由形参传给实参
D)由用户指定传递方式
8.C语言规定,函数返回值的类型是由 D 决定的。
A)return语句中的表达式类型B)调用该函数时的主调函数类型
C)调用该函数时由系统临时D)在定义函数时所指定的函数类型
9.以下正确的描述是 B 。
A)函数的定义可以嵌套,但函数的调用不可以嵌套
B)函数的定义不可以嵌套,但函数的调用可以嵌套
C)函数的定义和函数的调用均不可以嵌套
D)函数的定义和函数的调用均可以嵌套
10.若用数组名作为函数调用的实参,传递给形参的是 A 。
A)数组的首地址B)数组中第一个元素的值
C)数组中的全部元素的值D)数组元素的个数
11.如果在一个函数中的复合语句中定义了一个变量,则该变量 A 。
A)只在该复合语句中有定义B)在该函数中有定义
C)在本程序范围内有定义D)为非法变量
12.以下不正确的说法是 D 。
A)在不同函数中可以使用相同名字的变量
B)形式参数是局部变量
C)在函数内定义的变量只在本函数范围内有定义
D)在函数内的复合语句中定义的变量在本函数范围内有定义
13.以下不正确的说法是 B 。
A)形参的存储单元是动态分配的
B)函数中的局部变量都是动态存储
C)全局变量都是静态存储
D)动态分配的变量的存储空间在函数结束调用后就被释放了
14.下面程序的输出是 A 。(不同的编译系统可能有不同的结果, 6,3,2)
int i=2 ;
printf(“%d%d%d”,i*=2,++i,i++) ;
A)8,4,2 B)8,4,3 C)4,4,5 D)4,5,6
15.已知一个函数的定义如下:
double fun(int x, double y)
{ …… }
则该函数正确的函数原型声明为: C
A)double fun (int x,double y) B)fun (int x,double y)
C)double fun (int ,double ); D)fun(x,y) ;
16关于函数声明,以下不正确的说法是 C 。
A)如果函数定义出现在函数调用之前,可以不必加函数原型声明
B)如果在所有函数定义之前,在函数外部已做了声明,则各个主调函数不必再做函数原型声明
C)函数再调用之前,一定要声明函数原型,保证编译系统进行全面的调用检查
D)标准库不需要函数原型声明
17.以下不正确的说法是 D 。
A)全局变量,静态变量的初值是在编译时指定的
B)静态变量如果没有指定初值,则其初值为0
C)局部变量如果没有指定初值,则其初值不确定
D)函数中的静态变量在函数每次调用时,都会重新设置初值
18.以下不正确的说法是 B 。
A)register变量可以提高变量使用的执行效率
B)register变量由于使用的是CPU的寄存器,其数目是有限制的
C)extern变量定义的存储空间按变量类型分配
D)全局变量使得函数之间的“耦合性”更加紧密,不利于模块化的要求
二.填空题
1.C语言函数返回类型的默认定义类型是 int 。
2.函数调用语句:fun((a,b),(c,d,e))实参个数为 2 。
3.函数的实参传递到形参有两种方式:值传递和地址传递。
4.在一个函数内部调用另一个函数的调用方式称为嵌套调用。在一个函数内部直接或间接调用该函数自身成为函数递归的调用方式。