【计算机类职业资格】二级C语言笔试376及答案解析.doc
《【计算机类职业资格】二级C语言笔试376及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试376及答案解析.doc(15页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试 376及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:70.00)1.数据的存储结构是指( )。(分数:2.00)A.数据所占的存储空间B.数据的逻辑结构在计算机的存放形式C.数据在计算机中的顺序存储方式D.存储在计算机外存中的数据2.有下列二叉树,对此二叉树前序遍历的结果为( )。 (分数:2.00)A.ACFHIBEDGB.ABCDEFGHIC.ABDEGCFHID.ABCDEFHGI3.若有定义:int a4,b5;float x3.4,y2.1;,则下列表达式的值为( )。 (float)(a+b) /2+(int)x%(i
2、nt)y(分数:2.00)A.5.5B.55C.5.500000D.55.000004.将 E-R图转换到关系模式时,实体与实体间的联系可以表示成( )。(分数:2.00)A.属性B.关系C.键D.域5.在位运算中,操作数每左移两位,其结果相当于( )。(分数:2.00)A.操作数乘以 2B.操作数除以 2C.操作数除以 4D.操作数乘以 46.下列说法不正确的是( )。(分数:2.00)A.调用函数时,实参可以是表达式B.调用函数时,实参与形参可以共用内存单元C.调用函数时,将实参的值复制给形参,使实参变量和形参变量在数值上相等D.调用函数时,实参与形参的类型必须一致7.下列程序的输出结果是
3、( )。 main() int a,b,d25; a:d/10%9; ba printf(“%d,%d/n“,a,b) ;(分数:2.00)A.6,1B.2,1C.6,0D.2,08.算法的空间复杂度是指( )。(分数:2.00)A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间9.对于下列字符串,说明表达式 strlen(s)值的是( )。 char s10a,/n,a,b,/t,c;(分数:2.00)A.10B.1C.6D.710.下列说法不正确的是( )。(分数:2.00)A.C语言程序是以函数为基本单位的,整个程序由函数组成B.C语言
4、程序的一条语句可以写在不同的行上C.C语言程序的注释行对程序的运行功能不起任何作用,所以注释应该尽可能少写D.C语言程序的每个语句都以分号结束11.下列不是合法的 C语言语句是( )。(分数:1.00)A.a5B.int i;i+;C.;D.;12.下列写法正确的是( )。(分数:1.00)A.main()B.main() int i3,j; int i3; j5 C.main()D.main() ;13.若 w、x、y、z、m 均为 int型变量,则执行下列的语句后 m的值是( )。 w2,x3,y4,z5; m(wx)?w:x; m(mz)?m:z; m(my)?m:y;(分数:1.00)
5、A.2B.3C.5D.414.下列程序的运行结果是( )。 #includestdio.h main() int x5,a1,b2,C5,d0; if(aB) if(b!3) if(!C) x1; else if(D) x1; else x-1; printf(“%d“,x); (分数:1.00)A.-1B.0C.1D.不确定的值15.要求通过 while循环不断读入字符,当读入字母 N时结束循环。若变量已正确定义, 下列正确的程序段是( )。(分数:1.00)A.while(chgetchar()!N)printf(“%c“,c;B.while(chgetchar()!N)printf(“%
6、c“,c;C.while(chgetchar()N)printf(“%c“,c;D.while(chgetchar()N)printf(“%c“,c;16.在 ASCII代码表中每一个大写字母比它相应的小写字母的 ASCII码( )。(分数:1.00)A.小 32B.小 64C.大 32D.大 117.下列程序的功能:给 r输入数据后计算半径为 r的圆面积 s。程序在编译时出错。 main() /* Beginning */ int r; float s; scanf(“%d“,r); star*r*r; printf (“s%f/n“,s); 出错的原因是( )。(分数:1.00)A.注释语
7、句书写位置错误B.存放圆半径的变量 r不应定义为整型C.输出语句中格式描述符非法D.计算圆面积的赋值语句使用非法变量18.下列程序的执行结果是( )。 #includestdio.h main() int a,b,c; ab2; c(a+)-1;printf(“%d,%d“,a,C); c+-a+(+B) ;printf(“%d,%d“,a,C); (分数:1.00)A.3,1 4,1B.3,1 4,2C.2,0 4,1D.2,1 4,119.有下列程序: main() int i; for(i1;i40;i+) if(i+%50) if(+i%80)printf(“%d“,i); print
8、f(“/n“); 执行后的输出结果是( )。(分数:1.00)A.5B.24C.32D.4020.在 C语言中,引用数组元素时,其数组下标的数据类型允许是( )。(分数:1.00)A.整型表达式B.整型常量C.整型常量或整型表达式D.任何类型的表达式21.下列叙述错误的是( )。(分数:2.00)A.函数名是属于用户标识符,需符合 C语言对标识符的规定B.形参只能是变量C.为保证程序的正常运行,函数中定义的变量不能与其他函数中的变量同名D.函数中定义的变量可以与其他函数中的变量同名22.若已包括头文件string.h且已有定义 char s118,s2“ABCDE“和 int i,现要将字符串
9、“ABCDE”赋给 s1,下列语句错误的是( )。(分数:2.00)A.strcpy(s1,s2)B.strcpy(sl,“ABCDE“);C.s1“ABCDE“;D.for(i0;i6;i+) s1s2;23.下列不属于软件工程的 3个要素的是( )。(分数:2.00)A.工具B.过程C.方法D.环境24.下列程序的运行结果是( )。 #includestdio.h main() stmct date int year,month,day; today; primf(“%d/n“,sizeof(struct date); (分数:2.00)A.8B.6C.10D.1225.根据下列定义,能打
10、印出字母 P的语句是( )。 struct stuchar name10; int age; ; struct stu s10“John“,11, “Pau1“,12, “Mary“,11, “adam“,12 ;(分数:2.00)A.primf(“%c“,s3.name;B.primf(“%c“,s3.name1);C.printf(“%c“,s2.name1);D.printf(“%c“,s1.name0);26.若有说明:int a30,0;则不正确的叙述是( )。(分数:2.00)A.数组 a的每个元素的初值都是 0B.数组 a的第一维大小为 1C.数组 a的行数为 1D.只有元素 a
11、00和 a101可得到初值 0,其余元素均得不到初值 027.下列选项中不是字符常量的是( )。(分数:2.00)A./VB./x2aC.aD.“/0“28.若以“叶”方式打开一个己存在的文件,则下列叙述正确的是( )。(分数:2.00)A.文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可以进行添加或读操作B.文件打开时,原有文件内容不被删除,只能进行读操作C.文件打开时,原有文件内容被删除,只能进行写操作D.以上 3种说法都不正确29.关系数据库管理系统能实现的专门关系运算包括( )。(分数:2.00)A.排序、索引、统计B.选择、投影、连接C.关联、更新、排序D.显示、打印、制表
12、30.数据库技术的根本目标是要解决数据的( )。(分数:2.00)A.存储问题B.共享问题C.安全问题D.保护问题31.下列描述中正确的是( )。(分数:2.00)A.程序就是软件B.软件开发不受计算机系统的限制C.软件既是逻辑实体,又是物理实体D.软件是程序、数据和相关文档的集合32.下列程序段中,不能正确赋值的是( )。(分数:2.00)A.char*p,ch; p scanf(“%c“,&;B.char*p; pchar*)malloc(1); scanf(“%c“,;C.char*p; *pgetchar();D.char*p,ch; p *pgetchar();33.若有定义 flo
13、at a15,*pa;,且数组 a的首地址为 300H,则 p+13所指向的数组元素的地址为( )。(分数:2.00)A.334HB.30DHC.352HD.31AH34.下列程序的输出结果是( )。 #includestdio.h main() int a3,b2,c1; if(aB) if(bO)c0; else c+; printf(“%d/n“,c) ; (分数:2.00)A.0B.2C.1D.335.有下列程序:main() int i,j; for(i1;i4;i+) for(ji;j4;j+) printf(“%d*%d%d“,i,j,i*j); printf(“/n“); 程序
14、运行后的输出结果是( )。(分数:2.00)A.1*11 1*22 1*33 2*12 2*24 3*13B.1*11 1*22 1*33 2*24 2*36 3*39C.1*11 1*22 2*24 1*33 2*36 3*39D.1*11 2*12 2*24 3*13 3*26 3*3936.设计数据库的存储结构属于( )。(分数:2.00)A.需求分析B.概念设计C.逻辑设计D.物理设计37.不能与 dowhile(exp)语句中的(exp)等价的表达式是( )。(分数:2.00)A.(!exp0)B.(exp0 exp0)C.(exp0)D.(exp!0)38.两个或两个以上模块之间联
15、系的紧密程度称为( )。(分数:2.00)A.耦合B.内聚性C.复杂性D.数据传输特性39.下列叙述中不正确的是( )。(分数:2.00)A.在 C语言中调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B.在 C的函数中,最好使用全局变量C.外部变量可以在函数之间传递数据D.自动变量实质上是一个函数内部的局部变量40.在“文件包含”预处理语句的使用形式中,当#include 后面的文件名用(尖括号) 括起时,寻找被包含文件的方式是( )。(分数:2.00)A.仅仅搜索当前目录B.仅仅搜索源程序所在目录C.在标准目录下查找指定的文件D.先在源程序所在目录搜索,如查找不到,再按系统指定
16、的标准目录查找二、B填空题/B(总题数:15,分数:30.00)41.数据结构分为逻辑结构和存储结构,循环队列属于 1 结构。(分数:2.00)填空项 1:_42.队列是限定在表的一端进行插入和在另一端进行删除操作的线性表。允许插入的一端称作 1。(分数:2.00)填空项 1:_43.在 1 个容量为 32的循环队列中,若头指针 front3,尾指针 rear2,则该循环队列中共有 2 个元素。(分数:2.00)填空项 1:_44.一棵二叉树第 6层(根结点为第一层)的结点最多为_个。(分数:2.00)填空项 1:_45.度为 10的线性表进行冒泡排序,最坏情况下需要比较的次数为 1。(分数:
17、2.00)填空项 1:_46.若 a1,b2,则表达式!(xA)yB) if(xy) if(y0)z+0; else Z+1; primf(“%d/n“,z); (分数:2.00)填空项 1:_49.在循环中,continue 语句与 break语句的区别是: 1 语句只是结束本次循环,然后进行循环的条件判定。(分数:2.00)填空项 1:_50.若有定义:int a441,2,3,4,0,4,6,8,10,1,3,5,7,则初始化后,a22得到的初值是 1。(分数:2.00)填空项 1:_51.下列语句的输出结果是_。char S20“aaaa“, *sps;puts(strcat(sp,“
18、AAAAA“);(分数:2.00)填空项 1:_52.下列程序的运行结果是_。#define POWER(x)(x)*(x)main()int i1;primtf(“%d,%d“,POWER(i+),i);(分数:2.00)填空项 1:_53.下列程序的输出结果是_。 main() int i,sum; for(i1;i7;i+) sum+i; primf(“%d“,sum); (分数:2.00)填空项 1:_54.设有下列的程序段:char str“Hello“;char*ptr;ptrstr;执行上面的程序段后, *(ptr+5)的值为_。(分数:2.00)填空项 1:_55.下列程序的输
19、出结果是_。 #includestdio.h fun() static int a0; a+3;printf(“%d“,a) ; main() int cc; for(CC1;cc5;CC+)fun(); printf(“/n); (分数:2.00)填空项 1:_二级 C语言笔试 376答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:70.00)1.数据的存储结构是指( )。(分数:2.00)A.数据所占的存储空间B.数据的逻辑结构在计算机的存放形式 C.数据在计算机中的顺序存储方式D.存储在计算机外存中的数据解析:解析 数据的存储结构,又称为数据的物
20、理结构,是数据的逻辑结构在计算机中的存放形式。数据的存储结构有顺序结构、链式结构、散列结构和索引结构等。2.有下列二叉树,对此二叉树前序遍历的结果为( )。 (分数:2.00)A.ACFHIBEDGB.ABCDEFGHIC.ABDEGCFHI D.ABCDEFHGI解析:解析 对二叉树的前序遍历是指先访问根结点,然后访问左子树,最后访问右子树,并且,在访问左、右子树时,先访问根结点,再依次访问其左、右子树。3.若有定义:int a4,b5;float x3.4,y2.1;,则下列表达式的值为( )。 (float)(a+b) /2+(int)x%(int)y(分数:2.00)A.5.5B.55
21、C.5.500000 D.55.00000解析:解析 在计算(float)(a+b/2 时,由于通过强制类型转换将(a+b 转换成了 foat型,所以应先将 2转换成 float型,再进行计算,得 4.500000。 在计算(int)x%(int)y 时,先将 x和 y通过强制类型转换成 int型,再进行求余运算,得 1。又因为 4.500000是 float型,所以将 1和它相加时,先将 1换成float型,再计算,得到 5.500000。 知识扩展 类型转换的一般规则是:低级类型服从高级类型,并进行相应的转换。数据类型的级别由低到高的排序表示为:charintunsignedlongflo
22、atdouble。4.将 E-R图转换到关系模式时,实体与实体间的联系可以表示成( )。(分数:2.00)A.属性B.关系 C.键D.域解析:解析 将 E-R图转换成指定 RDBMS中的关系模式是数据库逻辑设计的主要工作。从 E-R图到关系模式的转换是比较直接的,实体和联系都可以表示成关系。5.在位运算中,操作数每左移两位,其结果相当于( )。(分数:2.00)A.操作数乘以 2B.操作数除以 2C.操作数除以 4D.操作数乘以 4 解析:解析本题主要考查左移、右移对数据值的影响,左移 n位相当于乘以 2的 n次幂,右移 n位相当于除以 2的 n次幂。6.下列说法不正确的是( )。(分数:2.
23、00)A.调用函数时,实参可以是表达式B.调用函数时,实参与形参可以共用内存单元 C.调用函数时,将实参的值复制给形参,使实参变量和形参变量在数值上相等D.调用函数时,实参与形参的类型必须一致解析:7.下列程序的输出结果是( )。 main() int a,b,d25; a:d/10%9; ba printf(“%d,%d/n“,a,b) ;(分数:2.00)A.6,1B.2,1 C.6,0D.2,0解析:解析 算术运行符“/”、“%”的优先级处于同一级,并且两者的结合性都是从左到右。所以算术表达式运算过程为:a25/10%92%92;当逻辑运算符“(分数:2.00)A.10B.1C.6 D.
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 376 答案 解析 DOC
