【计算机类职业资格】二级C语言笔试-311及答案解析.doc
《【计算机类职业资格】二级C语言笔试-311及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-311及答案解析.doc(29页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-311 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.下列说法正确的是( )。(分数:2.00)A.在 C 程序中,main()函数必须位于程序的最前面B.在 C 程序中,一条语句只能写一行而不能写多行C.C 程序是以行为基本单位的 B2.若有下列定义(设 int 类型变量占 2 个字节):int i=8,j=9;则下列语句:printf(“i=%d,j=%d/n“,i,j);输出的结果是( )。(分数:2.00)A.i=8,j=9B.i=%d,j=%dC.i=%8,j=%9D.8,93.有下列程序:main()int
2、 y=20;doy-;while(-y);phntf(“%d/n“,y-);当执行程序时,输出的结果是( )。(分数:2.00)A.-1B.1C.4D.04.数据库 DB、数据库系统 DBS、数据库管理系统 DBMS 之间的关系是( )。(分数:2.00)A.DB 包括 DBS 和 DBMSB.DBMS 包括 DB 和 DBSC.DBS 包括 DB 和 DBMSD.没有任何关系5.设有下列的程序段:char str=“HelloWorld“;char*ptr;ptr=str;执行上面的程序段后,*(ptr+10)的值为( )。(分数:2.00)A./0B.0C.不确定的值D.0的地址6.设在
3、C 语言中,float 类型数据占 4 个字节,则 double 类型数据占( )个字节。(分数:2.00)A.1B.2C.8D.47.有下列程序:main()int k=5,n=0;doswitch(k)case 1: case 3:n+=1;k-;break;default:n=0;k-;Case 2: case 4;n+=2;k-;break;printf(“%d“,n);while(k0 程序运行后的输出结果是( )。(分数:2.00)A.235B.0235C.02356D.23568.下列程序的运行结果是( )。int y=5,x=14;y=(x=3*y,x+1),x-1);prin
4、tf(“x=%d,y=%d“,x,y);(分数:2.00)A.x=27,y=27B.x=12,y=13C.x=15,y=14D.x=y=279.表达式-Oxll 的值是( )。(分数:2.00)A.0xFFEEB.0x71C.0x0071D.0xFFEl10.设 int x=1,y=1;表达式(!x-y)的值是( )。(分数:2.00)A.0B.1C.2D.-111.设定义下列结构体,结构体变量 p 的出生年份赋值正确的语句是( )。Struct stint x;inty;int z;Struct workerchar name20;char sex;struct st birth;p;(分数
5、:2.00)A.x=1987B.birth.x=1987;C.birth.x=1987;D.x=1987;12.表达式8-2的值是( )。(分数:2.00)A.整数 6B.字符 6C.表达式不合法D.字符 813.在嵌套使用 if 语句时,C 语言规定 else 总是( )。(分数:2.00)A.和之前与其具有相同缩进位置的 if 配对B.和之前与其最近的 if 配对C.和之前与其最近的且不带 else 的 if 配对D.和之前的第一个 if 配对14.下列程序执行输出的结果是( )。#includestdio.hf(int(分数:2.00)A.y=3*x-4;return y;(分数:2.0
6、0)A.intB.不确定C.voidD.float16.下列不属于软件工程的 3 个要素的是( )。(分数:2.00)A.工具B.过程C.方法D.环境17.有下列程序段:struct stint x;int*y;*pt;int a=1,2,b=3,4;stmct st c2=10,a,20,b;pt=c;下列选项中表达式的值为 11 的是( )。(分数:2.00)A.*pt-yB.pt-xC.+pt-xD.(pt+)-X18.若有下列定义和语句:int u=011,v=0x11,w=11;printf(“%o,%x,%d/n“,u,v,w);则输出结果是( )。(分数:2.00)A.9,17,
7、11B.9,11,11C.11,11,11D.11,17,1119.对于下列定义,不正确的叙述是( )。uniond ataint a;char b;double c;x=y;(分数:2.00)A.变量 x 所占内存的长度等于成员 c 的长度B.变量 x 的地址和它的各成员地址都是相同的C.可以在定义时对 x 初始化D.不能对变量 x 赋值,故 x=y 非法20.有下列程序段:int k=0,a=1,b=2,c=3;k=ab?b:a;k=kC?C:k;执行该程序段后,k 的值是( )。(分数:2.00)A.3B.2C.1D.021.对建立良好的程序设计风格,下列描述正确的是( )。(分数:2.
8、00)A.程序应该简单、清晰、可读性好B.符号名的命名只需要符合语法C.充分考虑程序的执行效率D.程序的注释可有可无22.下列选项中不属于软件生命周期开发阶段任务的是( )。(分数:2.00)A.软件测试B.概要设计C.软件维护D.详细设计23.按照“先进后出”原则组织数据的数据结构是( )。(分数:2.00)A.队列B.栈C.双向链表D.二叉树24.为了避免在嵌套的条件语句 if else 中产生二义性,C 语言规定,else 子句总是与( )配对。(分数:2.00)A.缩排位置相同 ifB.其前面最近的 ifC.其后面最近的 ifD.同一行上的 if25.下列说法正确的是( )。(分数:2
9、.00)A.在 C 语言中,可以使用动态内存分配技术,定义元素个数可变的数组B.在 C 语言中,数组元素的个数可以不确定,允许随机变动C.在 C 语言中,数组元素的数据类型可以不一致D.在 C 语言中,定义了一个数组后,就确定了它所容纳的元素的个数26.若已包括头文件stdio.h和string.h,运行下列程序段时输出结果是( )。int i=0;char s110=“ABCD“,s210=“EFG“;Strcat(s1,S2) ;while(s2i+!=/0)s2i=s1i;puts(s2);(分数:2.00)A.ABCB.ABCDEFC.EBCDEFGD.CBD27.下列程序的输出结果是
10、( )。main()chara7=“a0/0a0/0“;int i,j;i=sizeof((分数:2.00)A.;j=strlen(a);28.分析下列程序:#includestdio.hmain()int*p1,*p2,*p;inta=6,b=9;p1=p2=if(aB) p=p1;p1=p2;p2=p;printf(“%d,%d“,*p1,*p2) ;printf(“%d,%d“,a,B) ;程序的输出结果为( )。(分数:2.00)A.9,6 6,9B.6,9 9,6C.6,9 6,9D.9,6 9,629.下列程序输出的结果是( )。main()int a;a=-4+4*5-6;pri
11、ntf(“d“,(分数:2.00)A.;a=4+4%5-6;printf(“%d30.下列程序的运行结果是( )。#includestdio.hmain()static char a=“Languagef“,b=“programe“;Char*p1,*p2;int k;p1=a;p2=b;for(k=0;k=8;k+)if(*(p1+k)=*(p2+k)printf(“%c“,*(p1+k);(分数:2.00)A.gaeB.angC.programD.有语法错31.下列描述中,不是线性表顺序存储结构特征的是( )。(分数:1.00)A.不便于插入和删除B.需要连续的存储空间C.可随机访问D.需
12、另外开辟空间来保存元素之间的关系32.下列的程序用来输出两个字符串前 7 个字符中对应相等的字符及其位置号,程序空白处应该填写的是( )。#includestdio.hmain()char s1=“chinese“,s2=“japnese“;int i;for(i=0;sl1i!=/0i+)if(s1i=s2iputchar(i)B.puts(s1i,i)C.printf(“%c%d/n“,s2i,i)D.printf(“%c“,s1i);printf(“%d/n“,33.下列程序的运行结果为( )。#deflne MAX(x,y)(x)(y)?(x):(y)main()int a=2,b=3
13、,c=1,d=3,t;printf(“%d/n“,(MAX(a+b,c+D) )*100);(分数:1.00)A.500B.5C.4D.40034.下列程序的运行结果是( )。#includestdiO.hmain()int a=0,b=4,c=0,d=10,x;if((分数:1.00)A.35.函数 fseek()的正确调用形式是( )。(分数:1.00)A.fseek(位移量,起始点,文件类型指针);B.fseek(文件类型指针,位移量,起始点);C.fseek(文件类型指针,起始点,位移量);D.fseek(起始点,位移量,文件类型指针);36.有下列二叉树,对此二叉树前序遍历的结果为(
14、 )。(分数:1.00)A.ACBEDGFHB.ABDGCEHFC.HGFEDCBAD.ABCDEFGH37.若有定义 int a10,*p=a,则 p+6 表示( )。(分数:1.00)A.数组元素 a5的值B.数组元素 a5的地址C.数组元素 a6的地址D.数组元素 a0的值加上 538.对关系 S 和只进行集合运算,结果中既包含 S 中的所有元组也包含只中的所有元组,这样的集合运算称为( )。(分数:1.00)A.并运算B.交运算C.差运算D.积运算39.使用白盒测试法时,确定测试数据应该根据( )和指定的覆盖标准。(分数:1.00)A.程序的内部逻辑B.程序的复杂结构C.使用说明书D.
15、程序的功能40.算法的时间复杂度是指( )。(分数:1.00)A.执行算法程序所需要的时间B.算法程序的长度C.算法执行过程中所需要的基本运算次数D.算法程序中的指令条数二、填空题(总题数:15,分数:30.00)41.在算法的 4 个特性中,算法必须能在执行有限个步骤之后终止指的是算法的 1 特性。(分数:2.00)填空项 1:_42.按照逻辑结构分类,结构可以分为线性结构和非线性结构,栈属于 1。(分数:2.00)填空项 1:_43.栈中允许进行插入和删除的一端叫做 1。(分数:2.00)填空项 1:_44.在面向对象程序设计中,从外面看只能看到对象有外部特征,而不知道也无须知道数据的具体
16、结构以及实现操作的算法,这称为对象的 1。(分数:2.00)填空项 1:_45.软件工程研究的内容主要包括: 1 技术和软件工程管理。(分数:2.00)填空项 1:_46.表达式 pow(2.8,sqrt(float(x)值的数据类型为 1 型。(分数:2.00)填空项 1:_47.下列表达式用于判断 y 是否为闰年。闰年的判断条件是:年号能被 4 整除但不能被 100 整除或年号能被 400 整除,请填空 1。(分数:2.00)填空项 1:_48.下列程序的运行结果是_。#includestdio.hmain()int a=10,b=3;printf(“%d,“,a%B) ;printf(“
17、%d,“,(a-b,a+B) );printf(“%dLn“,a-b?a-b:a+B) ;(分数:2.00)填空项 1:_49.要求使下列程序输出 5 个整数,请填空。for(i=0;i=_;printf(“%d/n“,i+=2);(分数:2.00)填空项 1:_50.下列的 for 语句的循环次数为_。for(x=1,y=0;(y!=19) x+);(分数:2.00)填空项 1:_51.函数调用语句:“fgets(buf,n,fp);”从中指向的文件中读入 n 个字符放到 buf 字符数组中,函数返回值为 1。(分数:2.00)填空项 1:_52.若有下列定义:int a=1,2,3,4,5
18、,6,7,8,9,10,*p=a;,则值为 3 的表达式为: 1。(分数:2.00)填空项 1:_53.若有说明 char s1=“That girl“,s2=“is beautiful“:则使用函数 strcmp(s1,s2) 后,结果是 1。(分数:2.00)填空项 1:_54.在宏定义#define PI 3.14159 中,用宏名 PI 代替一个 1。(分数:2.00)填空项 1:_55.下列程序的输出结果是_。#includestdio.hsb(int s,int B) static int n=3;b=sn;n-;return(B) ;main()int s=1,5,6,8;int
19、 i,x=0;for(i=0;i4;i+)x=sb(s,x);printf(“%d“,x);printf(“/n“);(分数:2.00)填空项 1:_二级 C 语言笔试-311 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.下列说法正确的是( )。(分数:2.00)A.在 C 程序中,main()函数必须位于程序的最前面B.在 C 程序中,一条语句只能写一行而不能写多行C.C 程序是以行为基本单位的 B解析:解析 本题涉及 C 语言最基本的 4 个知识点:C 语言程序是由函数构成的,C 程序的基本单位是函数;每个 C 程序有且只有一个主函数
20、 main(),且程序必须从 main()函数开始执行,但是 main()函数可以放在程序中的任意位置:C 语言的书写格式是自由的,一行可以写多条语句,一条语句也可以写在不同的行上;C 语言本身不提供输入输出语句,可以通过函数来实现输入和输出操作。2.若有下列定义(设 int 类型变量占 2 个字节):int i=8,j=9;则下列语句:printf(“i=%d,j=%d/n“,i,j);输出的结果是( )。(分数:2.00)A.i=8,j=9B.i=%d,j=%d C.i=%8,j=%9D.8,9解析:解析 本题考查 printf 函数的格式。在 printf 函数中,如果格式说明符中有两个
21、%说明,则将第1 个%后面的字符原样输出,并不输出其对应的变量值。3.有下列程序:main()int y=20;doy-;while(-y);phntf(“%d/n“,y-);当执行程序时,输出的结果是( )。(分数:2.00)A.-1B.1C.4D.0 解析:解析 本题考查 dowhile 循环。当-寸是 0(即 y 是 0)时结束循环,输出 y-是先输出 y 的值再将 y 的值减 1。4.数据库 DB、数据库系统 DBS、数据库管理系统 DBMS 之间的关系是( )。(分数:2.00)A.DB 包括 DBS 和 DBMSB.DBMS 包括 DB 和 DBSC.DBS 包括 DB 和 DBM
22、S D.没有任何关系解析:解析 数据库系统(DBS)由数据库(DBS)、数据库管理系统(DBMS)、数据库管理员、硬件平台和软件平台 5 个部分组成,可见 DB 和 DBMS 都是 DBS 的组成部分。5.设有下列的程序段:char str=“HelloWorld“;char*ptr;ptr=str;执行上面的程序段后,*(ptr+10)的值为( )。(分数:2.00)A./0 B.0C.不确定的值D.0的地址解析:解析 本题涉及字符数组和指针两个知识点:在 C 语言中,字符型数组在存放字符串时会自动在末尾加上/0,所以题中数组 str 有 11 个元素:ptr 指向数组 str 的首地址,p
23、tr+10 是指向 str10,*(ptr+10)是引用 str10的值。6.设在 C 语言中,float 类型数据占 4 个字节,则 double 类型数据占( )个字节。(分数:2.00)A.1B.2C.8 D.4解析:解析 在 C 语言中各种数据类型在内存中所占的字节数和机器的指令周期有关,若 int 类型占 2个字节,则 float 类型数据占 4 个字节,double 类型数据占 8 个字节。7.有下列程序:main()int k=5,n=0;doswitch(k)case 1: case 3:n+=1;k-;break;default:n=0;k-;Case 2: case 4;n
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 311 答案 解析 DOC
