【计算机类职业资格】全国计算机等级考试二级C语言真题2008年4月及答案解析.doc
《【计算机类职业资格】全国计算机等级考试二级C语言真题2008年4月及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】全国计算机等级考试二级C语言真题2008年4月及答案解析.doc(15页珍藏版)》请在麦多课文档分享上搜索。
1、全国计算机等级考试二级 C 语言真题 2008 年 4 月及答案解析(总分:94.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:80.00)1.程序流程图中带有箭头的线段表示的是( )。(分数:2.00)A.图元关系B.数据流C.控制流D.调用关系2.结构化程序设计的基本原则不包括( )。(分数:2.00)A.多态性B.自顶向下C.模块化D.逐步求精3.软件设计中模块划分应遵循的准则是( )。(分数:2.00)A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合4.在软件开发中,需求分析阶段产生的主要文档是( )。(分数:2.00)A.可行性分析报告B.软件需求
2、规格说明书C.概要设计说明书D.集成设计计划5.算法的有穷性是指( )。(分数:2.00)A.算法程序的运行时间是有限的B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的用户使用6.对长度为 n 的线性表排序,在最坏情况下,比较次数不是 n(n-1)/2 的排序方法是( )。(分数:2.00)A.快速排序B.冒泡排序C.直接插入排序D.堆排序7.下列关于栈的叙述正确的是( )。(分数:2.00)A.栈按“先进先出”组织数据B.栈按“先进后出”组织数据C.只能在栈底插入数据D.不能删除数据8.在数据库设计中,将 E-R 图转换成关系数据模型的过程属于( )。(分数:
3、2.00)A.需求分析阶段B.概念设计阶段C.逻辑设计阶段D.物理设计阶段9.有三个关系 R、S 和如下; (分数:2.00)A.并B.自然连接C.笛卡尔积D.交10.设有表示学生选课的三张表,学生 S(学号,姓名,性别,年龄,身份证号),课程 C(课号,课名),Q选课 SC(学号,课号,成绩),则表 SC 的关键字(键或码)为( )。(分数:2.00)A.课号,成绩B.学号,成绩C.学号,课号D.学号,姓名,成绩11.下列叙述中正确的是( )。(分数:2.00)A.C 程序中的注释只能出现在程序的开始位置和语句的后面B.C 程序书写格式严格,要求一行内只能写一个语句C.C 程序书写格式自由,
4、一个语句可以写在多行上D.用 C 语言编写的程序只能放在一个程序文件中12.下列选项中不合法的标识符是( )。(分数:2.00)A.printB.FORC.b=1.1;16.有下列程序段: char ch;int k; ch=a;k=12; printf(“%c,%d,“,ch,ch,k); printf(“k=%d/n“,k); 已知字符 a 的 ASCII 十进制代码为 97,则执行上述程序段后输出结果是( )。(分数:2.00)A.因变量类型与格式描述符的类型不匹配输出无定值B.输出项与格式描述符个数不符,输出为零值或不定值C.a,97,12k=12D.a,97,k=1217.已知字母
5、A 的 ASCII 代码值为 65,若变量 kk 为 char 型,下列不能正确判断出比中的值为大写字母的表达式是( )。(分数:2.00)A.kk=A if(aB) a=b;c=a; if(c!=A) c=b; printf(“%d,%d,%d/n“,a,b,C) ; 其输出结果是( )。(分数:2.00)A.程序段有语法错B.3,5,3C.3,5,5D.3,5,720.有下列程序: #include stdio.h main() int x=1,y=0,a=0,b=0; switch(x) case 1: switch(y) case 0:a+;break; case 1:b+;break
6、; case 2: a+;b+;break; case 3: a+;b+; printf(“a=%d,b=%d/n“,a,B) ; 程序的运行结果是( )。(分数:2.00)A.a=1,b=0B.a=2,b=2C.a=1,b=1D.a=2,b=121.有下列程序: #inelude stdio.h main() int x=8; for(;x0;x-) if(x%3) printf(“%d,“,x-);continue; printf(“%d,“,-x); 程序的运行结果是( )。(分数:2.00)A.7,4,2B.8,7,5,2C.9,7,6,4D.8,5,4,222.下列不构成无限循环的语
7、句或语句组是( )。(分数:2.00)A.n=0; do +n; while (n=0);B.n=0; while (1) n+;C.n=10; While (; n-;D.for(n=0, i=1; ;i+)n+=i23.有下列程序: #include stdio.h main() int a=1,2,3,4,y,*p= -p; y=*p; printf(“y=%d/n“,y); 程序的运行结果是( )。(分数:2.00)A.y=0B.y=1C.y=2D.y=324.下列错误的定义语句是( )。(分数:2.00)A.int x 3=0,1,1,2,3;B.int x43=1,2,3,1,2,
8、3,1,2,3,1,2,3;C.int x4 =1,2,3,1,2,3,1,2,3,1,2,3;D.int x 3=1,2,3,4;25.设有下列程序段: char s20=“Beijing“,*p; p=s; 则执行 p=s;语句后,下列叙述正确的是( )。(分数:2.00)A.可以用*p 表示 s0B.s 数组中元素的个数和 p 所指字符串长度相等C.s 和 p 都是指针变量D.数组 s 中的内容和指针变量 p 中的内容相同26.若有定义:int a233;,下列选项中对 a 数组元素正确引用的是( )。(分数:2.00)A.a2!1B.a23C.a03D.a12!127.有定义语句:ch
9、ar s10;, 若要从终端给 s 输入 5 个字符,错误的输入语句是( )。(分数:2.00)A.gets( char c;REC; REC t1,t2;B.struct REC; int n; char c; REC t1,t2;C.typedef struct REC; int n=0; char c=A; t1,t2;D.stmct int n; char c; REC; REC t1,t2;30.下列叙述中错误的是( )。(分数:2.00)A.gets 函数用于从终端读入字符串B.getchar 函数用于从磁盘文件读入字符C.fputs 函数用于把字符串输出到文件D.fwrite 函
10、数用于以二进制形式输出数据到文件31.有下列程序: #include stdio.h main() int s12=1,2,3,4,4,3,2,1,1,1,2,3,c5=0,i; for(i=0;i12;i+)csi+; for(i=1;i5;i+)printf(“%d“,ci); printf(“/n“); 程序的运行结果是( )。(分数:2.00)A.1 2 3 4B.2 3 4 4C.4 3 3 2D.1 1 2 332.有下列程序: #include stdio.h void fun(int * s,int n1,int n2) int i,j,t; i=n1;j=n2; while(
11、ij)t=si;si=sj;sj=t;i+;j-; main() int a10=1,2,3,4,5,6,7,8,9,0,k; fun(a,0,3); fun(a,4,9);fun(a,0,9); for(k=0;k10;k+)printf(“%d“,ak);printf(“/n“); 程序的运行结果是( )。(分数:2.00)A.0987654321B.4321098765C.5678901234D.098765123433.有下列程序: #include stdio.h #include “string.h“ void tim(char *s,int n) char *t;int i,j;
12、 for(i=0;in-1;i+) for(j=i+1;jn;j+) if(strlen(si)strlen(sj) t=si;si=sj;sj=t; main() char *ss= “bcc“,“bbcc“,“xy“,“aaaacc“,“aabcc“; fun(ss,5);printf(“%s,%s/n“,ss0,ss4); 程序的运行结果是( )。(分数:2.00)A.xy,aaaaccB.aaaacc,xyC.bcc,aabccD.aabcc,bcc34.有下列程序: #include stdio.h int f(int x) int y; if(x=0x=1)return(3); y
13、=x*x-f(x-2); return y; main() int z; z=f(3);printf(“%d/n“,z); 程序的运行结果是( )。(分数:2.00)A.0B.9C.6D.835.有下列程序: #include stdio.h void fun(char *a, char *B) while(*a=*)a+; while(*b=*A) b+;a+; main() char *s=“*a*b*“,t80; fun(s,t);puts(t); 程序的运行结果是( )。(分数:2.00)A.*a*bB.a*bC.a*b*D.ab36.有下列程序: #include stdio.h #
14、include “string.h“ typedef structchar name9; char sex;float score2;STU; void f(STU A) STU b=“Zhao“,m,85.0,90.0; int i; strcpy(a.name,b.name); a.sex=b.sex; for(i=0;i2;i+) a.scorei=b.scorei; main() STU c=“Qian“,f,95.0,92.0; f(C) ; printf(“%s,%c,%2.0f,%2.0f/n“,c.name,c.sex,c.score0,c.score1); 程序的运行结果是(
15、 )。(分数:2.00)A.Qian,f,95,92B.Qian,m,85,90C.Zhao,f,95,92D.Zhao,m, 85,9037.有下列程序: #include stdio.h main() FILE *fp; int a10=1,2,3,i,n; fp=fopen(“d1.dat“,“w“); for(i=0;i3;i+) fprintf(fp,“%d“,ai); fprintf(fp,“/n“); fclose(fp);fp=open(“d1.dat“,“r“); fscanf(fp,“%d“, fclose(fp); prinff(“%d/n“,n); 程序的运行结果是(
16、)。(分数:2.00)A.12300B.123C.1D.32138.变量 a 中的数据用二进制进表示的形式是 01011101,变量 b 中的数据用二进制表示的形式是 11110000,若要求将 a 的高 4 位取反,低 4 位不变,所要执行的运算是( )。(分数:2.00)A.a*bB.abC.a,则下列叙述正确的是( )。(分数:2.00)A.f 是基类型为 int 的指针变量B.f 是指向函数的指针变量,该函数具有一个 int 类型的形态C.f 是指向 int 类型一维数组的指针变量D.f 是函数名,该函数的返回值是其类型为 int 类型的地址二、B填空题/B(总题数:14,分数:14.
17、00)41.测试用例包括输入值集和U 【1】 /U值集。(分数:1.00)填空项 1:_42.深度为 5 的满二叉树有U 【2】 /U个叶子结点。(分数:1.00)填空项 1:_43.设某循环队列的容量为 50,头指针 front=5(指向队头元素的前一位置),尾指针 rear=29(指向队尾元素),则该循环队列中共有U 【3】 /U个元素。(分数:1.00)填空项 1:_44.在关系数据库中,用来表示实体之间联系的是U 【4】 /U。(分数:1.00)填空项 1:_45.在数据库管理系统提供的数据定义语言、数据操纵语言和数据控制语言中,U 【5】 /U负责数据的模式定义与数据的物理存取构建。
18、(分数:1.00)填空项 1:_46.已有定义;char c= ;int a=1,b;(此处 c 的初值为空格字符),执行 b=!c ,下列程序段的输出结果是U 【8】 /U。 for(k=2;k6;k+,k+)printf(“+%d“k);(分数:1.00)填空项 1:_49.下列程序的定义语句中,x1的初值是U 【9】 /U,程序运行后输出的内容是U 【10】 /U。 #include stdio.h main() int x=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,*p4,i; for(i=0;i4;i+) pi= printf(“%d“,pi0);
19、 printf(“/n“); (分数:1.00)填空项 1:_50.下列程序的输出结果是U 【11】 /U。 #include stdio.h void swap(int *a, int *B) int *t; t=a;a=b;b=t; main() int i=3,j=5,*p= swap(p,q);printf(“%d %d/n“,*p,*q); (分数:1.00)填空项 1:_51.下列程序舶输出结果是U 【12】 /U。 #include stdio.h main() int a5=2,4,6,8,10,*p; p=a;p+; printf(“%d“,*p); (分数:1.00)填空项
20、 1:_52.下列程序的输出结果是U 【13】 /U。 #include stdio.h void fun(int x) if(x/20) fun(x/2); printf(“%d“,x); main() fun(3);printf(“/n“); (分数:1.00)填空项 1:_53.下列程序中函数 fun 的功能是:统计 person 所指结构体数组中所有性别(sex)为 M 的记录的个数,存入变量 n 中,并作为函数值返回。请填空。 #include stdio.h #define N 3 typedef struct int num; char nam10; char sex; SS;
21、int fun(SS person) int i,n=0; for(i=0; iN; i+) if(U 【14】 /U=M) n+; return n; main() SS WN=1,“AA“,F,2,“BB“,M,3,“CC“,M; int n; n=fun(W); printf(“n=%d/n“, n); (分数:1.00)填空项 1:_54.下列程序从名为 filea.dat 的文本文件中逐个读入字符并显示在屏幕上。请填空。 #include stdio.h main() FILE *fp; char ch; fp = fopen(U 【15】 /U); ch = fgetc(fp);
22、while(!feof(fp) putchar(ch); ch=fgetc(fp); putchar(“/n“); fclose(fp); (分数:1.00)填空项 1:_全国计算机等级考试二级 C 语言真题 2008 年 4 月答案解析(总分:94.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:80.00)1.程序流程图中带有箭头的线段表示的是( )。(分数:2.00)A.图元关系B.数据流C.控制流 D.调用关系解析:解析 程序流程图是一种传统的、应用广泛的软件过程设计工具,通常也称为程序框图。其中,用带箭头的线段表示控制流,用矩形表示加工步骤,用菱形表示逻辑条件,2.
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 全国 计算机等级考试 二级 语言 2008 答案 解析 DOC
