【计算机类职业资格】二级C语言笔试-376及答案解析.doc
《【计算机类职业资格】二级C语言笔试-376及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-376及答案解析.doc(28页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-376 及答案解析(总分: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) 各模块的规模应尽量
2、大C) 各模块之间的联系应尽量紧密D) 模块内具有高内聚度、模块间具有低耦合度(分数:2.00)A.B.C.D.4.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是A) 浏览器 B) 操作系统 C) 编译程序 D) 汇编程序(分数:2.00)A.B.C.D.5.在 E-R 图中,用来表示实体集的图形是A) 矩形 B) 椭圆形 C) 菱形 D) 三角形(分数:2.00)A.B.C.D.6.结构化分析可以使用的工具是A) N-S 图 B) DFD 图 C) PAD 图 D) 程序流程图(分数:2.00)A.B.C.D.7.下面不属于软件设计原则的是A) 抽象 B)
3、 模块化 C) 自底向上 D) 信息隐蔽(分数:2.00)A.B.C.D.8.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中,数据独立性最高的阶段是A) 数据库系统 B) 文件系统 C) 人工管理 D) 数据项管理(分数:2.00)A.B.C.D.9.数据库设计包含四个阶段,它们是需求分析、_、逻辑设计和物理设计。A) 编码设计 B) 测试阶段 C) 运行阶段 D) 概念设计(分数:2.00)A.B.C.D.10.有两个关系 R,S 如下:(分数:2.00)A.B.C.D.11.C 语言规定,在一个源程序中,main 函数的位嚣A) 必须在最开始 B) 必须
4、在系统调用的库函数的后面C) 可以任意 D) 必须在最后(分数:1.00)A.B.C.D.12.下列可用于 C 语言用户标识符的一组是A) void, define, WORD B) a3_3, _123, CarC) For,-abc, IF Case D) 2a, DO, sizeof(分数:1.00)A.B.C.D.13.以下符合 C 语言语法的实型常量是A) 8E-2 B) 3.14.159E C) E14 D) 2.2E0.5(分数:1.00)A.B.C.D.14.若函数中有定义语句:int a; , 则A) 系统将自动给 a 赋初值为 0 B) 系统将自动给 a 赋初值-1C) 这
5、时 a 中的值无意义 D) 这时 a 中无任何值(分数:1.00)A.B.C.D.15.以下不能正确表示代数式 4cd/ab 的 C 语言表达式是A) 4 * c * d/a/b B) c * d/a/b* 4 C) c/a/b * d* 4 D) 4* c* d/a, b(分数:1.00)A.B.C.D.16.下列关于单目运算符+,-的叙述中正确的是A) 它们的运算对象可以是任何变量和常量B) 它们的运算对象可以是 char 型变量和 int 型变量,但不能是 float 型变量C) 它们的运算对象可以是 int 型变量,但不能是 double 型变量和 float 型变量D) 它们的运算对
6、象可以是 char 型变量、int 型变量和 float 型变量(分数:1.00)A.B.C.D.17.有以下程序:#includestdio.hmain()int c:while(c=getchar()!/n)switch(c-2)case 0:case 1:putchar(c+4); case 2:putchar(c+4); break; case 3:putchar(c+3); case 4:putchar(c+3); break; printf(“/n“);从第一列开始输入以下数据(CR代表一个回车符):2743CR程序的输出结果是A) 66877 B) 668966 C) 66778
7、77 D) 6688766(分数:1.00)A.B.C.D.18.有以下程序段:int j; float y; char name50; scanf(“ %2d%f% s“ .j, y, name); 当执行上述程序段,从键盘上输入 55566 7777abc 后,y 的值为A) 55566.0 B) 566.0 C) 7777.0 D) 566777.0(分数:1.00)A.B.C.D.19.程序段:int x=12; double y=3.141593; printf(“ % d% 8.6f“, x, y); 的输出结果是A) 123.141593 B) 12 3.141593 C) 12
8、, 3.141593 D) 123.1415930(分数:1.00)A.B.C.D.20.以下叙述中不正确的是A) 在 C 程序中,逗号运算符的优先级最低B) 在 C 程序中,APH 和 aph 是两个不同的变量C) 若 a 和 b 类型相同,在计算赋值表达式 a=b 后 b 中的值将放入 a 中,而 b 巾的值不变D) 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值(分数:1.00)A.B.C.D.21.有如下程序段:int a=14, h=15, x; char c=A; x=(ab) (c B); 执行该程序段后,x 的值为A) true B) false
9、 C) 0 D) 1(分数:2.00)A.B.C.D.22.有如下程序:main()float x=2.0, y; if(x0. 0) y=0.0; else if(x10. 0) y=1.0/x; else y=1.0; prinff(“%f/n“, y); 该程序的输出结果是A) 0.000000 B) 0.250000 C) 0.500000 D) 1. 000000(分数:2.00)A.B.C.D.23.有以下程序:main()char a7=“a0/0a0/0“; int i, j; i=sizeof(a); j=strlen(a); printf(“%d%d/n“, i, j);
10、程序运行后的输出结果是A) 2 2 B) 7 6 C) 7 2 D) 6 2(分数:2.00)A.B.C.D.24.以下描述中正确的是A) 由于 do-while 循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句B) do-while 循环由 do 开始,用 while 结束,在 while(表达式)后面不能写分号C) 在 do-while 循环体中,是先执行一次循环,再进行判断D) do-while 循环中,根据情况可以省略 while(分数:2.00)A.B.C.D.25.以下能正确定义一维数组的选项是A) int a5=0, 1, 2, 3, 4, 5; B) char
11、 a=0, 1, 2, 3, 4, 5, /0; .C) char a=A, B, C; D) int a5=“0123“;(分数:2.00)A.B.C.D.26.下面的程序段运行后,输出结果是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(分数:2.00)A.B.C.D.27.若有定义:char * st=“how are you “; ,下列程序段中正确的是A) ch
12、ar a11, *p; strcpy(p=a+1, st4); B) char a11; strcpy(+a, st); C) char a 11; strcpy (a, st); D) char a , * p; strcpy (p=a 1, st+2);(分数:2.00)A.B.C.D.28.以下程序的输出结果是void f(int b)int i:for(i=2; i6; i+)bi*=2; main()int a10=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, , i; f(a); for(i=0; i10; i+)printf(“%d, “, ai); A) 1,
13、2, 3, 4, 5, 6, 7, 8, 9, 10, B) 1, 2, 3, 4, 10, 12, 14, 16, 9, 10, C) 1, 2, 6, 8, 10, 12, 7, 8, 9, 10, D) 1, 2, 6, 8, 10, 12, 14, 16, 9, 10,(分数:2.00)A.B.C.D.29.若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是A) 函数的实参和其对应的形参共占同一存储单元 B) 形参只是形式上的存在,不占用具体存储单元C) 同名的实参和形参占同一存储单元 D) 函数的形参和实参分别占用不同的存储单元(分数:2.00)A.B.C.D.30.
14、以下程序运行后的输出结果是#includestdio.hint f(int x); main()int n=1, m; m=f(f(f(n); printf(“%d/n“, m); int f(int x)return x *2; A) 1 B) 2 C) 4 D) 8(分数:2.00)A.B.C.D.31.若变量均已正确定义并赋值,以下属于合法的 C 语言赋值语句的是A) x=y=5; B) x=n%2.5; C) x+n=i; D) x=5=4+1;(分数:2.00)A.B.C.D.32.有以下程序:main()int a33, *p, i; p=a00;for(i=0; i9; i+)p
15、i=i+1; printf(“%d/n“, a12); 程序运行后的输出结果是A) 3 B) 6 C) 9 D) 2(分数:2.00)A.B.C.D.33.有以下程序:#includestdio.h#includestdlib.hint fun(int n)int *p;p=(int *)malloc(sizeof(int); *p=n; return *p; main()int a;a=fun(10); printf(“%d/n“, a+fun(10); 程序的运行结果是A) 0 B) 10 C) 20 D) 出错(分数:2.00)A.B.C.D.34.设有以下定义和语句:char str2
16、5=“Program“, *p; p=str; 则以下叙述中正确的是A) str 数组长度和 p 所指向的字符串长度相等 B) *p 与 str0的值相等C) str 与 p 的类型完全相同 D) 数组 str 中存放的内容和指针变量 p 中存放的内容相同(分数:2.00)A.B.C.D.35.设有如下定义:struct skint n; float x; data, *p; 若要使 p 指向 data 中的 n 域,正确的赋值语句是A) p=tara. n; B) * p=data. n; C) p=(struct sk *) data. n; D) p=(struct sk *) data
17、. n;(分数:2.00)A.B.C.D.36.以下程序的输出结果是#include stdio.hmain()char ch25=“6937“, “8254“, *p2; int i, j, s=0;for(i=0; i2; i+)pi=chi; for (i=0; i2; i+)for(j=0; pij/0; j+=2)s=10*s+pij-0; A) 69825 B) 63825 C) 6385 D) 693825(分数:2.00)A.B.C.D.37.有以下程序:#includestdio.hmain()FILE * fp; int i, a6=1, 2, 3, 4, 5, 6; fp
18、=fopen(“d3. dat“, “w+b“); fwrite(a, sizeof(int), 6, fp); fseek(fp, sizeof(int) *3, SEEK_SEr); /*该语句使渎文件的位置指针从文件头向后移动 3 个 int 型数据*/Fread(a, sizeof(int), 3, fp); fclose(fp); for(i=0; i6; i+)printf(“%d, “, ai); 程序运行后的输出结果是A) 4, 5, 6, 4, 5, 6, B) 1, 2, 3, 4, 5, 6, C) 4, 5, 6, 1, 2, 3, D) 6, 5, 4, 3, 2,
19、1,(分数:2.00)A.B.C.D.38.若有定义语句:int a410, *p, *q4; 且 0i4,则错误的赋值是A) p=a B) qi=ai C) p=ai D) p=a21(分数:2.00)A.B.C.D.39.设 x,y 和 z 都是 int 型变量,且 x=3,y=4,z=5,则下面表达式中,值为 0 的表达式是A) xy B) x=y C) x|+yy-z D) !(xy! z|1)(分数:2.00)A.B.C.D.40.以下程序的功能是进行位运算:main()unsigned char a, b; a=73; b=43; printf(“%d%d/n“, a, b); 程
20、序运行后的输出结果是A) 4 3 B) 7 3 C) 7 0 D) 4 0(分数:2.00)A.B.C.D.二、填空题(总题数:14,分数:30.00)41.一个栈的初始状态为空。首先将元素 1、2、3、4、5 依次入栈,然后退栈一次,再将元素 A、B、C、D依次入找,之后将所有元素全部退栈,则所有元素退栈(包括中间退栈的元素)的顺序为 1。(分数:2.00)填空项 1:_42.已知二叉树后序遍历序列是 dabec,中序遍历序列是 debac,它的前序遍历序列是一 1。(分数:2.00)填空项 1:_43.一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体“项目”的
21、联系属于 1 的联系。(分数:2.00)填空项 1:_44.软件测试可分为白盒测试和黑盒测试。逻辑覆盖测试属于 1 测试。(分数:2.00)填空项 1:_45.在最坏情况下,简单插入排序需要 1 次比较。(分数:2.00)填空项 1:_46.下面程序的功能是:计算 110 之间的奇数之和与偶数之和。请填空。#includestdio.hmain()int a, b, c, i; a=c=0; for(i=0; i=10; i+=2)a+=i; _; c+=b; printf(“偶数之和=%d/n“,a);printf(“奇数之和=%d/n“,c-11);(分数:2.00)填空项 1:_47.以
22、下程序的输出结果是_。fun (int x, int y, int z)z=x*x+y*y; main()int a=31; fun (6, 3, a)printf(“%d“, a)(分数:2.00)填空项 1:_48.以下程序运行后的输出结果是_。fun(int a)int b=0; static int c=3; b+; c+; return(a+b+c); main()int i, a=5;for(i=0; i3; i+)printf(“%d%d“, i, fun(a); printf(“/n“); (分数:2.00)填空项 1:_以下函数用来求出数组的最大元素在数组中的下标并存放在 k
23、 所指的存储单元中。请填空。#includeconio.h#includestdio.hint fun(int%s, int t, int *k)int i; *k=0; (9) if(s*ksi)*k=i; return (10) ; main()int a10=876, 675, 896, 101, 301, 401, 980, 431, 451, 777, k; fun(a, 10, %k); printf(“%d, %d/n“, k, ak);(分数:4.00)填空项 1:_填空项 1:_49.以下定义的结构体类型拟包含两个成员,其中成员变量 info 用来存入整型数据;成员变量 li
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 376 答案 解析 DOC
