2012年3月全国计算机等级考试二级C语言笔试真题与答案
20122012 年上半年计算机二级年上半年计算机二级 C C 语言试题语言试题2012.09.082012.09.08 一、选择题 1、 下列叙述中正确的是()。 A .循环队列是队列的一种顺序存储结构 B.循环队列是队列的一种链式存储结构 C.循环队列是非线性结构 D .循环队列是一直逻辑结构 2、 下列叙述中正确的是()。 A .栈是一种先进先出的线性表 B.队列是一种后进先出的线性表 C.栈和队列都是非线性结构 D .以上三种说法都不对 3、 一棵二叉树共有 25 个节点,其中 5 个时子节点,那么度为1 的节点数为()。 A .4 B.6 C.10 D .16 4、 在下列模式中,能够给出数据库物理存储结构与物理存取方法的是()。 A .内模式 B.外模式 C.概念模式 D .逻辑模式 5、 在满足实体完整性约束的条件下()。 A 、 一个关系中可以没有候选关键词 B、 一个关系中只能有一个候选关键词 C、 一个关系中必须有多个候选关键词 D 、 一个关系中应该有一个或者多个候选关键词 6、 有三个关系 R、S 和 T 如下: 则由关系 R 和 S 得到关系 T 的操作是()。 A .自然连接 B.并 C.差 D .交 7、 软件生命周期中的活动不包括()。 A .软件维护 B.市场调研 C.软件测试 D .需求分析 8、 下面不属于需求分析阶段任务的是()。 A .确定软件系统的功能需求 B.确定软件系统的系统的系能需求 B.制定软件集成测试计划 D .需求规格说明书审评 9、 在黑盒测试方式中,设计测试用例的主要根据是()。 A .程序外部功能 B.程序内部逻辑 C.程序数据结构 D .程序流程图 10、 在软件设计中不使用的工具是()。 A .系统结构图 B.程序流程图 C.PAD 图 D .数据流图(DFD 图) 11、针对简单程序设计,以下叙述的实施步骤正确的是()。 A .确定算法和数据结构、编码、调试、整理文档 B.编码、确定算法和数据结构、调试、整理文档 C.整理文档、确定算法和数据结构、编码、调试 D .确定算法和数据结构、调试、编码、整理文档 12、关于 C 语言中数的表示,以下叙述正确的是()。 A .只有整型数在允许范围内能精确无误的表示,实型数会有误差 B.只要在在允许范围内整型和实型都能精确表示 C.只有实型数在允许范围内能精确无误的表示,整型数会有误差 D .只有八进制表示的数在不会有误差 13、以下关于算法叙述错误的是()。 A .算法可以用伪代码、流程图等多种形式来描述 B.一个正确的算法必须有输入 C.一个正确的算法必须有输出 D .用流程图可以描述的算法可以用任何一种计算机高级语言编写成程序代码 14、以下叙述错误的是()。 A .一个 C 程序可以包含多个不同名的函数 B.一个 C 程序只能有一个主函数 C.C 程序在书写时,有严格的缩进要求,否则不能编译通过 D .C 程序的主函数必须用 main 作为函数名 15、设有以下语句 Char ch1,ch2, scanf(”%c%c”, 若要为变量 ch1和 ch2分别输入字符 A 和 B,正确的输入形式应该是()。 A .A 和 B 之间用逗号间隔 B.A 和 B 之间不能有任何间隔符 C.A 和 B 之间可以用回车间隔 D .A 和 B 之间用空格间隔 16、以下选项中非法的字符常量是()。 A .’ \ 102’ B.’ \ 65’ C.’ \ xff’ D .’ \ 019’ 17、有以下程序 #include Main() { Int A=0,B=0,C=0; C=(A-=A-5);(A=B,B+=4); Printf(“%d, %d, %d\ n”,A,B,C) } 程序运行后输出的结果是()。 A .0,4,5 B.4,4,5 C.4,4,4 D .0,0,0 18、设变量均已正确定义并且赋值,以下与其他三组输出结构不同的一组语句是()。 A .x++; printf((“%d\ n”,x); B.n=++x; printf((“%d\ n”,n); C.++x; printf((“%d\ n”,x); D .n=x++; printf((“%d\ n”,n); 19、以下选项中,能表示逻辑值“ 假” 的是()。 A .1 B.0. C.0 D .100.0 20、有以下程序 #include Main() { int a; Scanf(“%d”, If(a++’x’) fun(c-1); printf (“%c”,c); } main() {fun”z”;} 程序运行输出结果是()。 A .xyz B.wxyz C.zyxw D .zyx 33、有以下函数 #include viod func(int n) {int i; for(i=0;i color D .(*ptr) .color 38、有以下函数 #include struct stu {int mun; char name[10]; int age;}; viod fun(struct stu *p) { printf(“%s\ n”,p-name);} mian() { struct stux[3]={{01,”zhang”,20},{02,”wang”,19},{03,”zhao”,18}}; fun(x+2); } 程序运行输出结果是()。 A .zhang B.zhao C.wang D .19 39、有以下函数 #include mian() {int a=12,c; c=(a2)1; printf(“%d\ n”,c): } 程序运行输出结果是()。 A .3 B.50 C.2 D .96 40、以下函数不能用于向文件写入数据的是()。 A .ftell B.fwrite C.fputc D .fprintf 二、填空题 1、将长度为 n 的顺序存储在线性表中删除一个元素,最坏情况下需要移动表中的元素个数 为()。 2、设循环队列的存储空间为Q(1:3), 初始状态为 front=rear=30。现经过一系列入队与退队运 算后,front=16 ,rear=15 ,则循环队列中有()个元素。 3、数据库管理系统提供的数据语言中,负责数据的增、删、改和查询的是()。 4、在将 E-R 图转换到关系模式时,实体和联系都可以表示成()。 5、常见的软件工程方法有结构化方法和面向对象方法,类、继承以及多态性等概念属于 ()。 6、设变量 a和 b 已定义为 int 类型,若要通过 scanf (”a=%d,b=%d”, 语句分别给 a 和 b 输入 1 和 2,则正确的数据输入内容是()。 7、以下程序的输出结果是()。 #include mian() { int a=37; a+=a%=9; printf(“%d\ n”,a); } 8、设 A .B.c都是整型变量,如果 a的值为 1,b 的值为 2,则执行 c=a++||b++ ;语句后, 变量 b 的值是()。 9、有以下程序段 s=1.0; for(k=1,k=n;k++) s=s+1.0(k*(k+1)); printf(“%f\ n”,s); 请