【计算机类职业资格】二级C语言笔试-328及答案解析.doc
《【计算机类职业资格】二级C语言笔试-328及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-328及答案解析.doc(15页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-328 及答案解析(总分:110.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:80.00)1.表示关系 abc 的 C 语言表达式为( )。(分数:2.00)A.(a= 执行后的输出结果是( )。(分数:2.00)A.7B.3C.2D.03.下列程序的输出结果是( )。 #includestdio.h main() int a=4; printf(“%d/n“,(a+=a-=a*a);(分数:2.00)A.-8B.14C.0D.-244.有下列程序: #includestdio.h main() char c1,c2,c3,c4,c5,c6; scan
2、f(“%c%c%c%c“,c6=getchar(); putchar(c1);putchar(c2); printf(“%c%c/n“,c5,c6); 程序运行后,若从键盘输入(从第 1 列开始): 123CR 45678CR 则输出结果是( )。(分数:2.00)A.1267B.1256C.1278D.12455.下列选项中,当 x 为大于 1 的奇数时,值为 0 的表达式是( )。(分数:2.00)A.x%2=1B.x/2C.x%2!=0D.x%2=06.设有下列语句 int a=1,b=2,c; c=a(b2); 执行后,C 的值为( )。(分数:2.00)A.6B.7C.8D.97.利
3、用 fseek 函数可实现的操作是( )。(分数:2.00)A.实现文件的顺序读写B.改变文件的位置指针C.实现文件的随机读写D.以上答案均正确8.下列叙述中错误的是( )。(分数:2.00)A.线性表是由 n 个元素组成的一个有限序列B.线性表是一种线性结构C.线性表的所有结点有且仅有一个前件和后件D.线性表可以是空表9.设计软件结构是在软件生命周期的( )。(分数:2.00)A.软件定义期B.软件开发期C.软件维护期D.以上 3 个都不是10.若 a、b、c、d 都是血型变量且都已经正确赋初值,则下列不正确的赋值语句是( )。(分数:2.00)A.a+d;B.a+;C.a=b=c=d=10
4、0;D.a=(b=3)+(d=5);11.下列关于栈的描述中错误的是( )。(分数:2.00)A.栈是先进先出的线性表B.栈只能顺序存储C.栈具有记忆作用D.对栈的插入与删除操作中,不需要改变栈底指针12.若有定义: “int a23;”则对 a 数组的第 i 行第 j 列元素的正确引用为( )。(分数:2.00)A.*(*(a+B.(a+C.*(a+i+D.*(a+j13.对长度为 n 的线性表进行顺序查找,在最坏情况下需要比较的次数为( )。(分数:2.00)A.125B.n/2C.nD.n+114.下列程序的输出结果是( )。 #includestdio.h void main() in
5、t a=0,b=1,c=2; if(+a0+b0) +C; printf(“%d,%d,%d“,a,b,c); (分数:2.00)A.0,1,2B.1,2,3C.1,1,3D.1,2,215.下列叙述中正确的是( )。(分数:2.00)A.在模块化程序设计中,一个模块应该尽量多的包括与其他模块联系的信息B.在自顶向下、逐步细化的设计过程中,首先应设计解决问题的第一个细节C.在模块化程序设计中,一个模块内部的控制结构也要符合结构化原则D.在程序设计过程中,不能同时采用结构化程序设计方法与模块化程序设计方法16.字符串“/“ABCDEF/“/“的长度是( )。(分数:2.00)A.15B.10C.
6、7D.817.下列选项中不会引起二义性的宏定义是( )。(分数:2.00)A.#define S(x*xB.#define S(*(C.#define S(x*D.#define S(*()18.下列工具中为需求分析常用工具的是( )。(分数:2.00)A.PADB.PFDC.N-SD.DFD19.执行语句 printf(“%u/n“,+12345)的输出结果是( )。(分数:2.00)A.12345B.0C.-1D.非定值20.有下列二叉树,对此二叉树中序遍历的结果为( )。 (分数:2.00)A.BDYEACFXZB.DYBEAFCZXC.ABCDEFXYZD.ABDYECFXZ21.定义
7、下列结构体(联合)数组: struct St char name15; int age; a10=“ZHAO“,14,“WANG“,15,“LIU“,16,“ZHANG“,17; 执行语句 printf(“%d,%c“,a2.age,*(a3.name+2)的输出结果为( )。(分数:2.00)A.15,AB.16,HC.16,AD.17,H22.下列程序的运行结果是( )。 main() int x=1,y=3,a=0; while(x+!=(y-=1) a+=1; if(yx)break; printf(“%d,%d,%d/n“,x,y,a); (分数:2.00)A.2,3,2B.2,3,
8、1C.1,3,3D.3,1,223.下列程序的输出结果是( )。 #includestdio.h int fun(int x) int p; if(x=0x=1) return 3; else p=x-fun(x-2); return p; void main() printf(“/n%d“,fun(5); (分数:2.00)A.5B.3C.7D.124.下列选项中,值为 1 的表达式是( )。(分数:2.00)A.1-0B.1-/0C.1-0D./0-025.在 C 语言中,下列关于文件操作的叙述正确的是( )。(分数:2.00)A.对文件操作必须先关闭文件B.对文件操作必须先打开文件C.对
9、文件操作顺序没有统一规定D.以上全错26.有下列程序: #includestdio.h main() int a=6,b=7,m=1; switch(a%2) case0:m+;break; case 1=m+; switch(b%2) defaut:m+; case0:m+;break; printf(“%d/n“,m); 程序运行后的输出结果是( )。(分数:2.00)A.1B.2C.3D.427.若有下列定义,则对 a 数组元素地址的正确引用是( )。 int a5,*p=a;(分数:2.00)A.p+5B.*a+1C.”,则正确的输入语句是( )。(分数:2.00)A.scanf(“%
10、1f“,;B.scanf(“%f“, while(!(-X); 程序的输出结果是( )。(分数:2.00)A.1B.20C.1-4D.死循环38.已有定义 int(*q)(),指针 q 可以( )。(分数:2.00)A.指向函数的入口地址B.代表函数的返回值C.表示函数的类型D.表示函数返回值的类型39.下列说法正确的是( )。(分数:2.00)A.一个 C 程序可以有多个主函数B.一个 C 语言的函数中只允许有一对花括号C.C 程序的书写格式是自由的,一个语句可以写在一行上,也可以写在多行内D.在对 C 程序进行编译时,可以发现注释行中的拼写错误40.若有下列说明和语句,则对结构体变量 st
11、 中成员 i 的引用方式不正确的是( )。 Struct stu int i; int name; st,*p; p=b=0;c=1;n=1; while(n=3) c=c*a;b=b+c;+n; printf(“b=%d“,b); (分数:2.00)填空项 1:_50.下列程序的输出结果是_。 main() int i=0,a=0; while(i20) for(;) if(i%10)=0)break; else i-; i+=11; a+=i; printf(“%d/n“,a); (分数:2.00)填空项 1:_51.下列程序的运行结果是_。 #includestdio.h long fu
12、nc(int x) long p; if(x=Ox=1) return(1); p=x*func(x-1); return(p); main() printf(“%d/n“,func(4); (分数:2.00)填空项 1:_52.下列程序将二维数组 a 的行和列元素互换后存放到另一个二维数组 b 中。请填空。 main() int a23=1,2,3,4,5,b32,i,j; for(i=0;i2;i+) for(j=0;j3;j+) _; (分数:2.00)填空项 1:_53.下列程序的运行结果是_。 #includestdio.h main() int fun(); fun(); fun(
13、) static int a4=1,2,3,4; int i; for(i=0;i4;i+)ai+=ai; for(i=0;i4;i+)printf(“%d,“,ai); printf(“/n“); (分数:2.00)填空项 1:_54.设有下列程序: #includestdio.h #includestring.h main() int i; char s10,t10;gets(t); for(i=0;i2;i+) gets(s); if(strcmp(t,s)0)strcpy(t,s); printf(“%s/n“,t); 程序运行后,从键盘上输入(CR代表回车符):DEFCRBADEPC
14、RQTHRGCR,则程序的输出结果是_。(分数:2.00)填空项 1:_55.下列程序的运行结果是_。 #define P(a) printf(“%d“,a) main() int j,a=1,2,3,4,5,6,7,i=5; for(j=3;j1;j-) switch(j) case 1: case 2:P(ai+;break; case 3:P(a-i); (分数:2.00)填空项 1:_二级 C 语言笔试-328 答案解析(总分:110.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:80.00)1.表示关系 abc 的 C 语言表达式为( )。(分数:2.00)A.(
15、a= 执行后的输出结果是( )。(分数:2.00)A.7B.3C.2 D.0解析:解析 因为在函数 fun(int x)中,如果参数 x 等于 0 或 1 时,返回值 3。否则 p=x-fun(x-2)这是一个递归函数,所以在主函数调用 fun(7)时,其过程为:“fun(7)=7-fun(5)=7-(5-fun(3)=7-(5-(3-fun(1)=7-(5-(3-3)= 7-5=2”,所以最后的输出结果为 2。3.下列程序的输出结果是( )。 #includestdio.h main() int a=4; printf(“%d/n“,(a+=a-=a*a);(分数:2.00)A.-8B.14
16、C.0D.-24 解析:解析 表达式 a+=a-=a*a 看起来复杂,其实将它分成两个表达式来计算就简单了:第一个表达式 (a-=a*a)=(a=a-a*a=-12);第二个表达式(a+=a-=a*a)=(a=a+a=-24)。4.有下列程序: #includestdio.h main() char c1,c2,c3,c4,c5,c6; scanf(“%c%c%c%c“,c6=getchar(); putchar(c1);putchar(c2); printf(“%c%c/n“,c5,c6); 程序运行后,若从键盘输入(从第 1 列开始): 123CR 45678CR 则输出结果是( )。(分
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 328 答案 解析 DOC
