- 基础理论
- 数据及数据库技术
- 人工智能
- 算法理论
- 程序设计语言
- 循环结构
- 分支结构
- 顺序结构
- 类、对象、属性、方法、事件和事件处理的概念
- VB应用程序的界面设计与调试
- 基本数据类型
- 常量、变量、数组
- 常用的标准函数
- 基本运算及表达式
- 赋值语句
- 选择语句
- + 循环语句
- 多媒体理论
- 基础软件操作
- 算法软件操作
- 多媒体软件操作
- 网络技术应用
下面程序段是利用For语句给数组a赋值( )
For i= 1 To 5
a(i)=3*i+i^2
Next i
该程序段运行后数组元素a(5)的值为( )
For i= 1 To 5
a(i)=3*i+i^2
Next i
该程序段运行后数组元素a(5)的值为( )
A.40 | B.15 | C.28 | D.18 |
下列VB程序段执行后变量n、s的值为( )
n=1: s=0
Do while s<20
s=s+n
n=n+2
Loop
n=1: s=0
Do while s<20
s=s+n
n=n+2
Loop
A.9 16 | B.11 20 | C.11 25 | D.9 24 |
(加试题)某一过程算法的VB程序段如下:
Private Sub Command1_Click()
Dim n As Integer
n = Val(text1.Text)
Call prsj(n) '调用自定义过程
End Sub
Sub prsj(c As Integer) '自定义过程,可以用Call语句来调用该过程
Dim i As Integer, j As Integer, k As String
List1.Clear
For i = 1 To c
k = ""
For j = 1 To i
k = k + "*"
Next j
List1.AddItem k
Next i
End Sub
在文本框Text1输入3,执行该程序段后,在列表框List1中显示的是
Private Sub Command1_Click()
Dim n As Integer
n = Val(text1.Text)
Call prsj(n) '调用自定义过程
End Sub
Sub prsj(c As Integer) '自定义过程,可以用Call语句来调用该过程
Dim i As Integer, j As Integer, k As String
List1.Clear
For i = 1 To c
k = ""
For j = 1 To i
k = k + "*"
Next j
List1.AddItem k
Next i
End Sub
在文本框Text1输入3,执行该程序段后,在列表框List1中显示的是
A.![]() | B.![]() | C.![]() | D.![]() |
在计算机系统中,数值一律用补码来表示和存储。求负整数的补码是将该数对应的正数转换为二进制数(不足8位时高位补0),最高位作为符号位为1,其余每位二进制数取反(1变成0,0变成1),末位加1。
小明编写了一个VB程序,功能如下:在文本框Text1中输入一个负整数,单击“转换”按钮Command1后,在文本框Text2中显示该数对应的补码。程序运行界面如图所示。

(1)在设计程序界面时,要使按钮Command1显示为“转换”,应修改该按钮的_______属性。
(2)实现上述功能的VB程序如下,请在划线处填入合适代码。
Private Sub Command1_Click()
Dim a(8) As Integer, x As Integer, b As String
x = Val(Text1.Text)
x = Abs(x)
For i = 1 To 7 '求原码
a(i) = x Mod 2
x = x \ 2
Next i
For i = 1 To 7 '求反码
a(i) =___________①
Next i
b = "1" '求补码
a(1) = a(1) + 1
i = 1
Do While a(i) = 2 And i < 7
a(i) = 0
a(i + 1) = a(i + 1) + 1
i = i + 1
Loop
For i = 7 To 1 Step -1
b = b + Trim(Str(a(i))) 'trim()函数去除字符前后空格
Next i
Text2.Text = __________②
End Sub
(3)运行该程序,在文本框Text1中输入-10,单击“转换”按钮,则显示的补码是__。
小明编写了一个VB程序,功能如下:在文本框Text1中输入一个负整数,单击“转换”按钮Command1后,在文本框Text2中显示该数对应的补码。程序运行界面如图所示。

(1)在设计程序界面时,要使按钮Command1显示为“转换”,应修改该按钮的_______属性。
(2)实现上述功能的VB程序如下,请在划线处填入合适代码。
Private Sub Command1_Click()
Dim a(8) As Integer, x As Integer, b As String
x = Val(Text1.Text)
x = Abs(x)
For i = 1 To 7 '求原码
a(i) = x Mod 2
x = x \ 2
Next i
For i = 1 To 7 '求反码
a(i) =___________①
Next i
b = "1" '求补码
a(1) = a(1) + 1
i = 1
Do While a(i) = 2 And i < 7
a(i) = 0
a(i + 1) = a(i + 1) + 1
i = i + 1
Loop
For i = 7 To 1 Step -1
b = b + Trim(Str(a(i))) 'trim()函数去除字符前后空格
Next i
Text2.Text = __________②
End Sub
(3)运行该程序,在文本框Text1中输入-10,单击“转换”按钮,则显示的补码是__。
(加试题)小明编写了一个统计成绩的VB程序:编写一个过程,该过程从数据库读取学生的物理,化学,生物科目成绩,分别存储到数组a、b、c中;另又编写一个过程,该过程依据数组a,b,c中的相关数据统计班级物理、化学、生物三门成绩大于等于85分的学号。部分学号的成绩统计如图所示。
程序功能如下:单击“统计”按钮Command2,程序进行统计处理,结果输出在列表框List1、List2、List3中。
程序运行界面如图所示。

(1)在Command1_Click()过程中变量n的作用是_____________。
(2)请在划线处填入合适的代码。
Dim a(1 to 600) as integer '数组a存放物理成绩
Dim b(1 to 600) as integer '数组b存放化学成绩
Dim c(1 to 600) as integer '数组c存放生物成绩
Dim n as integer
Private Sub Command1_Click()
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Conn ConnectionString="provider=Microsoft.AC
Conn.Open
Set rs.ActiveConnection=conn
rs.Open "SELECT * FROM whs"
n=0
Do While Not rs.EOF '从数据表中读取各科的数据赋值到相应数组
n=n+1
a(n)=rs.Fields("物理")
b(n)=rs.Fields("化学")
c(n)=rs.Fields("生物")
rs.MoveNext
Loop
'本过程的其他语句略
End sub
Private Sub Command2_Click()
'依据数组a中的相关数据统计各学生每门课大于等于85分的学号
Dim i As Integer
Dim d(1 to n) As Integer
For i= 1 to n
____________①
Next i
List1.AddItem "三门学科>=85分的学号有:"
List2.AddItem "两门学科>=85分的学号有:"
List3.AddItem "一门学科>=85分的学号有:"
For i = 1 To n
If a(i) >= 85 Then
d(i) = d(i) + 1
End If
If b(i) >= 85 Then d(i) = _____________②
If ___________③ Then
d(i) = d(i) + 1
End If
Next i
For i = 1 To n
If d(i) = 3 Then List1.AddItem Str(i)
If d(i) = 2 Then List2.AddItem Str(i)
If d(i) = 1 Then List3.AddItem Str(i)
Next i
End Sub
门数 | 学号 | 说明 |
只有一门>=85分 | 1,10 | d(i)存放每个学号对应的大于等于85分科次 |
只有两门>=85分 | 2,3,4,6,12 | |
只有三门>=85分 | 7,8,9,11 |
程序功能如下:单击“统计”按钮Command2,程序进行统计处理,结果输出在列表框List1、List2、List3中。
程序运行界面如图所示。

(1)在Command1_Click()过程中变量n的作用是_____________。
(2)请在划线处填入合适的代码。
Dim a(1 to 600) as integer '数组a存放物理成绩
Dim b(1 to 600) as integer '数组b存放化学成绩
Dim c(1 to 600) as integer '数组c存放生物成绩
Dim n as integer
Private Sub Command1_Click()
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Conn ConnectionString="provider=Microsoft.AC
A.OLEDB.12.0;data source="+"Score.accdb" |
Set rs.ActiveConnection=conn
rs.Open "SELECT * FROM whs"
n=0
Do While Not rs.EOF '从数据表中读取各科的数据赋值到相应数组
n=n+1
a(n)=rs.Fields("物理")
b(n)=rs.Fields("化学")
c(n)=rs.Fields("生物")
rs.MoveNext
Loop
'本过程的其他语句略
End sub
Private Sub Command2_Click()
'依据数组a中的相关数据统计各学生每门课大于等于85分的学号
Dim i As Integer
Dim d(1 to n) As Integer
For i= 1 to n
____________①
Next i
List1.AddItem "三门学科>=85分的学号有:"
List2.AddItem "两门学科>=85分的学号有:"
List3.AddItem "一门学科>=85分的学号有:"
For i = 1 To n
If a(i) >= 85 Then
d(i) = d(i) + 1
End If
If b(i) >= 85 Then d(i) = _____________②
If ___________③ Then
d(i) = d(i) + 1
End If
Next i
For i = 1 To n
If d(i) = 3 Then List1.AddItem Str(i)
If d(i) = 2 Then List2.AddItem Str(i)
If d(i) = 1 Then List3.AddItem Str(i)
Next i
End Sub
运行下列VB程序,在文本框Text1中输入15,界面如图所示。

Private Sub Command1_Click()
Const x=“转换成八进制数为”
Dim y As Integer ‘用于存储输入的十进制自然数
Dim s As String ‘用于存储转换后的结果
Dim r As Integer
y=Val(Text1.Text)
s=“”
Do While y<>0 ‘采用除八取余法
r=y Mod 8
s=Str(r)+s
y=y\8
Loop
Label1.Caption=Text1.Text+x
Text2.Text=s
End Sub
单击“开始”按钮Command1后,标签Label1中显示的内容是_________,文本框Text2中显示的内容是_______。
下列VB程序用来实现[1,10]之间奇数之和,单击Command1后,标签Label1中显示的内容是_____,循环变量j最终的值是___________ ,并完成程序一处空白。
Private Sub Command1_Click()
Dim s As Integer,j As Integer
s=0
For j=1 To 10
If j Mod 2 <> 0 Then
_____________
End If
Next j
Label1.Caption=Str(s)
End Sub
Private Sub Command1_Click()
Dim s As Integer,j As Integer
s=0
For j=1 To 10
If j Mod 2 <> 0 Then
_____________
End If
Next j
Label1.Caption=Str(s)
End Sub
(加试题)猴子选大王的问题:N 只猴子选大王,选举办法如下:从头到尾 1、2、3 报数,凡报 3 的退 出,余下的从尾到头 1、2、3 报数,还是报 3 的退出,依此类推;当剩下只有两只猴子时,不再报数,取 当前报数报 1 的为王。如五只猴子报数,则第一轮顺序为第 12345,第 3 只出列,第二轮顺序为 5421,第 2只出列;第三轮顺序为 145,第 5 只出列,这时第 1 只猴子报数为 1,则第 1 只猴子为猴王。若想当猴王, 请问最初占据什么位置?在 Text1 文本框中输入参选大王的猴子总数量,单击“猴王的位置”,在 Label2 标 签上显猴王最初的位置。VB程序运行界面如下:

实现上述功能的 VB程序如下:
(1)如果只有 10 只猴子参加本次选大王,则猴王最初的位置为:________
(2)实现上述功能的 VB程序如下,请在划线处填入合适代码。
Private Sub Command1Click()
Dim n, x, m, s As Integer '假设参与的猴子数量不超过 5000
Dim a(1 To 5000) As Integer '用数组 a 存储每只猴子的报数,值为 3 时视同出列
Dim t, y As Boolean 't 用于循环,y 为 true 时表示报数顺序是从头到尾,y 为 false 时报数顺序 是从尾到头
n = Val(Text1.Text)
x = 1 'x 为每次猴子的位置
m = 1 'm 为报数的 1、2、3
y = True
t = True
Do While t
'该位置的猴子是否已经出列
If a(x) <> 3 Then '没有出列的,则报数
a(x) = m
①________ '1,2,3 之后重新开始
If m > 3 Then m = 1
Else '每次有猴子报 3 出列之后,检查是否已经只有两只猴子没有出列
s = 0
For i = 1 To n
If ②________ Then s = s + 1
Next i
If s < 3 Then Exit Do
End If
If y = True Then x = x + 1 Else x = x - 1
'检查报数是在递增,还是递减,y 为 true 时递增
'报到最后一次猴子后
If x > n Then y = False: m = 1: x = n
'报到第一次猴子后
If x = 0 Then y = True: m = 1:
Loop
'输出猴王的位置
For i = 1 To n
③_________
If a(i) = 1 Then Label2.Caption = "猴王的位置为第" + Str(i) + " 只"
Next i
End Sub

实现上述功能的 VB程序如下:
(1)如果只有 10 只猴子参加本次选大王,则猴王最初的位置为:________
(2)实现上述功能的 VB程序如下,请在划线处填入合适代码。
Private Sub Command1Click()
Dim n, x, m, s As Integer '假设参与的猴子数量不超过 5000
Dim a(1 To 5000) As Integer '用数组 a 存储每只猴子的报数,值为 3 时视同出列
Dim t, y As Boolean 't 用于循环,y 为 true 时表示报数顺序是从头到尾,y 为 false 时报数顺序 是从尾到头
n = Val(Text1.Text)
x = 1 'x 为每次猴子的位置
m = 1 'm 为报数的 1、2、3
y = True
t = True
Do While t
'该位置的猴子是否已经出列
If a(x) <> 3 Then '没有出列的,则报数
a(x) = m
①________ '1,2,3 之后重新开始
If m > 3 Then m = 1
Else '每次有猴子报 3 出列之后,检查是否已经只有两只猴子没有出列
s = 0
For i = 1 To n
If ②________ Then s = s + 1
Next i
If s < 3 Then Exit Do
End If
If y = True Then x = x + 1 Else x = x - 1
'检查报数是在递增,还是递减,y 为 true 时递增
'报到最后一次猴子后
If x > n Then y = False: m = 1: x = n
'报到第一次猴子后
If x = 0 Then y = True: m = 1:
Loop
'输出猴王的位置
For i = 1 To n
③_________
If a(i) = 1 Then Label2.Caption = "猴王的位置为第" + Str(i) + " 只"
Next i
End Sub
编写“因子分解”程序,实现如下功能:在文本框 Text1 中输入一个大于 1 的正整数,单击“求因子” 按钮 Command1,在列表框 List1 中显示该数的所有因子,以及所有因子之和。程序运行界面如图所示。

(1)代码“Private Sub Command1Click()”中的 Command1Click 是________。
(单选,填字母:
(2)实现上述功能的 VB程序如下,请在划线处填入合适的代码。
Private Sub Command1Click()
Dim sum As Integer
Dim n As Integer, i As Integer
n = Val(Text1.Text)
List1.Clear
sum = 1
List1.AddItem Str(sum)
For i = 2 To Int(Sqr(n))
If ①________Then
sum = sum + i
List1.AddItem Str(i)
If i <> n / i Then
sum = ②_____
List1.AddItem Str(n / i)
End If
End If
Next i
List1.AddItem Str(n) + "的所有因子之和是" + Str(sum)
End Sub
(3)运行该程序,在文本框中输入 9,单击“求因子”按钮后,所有因子之和是________。

(1)代码“Private Sub Command1Click()”中的 Command1Click 是________。
(单选,填字母:
A.对象名 | B.事件名 | C.事件处理过程名) |
Private Sub Command1Click()
Dim sum As Integer
Dim n As Integer, i As Integer
n = Val(Text1.Text)
List1.Clear
sum = 1
List1.AddItem Str(sum)
For i = 2 To Int(Sqr(n))
If ①________Then
sum = sum + i
List1.AddItem Str(i)
If i <> n / i Then
sum = ②_____
List1.AddItem Str(n / i)
End If
End If
Next i
List1.AddItem Str(n) + "的所有因子之和是" + Str(sum)
End Sub
(3)运行该程序,在文本框中输入 9,单击“求因子”按钮后,所有因子之和是________。