【计算机类职业资格】二级C语言笔试-390及答案解析.doc
《【计算机类职业资格】二级C语言笔试-390及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-390及答案解析.doc(30页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-390 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.用链表表示线性表的优点是( )。A) 便于插入和删除操作 B) 数据元素的物理顺序与逻辑顺序相同C) 花费的存储空间较顺序存储少 D) 便于随机存取(分数:1.00)A.B.C.D.2.下列数据结构中,按“先进后出”原则组织数据的是( )。A) 线性链表 B) 栈 C) 循环链表 D) 顺序表(分数:1.00)A.B.C.D.3.假定已建立以下链表结构,且指针 p 和 q 已指向如下图所示的结点:(分数:1.00)A.B.C.D.4.结构化程序设计方法的 3 种基本
2、控制结构中不包括( )。A) 循环结构 B) 递归结构 C) 顺序结构 D) 选择结构(分数:1.00)A.B.C.D.5.下面概念中,不属于面向对象方法的是( )。A) 对象 B) 继承 C) 类 D) 过程调用(分数:1.00)A.B.C.D.6.下列叙述中正确的是( )。A) 软件交付使用后还需要进行维护B) 软件一旦交付使用就不需要再进行维护C) 软件交付使用后其生命周期就结束D) 软件维护是指修复程序中被破坏的指令(分数:1.00)A.B.C.D.7.数据流程图(DFD)是( )。A) 软件概要设计的工具 B) 软件详细设计的工具C) 结构化方法的需求分析工具 D) 面向对象方法的需
3、求分析工具(分数:1.00)A.B.C.D.8.数据独立性是数据库技术的重要特点之一。所谓数据独立性是指( )。A) 数据与程序独立存放B) 不同的数据被存放在不同的文件中C) 不同的数据只能被对应的应用程序所使用D) 以上三种说法都不对(分数:1.00)A.B.C.D.9.设有部门和职员两个实体,每个职员只能属于一个部门,一个部门可以有多名职员,则部门与职员实体之间的联系类型是( )。A) m:n B) 1:m C) m:k D) 1:1(分数:1.00)A.B.C.D.10.在 E-R 图中,用来表示实体的图形是( )。A) 矩形 B) 椭圆形 C) 菱形 D) 三角形(分数:1.00)A
4、.B.C.D.11.算法具有五个特性,以下选项中不属于算法特性的是( )。A) 有穷性 B) 简洁性 C) 可行性 D) 确定性(分数:1.00)A.B.C.D.12.以下叙述中正确的是( )。A) C 程序中的注释只能出现在程序的开始位置和语句的后面B) C 程序书写格式严格,要求一行内只能写一个语句C) C 程序书写格式自由,一个语句可以写在多行上D) 用 C 语言编写的程序只能放在一个程序文件中(分数:1.00)A.B.C.D.13.有以下程序段:int j; float y; char name50; scanf(“%2d%f%s“, j, y, name); 当执行上述程序段,从键盘
5、上输入 55566 7777123 后,y 的值为( )。A) 5 B) 566.0 C) 7777.0 D) 566777.0(分数:1.00)A.B.C.D.14.现有格式化输入语句,scanf(“x=%d, sum y=%d, line z=%dL“, x, y, z); ,已知在输入数据后,x、y、z 的值分别是 12、34、45,则下列选项中是正确的输入格式的是( )。A) 12, 34, 45Enter B) x=12, y=34, z=45EnterC) x=12, sumy=34, z=45Enter D) x=12, sum y=34, line z=45Enter(分数:1
6、.00)A.B.C.D.15.以下程序段中与语句 k=ab?(bc?1:0):0;功能等价的是( )。A) if(ab) (bc)k=1; else k=0; B) if(ab) |(bc) k=1; else k=0; C) if(a=b) k=0; else if(b=c)k=1; D) if(ab) k=1; else if(bc)k=1; else k=0;(分数:1.00)A.B.C.D.16.设变量 a、b、c、d 和 y 都已正确定义并赋值。若有以下 if 语句:if(ab) if(c=d) y=0; else y=1; 该语句所表示的含义是( )。A) y=0 ab 且 c=d
7、1 abB) y=0 ab 且 c=d1 ab 且 cdC) y=0 ab 且 c=d1 ab 且 cdD) y=0 ab 且 c=d1 cd(分数:1.00)A.B.C.D.17.有以下程序:#includestdio.hmain() int k=5; while(-k) printf(“%d“,k-=3); printf(“/n“); 执行后的输出结果是( )。A) 1 B) 2 C) 4 D) 死循环(分数:1.00)A.B.C.D.18.若变量已正确定义,要求程序段完成求 5!的计算,不能完成此操作的程序段是( )。A) for(i=1, p=1; i=5; i+) p*=i; B)
8、for(i=1; i=5; i+) p=1; p*=i; C) i=1; p=1; while(i=5) p*=i; i+; D) i=1; p=1; dop*=i; i+; while(i=5)(分数:1.00)A.B.C.D.19.以下合法的字符型常量是( )。A) /x13 B) /081 C) 65 D) “/n/(分数:1.00)A.B.C.D.20.有以下程序:#includestdio.hmain() char c1, c2, c3, c4, c5, c6; scanf(“%c% c%c%c“, c1, c2, c3, c4); c5=getchar(); c6=getchar(
9、); putchar(c1); putchar(c2); printf(“%c%c/n“, c5, c6); 程序运行后,若从键盘输入(从第 1 列开始) 123回车45678回车则输出结果是( )。A) 1267 B) 1256 C) 1278 D) 1245(分数:1.00)A.B.C.D.21.下列叙述中错误的是( )。A) 一个 C 语言程序只能实现一种算法B) C 程序可以由多个程序文件组成C) C 程序可以由一个或多个函数组成D) 一个 C 函数可以单独作为一个 C 程序文件存在(分数:1.00)A.B.C.D.22.有以下程序:#includestdio.hint f1(int
10、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(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); 程序运行后的输出结果是( )。A) 4, 3, 7 B) 3, 4, 7 C) 5, 2, 7 D) 2, 5, 7(分数:1.00)A.B.C.D.23.以下程序执行后 x 的值是( )。#i
11、ncludestdio.hmain() int x, y=252, i=386, *m=y, *z=i; x=(z=m); printf(“%d“, x); A) 252 B) 1 C) 0 D) 运行时出错,x 无定值(分数:1.00)A.B.C.D.24.有以下函数:int aaa(char *s) char *t=s; while(*t+); t-; return(t-s); 以下关于 aaa 函数的功能的叙述正确的是( )。A) 求字符串 s 的长度 B) 比较两个串的大小C) 将串 s 复制到串 t D) 求字符串 s 所占字节数(分数:1.00)A.B.C.D.25.有以下程序:#
12、includestdio.hvoid sum(int *a) a0=a1; main() int aa10=(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, i; for(1=2; i=0; i-)sum(aai); printf(“%d/n“, aa0); 执行后的输出结果是( )。A) 4 B) 3 C) 2 D) 1(分数:1.00)A.B.C.D.26.下面程序中有错误的行是(每行程序前面的数字表示行号) ( )。1 main() 2 3 int a3=1; 4 int i; 5 scanf(“%d“,a); 6 for(i=1; i3; i+) a0=a0+ai; 7
13、printf(“a0=%d/n“, a0); 8 A) 3 B) 6 C) 7 D) 5(分数:1.00)A.B.C.D.27.下列选项中错误的说明语句是( )。A) char a=t, o, y, o, u; B) char a=“; toyou/0“; C) char a=“toyou/0“; D) char a=toyou/0;(分数:1.00)A.B.C.D.28.有如下程序:#includestdio.hmain() char ch25= “6937“, “ 8254“), *p2; int i, j, s=0; for(i=0; i2; i+) pi=chi; for(i=0; i
14、2; i+) for(j=0; pij/0; j+=2) s=10*s+pij-0; printf(“%d/n“, s); 该程序的输出结果是( )。A) 69862358 B) 5825 C) 6385 D) 693825(分数:1.00)A.B.C.D.29.有以下程序:#includestdio.hvoid swap1(int c) int t; t=c0; c0=c1; c1=t; void swap2(int c0, int c1) int t; t=c0; c0=c1; c1=t; main() int a2=3, 5, b2=3, 5; swap1(a); swap2(b0, b
15、1); printf(“%d %d %d %d/n“, a0, a1, b0, b1); 程序运行后的输出结果是( )。A) 5353 B) 5335 C) 3535 D) 3553(分数:1.00)A.B.C.D.30.有以下程序:#includestdio.hmain() char s=“aeiou“), *ps; ps=s; printf(“%c/n“, *ps+4); 程序运行后的输出结果是( )。A) a B) e C) u D) 元素 s4的地址(分数:1.00)A.B.C.D.31.有以下程序:#includestdio.hvoid swap(char *x, char *y)
16、char t; t=*x; *x=*y; *y=t; main() char *s1=“abc“, *s2=“123“; swap(s1, s2); printf(“%s, %s/n“, s1, s2); 程序执行后的输出结果是( )。A) abc, 123 B) 123, abc C) 1bc, a23 D) 321, cba(分数:1.00)A.B.C.D.32.下列程序的运行结果为( )。#includestdio.hvoid fun(char *str) int a, b; for(a=b=0; stra!=/0; a+) if(stra!=c) strb+=stra; strb=/0
17、; void main() char str=“abcdef“; fun(str); printf(“str=%s“, str); A) str=abdef B) str=abcdef C) str=a D) str=ab(分数:1.00)A.B.C.D.33.有以下程序:#include stdio.hint f(int x) inty; if(x=0 | x=1) return(3); y=x*x-f(x-2); return y; main() int z; z=f(3); printf(“%d/n“, z); 程序的运行结果是( )。A) 0 B) 9 C) 6 D) 8(分数:1.0
18、0)A.B.C.D.34.以下程序的输出结果是( )。#includestdio.hint f() static int i=0; int s=1; s+=i; i+; return s; main() int i, a=0; for(i=0; i5; i+) a+=f(); printf(“%d/n“, a); A) 20 B) 24 C) 25 D) 15(分数:1.00)A.B.C.D.35.有以下程序:#include stdio.h#define N 5#define M N+1#define f(x)(x*M) main() int i1, i2; i1=f(2); i2=f(1+
19、1); printf(“%d%d/n“, i1, i2); 程序的运行结果是( )。A) 12 12 B) 11 7 C) 11 11 D) 12 7(分数:1.00)A.B.C.D.36.若有以下的说明,对初值中整数 2 的正确引用方式是( )。static structchar ch; int i; double x:a23=a, 1, 3.45), b, 2, 7.98, c, 31, 93; A) a01.ch B) a01.i C) a00.i D) a02.i(分数:1.00)A.B.C.D.37.有以下程序段:struct stint x; int *y; ) *pt; int
20、a=1, 2), b=3, 4); struct st c2=10, a, 20, b; pt=c; 以下选项中表达式的值为 11 的是( )。A) *pt-y B) pt-x C) +pt-x D) (pt+) -x(分数:1.00)A.B.C.D.38.有以下程序:struct sint x, y; data2=10, 100, 20, 200; main() struct s *p=data; printf(“%d/n“, +(p-x); 程序运行后的输出结果是( )。A) 10 B) 11 C) 20 D) 21(分数:1.00)A.B.C.D.39.在位运算中,操作数每右移一位,其结
21、果相当于( ) A) 操作数乘以 2 B) 操作数除以 2C) 操作数除以 16 D) 操作数乘以 16(分数:1.00)A.B.C.D.40.若 fp 是指向某文件的指针,且已读到文件末尾,则表达式 feof(fp)的返回值是( )。A) EOF B) -1 C) 非零值 D) NULL(分数:1.00)A.B.C.D.二、程序填空题(总题数:1,分数:18.00)下列给定程序中,函数 fun 的功能是:在形参 ss 所指字符串数组中查找与形参 t 所指字符串相同的串,找到后返回该串在字符串数组中的位置(即下标值),若未找到则返回-1。ss 所指字符串数组中共有 N 个内容不同的字符串,且串
22、长小于 M。请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序给出如下。不得增行或删行,也不得更改程序的结构!试题程序:#include stdio.h#include string.h#define N 5#define M 8int fun(char (*ss)M, char *t)int i; /*found*/for(i=0; i (1) ; i+)/*found*/if(strcmp(ssi, t)=0)return (2) ; return(-1); main()char chNM(“if“, “while“, “switch“, “int“, “fo
23、r“, tM; int n, i; printf(“/nThe original string/n/n“); for(i=0; iN; i+)puts(chi); printf(“/n“); printf(“/nEnter a string for search:“); gets(t); n=fun(ch, t); /*found*/if(n= (3) )printf(“/nDont found!/n“); elseprintf(“/nThe position is %d./n“, n); (分数:18.00)填空项 1:_填空项 1:_填空项 1:_三、程序改错题(总题数:1,分数:18.0
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 390 答案 解析 DOC
