【计算机类职业资格】二级C语言笔试-227及答案解析.doc
《【计算机类职业资格】二级C语言笔试-227及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-227及答案解析.doc(27页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-227 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.以下选项中能表示合法常量的是(分数:2.00)A.整数:1,200B.实数:1.5E2.0C.字符斜杠:/D.字符串:“/007“2.若有定义语句 int a,b; double x; 则下列选项中没有错误的是(分数:2.00)A.switch(x%2) ease 0: a+; break; ease 1: b+; break; default: a+; b+; B.switch(int)x/2.0) case 0: a+; break; case 1: b+; br
2、eak; default: a+; b+; C.switch(int)x%2) ease 0: a+; break; ease 1: b+; break; default: a+; b+; D.switch(int)(x)%2) case 0.0: a+; break; ease 1.0: b+; break; default: a+; b+; 3.以下关于结构化程序设计的叙述中正确的是(分数:2.00)A.一个结构化程序必须同时由顺序、分支、循环三种结构组成B.结构化程序使用 goto语句会更便捷C.在 C语言中,程序的模块化是利用函数实现的D.由 3种基本结构构成的程序只能解决小规模的问题
3、4.表达式 a+=a-=a=9的值是(分数:2.00)A.9B.-9C.18D.05.若要使以下程序的运行结果为 248,应在下画线处填入的是 #includestdio.h main() short c=124; c=c_; printf(“%d/n“, c); (分数:2.00)A.2B.1248C. for(i=0; in-1; i+=2) k=i; for(j=i; jn; j+=2) if(ajak) k=j; t=ai; ai=ak; ak=t; main() int aa10=1, 2, 3, 4, 5, 6, 7, i; fun(aa, 7); for(i=0; i7; i+)
4、 printf(“%d, “, aai); printf(“/n“); (分数:2.00)A.7,2,5,4,3,6,1B.1,6,3,4,5,2,7C.7,6,5,4,3,2,1D.1,7,3,5,6,2,19.以下程序(库函数 islower(ch)用于判断 ch中的字母是否为小写字母)的输出结果是 #includestdio.h #includectype.h void fun(char *P) int i=0; while(pi) if(pi=“ i+;main() char s1100=“ab cd EFG!“; fun(s1); printf(“%s/n“, s1); (分数:2.
5、00)A.ab cd EFG!B.Ab Cd EFg!C.aB cD EFG!D.ab cd EFg!10.以下程序段完全正确的是(分数:2.00)A.int *P; scanf(“%d“, B.int *P; scanf(“%d“, p);C.int k, *P= scanf(“%d“, p);D.int k, *P; *P= scanf(“%d“, p);11.以下程序运行后的输出结果是 #includestdio.h #includestring.h main() char x=“STRING“; x0=0; x1=/0; x2=0; printf(“%d%d/n“, sizeof(x)
6、,strlen(x); (分数:1.00)A.6 1B.7 0C.6 3D.7 112.以下程序运行后的输出结果是 #includestdio.h int f(int x); main() int n=1, m; m=f(f(f(n); printf(“%d/n“, m); int f(int x) return x*2; (分数:1.00)A.1B.2C.4D.813.以下程序(strcat 函数用以连接两个字符串)运行后的输出结果是 #includestdio.h #includestring.h main() char a20=“ABCD/OEFG/0“, b=“IJK“; strcat
7、(a, b); printf(“%s/n:,(分数:1.00)A.; A) ABCD/0FG/0IJKB.ABCDIJKC.IJKD.EFGIJK14.有以下定义:int a;long b;double x,y;,则以下选项中正确的表达式是(分数:1.00)A.a%(int)(x-y)B.a=x!=yC.(a*y)%bD.y=x+y=x15.下列叙述中正确的是(分数:1.00)A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D.上述三种说法都不对16.以下程序在 VC
8、6平台上编译运行,程序运行后的输出结果是 #includestdio.hmain() int s, t, A=10; double B=6; s=sizeof((分数:1.00)A.; f=sizeof(B.; a+=2; b%=10; printf(“%d, %d/n“, a, b); (分数:1.00)A.5,11B.7,1C.7,11D.6,118.软件测试的目的是(分数:1.00)A.评估软件可靠性B.发现并改正程序中的错误C.改正程序中的错误D.发现程序中的错误19.若有以下语句,则以下叙述中正确的是 typedef struct S int g; char h; T;(分数:1.0
9、0)_20.面向对象方法中,继承是指(分数:1.00)A.一组对象所具有的相似性质B.一个对象具有另一个对象的性质C.各对象之间的共同性质D.类之间共享属性和操作的机制21.下列叙述中正确的是(分数:2.00)A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C.线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D.上述 3种说法都不对22.下列选项中,能够满足“若字符串 s1等于字符串 s2,则执行 ST”要求的是(分数:2.00)A.if(strcmp(s1, s2)=0) ST;B.if(s1=s2) ST
10、;C.if(strcpy(s1, s2)=1) ST;D.if(s1-s2=0) ST;23.以下程序运行后的输出结果是 #includestdio.h int fun() static int x=1; x+=1; return x; main() int i,s=1; for(i=1; i=5;i+) s+=fun(); printf(“%d/n“, s); (分数:2.00)A.11B.21C.6D.12024.若要定义一个具有 5个元素的整型数组,以下错误的定义语句是(分数:2.00)A.int a5=0;B.int b=0, 0, 0, 0, 0;C.int c2+3;D.int i
11、=5, di;25.下列定义数组的语句中,正确的是(分数:2.00)A.int N=10; int xN;B.#define N 10 int xN;C.int x010;D.int x;26.下面描述中,不属于软件危机表现的是(分数:2.00)A.软件过程不规范B.软件开发生产率低C.软件质量难以控制D.软件成本不断提高27.以下程序运行后的输出结果是 #includestdio.hmain() int a=1, b=0; if(!(分数:2.00)A.1)+; else if(a=0) if(A) b+=2; else b+=3; prB.1C.2D.328.软件生命周期是指(分数:2.0
12、0)A.软件产品从提出、实现、使用维护到停止使用退役的过程B.软件从需求分析、设计、实现到测试完成的过程C.软件的开发过程D.软件的运行维护过程29.若变量已正确定义,在 if(W) printf(“%d/n“,k);中,以下不可替代 W的是(分数:2.00)A.ab+cB.ch=getchar()C.a=b+cD.a+30.以下不能将 S所指字符串正确复制到 t所指存储空间的是(分数:2.00)A.while(*t=*s) t+; s+;B.for(i=0; ti=si;i+);C.do*t+=*s+; while(*s);D.for(i= 0,j=0;ti+=sj+;);31.有三个关系
13、R、S 和 T如下: * 则由关系 R和 S得到关系 T的操作是(分数:2.00)A.自然连接B.交C.投影D.并32.以下程序运行后的输出结果是 #includestdio.h main() int y=10; while(y-); printf(“y=%d/n“, y); (分数:2.00)A.y=0B.y=-1C.y=1D.while构成无限循环33.层次型、网状型和关系型数据库划分的原则是(分数:2.00)A.记录长度B.文件的大小C.联系的复杂程度D.数据之间的联系方式34.数据库设计中反映用户对数据要求的模式是(分数:2.00)A.内模式B.概念模式C.外模式D.设计模式35.以下
14、程序运行后的输出结果是 #includestdio.h main() char s=“rstuv“; printf(“%c/n“, *s+2);(分数:2.00)A.tuvB.字符 t的 ASCII码值C.tD.出错36.以下程序运行后的输出结果是 #includestdio.h void fun(int x) if(x/21) fun(x/2); printf(“%d“, x); main() fun(7); printf(“/n“); (分数:2.00)A.1 3 7B.7 3 1C.7 3D.3 737.以下叙述中错误的是(分数:2.00)A.C程序在运行过程中所有计算都以二进制方式进行
15、B.C程序在运行过程中所有计算都以十进制方式进行C.所有 C程序都需要编译链接无误后才能运行D.C程序中整型变量只能存放整数,实型变量只能存放浮点数38.以下程序运行后的输出结果是 #includestdio.h #includestdlib.h main() int *a, *b, *c; a=b=c(int *) malloc(sizeof(int); *a=1; *b=2; *c=3; a=b; printf(“%d, %d, %d/n“, *a, *b, *c); (分数:2.00)A.3,3,3B.2,2,3C.1,2,3D.1,1,339.以下程序运行后的输出结果是 #includ
16、estdio.h void f(int *P); main() int a5=1, 2, 3, 4, 5, *r=a; f(r); printf(“%d/n“, *r); void f(int *P) P=p+3; printf(“%d, “, *P); (分数:2.00)A.1,4B.4,4C.3,1D.4,140.有定义语句:int *P4; ,以下选项中与此语句等价的是(分数:2.00)A.int p4;B.int *P;C.int *(P4);D.int(*P)4;二、填空题(总题数:15,分数:30.00)41.一个栈的初始状态为空。首先将元素 5,4,3,2,1 依次入栈,然后退栈
17、一次,再将元素 A,B,C,D依次入栈,之后将所有元素全部退栈,则所有元素退栈(包括中间退栈的元素)的顺序为 1。(分数:2.00)填空项 1:_42.在长度为 n的线性表中,寻找最大项至少需要比较 1 次。(分数:2.00)填空项 1:_43.一棵二叉树有 10个度为 1的结点,7 个度为 2的结点,则该二叉树共有 1 个结点。(分数:2.00)填空项 1:_44.仅由顺序、选择(分支)和重复(循环)结构构成的程序是 1 程序。(分数:2.00)填空项 1:_45.数据库设计的四个阶段是:需求分析,概念设计,逻辑设计和 1。(分数:2.00)填空项 1:_46.以下程序运行后的输出结果是_。
18、 #includestdio.h main() int a=200, b=010; printf(“%d%d/n“, a, b); (分数:2.00)填空项 1:_47.以下程序在运行时若输入:1234567,则程序的运行结果是_。 #includestdio.h main() int x, y; scanf(“%2d%1d“, printf(“%d/n“, x+y); (分数:2.00)填空项 1:_48.在 C语言中,当表达式值为 0时表示逻辑值“假”,当表达式值为 1 时表示逻辑值“真”。(分数:2.00)填空项 1:_49.以下程序运行后的输出结果是_。 #includestdio.h
19、 main() int i, n=0, 0, 0, 0, 0; for(i=1; i=4; i+) ni=ni-1 *3+1; printf(“%d“, ni); (分数:2.00)填空项 1:_50.以下 fun函数的功能是:找出具有 N个元素的一维数组中的最小值,并作为函数值返回。请填空。(设 N已定义) int fun(int xN) int i, k=0; for(i=0; iN; i+) if(xixk) k=_; return xk; (分数:2.00)填空项 1:_51.以下程序运行后的输出结果是_。 #includestdio.h int *f(int *p, int *q);
20、 main() int m=1, n=2, *r= r=f(r, printf(“%d/n“, *r); int *f(int *p, int *q) return( *p*q) ? p:q; (分数:2.00)填空项 1:_52.以下 fun函数的功能是在 N行 M列的整型二维数组中,选出一个最大值作为函数值返回。请填空。(设 M、N 已定义) int fun(int aNM) int i, j, row=0, col=0; for(i=0;iN;i+) for(j=0;jM;j+) if(aijarowcol)row=i;col=j; return_; (分数:2.00)填空项 1:_53
21、.以下程序运行后的输出结果是_。 #includestdio.h main() int n2, i, j; for(i=0; i2; i+) ni=0; for(i=0; i2; i+) for(j=0; j2; j+) nj=ni+1; printf(“%d/n“, n1);(分数:2.00)填空项 1:_54.以下程序的功能是:借助指针变量找出数组元素中最大值所在的位置并输出该最大值。请在输出语句中填写代表最大值的输出项。 #includestdio.h main() int a10, *p, *s; for(p=a;p-a10;p+) scanf(“%d“, p); for(p=a, s
22、=a;p-a10;p+) if(*p*s) s=p; printf(“max=%d/n“, _); (分数:2.00)填空项 1:_55.以下程序打开新文件 f.txt,并调用字符输出函数将 a数组中的字符写入其中。请填空。 #includestdio.h main() _ *fp; char a5=1, 2, 3, 4, 5, i; fp=fopen(“f.txt“, “w“); for(i=0;i5;i+) fputc(ai, fp); fclose(fp); (分数:2.00)填空项 1:_二级 C语言笔试-227 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:
23、40,分数:70.00)1.以下选项中能表示合法常量的是(分数:2.00)A.整数:1,200B.实数:1.5E2.0C.字符斜杠:/D.字符串:“/007“ 解析:解析 选项 A中,整型常量中出现了“,”,所以错误。选项 B中,实数的表示形式要求 e(E)前必须有数字,e(E)后必须是整数,而“2.0”是实数,不满足要求。表示字符斜杠,正确的写法是/,所以选项 C错误。选项 D正确地表示了一个字符串常量。2.若有定义语句 int a,b; double x; 则下列选项中没有错误的是(分数:2.00)A.switch(x%2) ease 0: a+; break; ease 1: b+; b
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 227 答案 解析 DOC
