【计算机类职业资格】全国计算机等级考试二级C语言真题2011年9月及答案解析.doc
《【计算机类职业资格】全国计算机等级考试二级C语言真题2011年9月及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】全国计算机等级考试二级C语言真题2011年9月及答案解析.doc(15页珍藏版)》请在麦多课文档分享上搜索。
1、全国计算机等级考试二级 C 语言真题 2011 年 9 月及答案解析(总分:100.00,做题时间:90 分钟)一、选择题((1)-(10)、(21)-(4(总题数:40,分数:70.00)1.下列叙述中正确的是_。 (分数:2.00)A.算法就是程序B.设计算法时只需考虑数据结构的设计C.设计算法时只需考虑结果的可靠性D.以上三种说法都不对2.下列关于线性链表的叙述中,正确的是_。 (分数:2.00)A.各个数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B.各个数据结点的存储顺序与逻辑顺序或以不一致,但它们的存储空间必须连续C.进行插入与删除时,不需要移动表中的元素D.以上
2、三种说法都不对3.下列关于二叉树的叙述中,正确的是_。 (分数:2.00)A.叶子结点总是比度为 2 的结点少一个B.叶子结点总是比度为 2 的结点多一个C.叶子结点数是度为 2 的结点数的两倍D.度为 2 的结点是度为 1 的结点数的两倍4.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是_。 (分数:2.00)A.学生成绩管理系统B.C 语言编译程序C.UNIX 操作系统D.数据库管理系统5.某系统总体结构图如下所示: (分数:2.00)A.7B.6C.3D.26.程序测试的任务是_。 (分数:2.00)A.设计测试用例B.验证程序的正确性C.发现程序中的
3、错误D.诊断和改正程序中的错误7.下列关于数据库设计的叙述中,正确的是_。 (分数:2.00)A.在需求分析阶段建立数据字典B.在概念设计阶段建立数据字典C.在逻辑设计阶段建立数据字典D.在物理设计阶段建立数据字典8.数据库系统的三级模式不包括_。 (分数:2.00)A.概念模式B.内模式C.外模式D.数据模式9.有三个关系 R、S 和 T 如下: (分数:2.00)A.自然连接B.差C.交D.并10.下列选项中属于面向对象设计方法主要特征的是_。 (分数:2.00)A.继承B.自顶向下C.模块化D.逐步求精11.以下叙述中错误的是_。 (分数:1.00)A.C 语言编写的函数源程序,其文件名
4、后缀可以是 CB.C 语言编写的函数都可以作为一个独立的源程序文件C.C 语言编写的每个函数都可以进行独立的编译并执行D.一个 C 语言程序只能有一个主函数12.以下选项中关于程序模块化的叙述错误的是_。 (分数:1.00)A.把程序分成若干相对独立的模块,便于编码和调试B.把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块C.可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序D.可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序13.以下选项中关于 C 语言常量的叙述错误的是_。 (分数:1.00)A.所谓常量,是指在程序运行过程中,其值不能被改变
5、的量B.常量分为整型常量、实型常量、字符常量和字符串常量C.常量可分为数值型常量和非数值型常量D.经常被使用的变量可以定义成常量14.若有定义语句:int a=10; double b=3.14;,则表达式A+a+b 值的类型是_。 (分数:1.00)A.charB.intC.doubleD.float15.若有定义语句:int x=12,y=8,z;,在其后执行语句 z=0.9+x/y;,则 z 的值为_。 (分数:1.00)A.1.9B.1C.2D.2.416.若有定义:int a,b;,通过语句 scanf(“%d;%d“,,能把整数 3 赋给 a,5 赋给 b 的输入数据是_。 (分数
6、:1.00)A.3 5B.3,5C.3;5D.3517.i 若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1k2) if(- -a) b+; else if(a=0) b+=2; else b+=3; printf(“%d/n“,b); 程序运行后的输出结果是 (分数:1.00)A.0B.1C.2D.319.下列条件语句中,输出结果与其他语句不同的是_。 (分数:1.00)A.if(a) printf(“%d/n“,x); else printf(“%d/n“,y);B.if(a=0) printf(“%d/n“,y); else printf(“%d/n“,x);C.i
7、f(a!=0) printf(“%d/n“,x); else printf(“%d/n“,y);D.if(a=0) printf(“%d/n“,x); else printf(“%d/n“,y);20.有以下程序段 #include main() int a=7; while(a- -); printf(“%d/n“,a); 程序运行后的输出结果是_。 (分数:1.00)A.-1B.0C.1D.721.以下不能输出字符 A 的语句是_。(注:字符 A 的 ASCII 码值为 65,字符 a 的 ASCII 码值为97) (分数:2.00)A.printf(“%c/n“,a-32);B.prin
8、tf(“%d/n“,A);C.printf(“%c/n“,65);D.printf(“%c/n“,B-1);22.有以下程序(注:字符 a 的 ASCII 码值为 97) #include main() char *s=“abc“; do printf(“%d“,*s%10); +s; while(*s); 程序运行后的输出结果是_。 (分数:2.00)A.abcB.789C.7890D.97989923.若有定义语句:double a, *p= 以下叙述错误的是_。 (分数:2.00)A.定义语句:*号是一个简址运算符B.定义语句:*号是一个说明符C.定义语句中的 p 只能存放 double
9、 类型变量的地址D.定义语句中,*p= main() double a=0; int i; for(i=0;iA.503B.401C.500D.14025.若有定义语句:int year=2009, *p=,以下不能使变量 year 中的值增至 2010 的语句是_。 (分数:2.00)A.*p+=1;B.(*p)+;C.+(*p);D.*p+;26.以下定义数组的语句错误的是_。 (分数:2.00)A.int num=1,2,3,4,5,6;B.int num3=1,2,3,4,5,6;C.int num24=1,2,3,4,5,6;D.int num4=1,2,3,4,5,6;27.有以下
10、程序 #include void fun(int *p) printf(“%d/n“,p5); main() int a10=1,2,3,4,5,6,7,8,9,10; fun( 程序运行后的输出结果是_。 (分数:2.00)A.5B.6C.8D.928.有以下程序 #include #define N 4 void fun(int aN, int b) int i; for(i=0;iA.-12,-3,0.0,B.-3,-3,1,3C.0,1,2,3D.-3,-3,-3,-329.有以下函数 int fun(char *x, char *y) int n=0; while(*x=*y) y+
11、; n+;return n; 函数的功能是_。 (分数:2.00)A.查找 x 和 y 所指字符串中有否有/0B.统计 x 和 y 所指字符串中最前面连续相同的字符个数C.将 y 所指字符串中赋给 x 所指的存储空间D.统计 x 和 y 所指字符串中相同的字符个数30.若有定义语句:char *s1=“OK“, *s2=“ok“;,以下选项中,能够输出“OK“的语句是_。 (分数:2.00)A.if(strcmp(s1,s2)=0) puts(s1);B.if(strcmp(s1,s2)!=0) puts(s2);C.if(strcmp(s1,s2)=1) puts(s1);D.if(strc
12、mp(s1,s2)!=0) puts(s1);31.以下程序的主函数中调用了在其前面定义的 fun 函数 #include main() double a15, k; k=fun(a); 则以下选项中错误的 fun 函数的首部是_。 (分数:2.00)A.double fun( double a15)B.double fun( double *a)C.double fun( double a)D.double fun( double a)32.有以下程序 #include #include main() char a510= “china“,“beijing“,“you“,“tiananmen
13、“,“welcome“; int i,j; char t10; for(i=0;i0) strcpy(t,ai); strcpy(ai,aj); strcpy(aj,t); puts(a3); 程序运行后的输出结果是_。 (分数:2.00)A.beijingB.chinaC.welcomeD.tiananmen33.有以下程序 #include int f(int m) static int n=0; n+=m; return n; main() int n=0; printf(“%d,“,f (+n); printf(“%d/n“,f (n+); 程序运行后的输出结果是_。 (分数:2.00
14、)A.1,2B.1,1C.2,3D.3,334.有以下程序 #include main() char ch35= “AAAA“,“BBB“,“CC“; printf(“%s/n“,ch1); 程序运行后的输出结果是_。 (分数:2.00)A.AAAAB.CCC.BBBCCD.BBB35.有以下程序 #include #include void fun(char *w, int m) char s, *p1, *p2; p1=w; p2=w+m-1; while(p1A.654321B.116611C.161616D.12345636.有以下程序 #include #include typede
15、f struct char name9; char sex; int score2; STU; STU f(STU a) STU b=“Zhao“,m,85,90; int i; strcpy(a.name,b.name); a.sex=b.sex; for(i=0;iA.Zhao,m,85,90,Qian,f,95,92B.Zhao,m,85,90, Zhao,m,85,90C.Qian,f,95,92, Qian,f,95,92D.Qian,f,95,92, Zhao,m,85,9037.有以下程序 #include main() struct node int n; struct nod
16、e *next; *p; struct node x3=2, x+1,4, x+2,6, NULL; p=x; printf(“%d,“,p-n); printf(“%d,“,p-next-n); 程序运行后的输出结果是_。 (分数:2.00)A.2,3B.2,4C.3,4D.4,638.有以下程序 #include main() int a=2,b; b=a3;i-) j=i; printf(“%d%d/n“,i,j); (分数:2.00)填空项 1:_49.以下程序运行后输出结果是 【9】 。 #include main1 int i,n=0,0,0,0,0; for(i=1;i0) fu
17、n(x/5); printf(“/%dn“,x); main1 fun(11); printf(“/n“); (分数:2.00)填空项 1:_52.有以下程序 #include main1 int c3=0, k ,i; while(k=getchar2!=/n) ck-A+; for(i=0;i,则输出结果为 【12】 。 (分数:2.00)填空项 1:_53.以下程序运行后的输出结果是 【13】 。 #include main1 int n2 , i, j; for(i=0;i填空项 1:_以下程序调用 fun 函数把 x 中的值插入到 a 数组下标为 k 的数组元素中。主函数中,n 存放
18、 a 数组中数据的个数。请填空。 #include void fun( int s, int *n, int k, int x) int i; for(i=*n-1; i=k; i- -) s 【14】 =si; sk=x; *n=*n+ 【15】 ; main1 int a20=1,2,3,4,5,6,7,8,9,10,11, i, x=0, k=6, n=11; fun(a, for(i=0;i填空项 1:_填空项 1:_全国计算机等级考试二级 C 语言真题 2011 年 9 月答案解析(总分:100.00,做题时间:90 分钟)一、选择题((1)-(10)、(21)-(4(总题数:40,
19、分数:70.00)1.下列叙述中正确的是_。 (分数:2.00)A.算法就是程序B.设计算法时只需考虑数据结构的设计C.设计算法时只需考虑结果的可靠性D.以上三种说法都不对 解析:【解析】“软件的主体是程序,程序的核心是算法”,算法是解决问题的方法与步骤,采用某种程序设计语言对问题的对象和解题的步骤进行描述的是程序。它与数据结构、运算结果的状态无关。2.下列关于线性链表的叙述中,正确的是_。 (分数:2.00)A.各个数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B.各个数据结点的存储顺序与逻辑顺序或以不一致,但它们的存储空间必须连续C.进行插入与删除时,不需要移动表中的元素
20、 D.以上三种说法都不对解析:【解析】线性数据结构有线性表、栈和队列等 ,而线性链表是数据的存储结构,它全面地反映数据元素自身的信息和数据元素之间的关系,即每个元素存储有链接到下一个元素的信息,所以插入与删除时毋须移动表中元素。3.下列关于二叉树的叙述中,正确的是_。 (分数:2.00)A.叶子结点总是比度为 2 的结点少一个B.叶子结点总是比度为 2 的结点多一个 C.叶子结点数是度为 2 的结点数的两倍D.度为 2 的结点是度为 1 的结点数的两倍解析:【解析】二叉树的结构定义: 叶子结点是指终端结点;非叶子结点是指分支结点; 二叉树的深度是指高度;若是完全二叉树,可由性质 4 公式计算而
21、得; 结点的度:二叉树结点的度数指该结点所含子树的个数;度为 2 就是有 2 个孩子结点的结点; 二叉树的四大性质: 【性质 1】:在二叉树的第 i 层上至多有*个结点。 【性质 2】:深度为 k 的二叉树上至多含*个结点。 【性质 3】:对任何一棵二叉树T,若它含有 n0 个叶子结点(0 度节点)、度为 2 的结点数为 n2,则必有:n0=n2+1。 【性质 4】:具有n 个结点的完全二叉树的深度为 ?log2(n)? +1 。例:一棵完全二叉树共有 64 个结点 ,深度为log2(64)+1=7 答案根据:叶子结点是指终端结点,当然比度为 2 的结点多一个 4.软件按功能可以分为应用软件、
22、系统软件和支撑软件(或工具软件)。下面属于应用软件的是_。 (分数:2.00)A.学生成绩管理系统 B.C 语言编译程序C.UNIX 操作系统D.数据库管理系统解析:【解析】系统软件包括操作系统(UNIX)、程序编译程序、数据库管理系统等三大大部份,所以学生成绩管理系统是应用软件。5.某系统总体结构图如下所示: (分数:2.00)A.7B.6C.3 D.2解析:【解析】这里的深度是指软件系统总体结构层次。6.程序测试的任务是_。 (分数:2.00)A.设计测试用例B.验证程序的正确性C.发现程序中的错误D.诊断和改正程序中的错误 解析:【解析】程序测试包括模块测试、系统测试和验收测试三大部份。
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 全国 计算机等级考试 二级 语言 2011 答案 解析 DOC
