1、二级 C 语言-函数(三)及答案解析(总分:54.00,做题时间:90 分钟)一、B选择题/B(总题数:32,分数:32.00)1.下列程序段正确的是_。 A. #include stdio.h main() int i, j; int(i)=j; B. #include stdioh; include stdioh #include stdioh main() C. main() int i, j; D. main() (分数:1.00)A.B.C.D.2.以下函数:fff(float x) printf(“% d/n“, x*x);的类型是_。 A.与参数 x 的类型相同 B.void 类
2、型 C.int 类型 D.无法确定(分数:1.00)A.B.C.D.3.有以下函数调用语句:func(exp1, exp2), (exp3, exp4, exp5);其中含有的实参个数和是_。 A.1 B.2 C.4 D.5(分数:1.00)A.B.C.D.4.以下程序的输出结果是_。#include stdio.hfunc (int a, int b) int temp=a;a=b; b=temp;main() int x, y;x=10; y=20;func (x, y);printf(“% d, % d/n“, x, y); A.10,20 B.10,10 C.20,10 D.20,20
3、(分数:1.00)A.B.C.D.5.以下程序的输出结果是_。试题程序#include stdio.hmain() int i=2, p;p=f(i, i+1);printf(“% d/n“, p);int f(int a, int b) int c;c=a;if(ab)c=1;else if(a=b)c=0;elsec=-1;return(c); A.-1 B.0 C.1 D.2(分数:1.00)A.B.C.D.6.若已定义的函数有返回值,则以下关于该函数调用的叙述中,错误的是_。 A.函数调用可以作为独立的语句存在 B.函数调用可以作为一个函数的实参 C.函数调用可以出现在表达式中 D.函
4、数调用可以作为一个函数的形参(分数:1.00)A.B.C.D.7.以下程序的输出结果是_。#include stdio.hfunc (int a, int b) int c;c=a+b;return c;main() int x=6, r;r=func(x, x+=2);printf(“% d/n“, r); A.14 B.15 C.16 D.17(分数:1.00)A.B.C.D.8.以下叙述中,正确的是_。 A.C 语言程序总是从第一个定义的函数开始执行 B.在 C 语言程序中,要调用的函数必须在 main()函数中定义 C.C 语言程序总是从 main()函数开始执行 D.C 语言程序中的
5、 main()函数必须放在程序的开始部分(分数:1.00)A.B.C.D.9.若有以下程序:#include stdio.hvoid f(int n);main() void f(int n);f(5);void f(int n) printf(“% d/n“, n);则以下叙述中,不正确的是_。 A.若在主函数中对函数 f()进行说明,则只能在主函数中正确调用函数 f() B.若在主函数前对函数 f()进行说明,则在主函数和其他函数中都可以正确调用 f() C.对于以上程序,编译时系统会报错,提示对 f()函数重复说明 D.函数 f()无返回值,所以可用 void 将其类型定义为无值型(分数
6、:1.00)A.B.C.D.10.以下程序的输出结果是_。#include stdio.hint func (int n) if(n=1)return 1;elsereturn (n*func(n-1);main() int x;x=func(3);printf(“% d/n“, x); A.5 B.6 C.7 D.8(分数:1.00)A.B.C.D.11.以下程序的输出结果是_。#include stdio.hlong fun(int n) long s;if(n=1|n=2)s=2;elses=n+fun(n-1);return s;main() printf(“/n% ld“, fun(
7、4); A.7 B.8 C.9 D.10(分数:1.00)A.B.C.D.12.以下叙述中,正确的是_。 A.局部变量说明为 static 的存储类,其生存期将得到延长 B.全局变量说明为 static 的存储类,其作用域将被扩大 C.任何存储类的变量在未赋初值时,其值都是不确定的 D.形参可以使用的存储类说明符与局部变量完全相同(分数:1.00)A.B.C.D.13.在 C 语言中,形参的默认存储类说明是_。 A.auto B.static C.register D.extern(分数:1.00)A.B.C.D.14.以下函数值的类型是_。fun(float x) float y;y=3*x
8、-4;return y; A.int B.不确定 C.void D.float(分数:1.00)A.B.C.D.15.以下程序的输出结果是_。#include stdio.hint a, b;void fun() a=100; b=200; main() int a=5, b=7;fun();printf(“% d% d/n“, a, b); A.100200 B.57 C.200100 D.75(分数:1.00)A.B.C.D.16.以下程序的输出结果是_。#include stdio.hint x=3;main() int i;for (i=1; ix; i+)incre();incre(
9、) static int x=1;x*=x+1;printf(“% d“, x); A.33 B.22 C.26 D.25(分数:1.00)A.B.C.D.17.以下程序的输出结果是_。#include stdio.hint f(int n) if(n=1)return 1;else return f(n-1)+i;main() int i, j=0;for(i=1; i3; i+)j+=f(i);printf(“% d/n“, j); A.4 B.3 C.2 D.1(分数:1.00)A.B.C.D.18.以下程序的输出结果是_。#include stdio.hint d=1;fun(int
10、p) int d=5;d+=p+;printf(“% d“, d);main() int a=3;fun(a);d+=a+;printf(“% d/n“, d); A.84 B.96 C.94 D.85(分数:1.00)A.B.C.D.19.函数调用 strcat(strcpy(str1, str2), str3)的功能是_。 A.将字符串 str1 复制到字符串 str2 中后再连接到字符串 str3 之后 B.将字符串 str1 连接到字符串 str2 之后再复制到字符串 str3 之后 C.将字符串 str2 复制到字符串 str1 中后再将字符串 str3 连接到字符串 str1 之后
11、 D.将字符串 str2 连接到字符串 str1 之后再将字符串 str1 复制到字符串 str3 中(分数:1.00)A.B.C.D.20.有以下程序:int sub (int n) if(n5) return 0;else if(n12) return3;return 1;if(n5) return 2;main() int a=10;printf(“% d/n“, sub(a);该程序的输出结果是_。 A.0 B.1 C.2 D.3(分数:1.00)A.B.C.D.21.以下程序的输出结果是_。#include stdio.hint d=1;fun(int p) static int d
12、=5;d+=p;printf(“% d“, d);return (d);main() int a=3;printf(“% d/n“, fun(a+fun(d); A.699 B.669 C.61515 D.6615(分数:1.00)A.B.C.D.22.在一个源文件中定义的外部变量的作用域为_。 A.本文件的全部范围 B.本程序的全部范围 C.本函数的全部范围 D.从定义该变量的位置开始至本文件结束(分数:1.00)A.B.C.D.23.以下叙述中,正确的是_。 A.全局变量的作用域一定比局部变量的作用域范围大 B.静态(static)类别变量的生存期贯穿于整个程序的运行期间 C.函数的形参都
13、属于全局变量 D.未在定义语句中赋初值的 auto 变量和 static 变量的初值都是随机值(分数:1.00)A.B.C.D.24.以下对 C 语言函数的描述中,正确的是_。 A.C 程序由一个或一个以上的函数组成 B.C 函数既可以嵌套定义又可以递归调用 C.C 函数必须有返回值,否则不能使用函数 D.C 程序中调用关系的所有函数必须放在同一个程序文件中(分数:1.00)A.B.C.D.25.C 语言中形参的默认存储类别是_。 A.自动(auto) B.静态(static) C.寄存器(register) D.外部(extern)(分数:1.00)A.B.C.D.26.以下叙述中,不正确的
14、是_。 A.在 C 语言中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参 B.在 C 函数中,最好使用全局变量 C.在 C 语言中,形式参数只是局限于所在函数 D.在 C 语言中,函数名的存储类别为外部(分数:1.00)A.B.C.D.27.C 语言中函数返回值的类型由_决定。 A.return 语句中的表达式类型 B.调用函数的主调函数类型 C.调用函数时的临时类型 D.定义函数时所指定的函数类型(分数:1.00)A.B.C.D.28.C 语言规定,调用一个函数时,实参变量和形参变量之间的数据传递是_。 A.地址传递 B.由实参传给形参,并由形参返回给实参 C.值传递 D.由
15、用户指定传递方式(分数:1.00)A.B.C.D.29.在 C 语言中_。 A.函数的定义可以嵌套,但函数的调用不可以嵌套 B.函数的定义和调用均可以嵌套 C.函数的定义和调用均不可以嵌套 D.函数的定义不可以嵌套,但函数的调用可以嵌套(分数:1.00)A.B.C.D.30.以下函数调用语句中,含有的实参个数是_。fun(x+y, (e1, e2), fun(xy, d, (a, b); A.3 B.4 C.6 D.8(分数:1.00)A.B.C.D.31.以下程序的输出结果是_。#include stdio.hfun(int x) static int a=3;a+=x;return(a);
16、main() int k=2, m=1, n;n=fun(k);n=fun(m);printf(“% d“, n); A.3 B.4 C.6 D.9(分数:1.00)A.B.C.D.32.以下程序的输出结果是_。#include stdio.hint func(int a, int b)return(a+b);main() int x=2; y=5, z=8, r;r=func (func (x, y), z);printf(“% d/n“, r); A.12 B.13 C.14 D.15(分数:1.00)A.B.C.D.二、B操作题/B(总题数:6,分数:22.00)33.下列给定程序中,函
17、数 fun()的功能是进行数字字符转换。若形参 ch 中是数字字符09,则将0转换成9,1转换成8,2转换成7,9转换成0;若是其他字符则保持不变,并将转换后的结果作为函数值返回。请在标号处填入正确的内容,使程序得出正确的结果。注意:部分源程序给出如下。不得增行或删行,也不得更改程序的结构。试题程序#include stdio.h_ fun(char ch) if(ch=0return ch;main() char c1, c2;printf(“/nThe result:/n“);c1=2; c2=fun(c1);printf(“c1=% cc2=% c/n“, c1, c2);c1=8; c
18、2=fun(c1);printf(“c1=% cc2=% c/n“, c1, c2); c1=a; c2=fun(c1);printf(“c1=% cc2=% c/n“, c1, c2);(分数:11.00)填空项 1:_34.下列给定程序中函数 fun()的功能是:计算 S=f(-n)+f(-n+1)+f(0)+f(1)+f(2)+f(n)的值。例如,当 n 的值为 5 时,函数值应为 10.407143。f(x)函数定义如下:_35.以下程序用以求阶乘的累加和,请阅读程序并填空。S=0!+1!+2!+n!试题程序#include stdio.hlong f(int n) int i;lon
19、g s;s=_;for(i=1; i=n; i+)s=_;return s;main() long s;int k, n;scanf( “% d“, s=_;for(k=0; k=n; k+)s=s+_;printf(“% ld/n“, s);(分数:11.00)填空项 1:_36.编写函数 fun(),其功能是计算:s=ln(1)+ln(2)+ln(3)+ln(m)s 的平方根作为函数值返回。在 C 语言中,可调用 log(n)函数求 ln(n)。log 函数的引用说明为:double log(double x)。例如,若 m 的值为 20,则 fun 函数值为 6.506583。注意:部分
20、源程序给出如下。请勿改动主函数 main()和其他函数中的任何内容,仅在函数:fun()的花括号中填入你编写的若干语句。试题程序#include stdlib.h#include conio.h#include stdio.h#include math.hdouble fun(int m)void main() printf(“% f/n“, fun(20);_37.下列给定程序中函数 fun 的功能是:用递归算法计算斐波拉契数列中第 n 项的值。从第 1 项起,斐波拉契数列为 1、1、2、3、5、8、13、21、例如,若给 n 输入 7,则该项的斐波拉契数值为 13。请改正程序中的错误,使它
21、能得出正确的结果。注意:不要改动 main()函数,不得增行或删行,也不得更改程序的结构。试题程序#include stdio.hlong fun(int g) /* * * * *found* * * * */switch(g); case 0:return 0;/* * * * *found* * * * */case 1; case 2:return 1;return (fun(g-1)+fun(g-2);void main() long fib; int n;printf(“Input n:“);scanf(“% d“, printf(“n=% d/n“, n);fib=fun(n);
22、printf(“fib=% d/n/n“, fib);_38.下列给定程序中 fun()函数的功能是:求表达式s=aaaa-aaa-aa-a(此处 aaaa 表示 n 个 a,a 和 n 的值在 19)例如,a=3, n=6,则以上表达式为:s=333333-33333-3333-333-33-3其值是 296298。a 和 n 是 fun()函数的形参,表达式的值作为函数值传回 main()函数。请改正程序中的错误,使它能计算出正确的结果。注意:不要改动 main()函数,不得增行或删行,也不得更改程序的结构。试题程序#include stdio.hlong fun(int a, int n
23、) int j;/* * * * *found* * * * * /long s=0, t=1;for (j=0; jn; j+)t=t*10+a;s=t;for(j=1; jn; j+) /* * * * *found* * * * * /t=t% 10s=s-t;return (s);main() int a, n;printf(“/nPlease enter a and n:“);scanf(“% d% d“, printf(“The value of function is% ld/n“, fun(a, n);_二级 C 语言-函数(三)答案解析(总分:54.00,做题时间:90 分钟
24、)一、B选择题/B(总题数:32,分数:32.00)1.下列程序段正确的是_。 A. #include stdio.h main() int i, j; int(i)=j; B. #include stdioh; include stdioh #include stdioh main() C. main() int i, j; D. main() (分数:1.00)A.B.C.D. 解析:解析 选项 A 错在调用库函数 int 时,将它放在赋值号的左边;选项 B 中在第一行使用 include命令时,最后放了一个分号:选项 C 在使用 include 命令时,缺少一个“#“号。2.以下函数:f
25、ff(float x) printf(“% d/n“, x*x);的类型是_。 A.与参数 x 的类型相同 B.void 类型 C.int 类型 D.无法确定(分数:1.00)A.B.C. D.解析:解析 在函数的首部(第一行),函数名(在此是 fff)的前面应当是一个类型名,此类型名规定了函数返回值的类型;此类型名可以省略,这时 C 默认函数返回值的类型为 int,因此本题的答案应当是C。读者应当记住:当定义函数时,函数名前缺类型名时,函数返回值的类型应为 int。3.有以下函数调用语句:func(exp1, exp2), (exp3, exp4, exp5);其中含有的实参个数和是_。 A
26、.1 B.2 C.4 D.5(分数:1.00)A.B. C.D.解析:解析 在调用函数时,实参可以是表达式,若有两个以上的实参时,实参之间用逗号隔开。在以上调用语句中,(exp1, exp2)和(exp3, exp4, exp5)是两个用括号括起来的逗号表达式,它们之间用逗号隔开,因此,该函数调用语句中含有两个实参。总结:本题要求读者正确掌握前面学过的逗号表达式,这样才能理解本题函数调用语句中实参的个数。4.以下程序的输出结果是_。#include stdio.hfunc (int a, int b) int temp=a;a=b; b=temp;main() int x, y;x=10; y
27、=20;func (x, y);printf(“% d, % d/n“, x, y); A.10,20 B.10,10 C.20,10 D.20,20(分数:1.00)A. B.C.D.解析:解析 这里是传值调用,不会改变实参的值,所以输出为 10,20。注意:传值调用时,只将实参的副本传给形参,在函数中只对副本进行修改,不会影响实参的值。5.以下程序的输出结果是_。试题程序#include stdio.hmain() int i=2, p;p=f(i, i+1);printf(“% d/n“, p);int f(int a, int b) int c;c=a;if(ab)c=1;else i
28、f(a=b)c=0;elsec=-1;return(c); A.-1 B.0 C.1 D.2(分数:1.00)A. B.C.D.解析:解析 以上程序中定义了名为 f()的整型函数,它有两个 int 类型的形参。在 main()函数中调用了 f()函数,可以很直观地看到,实参的值分别是 2 和 3,2 传给函数形参 a,3 传给函数形参 b。函数返回的值赋给变量 p,main()函数中输出的值就是函数中的返回值。在函数 f()中,若 a 的值大于 b,c 被赋1;若 a 的值等于 b,c 被赋 0;若 a 的值小于 b,c 被赋-1。按照实参传送过来的值,a 的值小于 b,因此c 被赋-1,所以
29、函数的返回值为-1。总结:本题中没有复杂的算法,但读者必须熟练地掌握 if.else 分支结构的执行流程,同时建立清晰的有关函数定义和函数调用的基本概念,就可得出正确的答案。6.若已定义的函数有返回值,则以下关于该函数调用的叙述中,错误的是_。 A.函数调用可以作为独立的语句存在 B.函数调用可以作为一个函数的实参 C.函数调用可以出现在表达式中 D.函数调用可以作为一个函数的形参(分数:1.00)A.B.C.D. 解析:解析 函数的形参只能是一般变量,函数调用不可以作为一个函数的形参,但可以作为实参,选项 A、B 和 C 的描述都是正确的。7.以下程序的输出结果是_。#include std
30、io.hfunc (int a, int b) int c;c=a+b;return c;main() int x=6, r;r=func(x, x+=2);printf(“% d/n“, r); A.14 B.15 C.16 D.17(分数:1.00)A.B.C. D.解析:解析 对于 func()函数,先求右边 x+=2 参数,它返回 8(x=8),然后求左边参数,x 为 8。所以输出为 16。8.以下叙述中,正确的是_。 A.C 语言程序总是从第一个定义的函数开始执行 B.在 C 语言程序中,要调用的函数必须在 main()函数中定义 C.C 语言程序总是从 main()函数开始执行 D
31、.C 语言程序中的 main()函数必须放在程序的开始部分(分数:1.00)A.B.C. D.解析:解析 一个实用的 C 程序总是由许多函数组成,main()函数可以放在程序的任何位置。C 语言规定,不能在一个函数内部定义另一个函数。无论源程序包含了多少函数,C 程序总是从 main()函数开始执行。对于用户定义的函数,一般必须遵循先定义后使用的原则(除了 int 和 char 类型函数之外)。9.若有以下程序:#include stdio.hvoid f(int n);main() void f(int n);f(5);void f(int n) printf(“% d/n“, n);则以下
32、叙述中,不正确的是_。 A.若在主函数中对函数 f()进行说明,则只能在主函数中正确调用函数 f() B.若在主函数前对函数 f()进行说明,则在主函数和其他函数中都可以正确调用 f() C.对于以上程序,编译时系统会报错,提示对 f()函数重复说明 D.函数 f()无返回值,所以可用 void 将其类型定义为无值型(分数:1.00)A.B.C. D.解析:解析 C 语言规定,在一个函数中调用另一个函数(即被调用函数)需要具备的条件有:首先被调用的函数必须是已经存在的函数(是库函数或用户自己定义的函数);如果使用库函数,一般还应该在本文件开头用“#include“命令;如果使用自定义函数,而且
33、该函数与调用它的函数在同一个文件中,一般还应该在主调函数中对被调用的函数作声明。10.以下程序的输出结果是_。#include stdio.hint func (int n) if(n=1)return 1;elsereturn (n*func(n-1);main() int x;x=func(3);printf(“% d/n“, x); A.5 B.6 C.7 D.8(分数:1.00)A.B. C.D.解析:解析 func()是递归函数,func(3)=3*func(2)=3*2*func(1)=3*2*1=6。11.以下程序的输出结果是_。#include stdio.hlong fun(
34、int n) long s;if(n=1|n=2)s=2;elses=n+fun(n-1);return s;main() printf(“/n% ld“, fun(4); A.7 B.8 C.9 D.10(分数:1.00)A.B.C. D.解析:解析 此题考查基本的函数递归调用方法。程序在 n=1 或 n=2 时是出口条件,不再递归,否则一直执行 s=ns+fun(n-1)的操作。展开此求和公式,有 s=4+fun(3)=4+3+fun(2)=4+3+2=9。如果调用函数fun()的实参大于等于 2,出口 n=1 的判断就不需要了。12.以下叙述中,正确的是_。 A.局部变量说明为 stat
35、ic 的存储类,其生存期将得到延长 B.全局变量说明为 static 的存储类,其作用域将被扩大 C.任何存储类的变量在未赋初值时,其值都是不确定的 D.形参可以使用的存储类说明符与局部变量完全相同(分数:1.00)A. B.C.D.解析:解析 选项 A,局部静态变量的存储空间在程序整个运行期间都不释放,所以比局部动态变量的生存期长。选项 B,全局变量说明为静态存储时,作用域不会扩大。选项 C,局部静态变量未赋初值时,系统编译时会自动赋初值 0 或空字符。选项 D,在未调用函数时,函数的形参不占内存的存储单元,只有调用时才动态分配存储空间,所以形参不能说明为静态存储,而局部变量可以说明为静态存
36、储。13.在 C 语言中,形参的默认存储类说明是_。 A.auto B.static C.register D.extern(分数:1.00)A. B.C.D.解析:解析 当在函数内部或复合语句内定义变量时,如果没有指定存储类别,或使用了 auto 说明符,系统就认为所定义的变量属于自动类别。14.以下函数值的类型是_。fun(float x) float y;y=3*x-4;return y; A.int B.不确定 C.void D.float(分数:1.00)A. B.C.D.解析:15.以下程序的输出结果是_。#include stdio.hint a, b;void fun() a=
37、100; b=200; main() int a=5, b=7;fun();printf(“% d% d/n“, a, b); A.100200 B.57 C.200100 D.75(分数:1.00)A.B. C.D.解析:16.以下程序的输出结果是_。#include stdio.hint x=3;main() int i;for (i=1; ix; i+)incre();incre() static int x=1;x*=x+1;printf(“% d“, x); A.33 B.22 C.26 D.25(分数:1.00)A.B.C. D.解析:17.以下程序的输出结果是_。#include
38、 stdio.hint f(int n) if(n=1)return 1;else return f(n-1)+i;main() int i, j=0;for(i=1; i3; i+)j+=f(i);printf(“% d/n“, j); A.4 B.3 C.2 D.1(分数:1.00)A.B. C.D.解析:18.以下程序的输出结果是_。#include stdio.hint d=1;fun(int p) int d=5;d+=p+;printf(“% d“, d);main() int a=3;fun(a);d+=a+;printf(“% d/n“, d); A.84 B.96 C.94
39、D.85(分数:1.00)A. B.C.D.解析:19.函数调用 strcat(strcpy(str1, str2), str3)的功能是_。 A.将字符串 str1 复制到字符串 str2 中后再连接到字符串 str3 之后 B.将字符串 str1 连接到字符串 str2 之后再复制到字符串 str3 之后 C.将字符串 str2 复制到字符串 str1 中后再将字符串 str3 连接到字符串 str1 之后 D.将字符串 str2 连接到字符串 str1 之后再将字符串 str1 复制到字符串 str3 中(分数:1.00)A.B.C. D.解析:20.有以下程序:int sub (int
40、 n) if(n5) return 0;else if(n12) return3;return 1;if(n5) return 2;main() int a=10;printf(“% d/n“, sub(a);该程序的输出结果是_。 A.0 B.1 C.2 D.3(分数:1.00)A.B. C.D.解析:21.以下程序的输出结果是_。#include stdio.hint d=1;fun(int p) static int d=5;d+=p;printf(“% d“, d);return (d);main() int a=3;printf(“% d/n“, fun(a+fun(d); A.69
41、9 B.669 C.61515 D.6615(分数:1.00)A.B.C. D.解析:22.在一个源文件中定义的外部变量的作用域为_。 A.本文件的全部范围 B.本程序的全部范围 C.本函数的全部范围 D.从定义该变量的位置开始至本文件结束(分数:1.00)A.B.C.D. 解析:23.以下叙述中,正确的是_。 A.全局变量的作用域一定比局部变量的作用域范围大 B.静态(static)类别变量的生存期贯穿于整个程序的运行期间 C.函数的形参都属于全局变量 D.未在定义语句中赋初值的 auto 变量和 static 变量的初值都是随机值(分数:1.00)A.B. C.D.解析:24.以下对 C
42、语言函数的描述中,正确的是_。 A.C 程序由一个或一个以上的函数组成 B.C 函数既可以嵌套定义又可以递归调用 C.C 函数必须有返回值,否则不能使用函数 D.C 程序中调用关系的所有函数必须放在同一个程序文件中(分数:1.00)A. B.C.D.解析:25.C 语言中形参的默认存储类别是_。 A.自动(auto) B.静态(static) C.寄存器(register) D.外部(extern)(分数:1.00)A. B.C.D.解析:26.以下叙述中,不正确的是_。 A.在 C 语言中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参 B.在 C 函数中,最好使用全局变量 C
43、.在 C 语言中,形式参数只是局限于所在函数 D.在 C 语言中,函数名的存储类别为外部(分数:1.00)A.B. C.D.解析:27.C 语言中函数返回值的类型由_决定。 A.return 语句中的表达式类型 B.调用函数的主调函数类型 C.调用函数时的临时类型 D.定义函数时所指定的函数类型(分数:1.00)A.B.C.D. 解析:28.C 语言规定,调用一个函数时,实参变量和形参变量之间的数据传递是_。 A.地址传递 B.由实参传给形参,并由形参返回给实参 C.值传递 D.由用户指定传递方式(分数:1.00)A.B.C. D.解析:29.在 C 语言中_。 A.函数的定义可以嵌套,但函数
44、的调用不可以嵌套 B.函数的定义和调用均可以嵌套 C.函数的定义和调用均不可以嵌套 D.函数的定义不可以嵌套,但函数的调用可以嵌套(分数:1.00)A.B.C.D. 解析:30.以下函数调用语句中,含有的实参个数是_。fun(x+y, (e1, e2), fun(xy, d, (a, b); A.3 B.4 C.6 D.8(分数:1.00)A. B.C.D.解析:31.以下程序的输出结果是_。#include stdio.hfun(int x) static int a=3;a+=x;return(a);main() int k=2, m=1, n;n=fun(k);n=fun(m);printf(“% d“, n); A.3 B.4 C.6 D.9(分数:1.00)A.B.C. D.解析:32.以下程序的输出结果是_。#include stdio.hint func(int a, int b)retur