二、填空题
(1) 数据的逻辑结构有线性结构和 【1】 两大类。
解析: 数据的逻辑结构有线性结构和非线性结构两大类。
(2) 顺序存储方法是把逻辑上相邻的结点存储在物理位置 【2】 的存储单元中。
解析: 常用的存储表示方法有4种,顺序存储、链式存储、索引存储、散列存储。其中,顺序存储方法是把逻辑上相邻的结点存储在物理位置也相邻的存储单元中。
(3) 一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的 【3】 。
解析: 本题考查了继承的优点:相似的对象可以共享程序代码和数据结构,从而大大减少了程序中的冗余,提高软件的可重用性。
(4) 软件工程研究的内容主要包括: 【4】 技术和软件工程管理。
解析: 基于软件工程的目标,软件工程的理论和技术性研究的内容主要包括:软件开发技术和软件工程管理。软件开发技术包括:软件开发方法学、开发过程、开发工具和软件工程环境,其主体内容是软件开发方法学。软件工程管理包括:软件管理学、软件工程经济学,以及软件心理学等内容。
(5) 关系操作的特点是 【5】 操作。
解析: 在关系操作中,所有操作对象与操作结果都是关系。而关系定义为元数相同的元组的集合。因此,关系操作的特点是集合操作。
(6) 函数Str$(256.36) 的值是 【6】 。
解析: Str$()函数的格式是:Str$(数值表达式),作用是把"数值表达式"的值转换为一个字符串,表达式的值不受转换过程的影响。对于本题在立即窗口中可看到输出的结果。
(7) 执行下面的程序段,x的值为 【7】 。
Private Sub Command1_Click()
For i=1 To 9
a=a + i
Next i
x=Val(i)
MsgBox x
End Sub
解析: MsgBox函数的格式如下:
MsgBox(msg[,type][,title][,helpfile,content]
msg:一个字符串,长度不能超过1024个字符。
type:一个整数值或符号常量,用来控制在对话框内显示的按钮,图标的种类及数量。
title:一个字符串,用来显示对话框的标题。
helpfile,content:同InputBox函数。
在这5个参数中,只有第一个是必须的,其他的可以省略。
在程序中For…Next语句之后并没有对I的值改变,此时I为10,故运行后结果为10。
(8) 以下程序的功能是从键盘输入若干个学生的考试成绩,统计并输出最高分和最低分,当输入负数时结束输入,输出结果。请补充完整下列程序段。
Dim x, amax, amin As Single
x=InputBox("Enter a score")
amax=x
amin=x
Do While 【8】
If x > amax Then
amax=x
End If
If 【9】 Then
amin=x
End If
x=InputBox("enter a score")
Loop
Print "max="; amax, "min="; amin
解析: 本程序先定义了3个变量,x、amin、amax,它们分别用来接受从键盘输入的字符,最小值和最大值,先用InputBox函数从键盘接受一个整数并赋给x。然后将x的值赋给amin和amax,作为它们的初值,因为当输入的值为负数时结束循环,所以Do While的控制语句就是判断x的值是否大于等于"0";当x大于等于"0"时,执行块形式条件语句,当x大于amax,将x的值赋给amax,显然当x的值小于amin时,就将x的值赋给amin;每循环一次,就要给x赋值一次,然后接着循环直到x的值是负数时就跳出循环,输出amax和amin的值。
9) 下列程序的输出结果为 【10】 。
num=2
While num <=3
num=num + 1
Print num
Wend
解析: 程序先将2赋给num,然后执行While语句。
While循环语句的执行过程是:如果"条件"为真,则执行"语句块",当遇到Wend语句时,控制返回到While语句并对"条件"进行测试,如果仍然为真,则重复上述过程,直到"条件"为假。
起初num为2,所以小于3,条件为真,执行num=num+1语句,此时num为3,然后输出num的值即3,当程序执行num为3的时候,因为3等于3,所以执行num=num+1,此时num为4,输出num的值并退出循环。
(10) 以下是一个计算矩形面积的程序,调用过程计算矩形面积,请将程序补充完整。
Sub RecArea(L, W)
Dim S As Double
S=L * W
MsgBox "Total Area is " & Str(S)
End Sub
Private Sub Command1_Click()
Dim M, N
M=InputBox("What is the L?")
M=Val(M)
【11】
N=Val(N)
【12】
End Sub
解析: 程序通过RecArea来计算并输出矩形的面积,它有两个形式参数,分别为矩形的长和宽;在Sub事件过程中,从键盘上输入矩形的长和宽,调用InputBox函数分别将输入的数赋给M和B,所以【11】为N = InputBox("What is the W?") ;将M和N作为实参调用RecArea过程,它有两种书写方式,一种是把过程的名字放在一个Call语句中,格式为Call 过程名[(实际参数) ];另外一种是把过程名作为一个语句来使用,与第一种方式相比,它去掉关键字Call,去掉了参数列表,所以【12】为Call RecArea(M, N) 或RecArea(M, N)。
(11) 在KeyPress事件过程中,KeyAscii是所按键的 【13】 值。
解析: 当按下键盘上的某个键时,触发KeyPress事件过程,该事件用到的KeyAscii作为参数,此参数是一个预定义的变量,执行KeyPress事件过程时,KeyAscii是所按键的ASCII码。
(12) 有一个事件过程,其功能是:从已存在于磁盘上的顺序文件NM1.txt中读取数据,计算读出数据的平方值,将该数据及其平方值存入新的顺序文件NM2.txt中。请填空。
Private Sub Form_Click()
Dim x As Single, y As Single
Open "NM1.txt" For Input As #1
Open "NM2.txt" For Input As #2
Do While Not EOF(1)
【14】
Print x
y=x ^ 2
【15】
Print y
Loop
Close #1, #2
End Sub
解析: 本题考查顺序文件的读写操作,事件过程中,顺序文件的打开和关闭语句都正确。循环语句使用也正确。事件过程的功能是:从NM1.txt中读取数据,向NM2.txt中写入数据。程序中没有对数据文件进行读写的语句,故空白处要填写的正是对顺序文件读数据和写数据的语句。