第五章 函数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第五章函数
一. 单项选择题
1.假设a,b,c,e,f,g都已正确定义,则函数调用语句“f(a+b,c,(e,f,g));”中参数的个数是(B )
A.2
B.3
C.5
D.6
2.以下对C 语言函数的有关描述中,正确的是(A )
A.在C 语言中,调用函数时,只能把实参的值传递给形参,形参的值不能传递给实参
B.C 函数既可以嵌套定义,又可以递归调用
C.函数必须有返回值,否则不能定义成函数
D.C 程序中,有调用关系的所有函数必须放在同一个源程序文件中
3.以下程序的输出结果是:
#include
float sum(int n)
{
int s=0,i;
for(i=1;i<=n;i++)
s+=i;
return s;
}
void main()
{
int n;
printf("sum=%f\n",sum(10)); D
}
A.sum=10
B.sum=55
C.sum=10.000000
D.sum=55.000000
4.以下程序的输出结果是:
#include
fun(int n)
{
double x=3.14159;
if(n>0) return x*n;
else return x*n*(-1);
}
void main()
{
printf("%d\n",abs(-3));
}
D
A.-9.42477
B.9.42477
C.-9
D.9
二. 填空题:
1.阅读函数,写出函数的主要功能:
float av(int a[],int n)
{ int i;
float s;
for(i=0,s=0;i return s/n; } 2. 函数的形式参数的作用域为_____,全局的外部变量和函数体内定义的局部变量重名时,________变量优先。 3.以下程序的输出结果是: #include void main() { void swap(); extern int a,b; a=3; b=10; swap(); printf("a=%d,b=%d\n",a,b); } int a,b; void swap() { int temp; temp=a;a=b;b=temp; } 4.以下程序的输出结果是: int f(int a) { auto int b=0; static int c=3; b=b+1; c=c+1; return (a+b+c); } void main() { int a=2,i; for (i=0;i<3;i++) printf(“%d\n”,f(a)); } 5.以下程序的运行结果是: #include int func(int a,int b); void main() { int k=4,m=1,p; p=func(k,m);printf("%d,",p); p=func(k,m);printf("%d\n",p); } int func(int a,int b) { static int m=0,i=2; i+=m+1; m=i+a+b; return m; } 6.以下程序的运行结果是: #include int func(int a,int b); void main() { static int k=4,m=1,p; p=func(k,m);printf("%d,",p); p=func(k,m);printf("%d\n",p); } int func(int a,int b) { static int m=0,i=2; i+=m+1; m=i+a+b; return m; } 7.以下程序的运行结果是: #include int fun(int k); int w=3; void main() { int w=10; printf("%d\n",fun(5)*w); } int fun(int k) { if(k==0) return w; return(fun(k-1)*k); }