内容正文:
《编程语言基础——C语言》高等教育出版社(第5版)
第六章 函数 章节过关卷
考试时间90分钟 满分100分
班级 姓名 成绩
1、 单项选择题(本题15小题,每小题2分,满分30分)
1. 以下关于函数的说法中正确的是( ).
A.函数内可以定义其他函数 B.函数内可以调用其他函数
C.任何函数包括主函数都可以被调用 D.定义过的函数必须被调用
2. 如果一个函数定义时没有指定返回类型,则其返回类型是( ).
A.int B.float C.double D.void
3. 可以使用多种形式实现函数调用,以下形式中________是非法的.( )
A.函数语句 B.函数表达式 C.函数形参 D.函数实参
4. 以下关于数组作为函数参数传递的说法中,正确的是( ).
A.形参是数组时,既可传递数组元素,也可传递整个数组
B.形参是整型变量时,即可传递整型数组元素,也可传递整个整型数组
C.形参和实参都是数组时,是将实参的各个元素值传递给形参的对应数组元素
D.形参和实参都是数组时,是将实参的数组首地址传递给形参的数组首地址
5. 以下函数值的类型是( ).
fun(float x)
{
float y;
y=3*x-4;
return y;
}
A.int B.不确定 C.void D.float
6. 在C语句中函数得隐含存储类型就是( ).
A.auto B.static C.extern D.无存储类别
7. 下面对函数嵌套的叙述中,正确的是( ).
A.函数定义可以嵌套,但函数调用不能嵌套
B.函数定义不可以嵌套,但函数调用可以嵌套
C.函数定义和函数调用均不能嵌套
D.函数定义和函数调用均可以嵌套
8. 在C程序中可以使用多种形式实现函数的调用,实参的值传递形参是( ).
A.单向传递 B.双向传递 C.多向传递 D.不确定
9. 在调用函数时,如果实参是变量,它与对应的形参之间的数据传递是( ).
A.传递方式由用户指定 B.由实参传给形参,再由形参传回实参
C.地址传递 D.单向值传递
10. 下列程序的输出结果是( ).
#include<stdio.h>
int fun(int x)
{
printf(“x=%d
”,++x);
}
int main()
{
fun(10);
return 0;
}
A.x=12 B.x=13 C.x=11 D.x=18
11. 如果局部变量和成员变量同名,如何在局部变量中引用成员变量.( )
A.在成员变量前加this,使用this访问该成员变量
B.不能引用,必须改名
C.在成员变量前加super,使用super访问该成员变量
D.不影响,系统可以自己区分
12. 调用一个函数,此函数中没有 return 语句,下列说法正确的是: 该函数( ).
A.没有返回值
B.返回若干个系统默认值
C.能返回一个用户所希望的函数值
D.返回一个不确定的值
13. 关于变量的存储类型,下列说错误的是( ).
A.函数形参默认为是自动变量
B.全局变量默认为是静态变量
C.局部变量没有缺省值
D.静态变量具有缺省值0
14. 以下函数调用语句中含有( )个实参.
fun ( (exp1,exp2) , (exp3,exp4,exp5) ) ;
A.1 B.2 C.4 D.5
15. 下列函数调用语句,调用的最终的实参是( ).
fun(a,b,(c,d))
A.a,b,c B.b,c,d C.a,b,d D.a,c,d
二、判断题(本题15小题,每小题2分,满分30分)
1. A函数调用B函数,B函数调用A函数,这种调用方式是嵌套调用.( )
2. 对于有参函数,在调用函数时,主调函数在调用被调用函数时,通过实参向被调用函数传递数据.( )
3. 多维数组也可以作为函数的参数。在函数定义时对形参数组可以指定每一维的长度,也可省去第一维的长度.( )
4. 数组作为函数的参数时默认的传递形式是按值传递.( )
5. 如果局部变量和