好文档 - 专业文书写作范文服务资料分享网站

计算机二级(VF)笔试376

天下 分享 时间: 加入收藏 我要投稿 点赞

DO WHILE .NOT. EOF()

IF 主讲课程=\数据结构\主讲课程=\语言\ a=a+1 ENDIF SKIP ENDDO ?a A.4 B.5 C.6 D.7

参考答案:C

本题程序段的功能是统计教师表中主讲课程字段为“数据结构”或者为“C语言”的记录个数,并将统计结果存入变量a中。其具体执行流程如下:首先将变量a的值初始化为0,然后打开教师表,用GO TOP命令将记录指针指向第一条记录,然后用一个循环结构扫描整个教师表,用条件判断语句IF主讲课程=“数据结构”.OR.“C语言”来逐条记录进行判断。如果该条记录满足主讲课程字段是“数据结构”或者“C语言”,那么将变量a的值加1,整个循环以记录指针指向教师表的最后一条记录为结束条件。最后显示变量a的值。从教师表中可以看出,主讲课程为“数据结构”或者“C语言”的记录一共6条,所以答案为C)。

第30题:

查询所有1982年3月20日以后(含)出生、性别为男的学生,正确的SQL语句是( )。

A.SELECT * FROM 学生 WHERE 出生日期 〉={^1982-03-20} AND 性别=\男\B.SELECT * FROM 学生 WHERE 出生日期〈 ={^1982-03-20} AND 性别=\男\C.SELECT * FROM 学生 WHERE 出生日期 〉={^1982-03-20} OR 性别=\男\D.SELECT * FROM 学生 WHERE 出生日期〈 ={^1982-03-20} OR 性别=\男\

参考答案:A

本题考查考生对逻辑表达式的掌握,题目要求查询所有1982年3月20日以后(含)出生,并且性别为“男”的记录,题目所给出的选项意义如下: 选项A)查询所有1982年3月20日以后(含)出生并且性别为“男”的记录,为正确答案。 选项B)查询所有1982年3月20日以前(含)出生并且性别为“男”的记录,错误。 选项C)查询所有1982年3月20日以后(含)出生或者性别为“男”的记录,错误。 选项D)查询所有1982年3月20日以前(含)出生或者性别为“男”的记录,错误。

第31题:

计算刘明同学选修的所有课程的平均成绩(成绩表中没有“姓名”字段),正确的SQL语句是( )。

A.SELECT AVG(成绩) FROM 选课 WHERE 姓名=\刘明\

B.SELECT AVG(成绩) FROM 学生,选课 WHERE 姓名=\刘明\

C.SELECT AVG(成绩) FROM 学生,选课 WHERE 学生.姓名=\刘明\

D.SELECT AVG(成绩) FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 姓名=\刘明\

参考答案:D

此题中各个选项解释如下: 选项A)错误,此查询只选择了“选课”表,但在“选课”表中并没有“姓名”字段。 选项B)与选项C)错误,此查询进行了两个表的联合查询,但没有根据关键字将两个表联接起来。 选项D)正确。

第32题:

假定学号的第3、4位为专业代码。要计算各专业学生选修课程号为“101”课程的平均成绩,正确的SQL语句是( )。

A.SELECT 专业 AS SUBS(学号,3,2),平均分 AS AVG(成绩) FROM 选课 WHERE 课程号=\专业

B.SELECT SUBS(学号,3,2) AS 专业,AVG(成绩) AS 平均分 FROM 选课 WHERE 课程号=\

C.SELECT SUBS(学号,3,2) AS 专业,AVG(成绩) AS 平均分 FROM 选课 WHERE 课程号=\专业

D.SELECT 专业 AS SUBS(学号,3,2),平均分 AS AVG(成绩) FROM 选课 WHERE 课程号=\

参考答案:B

选项A)和选项D)中查询的“专业”字段在“选课”表中并不存在。选项C)和D)中使用ORDER BY短语是错误的,应使用GROUP BY短语按“专业”字段进行分组。故应选B)。

第33题:

查询选修课程号为“101”课程得分最高的同学,正确的SQL语句是( )。

A.SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 课程号=\成绩 〉=ALL(SELECT 成绩 FROM 选课)

B.SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 成绩 〉=ALL(SELECT 成绩 FROM 选课 WHERE 课程号=\

C.SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 成绩 〉=ANY(SELECT 成绩 FROM 选课 WHERE 课程号=\

D.SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 课程号=\AND 成绩 〉=ALL(SELECT 成绩 FROM 选课 WHERE 课程号=\

参考答案:D

本题所给出的4个选项中: 选项A)中的子查询并没有限定选择“课程号”为“101”,则此命令选择出来的结果是“101”课程得分大于等于所有科目成绩的记录,如果其余课目的成绩有记录大于“101”科目的最高成绩,则此查询无结果,此选项错误。 选项B)中的查询并没有限定选择“课程号”为“101”,则此命令选择出来的结果是所有课程得分大于等于所有“101”科目成绩的记录,如果其余课目的成绩有记录大于“101”科目的最高成绩,则此查询将查询出错误结果,此选项错误。 选项C)中的查询并没有限定选择“课程号”为“101”,则此选项错误。

第34题:

设有学生表S(学号,姓名,性别,年龄)、课程表C(课程号,课程名,学分)和学生选课表SC(学号,课程号,成绩),检索学号、姓名和学生所选课程的课程名和成绩,正确的SQL命令是( )。

A.SELECT 学号,姓名,课程名,成绩 FROM S,SC,C; WHERE S.学号=SC.学号 AND SC.学号=C.学号

B.SELECT 学号,姓名,课程名,成绩; FROM(S JOIN SC ON S.学号=SC.学号) JOIN C ON SC.课程号=C.课程号

C.SELECT S 学号,姓名,课程名,成绩; FROM S JOIN SC JOIN C ON S.学号=SC.学号 ON SC.课程号=C.课程号

D.SELECT S.学号,姓名,课程名,成绩; FROM S JOIN SC JOIN C ON SC.课程号=C.课程号 ON S.学号=SC.学号

参考答案:D

此题考查SQL语句进行多表查询的操作知识。 在进行多表联合查询时,如果SELECT列表中的字段名在多个表中都有,则必须要在列表中指定所引用字段的来源,选项A)及选项B)均未指定“学号”字段的来源表,所以错误。 选项C)有一定的迷惑性,由于JOIN ON后面紧跟联接的条件,所以“FROM S JOIN SC JOIN C”应当理解为“SC表与C表联接后,再与S表联接”,所以第一个ON后面应当紧跟SC与S表联接条件,而第二个ON后面才是SC表与S表的联接条件。所以选项D)正确。

第35题:

查询每门课程的最高分,要求得到的信息包括课程名称和分数。正确的命令是( )。

A.SELECT 课程名称,SUM(成绩) AS 分数 FROM 课程,学生成绩; WHERE 课程.课程编号=学生成绩.课程编号; GROUP BY 课程名称

B.SELECT 课程名称,MAX(成绩) 分数 FROM 课程,学生成绩; WHERE 课程.课程编号=学生成绩.课程编号; GROUP BY 课程名称

C.SELECT 课程名称,SUM(成绩) 分数 FROM 课程,学生成绩; WHERE 课程.课程编号=学生成绩.课程编号; GROUP BY 课程.课程编号

D.SELECT 课程名称,MAX(成绩) AS 分数 FROM 课程,学生成绩; WHERE 课程.课程编号=学生成绩.课程编号; GROUP BY 课程编号

参考答案:B

本题考查使用MAX()函数构造SQL查询。使用SQL查询课程的最高分,可以用MAX()函数来实现。由于查询的是每门课程的最高分,所以需要按照课程名称进行分组,故选项B)正确。选项A)的错误在于查询结果由SUM(成绩)构成,是对分组后的成绩进行了求和,选项C)也是同样的错误,选项D)中分组的字段“课程编号”存在于两个表中,没有指明是按哪个表中的“课程编号”分组的。所以是错误的。

二、填空题(每空2分,共30分)

第36题:

设某循环队列的容量为50,如果头指针front=45(指向队头元素的前一位置),尾指针rear=10(指向队尾元素),则该循环队列中共有______个元素。

参考答案:

15或十五

详细解答:

在循环队列中,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置,因此,从排头指针front指向的后一个位置直至队尾指针rear指向的位置之间所有的元素均为队列中的元素。本题中队列的容量为50,头指针为45,那么从头指针到50之间有45、47、48、49、50,共5个元素,尾指针为10,那么从l到10之间有10个元素,所以共有15个元素。也可用公式来计算,当循环队列的队尾指针 〉队头指针时,元素个数=队尾指针-队头指针;当循环队列的队尾指针〈 队头指针时,队列中元素的个数为:(尾指针-头指针+容量)%容量。即(10-45+50)P=15。 第37题:

线性表的存储结构主要分为顺序存储结构和链式存储结构。队列是一种特殊的线性表,循环队列是队列的______存储结构。

参考答案:

顺序

详细解答:

本题考查数据结构的队列。队列是一种特殊的线性表,即限定在表的一端进行删除,在表的另一端进行插入操作的线性表。允许删除的一端叫做队头,允许插入的一端叫做队尾。线性表的存储结构主要分为顺序存储结构和链式存储结构。当队列用链式存储结构实现时,就称为链队列;当队列用顺序存储结构实现时,就称为循环表。因此,本题划线处应填入“顺序”。 第38题:

在深度为7的满二叉树中,度为2的结点个数为______。

参考答案:

63或25-1

详细解答:

本题考查数据结构中满二叉树的性质。在满二叉树中,每层结点都是满的,即每层结点都具有最大结点数。深度为k的满二叉树,一共有2的k次方-1个结点,其中包括度为2的结点和叶子结点。本题中只要去掉第7层的叶子结点后就是度为2的所有结点,我们只要算出深度为6的满二叉树的所有结点就可以了,结果为26-1=63。 第39题:

软件生命周期可分为多个阶段。一般分为定义阶段、开发阶段和维护阶段。编码和测试属于______阶段。

参考答案:

开发或软件开发

详细解答:

本题考查软件工程的软件生命周期及其各阶段的基本任务。一般说来,软件生命周期由软件定义、软件开发和软件维护3个时期组成。 软件定义时期的任务是确定软件开发工程必须完成的总目标;导出实现工程目标应该采用的策略及系统必须完成的功能;确定工程的可行性;估计完成该项工程需要的资源和成本,并且制定工程进度表。 软件开发时期的任务是设计程序结构,给出程序的详细规格说明;编写程序代码,并且仔细测试编写出的每一个程序模块;最后进行综合测试,也就是通过各种类型的测试使软件达到预定的要求。 软件维护时期的任务是使软件持久地满足用户的需要。具体地说,就是诊断和改正在使用过程中发现的软件错误;修改软件从而适应环境的变化;使用过程中发现的软件错误;修改软件从而适应环境的变化;根据用户的要求改进或扩充软件使其更完善;修改软件为将来的维护活动预先做准备。 第40题:

在E-R图中,图形包括矩形框、菱形框、椭圆框。其中表示实体联系的是______框。

参考答案:

菱形

详细解答:

E-R模型可以用一种非常直观的图的形式表示,这种图称为E-R图。在E-R图中我们分别用下面不同的几何图形表示E-R模型中的3个概念与两个连接关系。 ①实体集表示法。在E-R图中用矩形表示实体集,在矩形内写上该实体集的名字。 ②属性表示法。在E-R图中用椭圆形表示属性,在椭圆形内

计算机二级(VF)笔试376

DOWHILE.NOT.EOF()IF主讲课程=\数据结构\主讲课程=\语言\a=a+1ENDIFSKIPENDDO?aA.4B.5C.6D.7参考答案:C本题程序段的功能是统计教师表中主讲课程字段为“数据结构”或者为“C语言”的记录个数,并将统计结果存
推荐度:
点击下载文档文档为doc格式
64mn57n36g862m61dk4v721et5ixox005jb
领取福利

微信扫码领取福利

微信扫码分享