北京航空航天大学2007年计算机软件技术基础试题.doc
《北京航空航天大学2007年计算机软件技术基础试题.doc》由会员分享,可在线阅读,更多相关《北京航空航天大学2007年计算机软件技术基础试题.doc(5页珍藏版)》请在冰点文库上搜索。
北京航空航天大学
2007~2008学年第1学期
计算机软件技术基础期末考试试卷
(2008年1月3日)
班级:
__________;学号:
______________;姓名:
__________________;成绩:
___________
一.填空题(本题共15分,每空0.5分)
1、结构化程序的最本质的控制结构有顺序,条件分支(选择)和迭代(循环)。
2、软件工程生存周期发中,一般将程序设计阶段分为_概要设计___和_详细设计___两个阶段。
3、软件生存周期包括需求分析、程序设计、编码、测试与排错等阶段。
4、所有对象都可以划分为不同的对象类,每个对象类都定义了一组___数据(属性)______和一组___方法(操作)______。
5、链表包含两个域,一个表示数据本身,一个表示数据元素间的关联。
6、把高级语言程序翻译成机器语言程序的方法有编译和解释。
C语言是编译语言;BASIC是解释型。
7、无序表(81,52,57,95,22,04,96,83)的第一趟冒泡排序序列为52,57,81,22,04,95,83,96。
(04,81,52,57,95,22,83,96)。
8、存储空间管理技术有分区管理,分段管理,分页管理,段页式管理等方式,DOS系统中采用的是分区管理。
9、文件的存取方法有顺序存取_和随机存取_。
10、主关键字是由表中一列或多列组成的,可唯一标识表中的一行数据记录。
11、202.112.100.16是一个C类IP地址,它的缺省子网掩码为255.255.255.0。
12、按底层至高层的顺序,TCP/IP协议层次组成依次为物理层、数据链路层、网络层、传输层、应用层。
13、常用的计算机网络拓扑结构主要有总线型、星型、环型、网状四种。
二.选择题(本题10分,每题1分)
1、我们把具有共同属性、共同操作性质的对象的集合定义为(A)。
A.类B.属性C.对象D.消息
2、在一个单链表中,若要在P所指向的结点之后插入一个新结点,则需要相继修改(B)个指针域的值.
A.1B.2C.3D.4
3.需求分析阶段的研究对象是(A)
A.用户要求B.分析员要求
C.系统要求D.软硬件要求
4、软件测试的目的是(B)
A.证明软件是正确的B.发现错误,降低软件带来的风险
C.排除软件中的所有错误D.与软件调试相同
5、若只需要利用形参间接访问实参指针所指向的对象,而形参本身具有相应的存储空间,则应把形参变量说明为(A)参数。
A.指针B.引用C.值D.指针引用
6、当利用大小为N的数组顺序存储一个栈时,假定用top==N表示栈空,则向这个栈插入一个元素时,首先应执行(B)语句修改top指针。
A.top++B.top--C.top=0D.top=N-1
7、操作系统负责管理计算机的(C)
A.程序B.作业C.资源D.进程
8、进程在3个基本状态中的转换,肯定不会有的转换是(B)
A.运行态→就绪态B.阻塞态→运行态
C.运行态→阻塞态D.阻塞态→就绪态
9、在二级目录结构中,同一个用户不同文件的文件名(D)。
A.应该相同B.可以相同C.可以不同D.一定不同
10、E—R方法的三要素是(C)
A.实体,属性,实体集B.实体,码,联系
C.实体,属性,联系D.实体,域,码
三.问答题(本题10分,每小题5分)
1、对于某一二叉树,使用前序遍历,处理顺序为:
ABEFCGDHIJ;使用中序遍历,则处理顺序为:
EFBGCHIJDA;请画出此二叉树,给出其后序遍历。
该二叉树后续遍历为:
FEGJIHDCBA。
2、简述固定分区和可变分区的区别。
固定分区存储管理是把主存中的用户区域预先划分成若干个大小相等或不等的连续区域(分区),每个分区大小固定。
每个分区可以一次装入一个且只能是一个作业。
整个主存分成多少分区,就可以同时装入几道程序。
可变分区的管理是将主存中的用户区域作为一个整体,根据作业需要的空间大小和当时主存空间使用情况来决定是否为作业分配一个分区,一旦分配,就按照作业实际需要分配分区,这样不仅可以支持多道程序设计,还解决了固定分区中内存零头的问题。
四.编程题(本题15分)
1数据库编程题(10分)
给定下列三个关系模式:
S(SNO,SN,SEX,AGE,DEPT);C(CNO,CN,TNAME);SC(SNO,CNO,GRADE)。
其中:
S:
学生表;C:
课程表;SC:
学生选课表。
SNO:
学号;SN:
姓名;SEX:
性别;AGE:
年龄;DEPT:
学生所在系。
CNO:
课程编号;CN:
课程名称;TNAME:
代课教师姓名。
GRADE:
学生所选课成绩。
注:
本题中男生字段值为‘M’,女生字段值为‘W’,课程字段值直接用课程中文,如数学课字段值‘数学’,学生和老师的名字字段值直接用其名字的中文,年龄字段值为年龄的整数值。
请写出以下问题的SQL计算机序列(注:
采用SQL92标准)。
1)给出年龄在17~19岁之间的学生学号和姓名。
(2分)
2)往基本表S中插入一个学生元组(‘990750’,‘钱江’,18)。
(2分)
3)查询所有学生的姓名、年龄和所选课程的名称和成绩。
(3分)
4)检索选修课程包含所有姓王的老师所授课程的学生学号。
(3分)
1)SELECTSNO,SNFROMS
WHEREAGEBETWEEN17AND19
(WHEREAGEIN(17,18,19))(WHEREAGE>17ANDAGE<19)
2)INSERTINTOS(SNO,SN,SEX,AGE,DEPT)
VALUES(‘990750’,‘钱江’,,18)
3)SELECTS.SN,S.AGE,C.CN,C.GRADEFROMS,C,SC
WHERES.SNO=SC.SNOANDC.CNO=SC.CNO
4)SELECTSNOFROMSC
WHERECNOIN(SELECTCNOFROMCWHERETNAME=‘王%’)
(SELECTSNOFROMSC,C
WHEREC.CNO=SC.CNOANDC.TNAME=‘王%’)
2C++编程题(5分)
#include
classVehicle
{
public:
intcolor;
protected:
inttyre_number;
public:
voidSetColor(intc){color=c;}
voidMove(){printf(“Vehiclemoving!
\n”);}
};
classCar:
publicVehicle{
protected:
intvelocity;
public:
voidMove(){printf(“Carmoving!
\n”);}
};
classSportsCar:
publicCar
{
public:
voidMove(){printf(“SportsCarmoving!
\n”);}
};
intmain()
{
Vehicle*vec;
SportsCarBMWM3;
vec=newCar;
vec->Move();
deletevec;
vec=newSportsCar;
vec->Move();
deletevec;
return0;
}
1)写出程序的运行结果。
(3分)
Vehiclemoving!
Vehiclemoving!
2)写出在main中的对象BMWM3可以访问的成员变量。
(2分)
color