C语言 第六章 函数期末测试习题与答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言第六章函数期末测试习题与答案
1、以下叙述正确的是
A. C语言中除了main函数,其他函数不可作为单独文件形式存在
B.C语言程序是由过程和函数组成的
C.C语言函数可以嵌套调用
D.C语言函数不可以单独编译
参考答案:C
2、以下关于C语言程序中函数的说法正确的是
A.函数的定义和调用均不可以嵌套;
B.函数的定义可以嵌套,但函数的调用不可以嵌套;
C.函数的定义和点用都可以嵌套。
D.函数的定义不可以嵌套,但函数的调用可以嵌套;
参考答案:D
3、若已定义的函数有返回值,则以关于该函数调用的叙述中错误的是
A.调用可以出现在表达式中
B.调用可以作为独立的语句存在
C.调用可以作为一个函数的形参
D.调用可以作为一个函数的实参
参考答案:C
4、以下关于return语句的叙述中正确的是
A.没有return语句的自定义函数在执行结束时不能返同到调用处
B.一个自定义函数中可以根据不同情况设置多条return语句
C.定义成void类型的函数中可以有带返回值的return语句
D.一个自定义函数中必须有一条return语句
参考答案:B
5、C语言规定:函数返回值类型是由
A.return语句中的表达式类型决定
B.调用该函数时系统临时决定
C. 定义该函数时所指定的函数类型决定
D.调用该函数时的主调函数类型决定
参考答案:C
6、以下错误的描述是()
函数调用可以_____
A.出现在执行语句中
B.出现在一个表达式中
C.做为一个函数的形参
D.做为一个函数的实参
参考答案:C
7、以下说法不正确的是()
C语言规定:
A.实参可以是任意类型
B.实参可以是常量、变量或表达式
C.形参应与其对应的实参类型一致
D.形参可以是常量、变量或表达式
参考答案:D
8、C语言规定,简单变量作实参,它与对应形参之间的数据传递方式是()
A.由用户指定传递方式
B.单向值传递
C.地址传递
D.双向值传递
参考答案:B
9、当调用函数时,实参是一个数组名,则向函数传送的是()
A.数组的首地址
B.数组每个元素中的值
C.数组每一个元素的地址
D.数组的长度
参考答案:A
10、
以下正确的说法是( )。
如果在一个函数中的复合语句中定义了一个变量,则该变量
A.为非法变量
B.只在该复合语句中有效
C.在本程序范围内有效
D.在该函数中有效
参考答案:B
11、以下不正确的说法为()
A.在不同函数中可以使用相同名字的变量
B.在函数内定义的变量只在本函数范围内有效
C.在函数内的复合语句中定义的变量在本函数范围内有效
D.形式参数是局部变量
参考答案:C
12、以下正确的说法是()
A.系统根本不允许用户重新定义标准库函数
B.用户可以重新定义标准函数,若如此,该函数将失去原有含义
C.用户若需调用标准库函数,调用前必须重新定义
D.用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调
参考答案:B
13、在C语言中,以下正确的说法是()
A.实参和与其对应的形参共占用一个存储单元
B.实参和与其对应的形参各占用独立的存储单元
C.只有当实参和与其对应的形参同名时才共占用存储单元
D.形参是虚拟的,不占用存储单元
参考答案:B
14、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是()
A.long 型
B.float型
C.int 型
D.double 型
参考答案:C
15、在C语言中,函数的隐含存储类别是()
A.static
B.无存储类别
C.auto
D.extern
参考答案:D
16、以下只有在使用时才为该类型变量分配内存的存储类说明是()
A.auto和 static
B. auto和 register
C.register和 static
D.extern和 register
参考答案:B
17、以下函数定义正确的是()
A.double fun(int x; int y)
B. double fun(int x, int y)
C.double fun(int x , y)
D.double fun(int x, int y)
参考答案:B
18、以下正确的函数形式是()
A.fun(x,y)
{int x,y; double z; z=x+y; return z;}
B.fun (int x,y)
{int z;return z;}
C.double fun(int x,int y)
{z=x+y;return z;}
D.double fun(int x,int y)
{double z;
z=x+y; return z;}
参考答案:D
19、有如下函数调用语句