【计算机类职业资格】二级C语言笔试-283及答案解析.doc
《【计算机类职业资格】二级C语言笔试-283及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-283及答案解析.doc(27页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-283 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.有下列二叉树,对此二叉树前序遍历的结果为( )(分数:2.00)A.ACFHIBEDGB.ABCDEFGHIC.ABDEGCFHID.ABCDEFHGI2.在位运算中,操作数每左移两位,其结果相当于( )(分数:2.00)A.操作数乘以 2B.操作数除以 2C.操作数除以 4D.操作数乘以 43.若 w、x、y、z、m 均为 int 型变量,则执行下列的语句后 m 的值是( )w=2,x=3,y=4,z=5;m=(wx)?w:x;m=(mz)?m:z;m=(my)?
2、m:y;(分数:2.00)A.2B.3C.5D.44.下列不属于软件工程的 3 个要素的是( )(分数:2.00)A.工具B.过程C.方法D.环境5.两个或两个以上模块之间联系的紧密程度称为( )(分数:2.00)A.耦合性B.内聚性C.复杂性D.数据传输特性6.下列说法不正确的是( )(分数:2.00)A.调用函数时,实参可以是表达式B.调用函数时,实参与形参可以共用内存单元C.调用函数时,将实参的值复制给形参,使实参变量和形参变量在数值上相等D.调用函数时,实参与形参的类型必须一致7.对于下列字符串,说明表达式 strlen(s) 值的是( )char s10=(a,/n,a,b,/t,c
3、;(分数:2.00)A.10B.1C.6D.78.下列不是合法的 C 语言语句是( )(分数:2.00)A.a=5B.int i;i+;C.;D.;9.下列叙述错误的是( )(分数:2.00)A.函数名是属于用户标识符,需符合 C 语言对标识符的规定B.形参只能是变量C.为保证程序的正常运行,函数中定义的变量不能与其他函数中的变量同名D.函数中定义的变量可以与其他函数中的变量同名10.下列程序段中,不能正确赋值的是( )(分数:2.00)A.char*p,ch;p=scanf(“%c“,B.char*p;p=(char*)malloc(1);scanf(“%C“,p);C.char*p;*p=
4、getchar();D.char*p,ch;p=*p=getchar();11.下列选项中不是字符常量的是( )(分数:2.00)A./VB./x2aC.aD.“/0“12.若有说明:int a3=0,0;则不正确的叙述是( )(分数:2.00)A.数组 a 的每个元素的初值都是 0B.数组 a 的第一维大小为 1C.数组 a 的行数为 1D.只有元素 a00和 a01可得到初值 0,其余元素均得不到初值 013.将 E-R 图转换到关系模式时,实体与实体间的联系可以表示成( )(分数:2.00)A.属性B.关系C.键D.域14.在 ASCII 代码表中每一个大写字母比它相应的小写字母的 AS
5、CII 码( )(分数:2.00)A.小 32B.小 64C.大 32D.大 115.若有定义:int a=4,b=5;float x=3.4,y=2.1;,则下列表达式的值为( )(float) (a+b)/2+(int)%(int)y(分数:2.00)A.5.5B.55C.5.500000D.55.0000016.有下列程序:main()int i,j;for(i=1;i4;i+)for(j=i;j4;j+)printf(“%d*%d=%d“,i,j,i*j);printf(“/n“);程序运行后的输出结果是( )(分数:2.00)A.1*1=1 1*2=2 1*3=32*1=2 2*2=
6、43*1=3B.1*1=1 1*2=2 1*3=32*2=4 2*3=63*3=9C.1*1=11*2=2 2*2=41*3=3 2*3=6 3*3=9D.1*1=12*1=2 2*2=43*1=3 3*2=6 3*3=917.算法的空间复杂度是指( )(分数:2.00)A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间18.下列程序的输出结果是( )#includestdio.hmain() int a=3,b=2,c=1;if(ab) if(b0) c=0;else c+;printf(“%d/n“,c);(分数:2.00)A.0B.2C
7、.1D.319.下列程序的功能是给 r 输入数据后计算半径为 r 的圆面积 s。程序在编译时出错。main()/* Beginning */int r; float s;scanf(“%d“,S=*r*r;printf(“s=%f/n“,s);出错的原因是( )(分数:2.00)A.注释语句书写位置错误B.存放圆半径的变量 r 不应该定义为整型C.输出语句中格式描述符非法D.计算圆面积的赋值语句中使用了非法变量20.下列程序的输出结果是( )main()int a,b,d=25;a=d/10%9;b=aprintf(“%d,%d/n“,a,b);(分数:2.00)A.6,1B.2,1C.6,0
8、D.2,021.不能与 dowhile(exp)语句中的(exp)等价的表达式是( )(分数:2.00)A.(!exp=0)B.(exp0exp0)C.(exp=0)D.(exp!=0)22.下列描述中正确的是( )(分数:2.00)A.程序就是软件B.软件开发不受计算机系统的限制C.软件既是逻辑实体,又是物理实体D.软件是程序、数据和相关文档的集合23.要求通过 while 循环不断读入字符,当读入字母 N 时结束循环。若变量已正确定义,下列正确的程序段是( )(分数:2.00)A.while(ch=getchar()!=N)printf(“%c“,ch);B.while(ch=getcha
9、r()!=N) printf(“%c“,ch);C.while(ch=getchar()=N) printf(“%c“,ch);D.while(ch=getchar() =N)printf(%c,ch);24.若以“a+”方式打开一个已存在的文件,则下列叙述正确的是( )(分数:2.00)A.文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可以进行添加或读操作B.文件打开时,原有文件内容不被删除,只能进行读操作C.文件打开时,原有文件内容被删除,只能进行写操作D.以上三种说法都不正确25.在“文件包含”预处理语句的使用形式中,当#include 后面的文件名用(尖括号) 括起时,寻找被
10、包含文件的方式是( )(分数:2.00)A.仅仅搜索当前目录B.仅仅搜索源程序所在目录C.在标准目录下查找指定的文件D.先在源程序所在目录搜索,如查找不到,再按系统指定的标准目录查找26.在 C 语言中,引用数组元素时,其数组下标的数据类型允许是( )(分数:2.00)A.整型表达式B.整型常量C.整型常量或整型表达式D.任何类型的表达式27.关系数据库管理系统能实现的专门关系运算包括( )(分数:2.00)A.排序、索引、统计B.选择、投影、连接C.关联、更新、排序D.显示、打印、制表28.数据库技术的根本目标是要解决数据的( )(分数:2.00)A.存储问题B.共享问题C.安全问题D.保护
11、问题29.下列说法不正确的是( )(分数:2.00)A.C 语言程序是以函数为基本单位的,整个程序由函数组成B.C 语言程序的一条语句可以写在不同的行上C.C 语言程序的注释行对程序的运行功能不起任何作用,所以注释应该尽可能少写D.C 语言程序的每个语句都以分号结束30.若已包括头文件string.h且已有定义 char s118,s2=“ABCDE“和 int i,现要将字符串 “ABCDE“赋给 s1,下列语句错误的是( )(分数:2.00)A.strcpy(s1,s2)B.strcpy(s1,“ABCDE“);C.s1=“ABCDE“;D.for(i=0;i6;i+)s1i=s2i;31
12、.数据的存储结构是指( )(分数:1.00)A.数据所占的存储空间B.数据的逻辑结构在计算机中的存放形式C.数据在计算机中的顺序存储方式D.存储在计算机外存中的数据32.根据下列的定义,能打印出字母 P 的语句是( )struct stu char name10;int age;stmct stu s10=“John“,11,“Paul“,12,“Mary“,11,“adam“,12:(分数:1.00)A.printf(“%c“,s3.name);B.printf(“%c“,s3.name1);C.printf(“%c“,s2.name11);D.printf(“%c“,s1.name0);3
13、3.有下列程序:main()inti;for(i=1;i=40;i+)if(i+ +%5=0)if(+i%8=0) printf(“%d“,i);printf(“/n“);执行后的输出结果是( )(分数:1.00)A.5B.24C.32D.4034.下列程序的运行结果为( )#includestdio.hmain()struc tdateint year,month,day;)today;printf(“%d/n“,sizeof(struct date);(分数:1.00)A.8B.6C.10D.1235.下列写法正确的是( )(分数:1.00)A.main()int i=3,j;j=5B.m
14、ain()int i=3;C.main()D.main();36.下列程序的运行结果是( )#includestdio.hmain()int x=5,a=1,b=2,c=5,d=0;if(ab)if(b!=3)if(!c)x=1;elseif(d) x=l;else x=-1;printf(“%d“,x);(分数:1.00)A.-1B.0C.1D.不确定的值37.下列程序的执行结果是( )#includestdio.hmain() int a,b,c;a=b=2;c=(a+) -1;printf(“%d,%d“,a,c);c+=-a+(+b);printf(“%d,%d“,a,c);(分数:1
15、.00)A.3,14,1B.3,14,2C.2,04,1D.2,14,138.若有定义 float a15,*p=a;,且数组 a 的首地址为 300H,则 p+13 所指向的数组元素的地址为 ( )(分数:1.00)A.334HB.30DHC.352HD.31AH39.设计数据库的存储结构属于( )(分数:1.00)A.需求分析B.概念设计C.逻辑设计D.物理设计40.下列叙述中不正确的是( )(分数:1.00)A.在 C 语言中调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B.在 C 的函数中,最好使用全局变量C.外部变量可以在函数之间传递数据D.自动变量实质上是一个函数内部
16、的局部变量二、填空题(总题数:15,分数:30.00)41.数据结构分为逻辑结构和存储结构,循环队列属于 1 结构。(分数:2.00)填空项 1:_42.队列是限定在表的一端进行插入和在另一端进行删除操作的线性表。允许插入的一端称作 1。(分数:2.00)填空项 1:_43.在一个容量为 32 的循环队列中,若头指针 front=3,尾指针 rear=2,则该循环队列中共有个元素。(分数:2.00)填空项 1:_44.一棵二叉树第 6 层(根结点为第一层) 的结点最多为_个。(分数:2.00)填空项 1:_45.度为 10 的线性表进行冒泡排序,最坏情况下需要比较的次数为 1。(分数:2.00
17、)填空项 1:_46.若 a=1,b=2,则表达式!(x=a)(y=b)if(xy)if(y0)z=0;else z+=1;printf(“%d/n“,z);(分数:2.00)填空项 1:_49.在循环中,continue 语句与 break 语句的区别是: 1 语句只是结束本次循环,然后进行循环的条件判定。(分数:2.00)填空项 1:_50.若有定义:int a44=1,2,3,4,0,4,6,8,10,1,3,5,7,则初始化后,a22得到的初值是 1。(分数:2.00)填空项 1:_51.下列语句的输出结果是_。char s20=“aaaa“,*sp=s;puts(strcat(sp,
18、“AAAAA“);(分数:2.00)填空项 1:_52.下列程序的运行结果是_。#define POWER(x)(x)*(x) main()int i=1;printf(“%d,%d“,POWER(i+),i);(分数:2.00)填空项 1:_53.下列程序的输出结果是_。main()int i,sum;for(i=1;i7;i+)sum+=i;printf(“%d“,sum);(分数:2.00)填空项 1:_54.设有下列的程序段:char str=“Hello“;char*ptr;ptr=str;执行上面的程序段后,*(ptr+5)的值为_。(分数:2.00)填空项 1:_55.下列程序的
19、输出结果是_。#includestdio.hfun()static int a=0;a+=3;printf(“%d“,a);main()int cc;for(cc=1 ;cc5;cc+)fun();printf(“/n“);(分数:2.00)填空项 1:_二级 C 语言笔试-283 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.有下列二叉树,对此二叉树前序遍历的结果为( )(分数:2.00)A.ACFHIBEDGB.ABCDEFGHIC.ABDEGCFHI D.ABCDEFHGI解析:解析 对二叉树的前序遍历是指:先访问根结点,然后访问左子
20、树,最后访问右子树,并且,在访问左、右子树时,先访问根结点,再依次访问其左、右子树。2.在位运算中,操作数每左移两位,其结果相当于( )(分数:2.00)A.操作数乘以 2B.操作数除以 2C.操作数除以 4D.操作数乘以 4 解析:解析 本题主要考查左移、右移对数据值的影响,左移 n 位相当于乘以 2 的 n 次幂,右移 n 位相当于除以 2 的 n 次幂。3.若 w、x、y、z、m 均为 int 型变量,则执行下列的语句后 m 的值是( )w=2,x=3,y=4,z=5;m=(wx)?w:x;m=(mz)?m:z;m=(my)?m:y;(分数:2.00)A.2 B.3C.5D.4解析:解析
21、 条件表达式“a?b:c”的含义是:当 a 为真时,其值等于表达式 b 的值;当 a 为假时,其值等于表达式 c 的值。表达式运算过程:第 1 个表达式:w=2x=3 为真,所以返回 w 的值,即 m=w=2:第 2 个表达式:m=2z=5为真,所以返回 m 的值,即 m=2;第 3 个表达式:w=2y=4 为真,所以返回 m 的值,即 m=2。4.下列不属于软件工程的 3 个要素的是( )(分数:2.00)A.工具B.过程C.方法D.环境 解析:解析 软件工程包括 3 个要素,即方法、工具和过程。方法是完成软件工程项目的技术手段;工具支持软件的开发、管理和文档生成:过程支持软件开发的各个环节
22、的控制、管理。5.两个或两个以上模块之间联系的紧密程度称为( )(分数:2.00)A.耦合性 B.内聚性C.复杂性D.数据传输特性解析:解析 耦合性是模块间互相连接的紧密程度的度量,取决于各个模块之间接口的复杂度、调用方式以及哪些信息通过接口。6.下列说法不正确的是( )(分数:2.00)A.调用函数时,实参可以是表达式B.调用函数时,实参与形参可以共用内存单元 C.调用函数时,将实参的值复制给形参,使实参变量和形参变量在数值上相等D.调用函数时,实参与形参的类型必须一致解析:解析 本题考查函数调用的基本概念。调用函数时,实参的形式可以是具体的数值,也可以是表达式。实参将数值或表达式的值传递给
23、形参,因而两者的类型必须保持一致;形参在运算过程中会发生改变,但不一定会影响到实参值,所以可知两者不共用内存单元。7.对于下列字符串,说明表达式 strlen(s) 值的是( )char s10=(a,/n,a,b,/t,c;(分数:2.00)A.10B.1C.6 D.7解析:解析 strlen(s)返回 s 字符串中字符的个数,若 s 是个数组,则返回数组元素的个数。8.下列不是合法的 C 语言语句是( )(分数:2.00)A.a=5 B.int i;i+;C.;D.;解析:解析 选项 A 是一个表达式,它后面没有分号结尾(C 语言中规定语句必须以分号结束) ,所以它不是语句;选项 B 用一
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 283 答案 解析 DOC
