第八章 函数 练习 参考答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.以下正确的说法是【】。
在c语言中:
A)实参和与其对应的形参各占用独立的存储单元
B)实参相与其对应的形参共占用一个存储单元
C)只有当实参和与其对应的形参同名时才共占用存储单元
D)形参是虚拟的,不占用存储单元
2.c语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是【】。
A. 地址传递
B. 由实参传给形参,再由形参传回给实参
C. 单向值传递
D. 由用户指定传递方式
3.以下程序有语法性错误。有关错误原因的正确说法是【】。
main()
{int G=5,k;
void prt_char();
.....
k=prt_char(G);
.....}
A)语句void prt_char();有错,它是函数调用语句,不能用void说明
B)变量名不能使用大写字母
C)函数说明和函数调用语句之间有矛盾
D)函数名不能使用下划线
4.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是【】。
A)float型 B)void型 C)long型 D)double型
5.C语言规定,函数返回值的类型是由【】。
A)return语句中的表达式类型所决定
B)调用该函数时的主调函数类型所决定
C)调用该函数时系统临时决定
D)在定义该函数时所指定的函数类型所决定
6.下面函数调用语句含有实参的个数为【】
func((expl,exp2),(exp3,exp4,exp5))
A)1 B)2 C)4 D)5
7.以下正确的描述是【】。
在C语言程序中
A)函数的定义可以嵌套,但函数的调用不可以嵌套
B)函数的定义不可以嵌套,但函数的调用可以嵌套
C)函数的定义和函数的调用均不可以嵌套
D)函数的定义相函数的调用均可以嵌套
8.以下子程序段是选出能被3整除且至少有一位是5的两位数,打印出这样的
数及其个数,请选择填空。
sub(int k,int n)
{int al,a2;
a2=【①】;
a1=k-【②】;
if((k%3==0&&a2==5)||(k%3==0&&a1==5))
{printf(“%d”,k);
n++;
return n;}
else return -l;}
【①】 A)k*10 B)k%10 C)k/10 D)k *10%10
【②】A)a2*10 B)a2 C)a2/10 D)a2%10
10.若用数组名作为函数调用的实参,传递给形参的是【】。
A)数组的首地址 B)数组第一个元素的值
C)数组中全部元素的值 D)数组元素的个数
11.折半查找法的思路是:先确定待查元素的范围,将其分成两半,然后测试位于中间点元素的值。如果该待查元素的值大于中间点元素,就缩小待查范围,只测试中点之后的元素;反之,测试中点之前的元素,测试方法同前。
函数binary的作用是应用折半查找法从存有10个整数的a数组中对关键字m进行查找,若找到,返回其下标值;反之,返回-1。请选择填空。
binary(int a[10],int m)
{int low=0,high=9,mid;
whi1e(low<=high)
{mid=(low十high)/2;