第5章 循环结构程序设计
1.你预习了本章内容了吗?共花时间 分
2.你复习了上一堂课内容吗?共花时间 分
3.你作业做了吗? 4.作业是自己做的吗?
一、判断题
1. Do-Loop While语句实现循环时,不管条件真假,首先无条件地执行一次循环。
2. For 循环语句正常结束(即不是通过Exit For语句或强制中断)其循环控制变量的
值一定大于“终值”,并等于“终值”+“步长”。
3. do while<条件>...loop语句与while<条件>?wend语句实现的循环完全相同。 4. 如果有多重Do循环嵌套,位于最里层循环体语句中的Exit Do语句可以退出所有的
循环。
5. 不论步长是正值或负值,当循环变量的值大于终值时,结束循环。 6. 有IF则必有与之对应的End IF。 二、选择题
1. 循环结构 For i!=1 to 10 step 1.5 共执行几次 。
(A)6 (B)7 (C)9 (D)10 2. 某人设计了如下程序来计算并输出7!
Private Sub Command1_Click() Dim t As Long, i As Integer t = 0
For i = 7 To 2 Step -1 t = t * i Next Print t End Sub
执行程序时,发现结果是错误的,下面的修改方案中能够得到正确结果的是 。 (A)把For i = 7 To 2 Step -1 改成For i = 7 To 1 Step -1 (B)把For i = 7 To 2 Step -1 改成For i = 1 To 7 (C)把t=0改成t=1 (D)把Next改成Next i
3. 下程序段循环结构执行后,输出i的值是:
(A)25 (B)10
(C)11 (D)因为y的初值不知道,所以不确定
For i=1 to 10 step 2 y=y+i Next I Print i;
13
VB网络课堂:info.zjfc.edu.cn/vbweb
4. 以下程序循环的执行次数是 。
a=0
Do while a<=10 a=a+2 loop
A.4 B.5 C.6 5. 下列程序段的执行结果为: 。
I=4 A=5 Do
I=I+1 A=A+2
Loop until I>=7 Print “I=”; I Print “A=”; A
D.7
(A)I=4 (B)I=7 A=5 A=13 (C)I=8 (D)I=7 A=7 A=11 6. 设有以下循环结构 Do
循环体
Loop While <条件> 则以下叙述中错误的是
A、若\条件\是一个为0的常数,则一次也不执行循环体 B、\条件\可以是关系表达式、逻辑表达式或常数 C、循环体中可以使用Exit Do语句
D、如果\条件\总是为True,则不停地执行循环体
三、程序阅读题
1. 程序运行时单击 Command1后, 输入l2345678,写出窗体上的输出结果。
Private Sub Command1_Click() Dim x As Long, y As String x = InputBox(\输入一个数\ Do While x <> 0
y = y & x Mod 10 y = x Mod 10 & y x = x \\ 100 Print y Loop End Sub
结果:
2. 在窗体上画两个文本框(其Name属性分别为Text1和Text2)和一个命令按钮(其Name属性为Command1),然后编写如下事件:
14
VB网络课堂:info.zjfc.edu.cn/vbweb
Private Sub Command1_Click() x=0
Do while x<10
x=(x+1)*(x+2) n=n+1 Loop
Text1.text=str(n) Text2.text=str(x) End Sub
程序运行后,单击命令按钮,在两个文本中显示的值分别为 、
3. 阅读以下程序:
Private Sub Command1_Click() Dim sum As Double, x As Double sum = 0 n = 0
For i = 1 To 5 x = n / i n = n + 1 sum = sum + x Next End Sub
该程序通过For循环计算一个表达式的值,该表达式为:
A、1 + 1/2 + 2/3 + 3/4 + 4/5 B、1/2 + 1/3 + 1/4 + 1/5 C、1 + 1/2 + 1/3 + 1/4 + 1/5 D、1/2 + 2/3 + 3/4 + 4/5
4. Dim m As Integer
Private Sub Command1_Click()
Dim a As Integer, i As Integer, f As Integer a = InputBox(\ f = 1: i = 2 While i <= a / 2
If a Mod i = 0 Then f = f + i i = i + 1 m = m + 1
15
VB网络课堂:info.zjfc.edu.cn/vbweb
结果: Wend
Form1.Cls: Print f
End Sub
请写出第1次单击Command1输入7后,窗体上的显示结果为?第2次单击Command1输入8后,窗体上的显示结果为:
5、Private Sub Command1_Click()
Dim x As Long, i As Integer x = 60 i = 2
Do While x > 1
If x Mod i = 0 Then Print i; : x = x \\ i Else i = i + 1 Loop
End Sub
执行下列事件过程时,窗体上的显示结果依次为 2、 、 、 。
四、程序填空题
1. 由输入对话框输入n(设n为大于零且小于30的自然数),计算下列表达式的值,并在标签框Label1上显示。
1111??......?1?22?33?4n?(n?1)【程序】
Private Sub Form_Click()
Dim n As Integer, sum As Double, k As Integer
n = Val(InputBox(\请输入自然数n(n>0且n<30)\ Do (1)
n = Val(InputBox(\请重输\ Loop sum = 0 (2) Do
k = k + 1 sum = (3)
Loop Until k > = n
Label1.Caption = \End Sub
2.下面的程序是在一个字符串变量中查找\,并用消息框给出查找结果的报告:没有找到或找到的个数,程序如下:
Private Sub Form_Click() Dim str1 As String Dim length As Integer Dim sum As Integer
' 在字符串str1中查找\' 字符串长度 ' 查到的个数 16
VB网络课堂:info.zjfc.edu.cn/vbweb