【计算机类职业资格】二级C语言笔试-372及答案解析.doc
《【计算机类职业资格】二级C语言笔试-372及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-372及答案解析.doc(32页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-372 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.算法的时间复杂度是指A) 算法所处理的数据量 B) 算法的执行时间C) 算法在执行过程中所需要的基本运算次数 D) 算法程序中的语句或指令条数(分数:2.00)A.B.C.D.2.数据的存储结构是指A) 存储在外存中的数据 B) 数据所占的存储空间C) 数据在计算机中的顺序存储方式 D) 数据的逻辑结构在计算机中的表示(分数:2.00)A.B.C.D.3.下列对队列的叙述正确的是A) 队列按“先进后出”原则组织数据 B) 队列属于非线性表C) 队列在队尾删除数据 D
2、) 队列按“先进先出”原则组织数据(分数:2.00)A.B.C.D.4.对长度为 n 的线性表排序,在最坏情况下,比较次数是 nlog2n 的排序方法是A) 快速排序 B) 冒泡排序 C) 直接插入排序 D) 堆排序(分数:2.00)A.B.C.D.5.下列描述中正确的是A) 软件工程只是解决软件项目的管理问题B) 软件工程主要解决软件产品的生产率问题C) 软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D) 软件工程只是解决软件开发中的技术问题(分数:2.00)A.B.C.D.6.在软件设计中,不属于过程设计工具的是A) PDL B) DFD 图 C) PAD 图 D) N-S 图
3、(分数:2.00)A.B.C.D.7.软件(程序)调试的目标是A) 诊断和改正程序中的错误 B) 尽可能多地发现程序中的错误C) 发现并改正程序中的所有错误 D) 确定程序中错误的性质(分数:2.00)A.B.C.D.8.数据库系统的核心是A) 数据库 B) 数据库管理系统 C) 数据库管理员 D) 数据库应用系统(分数:2.00)A.B.C.D.9.在关系数据库中,用来表示实体之间联系的是A) 二维表 B) E-R 图 C) 元组 D) 文件(分数:2.00)A.B.C.D.10.设有如下三个关系表:(分数:2.00)A.B.C.D.11.计算机高级语言程序的运行方法有编译执行和解释执行两种
4、,以下叙述中正确的是A) C 语言程序仅可以编译执行 B) C 语言程序仅可以解释执行C) C 语言程序既可以编译执行又可以解释执行 D) 以上说法都不对(分数:1.00)A.B.C.D.12.以下叙述中错误的是A) 用户所定义的标识符允许使用关键字B) 用户所定义的标识符应尽量做到“见名识意”C) 用户所定义的标识符中,大、小写字母代表不同标识D) 用户所定义的标识符必须以字母或下划线开头(分数:1.00)A.B.C.D.13.若有说明语句:char c=/72; ,则变量 cA) 包含 1 个字符 B) 包含 2 个字符 C) 包含 3 个字符 D) 说明不合法,c 的值不确定(分数:1.
5、00)A.B.C.D.14.现有定义 int a; double b; float c; char k; ,则表达式 a/b+c-k 值的类型为A) int B) double C) float D) char(分数:1.00)A.B.C.D.15.以下定义语句中正确的是A) int a=b=0; B) char A=65+1, b=b; C) float a=1, * b=a, * c=b; D) double a=0.0; b=1.1;(分数:1.00)A.B.C.D.16.若在定义语句 int a, b, c, *p=c;之后,接着执行以下选项中的语句,则能正确执行的语句是A) scan
6、f(“%d“, a, b, c); B) scanf(“% d% d% d“, a, b, c); C) scanf(“%d“, p); D) scanf(“%d“, p);(分数:1.00)A.B.C.D.17.以下程序的运行结果是int k=0; void fun(int m)m+=k; k+=m; printf(”m=%d k=%d”, m, k+); main()int i=4;fun(i+); printf(“i=%d k=%d/n“, i, k); A) m=4 k=5 i=5 k=5 B) m=4 k=4 i=5 k=5C) m=4 k=4 i=4 k=5 D) m=4 k=5
7、i=4 k=5(分数:1.00)A.B.C.D.18.在执行下述程序时,若从键盘输入 6 和 8,则结果为main()int a, b, s; scanf(“%d%d“,a,b); s=a:if(ab)s=b; s*=s; printf(“%d“, s); A) 36 B) 64 C) 48 D) 以上都不对(分数:1.00)A.B.C.D.19.有以下程序: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); 程序运行后的输出结果是A
8、) 0 B) 4 C) 6 D) 7(分数:1.00)A.B.C.D.20.有以下程序:#includestdio.hmain()int x; scanf(“%d“,x); if(x=3); elseif(x!=10) printf(“%d/n“, x); 程序运行时,输入的值在_范围才会有输出结果。A) 不等于 10 的整数 B) 大于 3 且不等于 10 的整数C) 大于 3 或等于 10 的整数 D) 小于 3 的整数(分数:1.00)A.B.C.D.21.有以下程序:#includestdio.hmain()int a=1, b=0; printf(“%d, “, b=a+b); pr
9、intf(“%d/n“, a=2*b); 程序运行后的输出结果是A) 0, 0 B) 1, 0 C) 3, 2 D) 1, 2(分数:2.00)A.B.C.D.22.有以下程序:main()int num44=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, i, j; for(i=0; i4; i+)for(j=0; j=i; j+)printf(“%4c“, ); for(j=_; j4; j+)printf(“%4d“, numij); printf(“/n“);若要按以下形式输出数组右上半三角1 2 3 46 7 811 12
10、16则在程序下划线处应填入的语句是A) i-1 B) i+1 C) i D) 4-1(分数:2.00)A.B.C.D.23.以下程序段中,与语句: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;(分数:2.00)A.B.C.D.24.有以下程序:void ss(char*s, char t)while(*s)if(*s=t)*s=t=a+A;
11、 s+; main()char str1100=“abcddfefdbd“, c=d; ss(str1, c); printf(“%s/n“, str1); 程序运行后的输出结果是A) ABCDDEFEDBD B) abcDDfefDbD C) abcAAfefAbA D) Abcddfefdbd(分数:2.00)A.B.C.D.25.现有如下程序段:#include “stdio.h“main()int k30=12, 324, 45, 6, 768, 98, 21, 34, 453, 456; int count=0, i=0; while(ki)if(ki %2=0|ki%5=0) co
12、unt+; i+; printf(“%d, % d/n“, count, i); 则程序段的输出结果为A) 7, 8 B) 8, 8 C) 7, 10 D) 8, 10(分数:2.00)A.B.C.D.26.以下程序运行后的输出结果是#include string.hvoid f(char*s, char*t)char k; k=*s; *s=*t; *t=k; s+; t-; if(*s)f(s, t); main()char str10=“welcome“, *p; p=str+strlen(str)/2+1; f(p, p-2);printf(“%s/n“, str); A) eelco
13、mw B) weoclme C) welcome D) emoclew(分数:2.00)A.B.C.D.27.设有如下程序段:int x=2004,y=2008;printf(“%d/n“, (x, y); 则以下叙述中正确的是A) 输出值为 2004B) 输出值为 2008C) 运行时产生出错信息D) 输出语句中格式说明符的个数少于输出项的个数,不能正确输出(分数:2.00)A.B.C.D.28.有以下程序:#includestdio.hvoid fun(char*c, int d)*c=*c+1; d=d+1; printf(“%c, %c, “, *c, d); main()char b
14、=a,a=A; fun(b, a); printf(“%c, %c/n“, b, a); 程序运行后的输出结果是A) b, B, b, A B) b, B, B, A C) a, B, B, a D) a, B, a, B(分数:2.00)A.B.C.D.29.有以下程序:#includestdio.h#includestring.hmain()char a10=“abcd“;printf(“%d, %d/n“, strlen(a), sizeof(a); 程序运行后的输出结果是A) 7, 4 B) 4, 10 C) 8, 8 D) 10, 10(分数:2.00)A.B.C.D.30.若有定义
15、 int a2 3; ,则对 a 数组的第 i 行第 j 列(假设 i, j 已正确说明并赋值)元素值的正确引用为A) *(*(a+i)+j) B) (a+i)j C) *(a+i+j) D) *(a+i)+j(分数:2.00)A.B.C.D.31.有以下程序:#includestdio.hmain()char c1, c2, c3, c4, c5, c6; scanf(“%c% c% c%c“, c1, c2, c3, c4); c5=getchar(); c6=getchar(); putchar(c1); putchar(c2); printf(“%c% c/n“, c5, c6); 程
16、序运行后,若从键盘输入(从第 1 列开始):123回车45678回车则输出结果是A) 1267 B) 1256 C) 1278 D) 1245(分数:2.00)A.B.C.D.32.以下程序的运行结果是#includestdio.hint a=1; int f(int c)static int a=2; c=c+1:return(a+)+c; main()int i, k=0; for(i=0; i2; i+) int a=3; k+=f(a); k+=a; printf(“%d/n“, k); A) 17 B) 16 C) 15 D) 14(分数:2.00)A.B.C.D.33.设有定义:i
17、nt n1=0, n2, *p=n2, *q=n1;,以下赋值语句中与 n2=n1;语句等价的是A) *p=*q; B) p=q; C) *p=n1; D) p=*q;(分数:2.00)A.B.C.D.34.设有如下说明:Typedef struct STlong a; int b; Char c2; NEW; 以下说法正确的是A) NEW 是一个结构体变量 B) NEW 是一个结构体类型C) ST 是一个结构体类型 D) 以上说明形式非法(分数:2.00)A.B.C.D.35.有以下程序:#includestdio.h#includestring.htypedef struct char n
18、ame9; char sex; float score2; STU; void f(STU a)STU b=“Zhao“, m, 85.0, 90.0; int i; strcpy(a.name, b. name); a.sex=b.sex; for(i=0; i2; i+)a.scorei=b.scorei; main()STU c=“Qian“, f, 95.0, 92.0; f(c); printf(“%s, %c, %2. 0f, %2.0f/n“, c. name, c.sex, c.score0, c.score1); 程序的运行结果是A) Qian, f, 95, 92 B) Q
19、ian, m, 85, 90 C) Zhao, f, 95, 92 D) Zhao, m, 85, 90(分数:2.00)A.B.C.D.36.有以下程序:#includestdio.h#define N 4void fun(int aN, int b)int i;for(i=0; iN; i+)bi=aii; main()int xN=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, yN, i; fun(x, y); for(i=0; iN; i+)printf(“%d, “, yi); printf(“/n“); 程序的运行结果是A) 1, 2, 3, 4, B) 1, 0,
20、 7, 0, C) 1, 4, 5, 9, D) 3, 4, 8, 10,(分数:2.00)A.B.C.D.37.有以下程序:#includestdio.hint fun(int x, int y)if(x!=y) return(x+y)/2); else return(x); main()int a=4, b=5, c=6; printf(“%d/n“, fun(2 a, fun(b, c); 程序运行后的输出结果是A) 3 B) 6 C) 8 D) 12(分数:2.00)A.B.C.D.38.若 x 是 int 型变量,且有下面的程序片段:for(x=3; x6; x+)printf(x%
21、2)?(“*%d“):(“#%d/n“), x); 上面程序片段的输出结果是A) * *3#4* *5B) #3* *4#5C) #3* *4#5D) * *3#4* *5(分数:2.00)A.B.C.D.39.有以下程序:#includestdio.h#defineN 5#define M N+1#define f(x)(x*M)main()int i1, i2; i1=f(2); i2=f(1+1); printf(“%d%d/n“, i1, i2); 程序的运行结果是A) 12 12 B) 11 7 C) 11 11 D) 12 7(分数:2.00)A.B.C.D.40.有以下程序:#i
22、ncludestdio.hmain()unsigned char a=8, c; c=a3; printf(“%d/n“, c); 程序运行后的输出结果是A) 32 B) 16 C) 1 D) 0(分数:2.00)A.B.C.D.二、填空题(总题数:15,分数:30.00)41.对下列二叉树进行前序遍历的结果为 1。(分数:2.00)填空项 1:_42.结构化程序设计的基本原则包括 1、逐步求精、模块化和限制使用 goto 语句。(分数:2.00)填空项 1:_43.数据流图是描述数据在软件中的流动和变换的过程,而对数据流图中所包含元素的定义则是 1。(分数:2.00)填空项 1:_44.在
23、E-R 图中,_表示实体间的联系。(分数:2.00)填空项 1:_45.在职员管理关系数据库中,存取个职员信息的数据单位是 1。(分数:2.00)填空项 1:_46.以下程序运行后的输出结果是_。main()int a, b, c; a=10; b=20; c=(a%b1)|(a/b1); printf(“%d%d%d/n“, a, b, c); (分数:2.00)填空项 1:_47.有以下程序段,且变量已正确定义和赋值。for(s=1.0, k=1; k=n; k+)s=s+1.0/(k*(k+1); printf(“s=%f/n/n“, s); 请填空,使下面程序段的功能与之完全相同S=1
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 372 答案 解析 DOC
