基本信息
文件名称:c语言函数试题及答案.doc
文件大小:26.62 KB
总页数:9 页
更新时间:2025-06-18
总字数:约3.04千字
文档摘要

c语言函数试题及答案

一、单项选择题(每题2分,共20分)

1.以下关于C语言函数定义的说法正确的是()

A.函数必须有返回值

B.函数可以没有参数

C.函数定义可以嵌套

D.函数不能调用自身

答案:B

2.若函数的定义形式为:`voidfun(inta,charb)`,则该函数()

A.有返回值且返回值为void类型

B.有返回值且返回值为int类型

C.无返回值

D.有返回值且返回值为char类型

答案:C

3.以下函数声明正确的是()

A.`intfun(inta;intb);`

B.`intfun(inta,intb)`

C.`intfun(inta,intb);`

D.`intfuna,b;`

答案:C

4.在C语言中,函数调用时()

A.实参和形参各占独立的存储单元

B.实参和形参共用存储单元

C.由系统自动确定实参和形参是否共用存储单元

D.以上都不对

答案:A

5.若有函数定义`intadd(inta,intb){returna+b;}`,则函数返回值类型是()

A.void

B.int

C.不确定

D.由调用函数时决定

答案:B

6.以下哪种函数不能被其他源文件调用()

A.全局函数

B.静态函数

C.内联函数

D.普通函数

答案:B

7.函数调用时,实参的个数和类型应该与()一致。

A.函数定义中的形参个数和类型

B.函数声明中的形参个数和类型

C.A和B都对

D.A和B都不对

答案:C

8.以下关于函数递归的说法错误的是()

A.递归函数必须有终止条件

B.递归函数效率一定比非递归函数高

C.递归函数调用自身

D.递归函数可能导致栈溢出

答案:B

9.若有函数`voidswap(inta,intb)`,调用该函数实现两个整数交换正确的是()

A.`intx=5,y=10;swap(x,y);`

B.`intx=5,y=10;swap(x,y);`

C.`intx=5,y=10;swap(x,y);`

D.`intx=5,y=10;swap(x,y);`

答案:B

10.函数定义中形参变量的作用域是()

A.整个程序

B.函数定义所在源文件

C.该函数内部

D.从定义处到文件结尾

答案:C

二、多项选择题(每题2分,共20分)

1.以下属于C语言函数特点的有()

A.模块化

B.提高代码复用性

C.可以嵌套定义

D.可以嵌套调用

答案:ABD

2.关于函数声明,正确的是()

A.函数声明可以省略形参名

B.函数声明必须在函数调用之前

C.函数声明和函数定义中的形参个数和类型必须一致

D.函数声明的作用是把函数的名字、函数类型以及形参类型、个数和顺序通知编译系统

答案:ABCD

3.以下哪些情况函数返回值类型可以省略()

A.函数返回值为int类型

B.函数没有返回值

C.函数返回值为void类型

D.函数返回值为char类型

答案:AC

4.调用函数时,实参可以是()

A.常量

B.变量

C.表达式

D.函数调用

答案:ABCD

5.以下关于函数参数传递说法正确的是()

A.实参向形参传递值

B.形参向实参传递值

C.可以通过指针实现双向数据传递

D.函数参数传递都是单向的

答案:AC

6.以下哪些函数属于标准库函数()

A.`printf`

B.`scanf`

C.`sqrt`

D.`main`

答案:ABC

7.关于静态函数,正确的是()

A.静态函数只能在定义它的源文件中被调用

B.静态函数可以在其他源文件中被调用

C.静态函数的作用域是整个程序

D.静态函数的生存期是整个程序运行期间

答案:AD

8.函数递归调用的条件包括()

A.有递归终止条件

B.每次递归调用都向终止条件靠近

C.递归函数必须有返回值

D.递归函数调用自身

答案:ABD

9.以下哪些函数参数传递方式可以改变实参的值()

A.值传递

B.指针传递

C.数组名作为参数传递

D.引用传递(C语言中没有直接引用传递概念,但类似情况)

答案:BC

10.函数的返回值可以是()

A.基本数据类型

B.指针类型

C.结构体类型

D.数组类型

答案:ABC

三、判断题(每题2分,共20分)

1.函数定义中形参必须指定类型。()

答案:对

2.函数可