1、国家二级( C语言)笔试模拟试卷 193及答案与解析 1 下列数据结构中,能用二分法进行查找的是 ( )。 ( A)无序线性表 ( B)线性链表 ( C)二叉链表 ( D)顺序存储的有序表 2 下列叙述中,不属于设计准则的是 ( )。 ( A)提高模块独立性 ( B)使模块的作用域在该模块的控制域中 ( C)设计成多入口、多出口模块 ( D)设计功能可预测的模块 3 下列队列的描述中,正确的是 ( )。 ( A)队列属于非线性表 ( B)队列在队尾删除数据 ( C)队列按 “先进后出 ”进行 数据操作 ( D)队列按 “先进先出 ”进行数据操作 4 对下列二叉树进行前序遍历的结果为 ( )。
2、( A) ABCDEFGH ( B) ABDGEHCF ( C) GDBEHACF ( D) GDHEBFCA 5 对于长度为 n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是 ( )。 ( A)冒泡排序为 n(n-1)/2 ( B)简单插入排序为 n ( C)希尔排序为 n ( D)快速排序为 n/2 6 为了使模块尽可能独立,要求 ( )。 ( A)内聚程度要尽量高,耦台程度要尽量强 ( B)内聚程度要尽量高,耦合程度要尽量弱 ( C)内聚程度要尽量低,耦合程度要尽量弱 ( D)内聚程度要尽量低,耦合程度要尽最强 7 下列选项中不属于软件生命周期开发阶段任务的是 ( )。
3、( A)软件测试 ( B)概要设计 ( C)软件维护 ( D)详细设计 8 数据独立性是数据库技术的重要特点之一。所谓数据独立性是指 ( )。 ( A)数据与程序独立存放 ( B)不同的数据被存放在不同的文件中 ( C)不同的数据只能被对应的应用程序所使用 ( D)以上三种说法都不对 9 在学校中, “班级 ”与 “学生 ”两个实体集之间的联系属于 ( )关系。 ( A)一对一 ( B)一对多 ( C)多对一 ( D)多对多 10 软件调试的目的是 ( )。 ( A)发现错误 ( B)改善软件的性能 ( C)改正错误 ( D)验证软件的正确性 11 若有定义: int a=4, b=5, c=
4、6;然后顺序执行下列语句后,变量 b中的值是( )。 c=(a-=(b-5); c=(a%3)+(b=1); 12 以下程序运行后的输出结果是 ( )。 main() int a, b, c; a=10; b=20;c=(a/b 1) printf(“%dn“, Power2(i+j); 14 以下程序中, fun函数的功能足求 3行 4列二维数组每行尢素中的最大值。请填空。 void fun(int, int, int(*)4, int*); main() int a34=12, 41, 36,28, 19, 33, 15, 27, 3, 27, 19, 1, b3, i; fun(3, 4
5、, a, B); for(i=0; j 3; i+)printf(“%4d“, bi); printf(“n“); void fun(int m, int n,int ar4, int*br) int i, j, x; for(i=0; i m; i+) x=ari0; for(j=0;jn;j+) if( ) x=arij; bri=x; 15 下面程序的功能是:输出 100以内能被 4整除且个位数为 8的所有整数,请填空。 main() int i,j; for(i=0=( );i+) j=i*10+8; if(j%4!=0)continue; printf(“%d“, j); 16 以下
6、程序的输出结果是 ( )。 #include stdio.h fun() static int a=0; a+=3; printf(“%d“, A); main() int cc; for(cc=1; cc 5; cc+)fun(); printf(“n“); 17 下面程序的运行结果是 ( )。 #include stdio.h #define SIZE 12 main() char sSIZE; int i; for(i=0; i SIZE; i+)si=A+i+32; sub(s, 5, SIZE-1); for(i=0; i SIZE; i+)printf(“%c“, si); pri
7、ntf(“n“); sub(char*a, int t1,int t2) char ch; while(t1 t2) ch=*(a+t1); *(a+t1)=*(a+t2); *(a+t2)=ch; t1+; t2-; 18 下面程序的运行结果是 ( )。 #include stdio.h main() char a80,*p=“AbabCDcd“; int i=0, j=0; while(*(p+)!=0) if(*p =a“if(j%4!=0)continue; ”语句的功能是当条件不能被 4整除时,继续循环不执行操作,直到能被 4整除时输出该数,所以输出的数满足条件 100以内能被 4整
8、除且个位数为 8。 16 【正确答案】 3 6 9 12 【试题解析】 本题考查最基本的 for循环。 for(cc=1; cc 5; cc+)规定循环次数为 4次,每次 a+=3,即每次 a的 值增加 3,但因为 fun函数中变量 a为 static类型,所以每次调用完子函数之后,变量 a所做的改变都要保存。 17 【正确答案】 abcdelkjihgf 【试题解析】 本题先给字符型数组 s的 12个元素赋值 a到 1的 12个字母,函数sub(shar*a,int t1, int t2)的功能是将数组 a的从第 t1+1个元素到 t2+1个元素进行逆置,在主函数中调用 sub(s, 5,
9、SIZE-1)函数,是将数组 s的第 6个元素到第 12个元素进行逆置,其他元素位置不变。 18 【正确答案】 babcd 【试 题解析】 C语言中 “0”表示字符串的结束。程序将 p指针指向字符串“AbabCDcd”的首地址,循环开始后若指针不是指向当前字符串的结束标志位,则进入循环体。循环中每次检验字符串中字母是否在 a与 z之间,若满足则将当前值赋值给数组 a,最后给数组添加字符结束标志。此程序可以筛选出字符串中的小写字母。 19 【正确答案】 6 【试题解析】 strlen()函数的作用是计算字符串的长度并作为函数的返回值,这里的长度不包括串尾的结束标志 0。 t是转义字符,代表横向跳
10、若干格; “是 转义字符,代表双引号: 023也只代表一个字符,而不管转义字符后面有几个符;xAB是以两位十六进制数 AB表示的 ASCII码字符,只代表一个字符; n是转义字符,代表回车换行。 题中语句中的字符串有 5个字符常量各代表一个字符,再加上字母 C,所以返回的长度是 6。 20 【正确答案】 5 5 【试题解析】 分析程序执行过程,第一次循环时, j=3, i=5,因为 switch(3),所以执行 case 3,调用 P(a-i)=P(a4)=P(5),输出 5;第二次循环时, j=2, i=4, 因为 switch(2),所以执行 case 2,调用 P(ai+)=P(a4)=
11、P(5),输出 5,之后 i自加等于 5。 21 【正确答案】 时间复杂度 【试题解析】 在算法正确的前提下,评价一个算法的两个标准是空间复杂度和时间复杂度。算法的时间复杂度,是指执行算法所需要的计算工作量。算法的空间复杂度是指执行这个算法所需要的内存空间。 22 【正确答案】 中序 【试题解析】 二叉树的遍历可以分为三种:前序遍历、中序遍历和后序遍历。 前序遍历是指在访问根结点、遍历左子树与遍历右子树这 三者中,首先访问根结点,然后遍历左子树,最后遍历右子树;并且遍历左、右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。 中序遍历指在访问根结点、遍历左子树与遍历右子树这三者中,首先
12、遍历左子树,然后访问根结点,最后遍历右子树;并且遍历左、右子树时,仍然先遍历左子树,然后访问根结点,最后遍历右子树。 后序遍历指在访问根结点、遍历左子树与遍历右子树这三者中,首先遍历右子树,然后访问根 23 【正确答案】 软件工程学 【试题解析】 为了消除软件危机,通过认真研究解决软件危机的方法,认识到 软件工程是使计算机软件走向工程科学的途径。逐步形成了软件工程的概念,开辟了工程学的新兴领域 软件工程学。 24 【正确答案】 逻辑独立性 【试题解析】 数据独立性包括数据的物理独立性和逻辑独立性。物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。数据在磁盘上的数据库中怎样存储是由 DBMS管理的,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变时。应用程序不用改变。逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,也就是说,数据的逻辑结 构改变了,用户程序也可以不变。 25 【正确答案】 静态测试