【计算机类职业资格】二级C语言-函数(三)及答案解析.doc
《【计算机类职业资格】二级C语言-函数(三)及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言-函数(三)及答案解析.doc(31页珍藏版)》请在麦多课文档分享上搜索。
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
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 函数 答案 解析 DOC
