第八章 函数

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

第八章函数

一、选择题:

1、在C语言中,以下说法中正确的是:()

A. 实参与其对应的形参各占用独立的存储单元

B. 实参与其对应的形参占用同一个存储单元

C. 只有当实参与形参同名时才占用同一个存储单元

D. 实参占用存储单元,但形参是虚拟的,不占用存储单元

2、以下正确的函数形式是:()

A. double fun(int x, int y) { z=x+y; return z;}

B. fun(int x,y) { int z; return z;}

C. fun(x,y) { int x,y; double z; z=x+y; return z;}

D. double fun(int x, int y) { double z; z=x+y; return z;}

3、以下正确的函数定义形式是()

A. double fun(int x, int y)

B. double fun(int x ;int y)

C. d ouble fun(int x, int y);

D. d ouble fun(int x,y);

4、定义为void类型的函数,其含义是()

A. 调用函数后,被调用的函数没有返回值

B. 调用函数后,被调用的函数不返回

C. 调用函数后,被调用的函数的返回值为任意的类型

D. 以上三种说法都是错误的

5、定义C语言函数时,形参可以是:()

A. 常量

B. 变量

C. 表达式

D. 宏定义

6、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是:()

A. float型

B. int型

C. long型

D. double型

7、下面函数

f(double x)

{printf(“%6d”,x);}的类型为: ( ) A. 实型 B. void 类型 C. int 类型 D. 均不正确

8、有以下程序

void f(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);

}

执行后输出的结果是:()

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

9、C语言中,简单变量做实参时,它和对应的形参之间的数据传递方式是()。(A)地址传递(B)单向值传递

(C)由实参传给形参,再由形参传递给实参

(D)同用户指定传递方式

10、有以下程序

#include

int f(int x,int y)

{ return ((y-x)*x);}

main()

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

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

printf("%d",d);

}

程序运行后的输出结果是:()

A. 10

B. 9

C. 8

D. 7

11、数组名作为实参传递给被调用的函数时,形参获得的是()

A. 该数组第一个元素的值

B. 该数组所有元素的值

C. 该数组第一个元素的首地址

D. 该数组所有元素的首地址

12、若使用一维数组名作函数实参, 则以下正确的说法是:()

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

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

C. 在被调用函数中, 要设置形参数组的大小

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

13、下列程序的输出结果是()。

f (int b[ ] , int m , int n)

{ int i , s=0;

for(i=m ; i<=n ; i++)s=s+b[i] ;

return s ; }

main()

{ int x , a[ ]={1, 2, 3, 4, 5, 6, 7, 8, 9};

x=f (a , 3 ,5 );

printf("%d\n " , x) ; }

(A)15 (B)22 (C)30 (D)0

14、为了提高程序的运行速度,在函数中对于整型或指针可以使用的变量类型是:()

A. auto

B. register

C. static

D. extern

15、若函数中有定义语句:int k;,则下列说法正确的是:()

A. 系统将自动给k赋初值0

B. 这时k中的值不确定

C. 系统将自动给k赋初值-1

D. 这时k中无任何值

16、C语言中形参的缺省存储类别是()

A.自动(auto)

B.静态(static)

C. 寄存器(register)

D. 外部(extern)

17. 下列叙述中错误的是:()

A. 引用函数说明中指定的形参名,不必与函数定义中对应的形参名相同。

B. 不能用extern定义一个外部变量、数组。

C. 无论在函数外还是在函数内部引用自定义的函数,都可以不写extern关键字。

D. 用extern说明引用一个外部数组时,可以不给出数组大小。

18.在一个源文件中定义的全局变量的作用域为:()

A. 本文件的全部范围

B. 从定义该变量开始至本文件结束

C. 本函数的全部范围

D. 本程序的全部范围

二、填空题:

1、在C语言中,函数默认是。(填“全局的”或“局部的”)

2、已知函数定义为:int stat(int a,float *p)

{……………}

则此函数的两个参数类型分别是、。

3、选择法排序函数:

void sort(int array[],int n)

{ int i,j,k,t;

for(i=0;i

{ k=i;

for(; j

if(array[j]

t=array[k];

;

array[i]=t; } }

三、看程序写结果:

1、以下程序的运行结果是。

相关文档
最新文档