【计算机类职业资格】二级C语言笔试-190及答案解析.doc
《【计算机类职业资格】二级C语言笔试-190及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-190及答案解析.doc(23页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-190 及答案解析(总分:109.00,做题时间:90 分钟)一、选择题(总题数:40,分数:79.00)1.要求通过 while 循环不断读入字符,当读入字母 N 时结束循环。若变量已正确定义,下列正确的程序段是( )。(分数:2.00)A.while( (ch=getchar()! =N)printf(“%c“,ch);B.while(ch=getchar()!=N)printf(“%c“,ch);C.while(ch=getchar()= =N)printf(“%c“,ch);D.while(ch=getchar()= =N)printf(“%c“,ch);2.在 A
2、SCII 代码表中每一个大写字母比它相应的小写字母的 ASCII 码( )。(分数:2.00)A.小 32B.小 64C.大 32D.大 13.下列程序的功能是给 r 输入数据后计算半径为 r 的圆面积 s。程序在编译时出错。main()/* Beginning */int r; float s;seanf(“%d“,s=*r*r;printf(“s=%f/n“,s);出错的原因是( )。(分数:2.00)A.注释语句书写位置错误B.存放圆半径的变量 r 不应该定义为整型C.输出语句中格式描述符非法D.计算圆面积的赋值语句中使用了非法变量4.下列程序的执行结果是( )。#includestdi
3、o.hmain()int a,b,c;a=b=2;c=(a+)-1;printf(“%Ad,%d“,a,C) ;c+=-a+(+B) ;printf(“%d,%d“,a,C) ;(分数:2.00)A.3,14,1B.3,14,2C.2,04,1D.2,14,15.在 C 语言中,引用数组元素时,其数组下标的数据类型允许是( )。(分数:2.00)A.整型表达式B.整型常量C.整型常量或整型表达式D.任何类型的表达式6.有下列二叉树,对此二叉树前序遍历的结果为( )。(分数:2.00)A.B.C.D.7.对于下列字符串,说明表达式 strlen(s)值的是( )。char s10=a,/n,a,
4、b,/t,c;(分数:2.00)A.10B.1C.6D.78.下列不是合法的 C 语言语句是( )。(分数:2.00)A.a=5B.int i;i+;C.;D.;9.下列选项中不是字符常量的是( )。(分数:2.00)A./vB./x2aC.aD.“/0“10.若已包括头文件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;11.下列不
5、属于软件工程的 3 个要素的是( )。(分数:2.00)A.工具B.过程C.方法D.环境12.不能与 dowhile(exp)语句中的(exp)等价的表达式是( )。(分数:2.00)A.(!exp=0)B.(exp0exp0)C.(exp=0)D.(exp!=0)13.下列叙述中不正确的是( )。(分数:2.00)A.在 C 语言中调用函数时,只能把实参的值任送给形参,形参的值不能传送给实参B.在 C 的函数中,最好使用全局变量C.外部变量可以在函数之间传递数据D.自动变量实质上是一个函数内部的局部变量14.若有定义:int a=4,b=5;float x=3.4,y=2.1;,则下列表达式
6、的值为( )。(float)(a+B) /2+(int)x%(int)y(分数:2.00)A.5.5B.55C.5.500000D.55.0000015.下列程序的输出结果是( )。#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.1D.316.两个或两个以上模块之间联系的紧密程度称为( )。(分数:2.00)A.耦合性B.内聚性C.复杂性D.数据传输特性17.将 E-R 图转换到关系模式时,实体与实体间的联系可以表示成( )。(分数:1.00)A.
7、属性B.关系C.键D.域18.若 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.2B.3C.5D.419.有下列程序:main()int i;for(i=1;i=40;i+)if(i+%5= =0)if(+ +i%8= =0)printf(“%d“,i);printf(“/n“);执行后的输出结果是( )。(分数:2.00)A.5B.24C.32D.4020.若以“a+”方式打开一个已存在的文件,则下列叙述正确的是( )。(分数:2.0
8、0)A.文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可以进行添加或读操作B.文件打开时,原有文件内容不被删除,只能进行读操作C.文件打开时,原有文件内容被删除,只能进行写操作D.以上三种说法都不正确21.有下列程序: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=4 3*1=3B.1*1=1 1*2=2 1*3=32*2=4 2*3=63*3=9C.1*1=11
9、*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=922.数据库技术的根本目标是要解决数据的( )。(分数:2.00)A.存储问题B.共享问题C.安全问题D.保护问题23.下列程序的运行结果为( )。#includestdio.hmain()struct dateint year,month,day;today;printf(“%d/n“,sizeof(struct date);(分数:2.00)A.8B.6C.10D.1224.设计数据库的存储结构属于( )。(分数:2.00)A.需求分析B.概念设计C.逻辑设计D.物理
10、设计25.根据下列的定义,能打印出字母 P 的语句是( )。struct stu char name10;int age;struct sm s10=“John“,11,“Pau1“,12,“Mary“,11,“adam“,12;(分数:2.00)A.printf(“%c“,s3.name);B.printf(“%c“,s3.name1);C.printf(“%c“,s2.name1);D.printf(“%c“,s1.name0);26.下列说法不正确的是( )。(分数:2.00)A.调用函数时,实参可以是表达式B.调用函数时,实参与形参可以共用内存单元C.调用函数时,将实参的值复制给形参,
11、使实参变量和形参变量在数值上相等D.调用函数时,实参与形参的类型必须一致27.在“文件包含”预处理语句的使用形式中,当#include 后面的文件名用(尖括号)括起时,寻找被包含文件的方式是( )。(分数:2.00)A.仅仅搜索当前目录B.仅仅搜索源程序所在目录C.在标准目录下查找指定的文件D.先在源程序所在目录搜索,如查找不到,再按系统指定的标准目录查找28.下列程序的输出结果是( )。main()int a,b,d=25;a=d/10%9;b=a(分数:2.00)A.6,1B.2,1C.6,0D.2,029.下列程序段中,不能正确赋值的是( )。(分数:2.00)A.char*p,ch;
12、p=scanf(“%c“,B.char*p;p=(char*)malloc(1);scanf(“%c“,p);C.char*p;*p=getchar();D.char*p,ch;p=*p=getchar();30.在位运算中,操作数每左移两位,其结果相当于( )。(分数:2.00)A.操作数乘以 2B.操作数除以 2C.操作数除以 4D.操作数乘以 431.若有定义 float a 15,*p=a;,且数组 a 的首地址为 300H,则 p+13 所指向的数组元素的地址为 ( )。(分数:2.00)A.334HB.30DHC.352HD.31AH32.下列程序的运行结果是( )。#includ
13、estdio.hmain()int x=5,a=1,b=2,c=5,d=0;if(aB) if(b!=3)if(!C) x=1;elseif(D) x=1;else x=-1;printf(“%d“,x);(分数:2.00)A.-1B.0C.1D.不确定的值33.算法的空间复杂度是指( )。(分数:2.00)A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间34.下列说法不正确的是( )。(分数:2.00)A.C 语言程序是以函数为基本单位的,整个程序由函数组成B.C 语言程序的一条语句可以写在不同的行上C.C 语言程序的注释行对程序的运行功
14、能不起任何作用,所以注释应该尽可能少写D.C 语言程序的每个语句都以分号结束35.关系数据库管理系统能实现的专门关系运算包括( )。(分数:2.00)A.排序、索引、统计B.选择、投影、连接C.关联、更新、排序D.显示、打印、制表36.若有说明:int a3=0,0;则不正确的叙述是( )。(分数:2.00)A.数组 a 的每个元素的初值都是 0B.数组 a 的第一维大小为 1C.数组 a 的行数为 1D.只有元素 a00和 a01可得到初值 0,其余元素均得不到初值 037.下列叙述错误的是( )。(分数:2.00)A.函数名是属于用户标识符,需符合 C 语言对标识符的规定B.形参只能是变量
15、C.为保证程序的正常运行,函数中定义的变量不能与其他函数中的变量同名D.函数中定义的变量可以与其他函数中的变量同名38.数据的存储结构是指( )。(分数:2.00)A.数据所占的存储空间B.数据的逻辑结构在计算机中的存放形式C.数据在计算机中的顺序存储方式D.存储在计算机外存中的数据39.下列描述中正确的是( )。(分数:2.00)A.程序就是软件B.软件开发不受计算机系统的限制C.软件既是逻辑实体,又是物理实体D.软件是程序、数据和相关文档的集合40.下列写法正确的是( )。(分数:2.00)_二、填空题(总题数:15,分数:30.00)41.数据结构分为逻辑结构和存储结构,循环队列属于 1
16、 结构。(分数:2.00)填空项 1:_42.队列是限定在表的一端进行插入和在另一端进行删除操作的线性表。允许插入的一端称作 1。(分数:2.00)填空项 1:_43.在一个容量为 32 的循环队列中,若头指针 front=3,尾指针 rear=2,则该循环队列中共有 1 个元素。(分数:2.00)填空项 1:_44.一棵二叉树第 6 层(根结点为第一层)的结点最多为_个。(分数:2.00)填空项 1:_45.度为 10 的线性表进行冒泡排序,最坏情况下需要比较的次数为 1。(分数:2.00)填空项 1:_46.若 a=1,b=2,则表达式!(x=A) (y=B) if(xy)if (y0)
17、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,“AAAAA“);(分数:2.00)填空项 1:_52.下列程序的运行结果是_。#define
18、 POWER(x) (x)*(x)main()int i=1;printf(“%d,%d“,POWER(i+),i);(分数:2.00)填空项 1:_53.下列程序的输出结果是_。main()imt 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.下列程序的输出结果是_。#includestdio.hfun()static int a=0;a+=3
19、;printf(“%d“,A) ;main()int cc;for(cc=1;cc5;cc+)fun();printf(“/n“);(分数:2.00)填空项 1:_二级 C 语言笔试-190 答案解析(总分:109.00,做题时间:90 分钟)一、选择题(总题数:40,分数:79.00)1.要求通过 while 循环不断读入字符,当读入字母 N 时结束循环。若变量已正确定义,下列正确的程序段是( )。(分数:2.00)A.while( (ch=getchar()! =N)printf(“%c“,ch); B.while(ch=getchar()!=N)printf(“%c“,ch);C.whi
20、le(ch=getchar()= =N)printf(“%c“,ch);D.while(ch=getchar()= =N)printf(“%c“,ch);解析:解析 while 循环的执行过程如下:(1)计算 while 后面圆括号中表达式的值当值为非 0 时,执行步骤(2);当值为 0 时,执行步骤(4)。(2)执行循环体一次。(3)转去执行步骤(1)。(4)退出循环。在选项 A) 中,表达式(ch=getchar()!=“N“表示输入的字符不等于 N,如果这个条件表达式成立,则执行循环体,打印输出输入的字符。如果这个条件表达式不成立,即输入的字符等于 N,则退出循环所以选项 A) 为正确答
21、案。2.在 ASCII 代码表中每一个大写字母比它相应的小写字母的 ASCII 码( )。(分数:2.00)A.小 32 B.小 64C.大 32D.大 1解析:解析 本题考查大小写字母的 ASCII 码值的关系。大写字母比它相应的小写字母的 ASCII 码小32。3.下列程序的功能是给 r 输入数据后计算半径为 r 的圆面积 s。程序在编译时出错。main()/* Beginning */int r; float s;seanf(“%d“,s=*r*r;printf(“s=%f/n“,s);出错的原因是( )。(分数:2.00)A.注释语句书写位置错误B.存放圆半径的变量 r 不应该定义为整
22、型C.输出语句中格式描述符非法D.计算圆面积的赋值语句中使用了非法变量 解析:解析 在 C 语言程序中,可以用一个符号名来代表一个常量,称为符号常量。这个符号名必须在程序中进行特别的“指定”,并符合标识符的命令规则。在本题中圆周串 n 是一个符号常量,但在程序中并没有指定其值,所以编译器找不到其值就会报错。所以选项 D)正确。4.下列程序的执行结果是( )。#includestdio.hmain()int a,b,c;a=b=2;c=(a+)-1;printf(“%Ad,%d“,a,C) ;c+=-a+(+B) ;printf(“%d,%d“,a,C) ;(分数:2.00)A.3,14,1 B
23、.3,14,2C.2,04,1D.2,14,1解析:解析 本题主要考查自加运算符(+、-)的使用。前缀变量“+i,-i”,在使用 i 之前,先使 i 的值加 1 或者减 1,再使用此时的表达式的值参与运算;后缀变量“i+、i-”,先使用此时的表达式的值参与运算,在使用 i 之后,再使 i 的值加 1 或者减 1。题中计算表达式 c=(a+)-1 时先使用 a 的值进行计算,结果为 c=2-1=1,然后将 a 的值加 1,即执行完此语句后 a 的值是 3,表达式 c+=-a+(+B) 等价于 c=c+(-a+)+(+B) ,c=1+(-3)+3=1,此时a=4,b=3。5.在 C 语言中,引用数
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 190 答案 解析 DOC
