vb作业集 - 2014 - 下载本文

第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