初中信息技术(VB)期末考试模拟试题
考试时间: 60分钟 满分: 100分

单项选择题(每题3分,共30分)
-
在Visual Basic中,要设置窗体的标题栏文字,应修改的属性是。 A.
Name属性 B.Caption属性 C.Text属性 D.Value属性 -
下列控件中,不能用于接收用户输入文本的是。 A. 文本框 B. 标签 C. 列表框 D. 组合框
-
要让一个命令按钮在程序运行时不可见,应将其
Visible属性设置为。 A.TrueB.FalseC.0D.1 -
下列数据类型中,用于存储文本(字符串)的是。 A.
IntegerB.SingleC.StringD.Boolean
(图片来源网络,侵删) -
在VB中,用于声明一个模块级变量的关键字是。 A.
DimB.PublicC.StaticD.Private -
下列哪个运算符用于计算整除? A. B.
\C.ModD.^ -
以下关于
For...Next循环的说法,正确的是。 A. 循环次数是固定的 B. 循环次数是随机的 C. 只能执行一次循环体 D. 不能嵌套使用 -
要判断一个变量
x的值是否在10到20之间(包括10和20),正确的逻辑表达式是。 A.x > 10 And x < 20B.x >= 10 Or x <= 20C.x >= 10 And x <= 20D.x > 10 Or x < 20
(图片来源网络,侵删) -
当窗体被加载到内存中但还未显示时,会触发的事件是。 A.
Click事件 B.Load事件 C.DblClick事件 D.Unload事件 -
要将列表框
List1中当前选中的项目内容赋值给字符串变量s,正确的语句是。 A.s = List1.TextB.s = List1.ListC.s = List1.ListIndexD.s = List1.ListCount
判断题(每题2分,共10分)
- 窗体的
Name属性是唯一的,用来标识窗体,而Caption属性是显示在窗体标题栏上的文字。 - 在VB中,
If...Then...Else语句可以实现多路分支选择。 MsgBox函数可以弹出一个信息对话框,并让用户选择“确定”或“取消”,其返回值是一个整数。Do While...Loop循环中,当循环条件为False时,循环体至少会执行一次。- 在程序中,可以使用
Open语句打开顺序文件,使用Print #语句向文件中写入数据。
填空题(每空2分,共20分)
- VB程序设计的三种基本结构是:顺序结构、__和__。
- 在窗体上有一个文本框
Text1和一个标签Label1,当用户在Text1时,Label1能实时同步显示Text1,应将Text1控件的__________事件与执行Label1.Caption = Text1.Text的代码关联起来。 - 声明一个整型变量
Sum,并将其初始值设为0的语句是:Dim Sum As ________。 - 在VB中,用于产生一个在[1, 100]范围内(包括1和100)的随机整数的表达式是:
Int(Rnd * ________) + 1。 - 要将列表框
List1中的所有项目清空,可以使用语句:List1.__________。 Select Case语句主要用于实现__分支结构。InputBox函数的作用是弹出一个__对话框,等待用户输入并返回输入的内容。Len("Hello World")的返回值是__。
程序阅读题(每题5分,共10分)
阅读以下代码,写出程序运行后,单击命令按钮Command1后,窗体上显示的结果。
Private Sub Command1_Click()
Dim i As Integer, s As Integer
s = 0
For i = 1 To 10 Step 2
s = s + i
Next i
Print "s ="; s
End Sub
显示结果: _____
阅读以下代码,写出程序运行后,单击命令按钮Command1后,文本框Text1中显示的内容。
Private Sub Command1_Click()
Dim a As String, b As String
a = "VB"
b = "Programming"
Text1.Text = Left(b, 3) & " " & UCase(a) & " " & Right(b, 5)
End Sub
显示结果: _____
程序填空题(每空2分,共10分)
** 编写一个程序,计算1到100之间所有偶数的和,并将结果显示在标签Label1上,请完善以下代码。
Private Sub Command1_Click()
Dim i As Integer
Dim sum As Integer
' 初始化累加器
sum = 0
' 使用For循环遍历1到100
For i = 1 To 100
' 判断i是否为偶数
If ________ Then ' 填空1
' 如果是偶数,则加到sum上
sum = ________ ' 填空2
End If
Next i
' 将计算结果显示在标签上
Label1.Caption = "1到100的偶数和为:" & ________ ' 填空3
End Sub
程序设计题(共20分)
** 设计一个简单的“猜数字”游戏,程序运行时,自动生成一个1到100之间的随机整数(作为答案),用户通过一个文本框Text1输入自己猜的数字,点击“猜”按钮Command1后,程序给出提示“猜大了”、“猜小了”或“恭喜你,猜对了!”,当猜对后,禁用“猜”按钮,并在标签Label1上显示总共猜了多少次。
要求:
- 在窗体上添加所需的控件,并设置好相关属性(如
Caption等)。 - 在窗体的
Load事件中,生成并保存这个随机数(答案)。 - 编写“猜”按钮
Command1的Click事件代码。 - 使用一个模块级变量
count来记录猜测的次数。
请根据上述要求,写出“猜”按钮Command1的Click事件代码。 (假设答案已保存在模块级变量answer中,count也已声明)
' 假设在“通用”声明区已定义:
' Dim answer As Integer
' Dim count As Integer
Private Sub Form_Load()
' 生成1到100的随机数
Randomize
answer = Int(Rnd * 100) + 1
' 初始化猜测次数
count = 0
End Sub
Private Sub Command1_Click()
' 请在此处编写代码
' 提示:需要将Text1中的文本转换为数字,并进行比较和判断
' ________________________ ' 填空1: 获取用户输入并转换为整数
' ________________________ ' 填空2: 增加猜测次数
' ________________________ ' 填空3: 判断并给出提示
' ________________________ ' 填空4: 判断是否猜对,并做相应处理
End Sub
参考答案与解析
单项选择题
- B -
Caption属性控制窗体标题栏显示的文字。 - B - 标签控件主要用于显示文本,不能接收用户输入。
- B -
Visible属性为True时可见,为False时不可见。 - C -
String类型用于存储字符串。 - D -
Private和Dim都可用于声明模块级变量,Private更明确地表示私有性。 - B -
\是整除运算符,是浮点除法,Mod是取余,^是乘方。 - A -
For...Next循环的循环次数由To和Step决定,是固定的,它可以嵌套使用。 - C -
And是“与”运算,>=表示“大于或等于”,<=表示“小于或等于”,A选项不包括10和20,B和D选项范围过大。 - B -
Load事件在窗体被首次加载时触发。 - A -
List1.Text属性返回列表框中被选中项目的文本内容。List1.List是一个数组,List1.ListIndex是选中项的索引,List1.ListCount是项目总数。
判断题
- -
Name是对象的内部标识,Caption是外部显示文本。 - -
If...Then...ElseIf...Else结构可以实现多路分支。 - -
MsgBox根据用户点击的按钮(如OK, Cancel)返回不同的整数值(如1, 2)。 - -
Do While...Loop是“当...时循环”,如果条件一开始就是False,则循环体一次都不会执行。Do...Loop While才是至少执行一次。 - - 这是顺序文件操作的标准步骤。
填空题
- 选择结构,循环结构
Change(或KeyPress,但Change最符合“实时同步”的要求)Integer100(因为Rnd * 100的范围是[0, 100),Int后是[0, 99],加1后是[1, 100])Clear- 多路
- 输入
11(注意空格也算一个字符)
程序阅读题
-
s = 25
- 解析: 循环变量
i从1开始,每次加2,依次取值为1, 3, 5, 7, 9。s的累加过程为:0+1=1, 1+3=4, 4+5=9, 9+7=16, 16+9=25。
- 解析: 循环变量
-
Pro VB amming
- 解析:
Left(b, 3)取b字符串"Programming"左边3个字符,得到"Pro"。UCase(a)将a字符串"VB"转换为大写,得到"VB"。Right(b, 5)取b字符串"Programming"右边5个字符,得到"amming"。- 用
&连接起来,得到"Pro" & " " & "VB" & " " & "amming",即"Pro VB amming"。
- 解析:
程序填空题
i Mod 2 = 0(或i / 2 = i \ 2)sum + isum
程序设计题
' 假设在“通用”声明区已定义:
' Dim answer As Integer
' Dim count As Integer
Private Sub Form_Load()
' 生成1到100的随机数
Randomize
answer = Int(Rnd * 100) + 1
' 初始化猜测次数
count = 0
End Sub
Private Sub Command1_Click()
' 填空1: 获取用户输入并转换为整数
Dim guess As Integer
guess = Val(Text1.Text) ' 使用Val函数将文本转换为数值,如果转换失败则得到0
' 填空2: 增加猜测次数
count = count + 1
' 填空3: 判断并给出提示
If guess > answer Then
MsgBox "猜大了!", vbInformation, "提示"
ElseIf guess < answer Then
MsgBox "猜小了!", vbInformation, "提示"
Else
' 填空4: 判断是否猜对,并做相应处理
MsgBox "恭喜你,猜对了!你一共猜了" & count & "次。", vbExclamation, "成功"
Command1.Enabled = False ' 禁用按钮
End If
' 清空文本框,以便下次输入
Text1.Text = ""
' 让文本框获得焦点
Text1.SetFocus
End Sub
解析:
- 填空1:
Val(Text1.Text)是将文本框中的字符串转换为数值的标准函数,比CInt(Text1.Text)更安全,因为如果输入的不是数字,Val会返回0,而CInt会出错。 - 填空2:
count = count + 1是标准的计数器写法。 - 填空3 & 4: 使用
If...ElseIf...Else结构进行比较,当guess等于answer时,说明猜对了,此时弹出成功消息框,并将Command1的Enabled属性设为False,使其变为灰色不可用。 - 额外补充: 在给出提示后,清空
Text1并使其重新获得焦点,可以极大提升用户体验,让用户可以直接输入下一个数字。
