内容正文:
专题五 循环结构程序设计
一:单选题
1:复选框的Value属性为2时,表示( )。
A.复选框未被选中
B.复选框被选中
C.复选框内有灰色的勾
D.复选框操作有错误
【答案】C
【解析】当Value为 2 时,表示复选框处于灰色不可用状态。
2:若要获得当前列表项的数目,可通过访问( )属性来实现。
A. Columns
B. Text
C. ListIndex
D. ListCount
【答案】D
【解析】ListCount:专门用于返回列表中项目的总数目。
3:窗体上有一个命令按钮Command1、一个文本框Text1和一个列表框List1。文本框用来输入要添加到列表框中的项目内容。程序运行后,单击命令按钮,会将文本框中的内容放入列表框中。程序如下:
Private Sub Commandl_Click()
_____________
Textl.Text=""
Textl.SetFocus
End Sub
程序的空白行应填写语句( )
A.List1.Text=Text1.Text
B.List1.List=Text1.Text
C.List1.AddItem=Text1.Text
D.List1.AddItem Text1.Text
【答案】D
【解析】使用AddItem方法将文本框内容添加到列表框。
4:引用列表框(List1)最后一个数据项应使用的表达式是( )
A. List1.List(List1.ListCount)
B. List1.List(ListCount)
C. List1.List(List1.ListCount-1)
D. List1.List(ListCount-1)
【答案】C
【解析】最后一个数据项的索引为ListCount-1。
5:阅读下列程序:
Private Sub Form_Click()
Static m%,n%
For i = 1 To 2
n = n + i
m = m + n ^ 2
Next
End Sub
运行时,两次单击窗体,那么第二次单击窗体后m, n的值分别为( )
A.10,3
B.62,6
C.52,6
D.62,3
【答案】B
【解析】变量m和n被声明为Static(静态变量),其值在过程调用后会保留,不会被重新初始化。第一次单击后:m = 10,n = 3。第二次单击后:m = 62,n = 6。
6:运行下列程序,单击窗体后输出的结果是( )。
Private Sub Form_Click()
s = 0
For i = 1 To 2
For j = 1 To i
s = s + j
Print s;
Next j
Print
Next i
End Sub
A.0
1 2
B.1
2 3
C.1
2 4
D.1
2 5"
【答案】C
【解析】初始值:s = 0,外层循环i从 1 到 2。当 i=1 时,内层循环j从 1 到 1:当 i=2 时,内层循环j从 1 到 2。
7:执行以下语句后,a的值是( )
Dim a As Integer
a=l
Do Until a=100
a=a+2
Loop
A.99
B.100
C.溢出
D.101
【答案】C
【解析】进入Do Until a = 100循环(当a = 100时退出循环):循环体执行a = a + 2,即每次将a的值增加 2。由于a初始为 1,且每次增加 2,其值依次为 1,3,5,...,99,101... 永远不会等于 100,循环将无限执行。整数(Integer)类型的取值范围是- 32768到32767,当a不断累加超过 32767 时,会发生溢出错误。
8:假如列表框(List1)有四个数据项,那么把数据项“China”添加到列表框的最后,应使用语句( )
A.List1.AddItem 3, "China"
B.List1.AddItem "China", List1.List1Count-1
C.List1.AddItem "China", 3
D.List1.AddItem "China", List1.List1Count
【答案】D
【解析】在 Visual Basic 中,列表框的AddItem方法用于添加项目,语法为:列表框.AddItem 项目内容 [, 索引]。
9:以下程序段的运行结果是( )
Private Sub Form_Click()
a = 1
b = a
Do Until a >= 5
X = a * b
Print Str(a) & "*" & Str(b) & "="; Str(X);
a = a + b
b = b + a
Loop
End Sub
A. 1*1=1 2*3=6
B. 1*1=2 2*2=4
C. 1*1=1 3*3=9
D. 1*1=2 3*2=6
【答案】A
【解析】初始值:a = 1,b = a = 1。进入Do Until a >= 5循环(条件为a >= 5时退出)
10:执行下面程序段后,变量a的值为( )
For I=1 To 3
For j=1 To I
For k=j To 3
a=a+1
Next k
Next j
Next I
A.3
B.9
C.14
D.21
【答案】C
【解析】通过三层循环计算变量a的累加次数,初始a=0,每次循环a=a+1。
11:以下程序的输出结果是( )
Private Sub Command1_Click()
a=100
Do
s=s+a
a=a+1
Loop Until a>100
print a
End Sub
A.100
B.120
C.201
D.101
【答案】D
【解析】初始值:a = 100,s = 0(默认值)。进入Do...Loop Until a > 100循环(当a > 100时退出):第一次执行循环体:s = 0 + 100 = 100,a = 100 + 1 = 101,循环结束。
12:下列控件中,没有Caption属性的是( )
A.框架
B.列表框
C.复选框
D.单选按钮
【答案】B
【解析】列表框(ListBox):没有Caption属性,它通过List属性存储项目,主要用于展示列表项,无需标题文字。
13:组合框的Style属性决定组合框的类型和行为,它的值为2时,其显示形式和功能是( )
A.下拉列表框,并允许用户输入不属于列表框中的选项
B.简单组合框,并允许用户输入不属于列表框中的选项
C.下拉列表框,不允许用户输入不属于列表框中的选项
D.简单组合框,不允许用户输入不属于列表框中的选项
【答案】C
【解析】Style = 2:下拉列表框,仅显示为下拉列表(无文本框),不允许用户输入新内容,只能从列表中选择。
14:在Visual Basic中,以下( )不能设置Picture属性。
A.列表框
B.窗体
C.命令按钮
D.复选框
【答案】A
【解析】列表框(ListBox):没有Picture属性,无法设置背景图片,其主要功能是展示列表项,不支持图片设置。
15:在Visual Basic中,删除列表框中的一个列表项,应使用的列表框方法是( )
A.Move
B.Remove
C.RemoveItem
D.Clear
【答案】C
【解析】RemoveItem:专门用于删除列表框中指定索引的列表项,语法为列表框.RemoveItem 索引。
16:在Visual Basic中,单击窗体,下列程序的运行结果为( )
Private Sub Form_Click()
Dim N As Integer, J As Integer
N = 0
J = 1
Do Until N > 2
N = N + 1
J = J + N * (N + 1)
Loop
Print N; J
End Sub
A.0 1
B.3 7
C.3 13
D.3 21
【答案】D
【解析】初始值:N = 0,J = 1。进入Do Until N > 2循环(当N > 2时退出)
17:在Visual Basic中为每种控件规定了一个默认属性,在设置默认属性时,不必给出属性名,下列控件中默认属性为Text的控件是( )
A.框架(Frame)
B.组合框(ComboBox)
C.标签(Label)
D.形状(Shape)
【答案】B
【解析】组合框(ComboBox)的默认属性是Text,表示当前选中项的文本内容,设置时可省略属性名。
18:若要将列表框中选中的列表项删除,应使用的方法是( )
A. Remove
B. Clear
C. Cls
D. RemoveItem
【答案】D
【解析】RemoveItem方法用于删除列表框中指定索引的列表项,若要删除选中的列表项,可通过ListIndex属性获取选中项的索引,再使用RemoveItem方法删除。选项A的Remove不是列表框的方法;选项B的Clear方法用于清除所有列表项;选项C的Cls方法用于清除窗体或图片框中的绘图和文本。
19:设组合框Combo1中有10个项目,则能删除最后一项的语句是( )。
A.Combo1.RemoveItem 9
B.Combo1.RemoveItem 10
C.Combo1.RemoveItem 11
D.Combo1.RemoveItem Combo1.ListCount
【答案】A
【解析】在 Visual Basic 中,组合框的列表项索引从 0 开始。若组合框中有 10 个项目,其索引依次为 0 到 9,最后一项的索引为 9。
20:在Visual Basic中,下列程序的运行结果为( )
Private Sub Command1_Click()
A = 0
K = 1
Do While K < 4
X = K ^ K ^ A
K = K + 1
Print X;
Loop
End Sub
A.1 1 1
B.1 4 9
C.1 4 27
D.1 4 27
【答案】A
【解析】初始值:A = 0,K = 1。进入Do While K < 4循环(K为 1、2、3 时执行循环)。
二:填空题
1:向列表框控件添加新项目的方法是__________。
【答案】AddItem
【解析】在 Visual Basic 中,向列表框(ListBox)控件添加新项目需要使用AddItem方法。
2:若要清除列表框中列表项,可使用_________方法来实现。
【答案】Clear
【解析】在 Visual Basic 中,列表框(ListBox)的Clear方法用于清除列表中的所有项目。
3:在Visual Basic中,在列表框或组合框中,能够表示当前被选中列表项序号的属性是______。
【答案】ListIndex
【解析】在 Visual Basic 中,列表框(ListBox)和组合框(ComboBox)的ListIndex属性用于返回当前被选中列表项的索引值(序号)。索引从 0 开始,若没有选中任何项目,该属性值为 - 1。
4:在Visual Basic中,在程序运行时,要清除组合框Combo1中的所有内容,应使用的语句是__________________。
【答案】Combo1.Clear
【解析】在 Visual Basic 中,组合框(ComboBox)的Clear方法用于清除其所有列表项。
5:有如下程序:
For I=1 To 3
For j=5 To 1 Step-1
Print I+j
Next j,I
其循环执行的次数为______。
【答案】15
【解析】程序为嵌套循环,外层循环变量I从 1 到 3,共执行 3 次;内层循环变量j从 5 到 1,步长为 - 1,即j取值为 5、4、3、2、1,共执行 5 次。循环总执行次数为外层循环次数与内层循环次数的乘积,即3×5=15次。
6:列表框的_________属性返回当前选项的索引号,索引号从0开始。如果没有选项被选中,该属性为-1。
【答案】listindex
【解析】在 Visual Basic 中,列表框的ListIndex属性用于返回当前选中项的索引号,索引号从 0 开始。
7:下面程序运行时,内层循环的循环总次数是_____。
For m = 1 To 3
For n = 0 To m - 1
Next n
Next m
【答案】6
【解析】程序为嵌套循环,外层循环变量m从 1 到 3,分别分析内层循环次数:当m=1时,内层循环n从 0 到m-1=0,即n=0,循环 1 次;当m=2时,内层循环n从 0 到m-1=1,即n=0、1,循环 2 次;当m=3时,内层循环n从 0 到m-1=2,即n=0、1、2,循环 3 次。内层循环总次数为 1+2+3=6 次。
8:获取列表框List1中当前选中项目的文本内容,应使用表达式:_________
【答案】List1.List(List1.ListIndex)
【解析】List属性是一个数组,存储列表中的所有项目,格式为:列表框.List(索引),通过索引可访问对应项目的文本。
9:以下嵌套循环的总执行次数是_________。
For a = 1 To 2
For b = a To 3
Next b
Next a
【答案】5
【解析】外层循环a从 1 到 2(共 2 次),内层循环b的范围随a变化:当a=1时,b从 1 到 3(b=1,2,3),执行 3 次;当a=2时,b从 2 到 3(b=2,3),执行 2 次。总次数:3 + 2 = 5 次。
10:Do While 条件 ... Loop属于_________循环,其特点是_________。
【答案】前测型;先判断条件,条件满足才执行循环体
【解析】前测型循环的逻辑是 “先判断,后执行”。
三:程序填空题
1:将一个正整数分解为质因数乘积。例如,78=2×3×13。程序代码如下:
Option Explicit
Private Sub Command1_Click()
Dim n As Integer, k As Integer
n =InputBox("输入正整数n= ")
k=2
Print n; "= ";
Do While n>=k
If n Mod k=0 Then
If_____(1)________Then
Print k
Else
Print k; "×";
End If
_____(2)________
Else
_____(3)________
End if
Loop
End Sub
【答案】
(1)n=k
(2) n =n \ k
(3) k = k + 1
【解析】程序的功能是将正整数n分解为质因数乘积,核心逻辑是通过循环找出所有质因数并输出
2. 编写一个求给定8位二进制数的反码的程序。程序参考界面如下图所示。
Private Sub Command1_Click()
Dim yuanma As String, fanma As String, fa As String
Yuanma=Text1.Text
Fanma=""
For i=1 to 8
Fa=mid(yuanma,i,1)
Select Case __(1)____
Case 1
Fa="0"
Case 0
Fa="1"
End select
Fanma=___(2)____
Next i
Text2.Text=fanma
End Sub
【答案】
(1)Val(fa)
(2)fanma+fa
【解析】Mid(yuanma, i, 1)用于截取原码中第i位的字符(存储在Fa中)。Select Case语句需要根据Fa的值("0" 或 "1")进行判断,从而将其转换为反码("1" 或 "0")。
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
专题五 循环结构程序设计
一:单选题
1:复选框的Value属性为2时,表示( )。
A.复选框未被选中
B.复选框被选中
C.复选框内有灰色的勾
D.复选框操作有错误
2:若要获得当前列表项的数目,可通过访问( )属性来实现。
A. Columns
B. Text
C. ListIndex
D. ListCount
3:窗体上有一个命令按钮Command1、一个文本框Text1和一个列表框List1。文本框用来输入要添加到列表框中的项目内容。程序运行后,单击命令按钮,会将文本框中的内容放入列表框中。程序如下:
Private Sub Commandl_Click()
_____________
Textl.Text=""
Textl.SetFocus
End Sub
程序的空白行应填写语句( )
A.List1.Text=Text1.Text
B.List1.List=Text1.Text
C.List1.AddItem=Text1.Text
D.List1.AddItem Text1.Text
4:引用列表框(List1)最后一个数据项应使用的表达式是( )
A. List1.List(List1.ListCount)
B. List1.List(ListCount)
C. List1.List(List1.ListCount-1)
D. List1.List(ListCount-1)
5:阅读下列程序:
Private Sub Form_Click()
Static m%,n%
For i = 1 To 2
n = n + i
m = m + n ^ 2
Next
End Sub
运行时,两次单击窗体,那么第二次单击窗体后m, n的值分别为( )
A.10,3
B.62,6
C.52,6
D.62,3
6:运行下列程序,单击窗体后输出的结果是( )。
Private Sub Form_Click()
s = 0
For i = 1 To 2
For j = 1 To i
s = s + j
Print s;
Next j
Print
Next i
End Sub
A.0
1 2
B.1
2 3
C.1
2 4
D.1
2 5"
7:执行以下语句后,a的值是( )
Dim a As Integer
a=l
Do Until a=100
a=a+2
Loop
A.99
B.100
C.溢出
D.101
8:假如列表框(List1)有四个数据项,那么把数据项“China”添加到列表框的最后,应使用语句( )
A.List1.AddItem 3, "China"
B.List1.AddItem "China", List1.List1Count-1
C.List1.AddItem "China", 3
D.List1.AddItem "China", List1.List1Count
9:以下程序段的运行结果是( )
Private Sub Form_Click()
a = 1
b = a
Do Until a >= 5
X = a * b
Print Str(a) & "*" & Str(b) & "="; Str(X);
a = a + b
b = b + a
Loop
End Sub
A. 1*1=1 2*3=6
B. 1*1=2 2*2=4
C. 1*1=1 3*3=9
D. 1*1=2 3*2=6
10:执行下面程序段后,变量a的值为( )
For I=1 To 3
For j=1 To I
For k=j To 3
a=a+1
Next k
Next j
Next I
A.3
B.9
C.14
D.21
11:以下程序的输出结果是( )
Private Sub Command1_Click()
a=100
Do
s=s+a
a=a+1
Loop Until a>100
print a
End Sub
A.100
B.120
C.201
D.101
12:下列控件中,没有Caption属性的是( )
A.框架
B.列表框
C.复选框
D.单选按钮
13:组合框的Style属性决定组合框的类型和行为,它的值为2时,其显示形式和功能是( )
A.下拉列表框,并允许用户输入不属于列表框中的选项
B.简单组合框,并允许用户输入不属于列表框中的选项
C.下拉列表框,不允许用户输入不属于列表框中的选项
D.简单组合框,不允许用户输入不属于列表框中的选项
14:在Visual Basic中,以下( )不能设置Picture属性。
A.列表框
B.窗体
C.命令按钮
D.复选框
15:在Visual Basic中,删除列表框中的一个列表项,应使用的列表框方法是( )
A.Move
B.Remove
C.RemoveItem
D.Clear
16:在Visual Basic中,单击窗体,下列程序的运行结果为( )
Private Sub Form_Click()
Dim N As Integer, J As Integer
N = 0
J = 1
Do Until N > 2
N = N + 1
J = J + N * (N + 1)
Loop
Print N; J
End Sub
A.0 1
B.3 7
C.3 13
D.3 21
17:在Visual Basic中为每种控件规定了一个默认属性,在设置默认属性时,不必给出属性名,下列控件中默认属性为Text的控件是( )
A.框架(Frame)
B.组合框(ComboBox)
C.标签(Label)
D.形状(Shape)
18:若要将列表框中选中的列表项删除,应使用的方法是( )
A. Remove
B. Clear
C. Cls
D. RemoveItem
19:设组合框Combo1中有10个项目,则能删除最后一项的语句是( )。
A.Combo1.RemoveItem 9
B.Combo1.RemoveItem 10
C.Combo1.RemoveItem 11
D.Combo1.RemoveItem Combo1.ListCount
20:在Visual Basic中,下列程序的运行结果为( )
Private Sub Command1_Click()
A = 0
K = 1
Do While K < 4
X = K ^ K ^ A
K = K + 1
Print X;
Loop
End Sub
A.1 1 1
B.1 4 9
C.1 4 27
D.1 4 27
二:填空题
1:向列表框控件添加新项目的方法是__________。
2:若要清除列表框中列表项,可使用_________方法来实现。
3:在Visual Basic中,在列表框或组合框中,能够表示当前被选中列表项序号的属性是______。
4:在Visual Basic中,在程序运行时,要清除组合框Combo1中的所有内容,应使用的语句是__________________。
5:有如下程序:
For I=1 To 3
For j=5 To 1 Step-1
Print I+j
Next j,I
其循环执行的次数为______。
6:列表框的_________属性返回当前选项的索引号,索引号从0开始。如果没有选项被选中,该属性为-1。
7:下面程序运行时,内层循环的循环总次数是_____。
For m = 1 To 3
For n = 0 To m - 1
Next n
Next m
8:获取列表框List1中当前选中项目的文本内容,应使用表达式:_________
9:以下嵌套循环的总执行次数是_________。
For a = 1 To 2
For b = a To 3
Next b
Next a
10:Do While 条件 ... Loop属于_________循环,其特点是_________。
三:程序填空题
1:将一个正整数分解为质因数乘积。例如,78=2×3×13。程序代码如下:
Option Explicit
Private Sub Command1_Click()
Dim n As Integer, k As Integer
n =InputBox("输入正整数n= ")
k=2
Print n; "= ";
Do While n>=k
If n Mod k=0 Then
If_____(1)________Then
Print k
Else
Print k; "×";
End If
_____(2)________
Else
_____(3)________
End if
Loop
End Sub
2. 编写一个求给定8位二进制数的反码的程序。程序参考界面如下图所示。
Private Sub Command1_Click()
Dim yuanma As String, fanma As String, fa As String
Yuanma=Text1.Text
Fanma=""
For i=1 to 8
Fa=mid(yuanma,i,1)
Select Case __(1)____
Case 1
Fa="0"
Case 0
Fa="1"
End select
Fanma=___(2)____
Next i
Text2.Text=fanma
End Sub
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$