网站首页 语言 会计 电脑 医学 资格证 职场 文艺体育 范文
当前位置:书香门第 > 范文 > 校园

计算机软件基础期末考试试题及参考答案

栏目: 校园 / 发布于: / 人气:2.17W

北京航空航天大学

计算机软件基础期末考试试题及参考答案

班级:__________;学号:______________;姓名:__________________;成绩:___________

 一.填空题(本题共10分,每题1分)

1、程序= 数据结构 +算法 。

2、结构化程序的最本质的控制结构有 顺序 , 选择 和 循环 。 3、链表可分为 單链表 、 双链表 ,循环链表等几类。 4、 具有100个结点的完全二叉树的叶子结点数为 50 。

5、无序表( 81,52,57,95,22,04,96,83)的第一趟冒泡排序序列(从小到大)为 (04,。

6、操作系统的五大基本功能是 储存器管理 , 处理机管理 ,设备管理 ,文件管理,作业管理。

7、进程的基本状态包括 就绪态(等待) , 运行态 和 阻塞态。 8、软件测试技术可分为 黑箱测试 和 白箱测试 。

9、TCP/IP五层协议体系结构包括:物理层 、 网络接口层 、 网络层 、 运输层 、 应用层。

10、IP地址是一种层次型地址,由 网络号 和 主机号 组成。

  二.选择题(本题10分,每题1分)

1、我们把具有共同属性、共同操作性质的对象的集合定义为(A )。

A.类 B.属性 C.对象 D.消息

2、软件测试的目的是(B )。

A.证明软件是正确的 B. 发现错误,降低软件带来的风险 C.排除软件中的所有错误 D. 与软件调试相同

3、在一个单链表中,若要在P所指向的结点之后插入一个新结点,则需要相继修改(B )个指针域的值。

A.1 B.2 C.3 D.4

4、 设栈S和队列Q的初始状态为空,元素e1、e2、e3、e4、e5、e6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出队的顺序是e2、e4、e3、e6、e5、e1,则栈S的容量至少应该是(C )。

A. 6 B. 4 C. 3 D. 2

5、已知某二叉树的前序遍历序列为ABCDEFG,中序遍历序列为CBDAFEG,其后序遍历序列为(A )。

A.CDBFGEA B.CBDFGEA C.CBDFGAE D.CDBGFAE

6、操作系统负责管理计算机的 (

A.程序 B.作业 C.资源 D.进程

7、进程在3个基本状态中的转换,肯定不会有的转换是(B )。

A.运行态→就绪态 B.阻塞态→运行态 C.运行态→阻塞态 D.阻塞态→就绪态

8、E—R方法的三要素是(C )。

A.实体,属性,实体集 B.实体,码,联系 C.实体,属性,联系 D.实体,域,码

9、路由器工作在OSI/RM模型的(D)层。

A.物理层 B.数据链路层 C.应用层 D.网络层

10、是一个( C)类IP地址。

A.A B.B C.C D.D

 三.问答题(本题15分,每小题5分)

1、递归算法与递推算法

递归算法:是构造计算机算法的一种基本方法。如果一个过程直接或间接地调用它自身,则称该过程是递归的,递归过程必须有一个递归终止条件,即存在“递归出口”,无条件的递归是毫无意义的。

递推算法:是一种简单的算法,即通过已知条件,利用特定关系得出中间推论,直至得到结果的算法。

2、分页存储管理与分段存储管理

分页储存管理:允许将一个进程直接分散地装入到许多不相邻的分区中,则无须再进行“紧凑”。基于这一思想而产生了离散分配方式。离散分配的基本单位是页。

分段储存管理:一个用户程序通常由一个主程序、若干个子程序和数据区组成,我们把每一个像这样的逻辑信息组称做“段”,这时用户程序的.逻辑地址空间变成了二维地址空间(把整个逻辑地址空间分为若干段,每一个段段内又从0开始记数)。我们可以以“段”为单位进行内存管理。这就是“分段式”内存管理的思想。

3、给出一组关键字(19,01,26,92,87,11,43,87,21),进行冒泡排序,列出每一遍排序后关键字的排列次序。(要求排序结果从小到大,每次向左冒泡)

 四.编程题(本题15分)

1 数据库编程题(10分) 给定下列四个关系模式:

内容需要下载文档才能查看

S:学生表 C:课程表

SC:学生选课表

原题:参见北京航空航天大学2008~2009年第1学期计算机软件技术基础试题

内容需要下载文档才能查看

内容需要下载文档才能查看 内容需要下载文档才能查看

其中,各个表中的字段含义分别为:

SNO:学号;SN:姓名;SEX:性别;AGE:年龄。 CNO:课程编号;CN:课程名称;TN:代课教师姓名。 G:学生所选课成绩。

注:课程字段值直接用课程中文,如数学课字段值‘数学’,学生和老师的名字字段值直接

用其名字的中文,年龄字段值为年龄的整数值。

请写出以下问题的SQL计算机序列(注:采用SQL92标准)。

1) 在学生表中,用分组的方法分别列出男生、女生的人数。(2分)

SELECT COUNT * FROM S WHERE SEX =’男’; SELECT COUNT * FROM S WHERE SEX =’女’;

2) 创建课程表(字段名、类型和长度可自定义),并指出主键。(2分)

CREATE TABLE C ( CNO CHAR(3) CN CHAR(10), TN CHAR(2) );

3) 查询所有学生的姓名、所选课程的名称和成绩,并按成绩由小到大排序。(2分)

写法一:SELECT DISTINCT , , SC,G FROM S, C, SC WHERE = AND = O ORDER BY G ASC

写法二:SELECT DISTINCT SN, CN, G FROM S JOIN SC ON = AND C JOIN SC ON = O ORDER BY G ASC

4) 从选课表中,查询出成绩排在最前面的5行记录,要求列出选课表的所有字段。(2分)

SELECT TOP 5 * FROM SC ORDER BY G DESC

5)从学生表中列出所有姓张的学生的姓名及年龄。(2分)

答:SELECT SN,AGE FROM S WHERE SN LIKE ’张%’2 C++编程题(5分)

#include

class Vehicle {

public:

int color; private:

int tyre_number;

PRIMARY key NOT NULL,

public:

void SetColor(int c) { color = c; }

void Move() { printf("Vehicle moving ! "); } };

class Car : public Vehicle {

protected:

int velocity; public:

void Move() { printf("Car moving ! ");}

};

class SportsCar : public Car {

public:

int cost;

void Move() { printf("SportsCar moving ! ");}

};

int main() {

int col = 0;

Vehicle *vec; SportsCar BMWM3;

BMWM3. SetColor(1); ();

col = BMWM3. color;

vec = new Car;

vec->Move(); return 0; }

1) main 中当程序运行到vec = new Car时,col = ?(1分) 1

2) 写出程序的运行结果。(2分) SportsCar moving! Vehicle moving!

3) 写出在main中的对象BMWM3可以访问的成员变量。(1分) color和cost