【计算机类职业资格】二级C语言笔试-379及答案解析.doc
《【计算机类职业资格】二级C语言笔试-379及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-379及答案解析.doc(30页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-379 及答案解析(总分: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.
2、B.C.D.3.设树 T的度为 4,其中度为 1、2、3、4 的结点个数分别为 4、2、1、1,则 T中的叶子结点数为( )。A) 8 B) 7 C) 6 D) 5(分数:1.00)A.B.C.D.4.以下不属于对象的基本特点的是( )。A) 分类性 B) 多态性 C) 继承性 D) 封装性(分数:1.00)A.B.C.D.5.在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是( )。A) 概要设计 B) 详细设计 C) 可行性分析 D) 需求分析(分数:1.00)A.B.C.D.6.下列叙述中,不属于软件需求规格说明书的作用的是( )。A) 便于用户、开发人员进行理解
3、和交流B) 反映出用户问题的结构,可以作为软件开发工作的基础和依据C) 作为确认测试和验收的依据D) 便于开发人员进行需求分析(分数:1.00)A.B.C.D.7.软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指( )。A) 模块间的关系 B) 系统结构部件转换成软件的过程描述C) 软件层次结构 D) 软件开发过程(分数:1.00)A.B.C.D.8.下述关于数据库系统的叙述中正确的是( )。A) 数据库系统减少了数据冗余B) 数据库系统避免了一切冗余C) 数据库系统中数据的一致性是指数据类型一致D) 数据库系统比文件系统能管理更多的数据(分数:1.00)A.B.C.D.9.
4、下列说法中,不属于数据模型所描述的内容的是( )。A) 数据结构 B) 数据操作 C) 数据查询 D) 数据约束(分数:1.00)A.B.C.D.10.下列叙述中,正确的是( )。A) 用 E-R图能够表示实体集间一对一的联系、一对多的联系和多对多的联系B) 用 E-R图只能表示实体集之间一对一的联系C) 用 E-R图只能表示实体集之间一对多的联系D) 用 E-R图表示的概念数据模型只能转换为关系数据模型(分数:1.00)A.B.C.D.11.结构化程序由三种基本结构组成,三种基本的结构组成的算法( )。A) 可以完成任何复杂的任务 B) 只能完成部分复杂的任务C) 只能完成符合结构化的任务
5、D) 只能完成一些简单的任务(分数:1.00)A.B.C.D.12.有以下程序:#include stdio.hmain() int a=0, b=0; a=10; /*给 a赋值b=20; /*给 b赋值*/printf(*a+b=%d/n“, a+b); /*输出计算结果*/程序运行后的输出结果是( )。A) a+b=10 B) a+b=30 C) 30 D) 出错(分数:1.00)A.B.C.D.13.以下 4个选项中,不能看成一条语句的是( )。A); B) a=5, b=2.5, c=3.6; C) if(a5); D) if(b!=5) x=2; y=6;(分数:1.00)A.B.
6、C.D.14.有以下程序段:int a, b, c; a=10; b=50; c=a; if(ab) a=b, b=c; c=a; printf(“a=%d b=%d c=%d/n“, a, b, c); 程序的输出结果是( )。A) a=10 b=50 c=10 B) a=10 b=50 c=30C) a=10 b=30 c=10 D) a=50 b=30 c=50(分数:1.00)A.B.C.D.15.若变量已正确定义,有以下程序段:int a=3, b=5, c=7; if(ab) a=b; c=a; if(c!=a) c=b; printf(“%d, %d, %d/n“, a, b,
7、c); 其输出结果是( )。A) 程序段有语法错 B) 3, 5, 3C) 3, 5, 5 D) 3, 5, 7(分数:1.00)A.B.C.D.16.如下程序的输出结果是( ) #includestdio.hmain() float x=2.0, y; if(x0.0) y=0.0; else if(x10.0) y=1.0/x; else y=1.0; printf(“%f/n“, y); A) 0.000000 B) 0.250000 C) 0.500000 D) 1.000000(分数:1.00)A.B.C.D.17.以下程序的输出结果是( )。#includestdio.hmain(
8、) int a, i; a=0; for(i=1; i5; i+) switch(i) case 0:case 3:a+=2; case 1:case 2:a+=3; default:a+=5; prinrf(“%d/n“, a); A) 31 B) 13 C) 10 D) 20(分数:1.00)A.B.C.D.18.有以下程序:#include stdio.hmain() int y=9; for(; y0; y-) if(y%3=0) printf(“%d“, -y); 程序的运行结果是( )。A) 741 B) 963 C) 852 D) 875421(分数:1.00)A.B.C.D.1
9、9.有定义语句:char s10; ,若要从终端给 s输入 s个字符,错误的输入语句是( )。A) gets(s0); B) scanf(“%s“, s+1); C) gets(s); D) scanf(“%s“, s1);(分数:1.00)A.B.C.D.20.以下叙述中正确的是( )。A) 调用 printf函数时,必须要有输出项B) 使用 putchar函数时,必须在之前包含头文件 stdio.hC) 在 C语言中,整数可以以十二进制、八进制或十六进制的形式输出D) 调用 getchar函数读入字符时,可以从键盘上输入字符所对应的 ASCII码(分数:1.00)A.B.C.D.21.有以
10、下程序:#includestdio.hint fun1(double a) return a*=a; int fun2(double x, double y) double a=O, b=0; a=funl(x); b=fun1(y); return (int) (a+b); main() double w; w=fun2(1.1, 2.0); ) 程序执行后变量 w中的值是( )。A) 5.21 B) 5 C) 5.0 D) 0.0(分数:1.00)A.B.C.D.22.以下程序的运行结果是( )。#includestdio.hint k=0; void fun(int m) m+=k; k
11、+=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 i=4 k=5(分数:1.00)A.B.C.D.23.有以下程序:#includestdio.hvoid f(int b) inti; for(i=2; i6; i+) bi*=2; main() int a10=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, i; f(a);
12、 for (i=0; i10; i+) printf(“%d, “, ai); 程序运行后的输出结果是( )。A) 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, B) 1, 2, 6, 8, 10, 12, 7, 8, 9, 10, C) 1, 2, 3, 4, 10, 12, 14, 16, 9, 10, D) 1, 2, 6, 8, 10, 12, 14, 16, 9, 10,(分数:1.00)A.B.C.D.24.有以下程序:main() int i, t3=9, 8, 7, 6, 5, 4, 3, 2, 1; for(i=0; i3; i+) printf(“%d“,
13、t2-ii); 程序执行后的输出结果是( )。A) 7 5 3 B) 3 5 7 C) 3 6 9 D) 7 5 1(分数:1.00)A.B.C.D.25.以下错误的定义语句是( )。A) int x3=0, 1, 1, 2, 3; B) int x43=1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3; C) intx4=1, 2, 3), 1, 2, 3, 1, 2, 3), 1, 2, 3; D) int x3=1, 2, 3, 4;(分数:1.00)A.B.C.D.26.有以下程序:#include stdio.h#define N 4void fun(int aN
14、, 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, 7, 0, C) 1, 4, 5, 9, D) 3, 4, 8, 10,(分数:1.00)_27.有以下程序:#includestdio.hmain() char str10=“China“, “Beijin
15、g“, *p=str; printf(“%s/n“, p+10); 程序运行后的输出结果是( )。A) China B) Beijing C) ng D) ing(分数:1.00)A.B.C.D.28.下面的程序段运行后,输出结果是( )。int i, j, x=0; static int a88; for(i=0; i3; i+) for(j=0; j3; j+) aij=2*i+j; for(i=0; i8; i+) x+=aij; printf(“%d“, x); A) 9 B) 不确定值 C) 0 D) 18(分数:1.00)A.B.C.D.29.若有定义语句:int a23, *p3
16、; ,则以下语句中正确的是( )。A) p=a; B) p0=a; C) p0=a12; D) p1=a;(分数:1.00)A.B.C.D.30.当用户要求输入的字符串中含有空格时,应使用的输入函数是( )。A) getchar() B) scanf() C) gets() D) getc()(分数:1.00)A.B.C.D.31.有以下定义:#include stdio.hchar a10, *b=a; 不能给数组 a输入字符串的语句是( )。A) gets(a); B) gets(a0); C) gets(a0); D) gets(b);(分数:1.00)A.B.C.D.32.下面程序的输
17、出结果是( )。#includestdio.h#includestring.hmain() char pl20=“123 “, *p2=“ABC “, str50=“xyz“; strcpy(str+2, strcat(p1, p2) ); printf(“%s/n“, str); A) xyzabzac B) bAcBACBC C) xy123ABC D) yz123ABC(分数:1.00)A.B.C.D.33.有以下程序:fun(int x) int p; if(x=0|x=1) return (3); p=x-fun(x-2); return p; main() printf(“%d/n
18、“, fun(7) ); 执行后的输出结果是()。A) 7 B) 3 C) 2 D) 0(分数:1.00)A.B.C.D.34.在一个 C源程序文件中所定义的全局变量,其作用域为( )。A) 所在文件的全部范围B) 所在程序的全部范围C) 所在函数的全部范围D) 由具体定义位置和 extern说明来决定范围(分数:1.00)A.B.C.D.35.若有以下宏定义:#defineN 2#define Y(n) (N+1) *n) 则执行语句 Z=2*(N+Y(5) ) ;后结果是()。A) 语句有误 B) Z=34 C) Z=70 D) Z 无定值(分数:1.00)A.B.C.D.36.以下程序的
19、输出结果是( )。#includestdio.hstruct stint x; int *y; *p; int dt4=10, 20, 30, 40; struct st aa4=(50, dt0, 60, dt0, 60, dt0, 60, dt0, ); main() p=aa; printf(“%d/n“, +(p-x) ); A) 10 B) 11 C) 51 D) 60(分数:1.00)A.B.C.D.37.有以下结构体说明和变量定义,如下图所示,指针 p、q、r 分别指向一个链表中的三个连续结点。struct nodeint data; struct node *next; *p,
20、 *q, *r; data next data next data next(分数:1.00)A.B.C.D.38.若有以下说明和定义:union dtint a; char b; double c; data; 以下叙述中错误的是( )。A) data的每个成员起始地址都相同B) 变量 data所占内存字节数与成员 c所占字节数相等C) 程序段:data.a=5; printf(“%f/n“, data.c);输出结果为 5.000000D) data可以作为函数的实参(分数:1.00)A.B.C.D.39.有以下程序:main() int c=35; printf(“%d/n“, cc);
21、 程序运行后的输出结果是( )。A) 0 B) 70 C) 35 D) 1(分数:1.00)A.B.C.D.40.以下叙述中错误的是( )。A) gets函数用于从终端读入字符串B) getchar函数用于从磁盘文件读入字符C) fputs函数用于把字符串输出到文件D) fwrite函数用于以二进制形式输出数据到文件(分数:1.00)A.B.C.D.二、程序填空题(总题数:1,分数:18.00)下列给定程序中,函数 fun的功能是:计算 NN矩阵的主对角线元素和反向对角线元素之和,并作为函数值返回。要求先累加主对角线元素中的值,再累加反向对角线元素中的值。请在下划线处填入正确的内容并将下划线删
22、除,使程序得出正确的结果。注意:部分源程序给出如下。不得增行或删行,也不得更改程序的结构!试题程序:#includestdio.h#define N 4fun(int tN, int n)int i, sum; /*found*/(1) ; for(i=0; in; i+)/*found*/sum+= (2) ; for(i=0; in; i+)/水半丰拳术水术枣木车术木木水丰半术 fbund木木木水串术半半术术术半术丰木丰年,sum+=tin-i- (3) ; return sum; main()int tN=21, 2, 13, 24, 25, 16, 47, 38, 29, 11, 32
23、, 54, 42, 21, 3, 10, i, j; printf(“/nThe original data:/n“); for(i=0; iN; i+)for(j=0; jN; j+)printf(“%4d“, tij); printf(“/n“); printf(“The result is:%d“, fun(t, N); (分数:18.00)填空项 1:_填空项 1:_填空项 1:_三、程序改错题(总题数:1,分数:18.00)41.下列给定程序中,函数 fun和 funx的功能是:用二分法求方程 2x3-4x2+3x-6=0的一个根,并要求绝对误差不超过 0.001。请改正程序中的错误
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 379 答案 解析 DOC
