当前位置:首页 > 第八章 函数
第八章 函数
一、选择题
1. 以下关于函数的叙述中正确的是_______________。
A) 每个函数都可以被其他函数调用(包括main函数) B) 每个函数都可以被单独编译 C) 每个函数都可以单独执行
D) 在一个函数内部可以定义另一个函数 2. 对于函数,正确的说法是________________。
A) 必须有形式参数 B) 必须有返回类型说明 C) 必须有返回语句 D)必须包含函数体 3. 以下叙述中正确的是________________。
A) 函数的定义可以嵌套,但函数的调用不可以嵌套 B) 函数的定义不可以嵌套,但函数的调用可以嵌套 C) 函数的定义和函数的调用均不可以嵌套 D) 函数的定义和函数的调用均可以嵌套 4.以下叙述中正确的是________________。
A) C语言编译时不检查语法 B) C语言的子程序有过程和函数两种 C) C语言的函数可以嵌套定义 D) C语言所有函数都是外部函数 5.以下函数定义正确的是____________。
A) double f(int x, int y) B) double f(int x, y) { z=x+y; { double z=x+y; return z; return z; } }
C) double f(x, y) D) double f(int x, int y) { int x, y; double z; { double z; z=x+y; z=x+y; return z; return z; } }
6.若调用一个函数int f(),且此函数中没有return语句,则正确的说法是____________。
A) 该函数没有返回值 B) 该函数返回一个系统默认值 C) 该函数返回一个确定的值 D) 该函数返回一个不确定的值 7. 若定义函数:
fun (int a, flaot b) { return a+b; }
则该函数的返回类型是____________。 A) void B) int C) float D) 不确定
8. C语言规定,函数返回值的类型是由____________决定的。
A) return语句中的表达式类型 B) 调用该函数时的主调函数
C) 调用该函数时由系统临时 D) 在定义函数时所指定的函数类型 9. 对于函数返回类型,不正确的说法是____________。
A) 可以是int类型 B)可以是数组类型 C) 可以是char类型 D) 可以是void类型 10. 若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是__________。
A) 函数调用可以作为独立的语句存在 B) 函数调用可以作为一个函数的实参 C) 函数调用可以出现在表达式中 D) 函数调用可以作为一个函数的形参 11. 基本类型变量作实参时,它和对应的形参之间的数据传递方式是___________。
A) 值传递 B) 地址传递
C) 由实参传给形参,再由形参传给实参 D) 由函数定义指定传递方式 12. 以下叙述中错误的是___________。
A) 实参可以是常量、变量或表达式 B) 形参可以是常量、变量或表达式 C) 实参可以为任意类型 D) 如果形参与实参的类型不一致,以形参类型为准。 13. 以下函数调用语句中,含有的实参个数是_____________。 calc(exp1, (exp3, exp4, exp5));
A)1 B)2 C)3 D)4
14. 在函数调用时,以下叙述中正确的是_____________。
A)函数调用后必须带回返回值 B)实际参数和形式参数可以同名
C)函数间的数据传递不可以使用全局变量 D)主调函数和被调函数总是在同一个文件里 15. 设函数f的定义形式为
void f(char ch, float x) { …… }
则以下对函数f的调用语句中,正确的是_____________。
A)f(\ B)t=f('D', 16.5); C)f('65', 2.8); D)f(32, 32);
16. 有函数定义void fun(int n, double x) { …… },若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是___________。
A) fun(int y, double m); B) k=fun(10, 12.5); C) fun(x, n); D) void fun(n, x); 17. 若程序中定义了以下函数: double f(double a, double b) { return (a+b); }
并将其放在调用语句之后,则在调用之前应该对该函数进行函数原型说明,以下选项中错误的是________________。
A) double f(double a,b); B) double f(double, double); C) double f(double b, double a); D) double f(double x, double y);
18设函数fun的定义形式为:void fun(char ch[], float x) { …… },则以下对函数fun的调用语句中,正确的是___________。
A) fun(\ B) t=fun('D', 16.5); c) fun('65', 2.8); D) fun(32, 32);
19. 若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误的程序是___________。
A) void main() B) float fun(int a, int b) { …… } { …… x=fun(2,10); …… } void main()
float fun(int a, int b) { …… } { …… x=fun(i, j); …… } C) float fun(int , int); D) void main()
void main() { float fun(int i, int j);
{ …… x=fun(2,10); …… } …… x=fun(i, j); …… } float fun(int a, int b) { …… } float fun(int a, int b) { …… } 20. 下面程序执行后的输出结果是___________。
# include
void F(int x) { return (P*x*x); }
void main() {
printf(\
A) 192 B) 29 C) 25 D) 编译出错 21. 下面程序执行后的输出结果是___________。
# include
if(n= =1) return 1; return f(n-1)+1; }
void main() {
int i, j=0;
for(i=1; i<3; i++) j+=f(i); printf(\
A) 1 B) 2 C) 3 D) 4
22. 若用数组名作为函数调用的参数,传递给形参的是_____。
A) 数组的首地址 B) 数组中第一个元素的值 C) 数组中的全部元素的值 D) 数组元素的个数
23.设主调用函数为如下程序,则函数f中对形参数组定义错误的是_____。itn a[3][4]; f(a);
A) f(int array[3][4]) B) f(int array[][4]) C) f(int array[3][]) 24. 下面程序执行后的输出结果是___________。
# include
int f(int b[], int m, int n) { int i, s=0;
for(i=m; i void main() { int x, a[]=}{1, 2, 3, 4, 5, 6, 7, 8, 9}; x=f(a, 3, 7); printf(\ A) 10 B) 18 C) 8 D) 15 25. 下面程序执行后的输出结果是___________。 # include void fun(int a[], int n, int m) { int i; for(i=m; i>=n; i--) a[i+1]=a[i]; } D) f(int array[4][3]) void main() { int i; int a[N]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; fun(a, 2, 9); for( i=0; i<5; i++) printf(\ A) 10234 B) 12344 C) 12334 D) 12234 26. 下面程序执行后的输出结果是___________。 # include void f(int a[], int i, int j) { int t; if(i t=a[i]; a[i]=a[j]; a[j]=t; f(a, i+1, j-1); } } void main() { int i, aa[5]={1, 2, 3, 4, 5}; f(aa, 0, 4); for(i=0; i<5; i++) printf(\ A) 54321 B) 52341 C) 12345 D) 12543 27. 下面程序执行后的输出结果是___________。 # include t=c[0]; c[0]=c[1]; c[1]=t; } void swap2(int c0, int c1) { itn t; t=c0; c0=c1; c1=t; } void main() { int a[2]={3, 5}, b[2]={3, 5}; swap1(a); swap2(b[0],b[1]); printf(\} A) 5353 B) 5335 C) 3535 D) 3553 28. 以下叙述中错误的是_____。 A) 在不同函数中可以使用相同名字的变量 B) 形式参数只在本函数范围内有定义 C) 在函数内的复合语句中定义的变量在本函数范围内有定义 D) 全局变量在函数内有同名变量定义时,在该函数范围内没有定义
共分享92篇相关文档