1、二级 VISUAL+BASIC 笔试-40 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.执行以下程序后输出的是Private Sub Command1_Click()Ch$=“ABCDEFGH“Print Mid(Right(Ch$,6), Len(Left(Ch$,4),2)End Sub(分数:2.00)A.CDEFGHB.ABCDC.FGD.AB2.以下关系表达式中,其值为 False 的是(分数:2.00)A.“ABC“AbC“B.“the“they“C.“VISUAL“=Ucase(“visual“)D.“Integer“In
2、t“3.若已把一个命令按钮的 Default 属性设置为 True,则下面可导致按钮的 Click 事件过程被调用的操作是(分数:2.00)A.用鼠标右键单击此按钮B.按键盘上的 Esc 键C.按键盘上的回车键D.用鼠标右键双击此按钮4.在窗体上画一个命令按钮,名称为 Command1,然后编写如下代码:Option Base 0Private Sub Command1_Click()Dim A(4) As Integer, B(4) As IntegerFor k=0 To 2A(k+1)=InputBox(“请输入一个整数“)B(3-k)=A(k+1)Next kPrint B(k)End
3、 Sub程序运行后,单击命令按钮,在输入对话框中分别输入 2、4、6,输出结果为(分数:2.00)A.0B.2C.3D.45.下列对于软件测试的叙述中正确的是(分数:2.00)A.软件测试的目的是证明程序是否正确B.软件测试的目的是使程序运行结果正确C.软件测试的目的是尽可能多地发现程序中的错误D.软件测试的目的是使程序符合结构化原则6.用树状结构表示实体之间联系的模型是(分数:2.00)A.关系模型B.网状模型C.层次模型D.以上 3 个都是7.为了使模块尽可能独立,要求(分数:2.00)A.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B.模块的内聚程度要尽量高,且各模块间的耦合程度
4、要尽量弱C.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强8.为计算 an的值,某人编写了函数 power 如下:Private Function power(a As Integer, n As Integer) As LongDim p As Longp=aFor k=1 To np=p*aNext kpower=pEnd Function在调试时发现是错误的,例如 Print power(5, 4)的输出应该是 625,但实际输出是 3125,程序需要修改。下面的修改方案中有 3 个是正确的,错误的是(分数:2.00)A.把
5、For k=1 To n 改为 For k=2 to nB.把 p=p*a 改为 p=pnC.把 For k=1 To n 改为 For k=1 To n-1D.把 p=a 改为 p=19.在窗体上画一个名称为 Text1 的文本框和一个名称为 Command1 的命令按钮,然后编写如下事件过程:Private Sub Command1_Click()Dim i As Integer, n As IntegerFor i=0 To 50i=i+3n=n+1if i10 Then Exit ForNext iText1.Text=Str(n)End Sub程序运行后,单击命令按钮,在文本框中显示
6、的值是(分数:2.00)A.5B.4C.3D.210.对长度为 n 的线性表进行顺序查找,在最坏情况下所需要的比较次数为(分数:2.00)A.log2nB.n/2C.nD.n+111.对于长度为 n 的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是(分数:2.00)A.冒泡排序为 n/2B.冒泡排序为 nC.快速排序为 nD.快速排序为 n(n-1)/212.为使程序运行时通用对话框 CD1 上显示的标题为“对话框窗口”,若通过程序设置该标题,则应使用的语句是(分数:2.00)A.CD1.DialogTitle=“对话框窗口“B.CD1.Action=“对话框窗口“C.CD1.F
7、ileName=“对话框窗口“D.CD1.Filter=“对话框窗口“13.在窗体上有 4 个控件如图 4 所示,各控件的名称与其标题相同,并有如下程序:Private Sub Form_Load()ODtion1.Value=TrueOption2.Value=TrueCheck1.Value=1Check2.Value=1End Sub刚运行程序时,看到的窗体外观是(分数:2.00)A.B.C.D.14.下列关于栈的叙述中错误的是(分数:2.00)A.栈是先进后出的线性表B.栈只能顺序存储C.栈具有记忆作用D.对栈的插入与删除操作中,不需要改变栈底指针15.下列对于线性链表的叙述中正确的是
8、(分数:2.00)A.存储空间不一定连续,且各元素的存储顺序是任意的B.存储空间不一定连续,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且前件元素一定存储在后件元素的前面D.存储空间必须连续,且各元素的存储顺序是任意的16.下列叙述中错误的是(分数:2.00)A.打开一个工程,系统自动装入与该工程有关的窗体文件B.保存 Visual Basic 程序时,应分别保存窗体文件及工程文件C.Visual Basic 应用程序只能以解释方式执行D.窗体文件包含该窗体及其控件的属性17.在窗体上画一个命令按钮和一个标签,其名称分别为 Command1 和 Label1,然后编写如下事件过程:
9、Private Sub Command1_Click()Counter=0For i=1 To 4For j=6 To 1 Step -2Counter=Counter+1Next jNext iLabel1.Caption=Str(Counter)End Sub程序运行后,单击命令按钮,标签中显示的内容是(分数:2.00)A.11B.12C.16D.2018.数据独立性是数据库技术的重要特点之一。所谓数据独立性是指(分数:2.00)A.数据与程序独立存放B.不同的数据被存放在不同的文件中C.不同的数据只能被对应的应用程序所使用D.以上 3 种说法都不对19.窗体上有一个用菜单编辑:器设计的菜
10、单。运行程序,并在窗体上单击鼠标右键,则弹出一个快捷菜单。如图 3 所示。下列叙述中错误的是(分数:2.00)A.B.C.D.20.数据的存储结构是指(分数:2.00)A.存储在外存中的数据B.数据所占的存储空间量C.数据在计算机中的顺序存储方式D.数据的逻辑结构在计算机中的表示21.下列叙述中正确的是(分数:2.00)A.程序就是软件B.软件开发不受计算机系统的限制C.软件既是逻辑实体,又是物理实体D.软件是程序、数据与相关文档的集合22.有一个名称为 Form1 的窗体,上面没有控件,设有以下程序(其中方法 Pset(X,Y)的功能是在坐标X、Y 处画一个点):Dim cmdMave AS
11、 BooleanPrivate Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)cmdmave=TrueEnd SubPrivate Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)If cmdmave ThenForm1.Pset(X,Y)End IfEnd SubPrivate Sub Form_MouseUp(Button As Integer, Shift As
12、 Integer, X As Single, Y As Single)cmdmave=FalseEnd Sub此程序的功能是(分数:2.00)A.每按下鼠标键一次,在鼠标所指位置画一个点B.按下鼠标键,则在鼠标所指位置画一个点;放开鼠标键,则此点消失C.不按鼠标键而拖动鼠标,则沿鼠标拖动的轨迹画一条线D.按下鼠标键并拖动鼠标,则沿鼠标拖动的轨迹画一条线,放开鼠标键则结束画线23.以下可以作为 Visual Basic 变量名的是(分数:2.00)A.A#AB.counstAC.3AD.? AA24.在窗体上画一个命令按钮,然后编写如下事件过程:Private Sub Command1_Clic
13、k()Dim i, NumRandomizeDoFor i=1 To 1000Num=Int(Rnd*100)Print Num;Select Case NumCase 12Exit ForCase 58Exit DoCase 65,68,92EndEnd SelectNext iLoopEnd Sub上述事件过程执行后,下列叙述中正确的是(分数:2.00)A.Do 循环执行的次数为 1000 次B.在 For 循环中产生的随机数小于或等于 100C.当所产生的随机数为 12 时结束所有循环D.当所产生的随机数为 65、68 或 92 时窗体关闭,程序结束25.若设置了文本框的属性 Passw
14、ordChar=“$“,则运行程序时向文本框中输入 8 个任意字符后,文本框中显示的是(分数:2.00)A.8 个“$“B.1 个“$“C.8 个“*“D.无任何内容26.下列关于文件的叙述中错误的是(分数:2.00)A.随机文件中各条记录的长度是相同的B.打开随机文件时采用的文件存取方式应该是 RandomC.向随机文件中写数据应使用语句“Print #文件号”D.打开随机文件与打开顺序文件一样,都使用 Open 语句27.为把圆周率的近似值 3.14159 存放在变量 pi 中,应该把变量 pi 定义为(分数:2.00)A.Dim pi As IntegerB.Dim pi(7) As I
15、ntegerC.Dim pi As SingleD.Dim pi As Long28.要使一个文本框可以显示多行文本,应设置为 True 的属性是(分数:2.00)A.EnabledB.MultiLineC.MaxLengthD.Width29.下列数组定义语句中,错误的是(分数:2.00)A.Static a(10) As IntegerB.Dim c(3,1 To 4)C.Dim d(-10)D.Dim b(0 To 5, 1 To 3) As Integer30.某人在窗体上画了一个名称为 Timer1 的计时器和一个名称为 Label1 的标签,计时器的属性设置为Enabled=Tru
16、e,Interval=0,并编程如下(希望在程序运行时,可以每 2 秒在标签上显示一次系统当前时间):Private Sub Timer1_Timer()Label1.Caption=Time$End Sub在程序执行时发现未能实现上述目的,那么应做的修改是(分数:2.00)A.通过属性窗口把计时器的 Interval 属性设置为 2000B.通过属性窗口把计时器的 Enabled 属性设置为 FalseC.把事件过程中的 Label1.Caption=Time$语句改为 Timer1.Interval=Time$D.把事件过程中的 Label1.Caption=Time$语句改为 Label
17、1.Caption=Timer1.Time31.在窗体上画 3 个标签、3 个文本框(名称分别为 Text1、Text2 和 Text3)和 1 个命令按钮(名称为Command1),其外观如图 1 所示。编写如下程序:(分数:2.00)A.B.C.D.32.窗体上有一个名称为 List1 的列表框,其中已经输入了若干个项目(如图 2 所示):还有两个文本框,名称分别为 Text1、Text2,一个名称为 Command1 的命令按钮,并有以下程序:(分数:2.00)A.B.C.D.33.假定有如下的命令按钮(名称为 Command1)事件过程:Private Sub Command1_Cli
18、ck()x=InputBox(“输入:“, “输入整数“)MsgBox“输入的数据是:“, ,“输入数据:“+xEnd Sub程序运行后,单击命令按钮,如果从键盘上输入整数 10,则下列叙述中错误的是(分数:2.00)A.x 的值是数值 10B.输入对话框的标题是“输入整数“C.信息框的标题是“输入数据:10“D.信息框中显示的是“输入的数据是:“34.设工程文件包含两个窗体文件 Form1.frm、Form2.frm 及一个标准模块文件 Module1.bas。两个窗体上分别只有一个名称为 Command1 的命令按钮。Form1 的代码如下:Public x As IntegerPriva
19、te Sub Command1_Click()Form2.ShowEnd SubPrivate Sub Form_Load()x=1y=5End SubForm2 的代码如下:Private Sub Command1_Click()Print Form1.x,yEnd SubModule1 的代码如下:Public y As Integer运行以上程序,单击 Form1 的命令按钮 Command1,则显示 Form2;再单击 Form2 上的命令按钮Command1,则窗体上显示的是(分数:2.00)A.1 5B.0 5C.0 0D.程序有错35.为达到把 a、b 中的值交换后输出的目的,某
20、人编程如下:Private Sub Command1_Click()a%=10:b%=20Call swap(a,b)Print a,bEnd SubPrivate Sub swap(ByVal a As Integer, ByVal b As Integer)c=a:a=b:b=cEnd Sub在运行时发现输出结果错了,需要修改。下面列出的错误原因和修改方案中正确的是(分数:2.00)A.调用 swap 过程的语句错误,应改为:Call swap a,bB.输出语句错误,应改为:Print “a“,“b“C.过程的形式参数有错,应改为:swap(ByRef a As Integer, ByR
21、ef b As Integer)D.swap 中 3 条赋值语句的顺序是错误的,应改为 a=b:b=c:c=a二、填空题(总题数:10,分数:30.00)36.某二叉树中度为 2 的结点有 18 个,则该二叉树中有 1 个叶子结点。(分数:2.00)填空项 1:_37.在面向对象方法中,类的实例称为 1。(分数:2.00)填空项 1:_38.诊断和改正程序中错误的工作通常称为 1。(分数:2.00)填空项 1:_39.在关系数据库中,把数据表示成二维表,每一个二维表称为 1。(分数:2.00)填空项 1:_40.问题处理方案的正确而完整的描述称为 1。(分数:2.00)填空项 1:_41.下列
22、语句的输出结果是_。Print Format(Int(12345.6789*100+0.5)/100, “0000, 0.00“)(分数:2.00)填空项 1:_42.在窗体上先画一个名为 Text1 的文本框和一个名为 Label1 的标签,再画一个名为 OP1 的有 4 个单选按钮数组,其 Index 属性按季度顺序为 03(见图 5)。在文件 sales.txt 中按月份顺序存有某企业某年 12个月的销售额。要求在程序执行时,鼠标单击一个单选按钮,则 Text1 中显示相应季度的销售总额,并把相应的文字显示在标签上。图 6 是单击“第 3 季度”单选按钮产生的结果。请填空。(分数:6.0
23、0)填空项 1:_43.在窗体上画一个文本框,名称为 Text1,然后编写如下程序:Private Sub Form_Load()Open “d:/temp/dat.txt“ For Output As #1Text1.Text=“End SubPrivate Sub Text1_KeyPress(KeyAscii As Integer)If KeyAscii=13 ThenIf Ucase(Text1.text)= (10) ThenClose #1EndElseWrite #1, (11) Text1.Text=“End IfEnd IfEnd Sub以上程序的功能是:在 D 盘 temp
24、 文件夹下建立一个名为 dat.txt 的文件,在文本框中输入字符,每次按回车键都把当前文本框中的内容写入文件 dat.txt,并清除文本框中的内容;如果输入 END,则不写入文件,直接结束程序。请填空。(分数:4.00)填空项 1:_44.以下程序的功能是:把顺序文件 smtext1.txt 的内容全部读入内存,并在文本框 Text1 中显示出来。请填空。Private Sub Command1_Click()Dim inData As StringText1.Text=“Open “smtext1.txt“ (12) As (13) Do While (14) Input #2, inDa
25、taText1.Text=Text1.Text Select Case NumCase 12Exit ForCase 58Exit DoCase 65,68,92EndEnd SelectNext iLoopEnd Sub上述事件过程执行后,下列叙述中正确的是(分数:2.00)A.Do 循环执行的次数为 1000 次B.在 For 循环中产生的随机数小于或等于 100C.当所产生的随机数为 12 时结束所有循环D.当所产生的随机数为 65、68 或 92 时窗体关闭,程序结束 解析:解析 i 从 11000,Num 是随机产生的小于 100 的正整数,根据 Num 的值的不同来执行不同的操作,
26、当 Num 为 65、68 或 92 时会执行 End 语句结束程序,所以本题的答案为 D。25.若设置了文本框的属性 PasswordChar=“$“,则运行程序时向文本框中输入 8 个任意字符后,文本框中显示的是(分数:2.00)A.8 个“$“ B.1 个“$“C.8 个“*“D.无任何内容解析:解析 PasswordChar 属性可用于口令输入,如果把 PasswordChar 属性设置为一个字符,则在文本框中输入字符时,显示的是被设置的字符。26.下列关于文件的叙述中错误的是(分数:2.00)A.随机文件中各条记录的长度是相同的B.打开随机文件时采用的文件存取方式应该是 Random
27、C.向随机文件中写数据应使用语句“Print #文件号” D.打开随机文件与打开顺序文件一样,都使用 Open 语句解析:解析 向随机文件中写数据应使用语句“Put #文件号”,所以本题的选项 C 错误。27.为把圆周率的近似值 3.14159 存放在变量 pi 中,应该把变量 pi 定义为(分数:2.00)A.Dim pi As IntegerB.Dim pi(7) As IntegerC.Dim pi As Single D.Dim pi As Long解析:解析 定义变量时,根据变量所存放的数据来选择变量的类型,对于小数通常定义为 Single 或Double 类型。Single 为单精
28、度型,可以精确到 7 位十进制数;Double 为双精度数,可以精确到 15 或 16位十进制数,本题中 3.14159 选 Single 类型存储即可。28.要使一个文本框可以显示多行文本,应设置为 True 的属性是(分数:2.00)A.EnabledB.MultiLine C.MaxLengthD.Width解析:解析 MultiLine 用来设定文本框的显示方式。默认值为 False,此时文本框中输入数据和显示的结果都是单行的。若将其值设为 True,则可以在文本框中实现多行文本的输入和多行文本的显示。29.下列数组定义语句中,错误的是(分数:2.00)A.Static a(10) A
29、s IntegerB.Dim c(3,1 To 4)C.Dim d(-10) D.Dim b(0 To 5, 1 To 3) As Integer解析:解析 本题考查定长数组的定义。定义定长数组的方式为:Dim 数组名(下界 To上界,下界 To上界,)默认下界为 0,并且下界应小于上界,否则会出现“区间无值”的错误提示。选项 C 只给出了一个小于 0 的上界,不满足定义要求,为本题答案。30.某人在窗体上画了一个名称为 Timer1 的计时器和一个名称为 Label1 的标签,计时器的属性设置为Enabled=True,Interval=0,并编程如下(希望在程序运行时,可以每 2 秒在标签
30、上显示一次系统当前时间):Private Sub Timer1_Timer()Label1.Caption=Time$End Sub在程序执行时发现未能实现上述目的,那么应做的修改是(分数:2.00)A.通过属性窗口把计时器的 Interval 属性设置为 2000 B.通过属性窗口把计时器的 Enabled 属性设置为 FalseC.把事件过程中的 Label1.Caption=Time$语句改为 Timer1.Interval=Time$D.把事件过程中的 Label1.Caption=Time$语句改为 Label1.Caption=Timer1.Time解析:解析 要一个计时器控件按指
31、定的时间间隔触发 Timer 事件,则“Enabled 为 True”和“Interval 为一个大于 0 的值”两个条件需同时满足,其中 Interval 属性以毫秒为单位控制两次 Timer事件间的时间间隔,本题中在标签上显示系统时间的间隔为 2s,所以 Interval 的值应设置为 2000,选项A 为正确的修改方案。31.在窗体上画 3 个标签、3 个文本框(名称分别为 Text1、Text2 和 Text3)和 1 个命令按钮(名称为Command1),其外观如图 1 所示。编写如下程序:(分数:2.00)A.B.C.D. 解析:解析 f 函数的 ByVal 关键字指出参数是按值来
32、传递;在调用 f 函数之前,变量 x 的值为 36,变量 y 的值为 24,在程序第一次执行 do whileLoop 循环语句之后,x 的值变为 24,y 的值变为 12;在程序第二次执行 do whileLoop 循环语句之后,x 的值变为 12,y 的值变为 0,此时循环终止条件已经满足,程序将不再执行循环,因此在 Text3 文本框中显示的内容应该是 12,所以本题的答案为 D。32.窗体上有一个名称为 List1 的列表框,其中已经输入了若干个项目(如图 2 所示):还有两个文本框,名称分别为 Text1、Text2,一个名称为 Command1 的命令按钮,并有以下程序:(分数:2
33、.00)A.B.C. D.解析:解析 程序的作用是从列表框中读取含有字符“京”的城市名称并将其显示到文本框 Text2 中,因为 for 循环语句是递减的,因此 Text2 中显示的内容应该为“南京北京”,所以本题的答案应为 C。33.假定有如下的命令按钮(名称为 Command1)事件过程:Private Sub Command1_Click()x=InputBox(“输入:“, “输入整数“)MsgBox“输入的数据是:“, ,“输入数据:“+xEnd Sub程序运行后,单击命令按钮,如果从键盘上输入整数 10,则下列叙述中错误的是(分数:2.00)A.x 的值是数值 10 B.输入对话框
34、的标题是“输入整数“C.信息框的标题是“输入数据:10“D.信息框中显示的是“输入的数据是:“解析:解析 InputBox 函数的返回值是一个字符串型数据,而不是一个数值 10。34.设工程文件包含两个窗体文件 Form1.frm、Form2.frm 及一个标准模块文件 Module1.bas。两个窗体上分别只有一个名称为 Command1 的命令按钮。Form1 的代码如下:Public x As IntegerPrivate Sub Command1_Click()Form2.ShowEnd SubPrivate Sub Form_Load()x=1y=5End SubForm2 的代码如
35、下:Private Sub Command1_Click()Print Form1.x,yEnd SubModule1 的代码如下:Public y As Integer运行以上程序,单击 Form1 的命令按钮 Command1,则显示 Form2;再单击 Form2 上的命令按钮Command1,则窗体上显示的是(分数:2.00)A.1 5 B.0 5C.0 0D.程序有错解析:解析 x 和 y 都是全局变量不管是定义在 Form1 中的 x,还是定义在 model1 中的 y 都可以被Form2 使用。Forml 的 Load 事件首先将 x 和 y 赋值,这时 x=1、y=5,当 Fo
36、rm2 访问这两个变量时,取得的值就是 1 和 5,所以本题的答案为 A。35.为达到把 a、b 中的值交换后输出的目的,某人编程如下:Private Sub Command1_Click()a%=10:b%=20Call swap(a,b)Print a,bEnd SubPrivate Sub swap(ByVal a As Integer, ByVal b As Integer)c=a:a=b:b=cEnd Sub在运行时发现输出结果错了,需要修改。下面列出的错误原因和修改方案中正确的是(分数:2.00)A.调用 swap 过程的语句错误,应改为:Call swap a,bB.输出语句错误
37、,应改为:Print “a“,“b“C.过程的形式参数有错,应改为:swap(ByRef a As Integer, ByRef b As Integer) D.swap 中 3 条赋值语句的顺序是错误的,应改为 a=b:b=c:c=a解析:解析 调用 swap 语句和输出语句的语法格式都正确,选项 A、B 不正确。swap 中 3 条赋值语句的顺序是正确的,如果按选项 D 的操作 a=b;b=c;c=a,b 的值赋给了 a,a 的值会丢失,所以选项 D 不正确。在程序中,形参的前面有关键字 ByVal,则该参数用传值方式传送,调用 swap,不会改变 a 和 b 的值,故需要把 ByVal
38、换成 ByRef 才能得到正确结果。二、填空题(总题数:10,分数:30.00)36.某二叉树中度为 2 的结点有 18 个,则该二叉树中有 1 个叶子结点。(分数:2.00)填空项 1:_ (正确答案:19)解析:解析 二叉树具有如下性质:在任意一棵二叉树中,度为 0 的结点(即叶子结点)总是比度为 2 的结点多一个。根据题意,度为 2 的结点为 18 个,那么,该二叉树叶子结点是 19 个。37.在面向对象方法中,类的实例称为 1。(分数:2.00)填空项 1:_ (正确答案:对象)解析:解析 类描述的是具有相似性质的一组对象,它们都具有书的共同性质。例如,每本具体的书是一个对象,一个具体
39、对象称为类的实例。38.诊断和改正程序中错误的工作通常称为 1。(分数:2.00)填空项 1:_ (正确答案:调试(或程序调试,或软件调试,或 Debug(英文字母大小写均可),或调试程序,或调试软件))解析:解析 调试也称排错,调试的目的是发现错误的位置,并改正错误。一般的调试过程分为错误侦查、错误诊断和改正错误。39.在关系数据库中,把数据表示成二维表,每一个二维表称为 1。(分数:2.00)填空项 1:_ (正确答案:关系)解析:解析 在关系模型中,把数据看成一个二维表,每一个二维表称为一个关系。表中的每一列称为一个属性,相当于记录中的一个数据项,对属性的命名称为属性名,表中的一行称为一
40、个元组,相当于记录值。40.问题处理方案的正确而完整的描述称为 1。(分数:2.00)填空项 1:_ (正确答案:算法)解析:解析 算法是问题处理方案正确而完整的描述。41.下列语句的输出结果是_。Print Format(Int(12345.6789*100+0.5)/100, “0000, 0.00“)(分数:2.00)填空项 1:_ (正确答案:12,345.68)解析:解析 表达式“Int(12345.6789*100+0.5)/100”进行运算后,其值为 12345.68,Format 函数规定数值的输出格式为“00,000.00”,保留两位小数,整数部分用千分位符分隔,所以结果为1
41、2,345.68。42.在窗体上先画一个名为 Text1 的文本框和一个名为 Label1 的标签,再画一个名为 OP1 的有 4 个单选按钮数组,其 Index 属性按季度顺序为 03(见图 5)。在文件 sales.txt 中按月份顺序存有某企业某年 12个月的销售额。要求在程序执行时,鼠标单击一个单选按钮,则 Text1 中显示相应季度的销售总额,并把相应的文字显示在标签上。图 6 是单击“第 3 季度”单选按钮产生的结果。请填空。(分数:6.00)填空项 1:_ (正确答案:(7)Op1_Click (8)3 (9)Caption)解析:解析 题中要求当鼠标单击某个单选按钮后文本框和标
42、签都有相应的文字显示,因此第7空应填写单选按钮的单击事件 Click,即 Op1_Click;循环语句用来计算每个季度的销售额,而每月的销售额已经在窗体载入时读入到数组 sales 中,要计算各季度的销售总额,需要找出对应季度的起始月的下标,参数 Index 是各单选按钮在单选按钮组中的下标,且每个季度有 3 个月,单选按钮下标乘以 3 可计算出上个季度的结束月份(在下次计算时会先做 month=month+1 操作,所以这里只需找到上个季度的结束月份),因此第8空应填写 3;通过题目中的图 6 可以看出,提示文字刚好是每一个单选按钮的标题连接上“销售总额:”,单选按钮的 Caption 属性
43、用于得到其标题,因此第9空应填写 Caption。43.在窗体上画一个文本框,名称为 Text1,然后编写如下程序:Private Sub Form_Load()Open “d:/temp/dat.txt“ For Output As #1Text1.Text=“End SubPrivate Sub Text1_KeyPress(KeyAscii As Integer)If KeyAscii=13 ThenIf Ucase(Text1.text)= (10) ThenClose #1EndElseWrite #1, (11) Text1.Text=“End IfEnd IfEnd Sub以上程
44、序的功能是:在 D 盘 temp 文件夹下建立一个名为 dat.txt 的文件,在文本框中输入字符,每次按回车键都把当前文本框中的内容写入文件 dat.txt,并清除文本框中的内容;如果输入 END,则不写入文件,直接结束程序。请填空。(分数:4.00)填空项 1:_ (正确答案:(10)“END“ (11)Text1.text 或 Text1)解析:解析 程序在按回车键后有两种选择:若文本框中输入的文字内容是 END,则退出程序;若文本框中输入的是其他内容,则写入到文件 dat.txt 中。所以,本题第10空应该把输入的内容与结束标记“END“做相等比较,第10空应填入“END“,第11空应
45、该填写输入到文件中的内容,即文本框中当前显示的文字,所以应填 Text1.text 或 Text1。44.以下程序的功能是:把顺序文件 smtext1.txt 的内容全部读入内存,并在文本框 Text1 中显示出来。请填空。Private Sub Command1_Click()Dim inData As StringText1.Text=“Open “smtext1.txt“ (12) As (13) Do While (14) Input #2, inDataText1.Text=Text1.Text & inDataLoopClose #2End Sub(分数:6.00)填空项 1:_
46、(正确答案:(12)For Input (13)#2 (14)Not EOF(2))解析:解析 Open 语句打开顺序文件的格式为:Open FileName For Mode As #FileNumber。其中,FileName 表示要打开文件的路径,Mode 表示打开模式:Output 用于输出,Append 用于追加写入,Input用于读取,FileNumber 为打开文件时指定的文件号。本题要求打开文件进行读取操作,所以第12空应填写 For Input,As 后的文件号正是后续读取语句需要用到的文件号,从循环体内的读取语句“Input #2, inData“可知,打开文件时的文件号应设置为#2,以保证程序的前后一致,所以第13空应填写#2。打开文件后,文件指针指向文件的开始位置,只要文件指针还没有到达文件的结尾都应该继续读取,直到读完文件内所有的内容为止。所以第14空应表达:“文件指针还没有到达结尾”这一条件,即 Not EOF(2)。45.执行下面程序段,s 的值是_。s=3For I=1.8 To 3.2 Step 0.3s=s+1Next I(分数:2.00)填空项 1:_ (正确答案:8)解析:解析 循环语句执行的次数为 Int(3.2-1.8)/0.3)+1=5,所以 s=s+1 执行了 5 次,再加上 s 的初始值 3,所以 s 的结果为 8。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1