1 下列叙述中正确的是()。
A) 栈是"先进先出"的线性表
B) 队列是"先进后出"的线性表
C) 循环队列是非线性结构
D) 有序线性表既可以采用顺序存储结构,也可以采用链式存储结构
解析】栈是先进后出的线性表,所以A)错误;队列是先进先出的线性表,所以B)错误;循环队列是线性结构的线性表,所以C)错误。
2 支持子程序调用的数据结构是()。
A) 栈
B) 树
C) 队列
D) 二叉树
【解析】栈支持子程序调用。栈是一种只能在一端进行插入或删除的线性表,在主程序调用子函数时要首先保存主程序当前的状态,然后转去执行子程序,最终把子程序的执行结果返回到主程序中调用子程序的位置,继续向下执行,这种调用符合栈的特点,因此本题的答案为A)。
3 某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是()。
A) 10
B) 8
C)    6
D)    4
【解析】根据二叉树的基本性质3:在任意一棵二叉树中,度为0的叶子节点总是比度为2的节点多一个,所以本题中是5+1=6
4 下列排序方法中,最坏情况下比较次数最少的是()。
A) 冒泡排序
B) 简单选择排序
C) 直接插入排序
D) 堆排序
【解析】冒泡排序与简单插入排序与简单选择排序法在最坏情况下均需要比较n(n-1)/2次,而堆排序
在最坏情况下需要比较的次数是
5 软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是()。
A) 编译程序
B) 操作系统
C) 教务管理系统
D) 汇编程序
【解析】编译软件、操作系统、汇编程序都属于系统软件,只有C)教务管理系统才是应用软件。
6 下面叙述中错误的是()。
A) 软件测试的目的是发现错误并改正错误
B) 对被调试的程序进行"错误定位"是程序调试的必要步骤
C) 程序调试通常也称为Debug
D) 软件测试应严格执行测试计划,排除测试的随意性
解析】软件测试的目的是为了发现错误而执行程序的过程,并不涉及改正错误,所以选项A)错误。程序调试的基本步骤有:错误定位、修改设计和代码,以排除错误、进行回归测试,防止引进新的错误。程序调试通常称为Debug,即排错。软件测试的基本准则有:所有测试都应追溯到需求、严格执行测试计划,排除测试的随意性、充分注意测试中的集现象、程序员应避免检查自己的程序、穷举测试不可能、妥善保存测试计划等文件。
7 耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是()。
A) 提高耦合性降低内聚性有利于提高模块的独立性
B) 降低耦合性提高内聚性有利于提高模块的独立性
C) 耦合性是指一个模块内部各个元素间彼此结合的紧密程度
D) 内聚性是指模块间互相连接的紧密程度
【解析】模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性,所以A)错误,B)正确。耦合性是模块间互相连接的紧密程度的度量而内聚性是指一个模块内部各个元素间彼此结合的紧密程度,所以C)与D)错误。
8 数据库应用系统中的核心问题是()。
A) 数据库设计
B) 数据库系统设计
C) 数据库维护
D) 数据库管理员培训
解析】数据库应用系统中的核心问题是数据库的设计
9 有两个关系R,S如下:
由关系R通过运算得到关系S,则所使用的运算为()。
A) 选择
B) 投影
C) 插入
D) 连接
【解析】投影运算是指对于关系内的域指定可引入新的运算。本题中S是在原有关系R的内部进行的,是由R中原有的那些域的列所组成的关系。所以选择B)。
10 将E-R图转换为关系模式时,实体和联系都可以表示为()。
A) 属性
B) 键
C) 关系
D) 域
【解析】从E-R图到关系模式的转换是比较直接的,实体与联系都可以表示成关系,E-R图中属性也可以转换成关系的属
11 列关于数据库的叙述中,错误的是
A) 数据库中只保存数据
B) 数据库中的数据具有较高的数据独立性
C) 数据库按照一定的数据模型组织数据
D) 数据库是大量有组织、可共享数据的集合
【解析】数据库是收集数据文件的仓库或容器,可保存数据,图片等,A错。数据库特点之一就是数据的独立性,B对。数据库是按特定模型建立,C对。数据库实现数据共享、且有组织性,D对。答案A。
12 DBS的中文含义是
A) 数据库系统
B) 数据库管理员
C) 数据库管理系统
D) 数据定义语言
解析】Database System,A对。数据库管理员(Database Administrator,简称DBA);数据管理系统(Data Base Management Systems ,DBMS)数据定义语言(Data Definition Language, DDL)。答案A。
13 关于E-R图,以下描述中正确的是
A) 实体可以包含多个属性,但联系不能包含自己的属性
B) 联系仅存在于两个实体之间,即只有二元联系
C) 两个实体之间的联系可分为1:1、1:N、M:N三种
D) 通常使用E-R图建立数据库的物理模型
【解析】联系可以有自己的属性,A错。联系不仅存在于两个实际之间,也可以存在于多个实体之间,如实体分别是售货员、顾客、商品,联系销售,B错。E-R图广泛用于数据库设置的概念结构设计阶段。D错。答案C。
14下列关于数据库的叙述中,不准确的是
A) 数据库中存放的对象是数据表
B) 数据库是存放数据的仓库
C) 数据库是长期存储在计算机内的、有组织的数据集合
D) 数据库中存放的对象可为用户共享
【解析】数据库中存放的对象是各种数据,A错。数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,实现数据共享是其特点之一。B、C、D对。答案A。
15下列选项中与DBMS无关的是
①概念模型②逻辑模型③物理模型
A) ①
B) ①③
C) ①②③
D) ③
【解析】概念层数据模型是面向用户、面向世界的数据模型,写与具体的DBMS无关。逻辑模型、物理模型涉及具体的DBMS。答案A。
16与文件系统阶段相比,关系数据库技术的数据管理方式具有许多特点,但不包括
A) 支持面向对象的数据模型
B) 具有较高的数据和程序独立性
C) 数据结构化
D) 数据冗余小,实现了数据共享
【解析】相对于文件系统来说,数据库特点包括:数据结构化;数据的共享性高,冗余度低,易扩充;数据独立性高;数据由DBMS统一管理和控制。答案A。
17查询一个表中总记录数的SQL语句语法格式是
A) SELECT COUNT(*) FROM tbl_name;
B) SELECT COUNT FROM tbl_name;
C) SELECT FROM COUNT tbl_name;
D) SELECT * FROM tbl_name;
解析】在查询数据库中记录总数,应该使用关键的聚合函数COUNT,并且指定要统计的属性,或者用"*"号来表示,因此B,C,D语法错误,答案A。
18下列关于MySQL数据库的叙述中,错误的是
A) 执行ATLER DATABASE语句更改参数时,不影响数据库中现有对象
B) 执行CREATE DATABASE语句后,创建了一个数据库对象的容器
C) 执行DROP DATABASE语句后,数据库中的对象同时被删除
D) CREATE DATABASE与CREATE SCHEMA作用相同
【解析】执行ATLER DATABASE语句更改参数时,更改数据库属性,会影响数据库现有对象。A错。Create database..是创建数据库的语句,B对。Drop database..是删除数据库,C对。CREATE SCHEMA 从MySQL5.0.2起,可作为CREATE DATABASE的一个代名词,D对。答案A 。
19下列关于索引的叙述中,错误的是
A) 索引能够提高数据表读写速度
B) 索引能够提高查询效率
C) UNIQUE索引是唯一性索引
D) 索引可以建立在单列上,也可以建立多列上
【解析】索引能够提高查询速度,针对记录的读取,必须仍然要读取磁盘或内存上的每一条记录,因此数据到的读写速度与索引无关。A错,B对。Unique是唯一性关键词,用此关键词在索引前限定,该索引是唯一性索引,C对。索引可以建立在单列或多列上,D对。答案A。
20在使用INSERT INTO插入记录时,对于AUTO_INCREMENT列,若需要使其值自动增长,下面填充方式中错误的是
A) 填充NULL值
B) 不显式地填充值
C) 填充数字0
D) 填充数字1
【解析】AUTO_INCREMENT所在列在插入数据时自动加1,且起始值是1,填充数字不可为1,可为null、0或不写。答案D。
21设有学生表student,包含的属性有学号sno、学生姓名sname、性别sex、年龄age、所在专业smajor。基于student表建立如下视图,其中可以进行数据更新的是
A) CREATE VIEW V1
AS
SELECT sno,sname FROM student;
B) CREATE VIEW V2(major)
AS
SELECT DISTINCT(smajor) FROM student;
C) CREATE VIEW V3(major,scount)
AS
SELECT smajor,COUNT(*) FROM student GROUP BY smajor;
D) CREATE VIEW V4(sname,sage)
AS
SELECT sname,age+5 FROM student where sno='101';
【解析】在视图中包含分组或聚合的话,就不允许修改,A对。B、C、D对。答案A。
22现有如下命令:
mysql -uroot -puser
以下关于上述命令的叙述中,错误的是
A) 没有写明主机地址,命令执行有误
B) 用户名是root
解析】在当前主机上使用,不用写明地址,A对。命令中root是用户名、user是用户密码,该命令是连接mysql数据库。B、C、D对。答案A。
23设有学生选课表score(sno,cname,grade),其中sno表示学生学号,cname表示课程名,grade表示成绩。以下能够统计每个学生选课数的语句是
A) SELECT COUNT(*) FROM score GROUP BY sno ;
B) SELECT COUNT(*) FROM score GROUP BY cname ;
C) SELECT SUM(*) FROM score GROUP BY cname ;
D) SELECT SUM(*) FROM score GROUP BY sno ;
【解析】统计每个学生,用GROUP BY SNO;统计,用COUNT。答案A。
24设职工表tb_employee,包含字段eno(职工号)、ename(姓名)、age(年龄)、salary(工资)和dept(所在部门),要查询工资在4000-5000之间(包含4000、5000)的职工号和姓名,正确的WHERE 条件表达式是
A) salary BETWEEN 4000 AND 5000
B) salary <=4000 AND salary >=5000
C) 4000 =< salary <=5000
D) salary IN [4000,5000]
【解析】B返回空;C语法错;D不是4000到5000之间。答案A
25假设有Student表,查询名字中第二个字为"丽"的所有学生姓名、学号的正确命令是
A) SELECT Sname, Sno FROM Student WHERE Sname LIKE '_丽%';
B) SELECT Sname, Sno FROM Student WHERE Sname IS '_丽%';
计算机二级查成绩C) SELECT Sname, Sno FROM Student WHERE Sname LIKE '%丽_';
D) SELECT Sname, Sno FROM Student WHERE Sname LIKE '_丽_';
【解析】[%]用于sql的模糊查询中,其含义表示任意字符。IS用于指定查询,B错。'%丽_'中丽前面不确定有多少字符,丽不定是第二个,C错。'_丽_'只指名字有三个字,且第二个是丽,查询不到名字有二个字多四个字及以上的,D错。答案A
26当触发器涉及对触发表自身的更新操作时,使用的触发器必须是
A) BEFORE UPDATE
B) AFTER UPDATE
C) UPDATE BEFORE
D) UPDATE BEFORE
【解析】before要在insert或update之前执行的触发器。答案A。
27下列关于存储过程的叙述中,正确的是
A) 存储过程可以带有参数
B) 存储过程能够自动触发并执行
C) 存储过程中只能包含数据更新语句
D) 存储过程可以有返回值
【解析】存储过程是SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。答案A。
28以下关于事件的叙述中,正确的是
A) 活动的事件能够在指定时刻执行某些任务
B) 事件必须与特定的数据表相关
C) 事件用于维护系统的完整性
D) 删除事件的语句是DELETE EVENT
解析】自MySQL5.1.6起,增加了一个非常有特的功能-事件调度器(Event Scheduler),可以用做定时执行某些特定任务,A对。事物与特定的数据表可不相关,B错。"事件",是与一个时间表相关联的存储程序,其中时间表用业定义事件发生的时间、次数以及何时失效。因此"事件"非常适合用来执行各种无人值守的系统管理任务,如定期更新汇总报告、清理过期失效的数据、对日志数据表进行轮转等,与维护系统的完整性无关,C错。删除事件用DROP EVENT,D错。答案A。
29下列创建游标的语法格式中,正确的是