第八章 函数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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、以下程序的运行结果是。