一、 从每题所列的答案中选择一个最优答案填入括号内: ( 每空 1 分,共 8 分 )
1 . SELECT 语句完成关系数据库的 ( ) 操作。
1) 投影 2) 连接 3) 选择 4) 蕴含
2 .系统可靠、高效及考虑人的因素,这种称为软件的 ( ) 。
1) 可移植性 2) 可使用性 3) 可靠性 4) 完备性
3 .程序的等价性是 ( ) 。
1) 不可判定的 2) 不可分解的 3) 可分解的 4) 可判定的
4 .用二分法查表的速度与顺序查表法线比
1) 快 2) 慢 3) 一样 4) 不一定
5 .给定{ 6 , 10 , 3 , 8 , 2 , 5 , 7 , 4 }构造的二叉顺序树有 ( ) 个叶子节点。
1)2 2)3 3)4 4)5
6 .动态数组的特点是 ( ) 。
1) 数组上界无须赋值
2) 在运行程序时,对数组的上下界赋值
3) 在编译数组时,对数组的上下界赋值
4) 在书写程序时,对数组的上下界赋值
7 .据库管理系统中的数据描述语言 (DDL) 用于 ( ) 。
1) 定义数据结构
2) 定义数据的物理结构
3) 定义数据的逻辑结构
4) 定义数据的逻辑结构及物理结构
8 .墨盒测试法根据 ( ) 设计测试用例
1) 程序调用规则
2) 模块间的逻辑关系
3) 软件要完成的功能
4) 数据结构
二、 填空 ( 每题 1 分,共 10 分 )
1 . WINDOWs 环境下的 DDL 的中文全称是 ( ) , 其主要含义是 ( ) 。
2 .数据的完整性是指 ( ) 。
3 . C 语言最早的研制者是 ( ) 。
4 .进程是 ( ) 。
5 .递归程序的优点是 ( ).
6. 数据库必须提供的数据控制功能由数据的完整性, ( ) , ( ) 。
7 . WHILE—DO 循环语句的循环体中,必须包含有 ( ) 。
8 .两个模块有一部分代码重叠是 ( ) 耦合。
三、解释并辨析下列名词 ( 每题 3 分,共 15 分 )
1 .中断和死锁
2 .变量与表达式
3 .对象与属性
4 .虚拟地址与实地址
5 .数据的物理结构和逻辑结构
四、判断题 ( 每题 1 分,共 5 分。正确的打 (√) ,错误的打 (×) ,答错或不答不给分 )
1 .所谓第四代语言中的事件驱动是指事件发生或者触发后,事件程序来决定进行什么处理。 ( )
2 .快速分类法在被分类的数据量太大时最不利于发挥其长处。 ( )
3 . Internet 的前身是 APPANET 。 ( )
4 . DOS 安全性差的主要原因在于它没有将应用程序与操作系统的核心分隔开。 ( )
5 .数据结构中的文件主要讲述文件的使用,而数据库系统中使用的文件主要讲述文件的逻辑结构算法。 ( )
五、简答题 ( 任选 6 题回答,每题 6 分,共 36 分 )
1 .举例说明程序的三种结构。
2 .举例说明什么是过程德形参、实参和值参。
3 .由汇编语言发展到算法语言 ( 第三代语言 ) ,在语言技术上有哪些重要的改进。
4 .什么是顺序查找、随机查找和索引查找,它们的优缺点各是什么 ?
5 .举例说明 RDB 的第三范式的含义。
6 .什么是总线型网络拓扑结构,它的优缺点是什么?
7 .什么是生命周期开发模式,系统分析阶段的目标是什么?
六、阅读理解程序,回答问题 .( 每题 6 分,共 12 分 )
1 .已知有递归函数:
function trino(M:integer):integer;
var value:integer;
begin
if M=0 then value:=3
else value:=trino(M-1)+5
trino:=value;
writeln(`M=`,M,`;rvalue=`,value)
end
问若执行语句 trino(3), 将打印什么信息?
2 .下面使用标准的 C 语言编写的函数
void sort(char *item,int count)
{
register int I,j,distant,n;
shar x,a(5);
a(0)=9;a(1)=5;a(2)=3;a(3)=2;a(4)=1;
for(n=0;n<5;n++ {
distant=a(n);
for(I=distant;I<count;++I) {
x=item(i);
for(j=I-distant;x<item(j)&&j>=0;j=j-distant)
item(j+distant)=x
item(j+distant)=x;
}
}
}
七、试画出如下数据流程图所对应的模块结构图,其中处理 ③ 为主加工。 (6 分 )
八、 仔细阅读下列标准 c 语言程序,在空白处填入适当的语句。 ( 每空 4 分,共 8 分 )
函数 match(s,t) 完成在字符串 s 中寻找与 t 匹配的字符,若存在一个匹配,则返回 t 在字符串 s 中的下标;否则,返回 -1 。其中,字符指针 *b 始终指向 s 的第一元素。
Match(s,t)
Char s,t;
{
char *b=s
char *p, *r
for_________________________________ {
for(p=s,r=t;*r!=`\0`&&*p= =*r; p++,r++);
if__________________________________
return(s-b);
}
return(-1);
}