答案第七章 函数..

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第七章函数

一、选择题

1.以下函数声明正确的是: C 。(02~03第一学期试题)

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)

2.C语言规定,简单变量作实参,它与对应形参之间的数据传递方式是: B 。(0级)

A)地址传递;B)单向值传递;

C)双向值传递;D)由用户指定传递方式

3.以下关于C语言程序中函数的说法正确的是: B 。(0级)

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

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

C)函数的定义和调用均不可以嵌套;

D)函数的定义和点用都可以嵌套。

4.以下正确的函数形式是: D 。(1级)

A)double fun(int x,int y) B)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;} z=x+y; return z;}

5.以下说法不正确的是: B 。(1级)

C 语言规定A)实参可以是常量、变量或表达式

B)形参可以是常量、变量或表达式

C)实参可以是任意类型

D)形参应与其对应的实参类型一致

6.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是 B 。(0级)

A) float型B) int 型C)long 型D)double 型

7.以下错误的描述是 D 。(0级)

函数调用可以

A)出现在执行语句中B)出现在一个表达式中

C)做为一个函数的实参D)做为一个函数的形参

8.若用数组名作为函数调用的实参,传递给形参的是 A 。(0级)

A)数组的首地址B)数组第一个元素的值

C)数组中全部元素的值D)数组元素的个数

9.以下正确的说法是 A 。(0级)

如果在一个函数中的复合语句中定义了一个变量,则该变量

A)只在该复合语句中有效B)在该函数中有效

C)在本程序范围内有效D)为非法变量

10.以下不正确的说法为D 。(0级)

A)在不同函数中可以使用相同名字的变量

B)形式参数是局部变量

C)在函数内定义的变量只在本函数范围内有效

D)在函数内的复合语句中定义的变量在本函数范围内有效

11.凡是函数中未指定存储类别的局部变量,其隐含的存储类别为 A 。(0级)

A)自动(auto)B)静态(static)

C)外部(extern)D)寄存器(register)

12.下面程序的正确运行结果是: D 。(1级)

main( )

{int a=2, i;

for(i=0;i<3;i++) printf(“%4d”,f(a) ); }

f( int a)

{ int b=0; static int c=3;

b++; c++;

return (a+b+c);}

A)777B)71013C)7911D)789

13.C语言规定:函数返回值类型是由: D 。(0级)

A)return语句中的表达式类型决定B)调用该函数时的主调函数类型决定

C)调用该函数时系统临时决定

D)定义该函数时所指定的函数类型

14决定下面函数调用语句中实参的个数为: B 。(1级)

func((exp1,exp2),(exp3,exp4,exp5))

A) 1 B) 2 C) 4 D) 5

15返回值的类型int。(1级)f(float a){ return a ;}

A) 与参数a的类型相同B) void类型

C) 没有返回值D) 无法确定

16建立函数的目的之一是: B 。(0级)

A)提高程序的执行效率B) 提高程序的可读性

C) 减少程序的篇幅D) 减少程序文件所占内存

17.正确 C 。(0级)

A)定义函数时,形参的类型说明可以放在函数体内

B)return后边的值不能为表达式

C)如果函数值的类型与返回值类型不一致,以函数值类型为准

D)如果形参与实参的类型不一致,以实参类型为准

18.以下正确的说法是 B 。(0级)

A)用户若需调用标准库函数,调用前必须重新定义

B)用户可以重新定义标准函数,若如此,该函数将失去原有含义

C)系统根本不允许用户重新定义标准库函数

D)用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到

用户源文件中,系统自动去调

19.以下正确的说法是 A 。(0级)

在C语言中:A)实参和与其对应的形参各占用独立的存储单元

B) 实参和与其对应的形参共占用一个存储单元

C) 只有当实参和与其对应的形参同名时才共占用存储单元

D) 形参是虚拟的,不占用存储单元

20.若使用一维数组名作函数实参,则以下正确的说法是 A 。(0级)

A)必须在主调函数中说明此数组的大小

B) 实参数组类型与形参数组类型可以不匹配

C) 在被调函数中,不需要考虑形参数组的大小

D) 实参数组名与形参数组名必须一致

21.有如下函数调用语句

func(rec1,rec2+rec3,(rec4,rec5);

该函数调用语句中,含有的实参个数是 A 。(1级)

A) 3 B) 4 C) 5 D) 有语法错

22.有如下程序

int runc(int a,int b)

{ return(a+b);}

main( )

{ int x=2,y=5,z=8,r;

r=func(func(x,y),z);

printf(“%\d\n”,r);

}

该程序的输出的结果是 D 。(1级)

A) 12 B) 13 C) 14 D) 15

23.有如下程序

long fib(int n)

{ if(n>2) return(fib(n-1)+fib(n-2));

else return(2);

}

main( )

{ printf(“%d\n”,fib(3));

该程序的输出结果是 B 。(1级)

A}2 B}4 C}6 D} 8

24.有以下程序

voidf(int x,int y)

{ int t;

if(x

}

main()

{ int a=4,b=3,c=5;

f(a,b); f(a,c); f(b,c);

printf("%d,%d,%d\n",a,b,c);

}

执行后输出的结果是 D 。(1级)

A) 3,4,5 B) 5,3,4 C) 5,4,3 D) 4,3,5

25.以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。

#define N 10

void arrin(int x[N])

{ int i=0;

相关文档
最新文档