C语言函数练习题及答案.doc

C语言函数练习题及答案.doc
C语言函数练习题及答案.doc

【单选题】

在下列关于C函数定义的叙述中,正确的是?

A、

函数可以嵌套定义,但不可以嵌套调用;

B、

函数不可以嵌套定义,但可以嵌套调用;

C、

函数不可以嵌套定义,也不可以嵌套调用;

D、

函数可以嵌套定义,也可以嵌套调用;

我的答案:B得分:2.5分

2

【单选题】

下面函数调用语句含有实参的个数为?

n c((expl z exp2)z(exp3z exp4A exp5));

A、

B、

D、

5

我的答案:B得分:2.5分

3

【单选题】

c语言中函数返回值的类型是由以下哪个选项决定的?

A、

函数定义时指定的类型;

B、

return语句中的表达式类型;

C、

调用该两数时的实参的数据类型;

D、

形参的数据类型;

我的答案:A得分:2.5分

4

【单选题】

以下关于函数叙述屮,错误的是?

A、

两数未被调用时,系统将不为形参分配内存单元;

B、

实参与形参的个数必须相等,TL实参与形参的类型必须对应一致;

C、

当形参是变量时,实参可以是常量、变量或表达式;

D、

如两数调用时,实参与形参都为变:S,则这两个变量不可能共亨同一内存空间; 我的答案:B得分:2.5分

5

【单选题】

若函数调用时参数为基本数据类型的变量,以下叙述正确的是?

A、

实参与菇对应的形参共享内存存储单元;

B、

只有当实参与菇对应的形参同名时才共享内存存储单元;

C、

实参与对应的形参分别占用不同的内存存储单元;

实参将数据传递给形参后,立即释放原先占用的内存存储单元;

我的答案:C得分:2.5分

6

【单选题】

函数调用时,实参和形参都是简单变量,它们之间数据传递的过程描述正确的是?

A、

实参将地址传递给形参,并释放原先占用的存储单元;

B、

实参将地址传递给形参,调用结束时形参再将此地址回传给实参;

C、

实参将值传递给形参,调用结束时形参再将其值回传给实参;

D、

实参将值传递给形参,调用结束时形参并不将其值回传给实参;

我的答案:D得分:2.5分

7

【单选题】

若用数组名作为函数调用的实参,则传递给形参的是?

A、

数组第一个元索的地址;

数组的第一个元素的值;

C、

数组中所有元素的值;

D、

数组元素的个数;

我的答案:A得分:2.5分

8

【单选题】C语言规定了程序中各函数之I'可调用关系,以下说法正确的是?

既允许直接递归调用也允许间接递归调用;

B、不允许直接递归调用也不允许间接递归调用;

C 允许直接递归调用不允许间接递归调用;

D、不允许直接递归调用允许间接递归调用;

我的答案:A得分:2.5分

9

【单选题】

递归函数f(n)=f(n-l)+n (n>l)的递归体是?

A、

f(l)=O

B、

c.

f(n)=f(n-l)+n

D.

f(n)=n

我的答案:C得分:2.5分

10

【单选题】

若函数的形参为一维数组,则下列说法中正确的是()O A、

使用畅数时的对应实参必为数组名。

B、

形参数组可以不指定大小。

C、

形参数组的元素个数必须等于实参数组的元素个数。

D、

形参数组的元素个数必须多于实参数组的元素个数。我的答案:B得分:2.5分

【单选题】

在函数调用过程中,如果函数fun A调用了函数fun B,函数fun B又调用了函数fun A,则O o

A、

为畅数的直接递归调用

B、

称为换数的间接递归调用

C、

为换数的循环调用

D、

C语言中不允许这样的递归调用

我的答案:B得分:2.5分

12

【单选题】

有以下函数定义:

void fun(int n,double x) { ........ }

下选项中的变量都己正确定义并赋值,则对函数fun的正确调用语句是()。

A、

fun(int y,double m);

B、

fun(x, n);

D.

void fun(n,x);

我的答案:C得分:2.5分

13

【单选题】

己有以下数组定义和f函数调用语句,则在f函数的说明中,对形参数组array的正确定义方式为_________ o

int a[3][4];

f(a);

A、

f(int array[][6])

B、

f(int array[3][])

C、

f(int array[][4])

D、

我的答案:C得分:2.5分

14

【单选题】

若程序中定义函数

float fadd(float a, float b)

{

return a+b;

}

并将其放在调用语句之后,则在调用之前应对该函数进行说明。以下说明中错误的是?

A、

float fadd(float a, b);

B、

float fadd(float b, float a);

C、

float fadd(float, float);

我的答案:A得分:2.5分

D、

float fadd(float a, float b);

【单选题】

下而程序段运行后的输出结果是?

(假设程序运行时输入5, 3回车) int a, b; void swap()

{

int t;

t=a;

a=b;

b=t;

}

void main()

{

int a,b;

scanf(”%d,%d;&a, &b);

swap();

printf (H a=%d z b=%d\n",a z b);

}

A、

a二5, b二3

B、

a二3, b二5

C、

5,3

D、

3,5

我的答案:A得分:2.5分16

【单选题】

以下程序运行后的输出结果是? int fun (int x, int y)

{

if(x>y)

return x;

else

return y;

}

void main()

{

int x=3,y=8,z=6z r;

r=fun(fun(x,y),2*z); printf(n%d\n n z r);

A、

C、

8

D、

12

我的答案:D得分:2.5分17

【单选题】

下列程序的输出结果是()0 #include "stdio.h"

void fun(int a,int b,int c) {

c = a * b;

}

int main()

{

int c;

fun(2z3z c);

printf(u%d\n n z c);

return 0;

B、

1

C、

6

D、

无法确定

我的答案:D得分:2.5分

18

【单选题】

有以下程序,运行后的输出结果是()。

#include

float fun(int x, int y)

{

return(x+y);

}

void main()

{

int a=2,b=5,c=8;

printf(u%3.0f\n,,z fun((int)fun(a+c, b), a-c));

A、

编译出错

B、

9

C、

21

D、

9.0

我的答案:A得分:0.0分

19

【单选题】

以下描述正确的是?

A、

调用函数时的实参只能是有确定值的变就;

B、

return()语句的括号屮,可以是变量、常量或有确定值的表达式;

C、

C语言屮,函数调用时实参和形参间的参数传递方式不都是值传递;

相关主题
相关文档
最新文档