【计算机类职业资格】二级C语言笔试-198及答案解析.doc
《【计算机类职业资格】二级C语言笔试-198及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-198及答案解析.doc(29页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-198 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.有以下程序:main()int i=0, s=0;doif(i % 2)i+; continue;i+;s+=i;while(i7);printf(“% d/n“, s);执行后的输出结果是_。(分数:2.00)A.16B.12C.28D.212.有以下程序:main()int p7=11, 13, 14, 15, 16, 17, 18), i=0, k=0;while(i7 i+;printf(“% d/n“, k)执行后的输出结果是_。(分数:2.00)A.58
2、B.56C.45D.243.有以下程序:main()unsigped int a;int b=-1;a=b;printf(“% u“,(分数:2.00)A.;B.k=fun(10, 12.5);C.fun(x, n);D.void fun(n, x);5.在 C 语言中,形参的默认存储类型是_。(分数:2.00)A.autoB.registerC.staticD.extern6.设有如下关系表:(分数:2.00)A.B.C.D.7.有以下程序:main()char a=a, b;printf(“% c, “,+(分数:2.00)A.;printf(8.用 C 语言编写的代码_。(分数:2.00
3、)A.可立即执行B.是一个源程序C.经过编译即可执行D.经过编译解释才能执行9.有以下程序:main()int i=1, j=2, k=3;if(i+=1程序运行后的输出结果是_。(分数:2.00)A.1 2 3B.2 3 4C.2 2 3D.2 3 310.若变量已正确说明为 float 类型,要通过语句 scanf(“%f %f %f“, 并将其放在调用语句之后,则在调用之前应该对函数进行说明,以下选项中错误的说明是_(分数:1.00)A.double myadd(double a,B.;B) double myadd(double, double);C.dD.double myadd(d
4、ouble x, double y);12.以下能正确定义一维数组的选项是_。(分数:1.00)A.int a5=0, 1, 2, 3, 4, 5);B.char a=0, 1, 2, 3, 4, 5);C.char a=A, B, C;D.int a5=“0123“;13.下列程序执行后的输出结果是_。# define MA(x) x*(x-1)main()int a=1, b=2; printf(“% d/n“, MA(1+a+b);(分数:1.00)A.6B.8C.10D.1214.有以下程序:# includestdio. h# difine F(X, Y) (X)*(Y)main()
5、int a=3, b=4;print(“% d/n“, F(a+, b+);程序运行后的输出结果是_。(分数:1.00)A.12B.15C.16D.2015.有如下程序:# define N 2# define M N+1# define NUM 2*M+1# main()int i;for(i=1; i=NUM; i+)printf(“% d/n“, i);该程序中的 for 循环执行的次数是_。(分数:1.00)A.5B.6C.7D.816.设变量已正确定义,则以下能正确计算 n!的程序段是_。(分数:1.00)A.f=0;for(i=1; i=n; i+)f*=i;B.f=1;for(i
6、=1; in; i+)f*=i;C.f=1;for(i=n; i1; i+)f*=i;D.f=1;for(i=n; i=2; i-)f*=i;17.以下不能正确计算代数式 sin2( (分数:1.00)A.B.C.D.18.有以下程序:main()int k=5, n=0;while(k0);switch(k)default; break;case 1:n+=k;case 2;case 3:n+=k;k-;printf(“% d/n“, n);程序运行后的输出结果是_。(分数:1.00)A.0B.4C.6D.719.以下程序的输出结果是_。int f()static int i=0;int s
7、=1;s+=i; i+;return s;main()int i, a=0;for(i=0; i5; i+)a+=f();printf(“% d/n“,(分数:1.00)A.;A) 20B) 24C) 25D)20.以下叙述中正确的是_。(分数:1.00)A.预处理命令行必须位于源文件的开头B.在源文件的一行上可以有多条预处理命令C.宏名必须用大写字母表示D.宏替换不占用程序的运行时间21.有以下程序:int a=2;int f(int n)static int a=3;int t=0;if(n % 2)(static int a=4; t+=a+;elsestatic int a=5; t+
8、=a+;return t+a+;matin()int s=a, i;for(i=0; i3; i+)s+=f(i);printf(“% d/n“, s);程序运行后的输出结果是_。(分数:2.00)A.26B.28C.29D.2422.以下程序段中,能够通过调用函数 fun,使 main 函数中的指针变量 p 指向一个合法的整型单元的是_。(分数:2.00)A.main()int *p;fun(p);int fun(int *p)int s; p=B.main()int *p;fun(int fun(int *p)int s; *p=C.# includestdlib. hmain()int
9、*p;fun(int fun(int *p)*p=(int *)malloc(2);D.# includestdlib. hmain()int *p;fun(p);int fun(int *p)p=(int*)malloc(sizeof(int);23.在函数调用过程中,如果函数 funA 调用了函数 funB,函数 funB 又调用了函数 funA,则_。(分数:2.00)A.称为函数的直接递归调用B.称为函数的间接递归调用C.称为函数的循环调用D.C 语言中不允许这样的递归调用24.以下选项中可作为 C 语言合法常量的是_。(分数:2.00)A.-80.B.-080C.-8e1.0D.-8
10、0.0e25.有以下程序:main()int x=3, y=2, z=1;printf(“% d/n“, x/y程序运行后的输出结果是_。(分数:2.00)A.3B.2C.-1D.026.以下选项中非法的表达式是_。(分数:2.00)A.0=x100B.i=j=0C.(char)(65+3)D.x+1=x+127.有以下程序段:main()int a=5, *b, *c;c= b=程序在执行了 c= b= 语句后,表达式*c 的值是_。(分数:2.00)A.变量 a 的地址B.变量 b 中的值C.变量 a 中的值D.变量 b 的地址28.在一个 C 程序中_。(分数:2.00)A.用户标识符中
11、可以出现下划线和中划线(减号)B.用户标识符中不可以出现中划线,但可以出现下划线C.用户标识符中可以出现下划线,但不可以放在用户标识符的开头D.用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头29.若有以下程序段:int m=0xabc, n=0xabc;m-=n;printf(“% X/n“, m);执行后的输出结果是_。(分数:2.00)A.0X0B.0x0C.0D.0XABC30.以下只有在使用时才为该类型变量分配内存的存储类说明是_。(分数:2.00)A.auto 和 staticB.auto 和 registerC.register 和 staticD.extern
12、和 register31.有以下程序:# define N 20fun(int a, int n, int m)int i, j;for(i=m; i=n; i-)ai+1=ai;main()int i, aN=1, 2, 3, 4, 5, 6, 7, 8, 9, 10;fun(a, 2, 9);for(i=0; i5; i+)printf(“% d“, ai);程序运行后的输出结果是_。(分数:2.00)_32.结构化程序设计的主要特点是_。(分数:2.00)A.模块化B.每个控制结构具有封装性C.每个控制结构具有独立性D.每个控制结构只有一个入口和一个出口33.执行下列程序时输入:123空
13、格456空格789回车,输出结果是_。mein()char s100; int c, i;scanf(“% c“, scanf(“% d“, scanf(“% s“, s);printf(“% c, % d, % s/n“, c, i, s);(分数:2.00)A.123, 456, 789B.1, 456, 789C.1, 23, 456, 789D.1, 23, 45634.已有定义:char a=“xyz“b=x, y, z);,以下叙述中正确的是_。(分数:2.00)A.数组 a 和 b 的长度相同B.a 数组长度小于 b 数组长度C.a 数组长度大于 b 数组长度D.上述说法都不对3
14、5.以下选项中合法的用户标识符是_。(分数:2.00)A.longB._2TestC.3DmaxD.dat36.有以下程序:main()char p=a, b, c, q=“abc“;printf(“% d % d/n“, sizeof(p), sizeof(q);程序运行后的输出结果是_。(分数:2.00)A.4 4B.3 3C.3 4D.4 337.有以下程序:int f1(int x, int y) return xy? x:y; int f2(int x, int y) return xy? y:x; main()int a=4, b=3, c=5, d=2, e, f, g;e=f2
15、(f1(a, b), f1(c, d); f=f1(f2(a, b) , f2(c, d);g=a+b+c+d-e-f;printf(“% d, %d, %d/n“, e, f, g);程序运行后的输出结果是_。(分数:2.00)A.4, 3, 7B.3, 4, 7C.5, 2, 7D.2, 5, 738.有以下程序:matin()char * s=“one“, “two“, “three“, *p;p=s1;printf(“% c, % s/n“, *(p+1),so);执行后的输出结果是_。(分数:2.00)A.n, twoB.t, oneC.w, oneD.o, two39.下列关于栈的
16、描述中错误的是_。(分数:2.00)A.栈是先进后出的线性表B.栈只能顺序存储C.栈具有记忆作用D.对栈的插入和删除操作中,不需要改变栈底指针40.以下叙述中正确的是_。(分数:2.00)A.局部变量说明为 static 存储类,其生存期将得到延长B.全局变量说明为 static 存储类,其作用域将被扩大C.任何存储类的变量在未赋初值时,其值都是不确定的D.形参可以使用的存储类说明符与局部变量完全相同二、填空题(总题数:15,分数:30.00)41.测试的目的是暴露错误,评价程序的可靠性;而 【1】 的目的是发现错误的位置并改正错误。(分数:2.00)填空项 1:_42.以下程序的功能是输出如
17、下形式的方阵:13 14 15 169 10 11 125 6 7 81 2 3 4请填空。main()int i, j, x;for(j=4; j0; j-)for(i=1; i=4; i+)x=(j-1)*4+ 【2】 ;printf(“% 4d“, x);printf(“/n“);(分数:2.00)填空项 1:_43.有以下程序:main()char str=“xyz“, *ps=str;while(* ps)ps+;for(ps-; ps-str=0;ps-)puts(ps);执行后的输出结果是 【3】 。(分数:2.00)填空项 1:_44.执行以下程序后,输出#号的个数是 【4】
18、。# includestdio. hmain()int i, j;for(i=1; i5; i+)for(j=2; j=i; j+)putchar(#);(分数:2.00)填空项 1:_45.请在以下程序第一行的下划线处填写适当内容,使程序能正确运行。【5】 (double, double);main()double x, y;scanf(“% lf % lf“, printf(“% 1f/n“, max(x, y);double max(double a, double b)return(ab? a:b); (分数:2.00)填空项 1:_46.有以下程序:int sub(int n) re
19、turn(n/10+n%10); main()int x, y;scanf(“% d“, y=sub(sub(sub(x);printf(“% d/n“, y);若运行时输入:1234回车,程序的输出结果是 【6】 。(分数:2.00)填空项 1:_47.以下程序运行后的输出结果是 【7】 。void fun(int x, int y)x=x+y;y=x-y;x=x-y;printf(“% d, % d, “, x, y);main()int x=2, y=3;fun(x, y);printf(“% d, % d/n“, x, y);(分数:2.00)填空项 1:_48.已知字母 A 的 AS
20、CII 码为 65,以下程序运行后的输出结果是 【8】 。main()char a, b;a=A+5-3; b=a+6-2;printf(“% d % c/n“, a, b);(分数:2.00)填空项 1:_49.以下程序运行后的输出结果是 【9】 。main()int a, b, c;a=25;b=025;c=0x25;printf(“% d % d % d/n“, a, b, c);(分数:2.00)填空项 1:_50.以下程序的功能是调用函数 fun 计算:m=1-2+3-4+9-10,并输出结果。请填空。int fun(int n)int m=0, f=1, i;for(i=1; i=
21、n; i+)m+=i*f;f=_;return m;main()printf(“% d/n“, 【10】 );(分数:2.00)填空项 1:_51.以下程序中,for 循环体执行的次数是 【11】 。# define N 2# define M N+1# define K M+1*M/2main()int i;for(i=1; iK; i+).(分数:2.00)填空项 1:_52.有以下程序:# define f(x)x*xmain()int i;i=f(4+4)/f(2+2);printf(“% d/n“, i);执行后的输出结果是 【12】 。(分数:2.00)填空项 1:_53.以下程序
22、中给指针 p 分配 3 个 double 型动态内存单元,请填空。# includestdllb. hmain()double * p;p=(double*)malloc( 【13】 );p0=1.5; p1=2.5; p2=3.5printf(“% f % f % f/n“,p0,p1, p2);(分数:2.00)填空项 1:_54.以下程序运行后的输出结果是 【14】 。main()char a=“Language“, b=“Programe“;char * p1, * p2;int k;p1=a; p2=b;for(k=0; k=7; k+)if(*(p1+k)=*(p2+k)print
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 198 答案 解析 DOC
