在窗体上画—个命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim I, Num Randomize Do For I=1 To 1

admin2013-04-11  21

问题 在窗体上画—个命令按钮,然后编写如下事件过程:    Private Sub Command1_Click()         Dim I, Num         Randomize         Do             For I=1 To 1000                  Num=Int(Rnd*100)                  Print Num;                   Select Case Num                        Case 12                             Exit For                        Case 58                             Exit Do                        Case 65,68,92                             End                   End Select             Next I         Loop    End Sub    上述事件过程执行后,下列描述中正确的是______。

选项 A、Do循环执行的次数为1000次
B、在For循环中产生的随机数小于或等于100
C、当所产生的随机数为12时结束所有循环
D、当所产生的随机数为65、68或92时窗体关闭、程序结束

答案D

解析 首先有一个Do循环作为外层循环:Do[语句块]Loop。在这种情况下,程序将不停地执行Do和Loop之间的“语句块”。接着是一个内循环,即For循环,并且变量的初值为1,终值为1000,步长为1,每执行一次循环,变量的值自动加1,接着生成一个100之内的随机数赋给变量Num。输出变量Num的值,最后是一个多分支控制结构,多分支语句的格式为:
Select Case测试表达式
Case表达式表列1 语句块1
[case表达式表列2 语句块2…
[Case Else[语句块n]]
End Select
多分支语句通过情况语句来实现,以Select Case开头,以End Select结束。功能是,根据“测试表达式”的值,从多个语句块中选择符合条件的一个语句块执行。
随机数的公式为:Int((upperbound—lowerbound+1)*Rnd+lowerbounD),由题目中的Int(Rnd*100)可知,随机数的取值范围为0~99,所以随机数不可能取到100,选项B不正确。
根据题意,通过Num变量的值来控制程序的走向。
第一种情况:如果产生的随机数的值为12,则结束For循环,即内循环停止执行,但是外循环还继续执行,所以选项C不正确,随机数为12时不会结束所有循环,只是结束了内循环。
第二种情况:如果产生的随机数为58则结束Do循环,同时内循环也停止,所以Do循环不一定执行1000次,选项A不正确。
第三种情况:如果产生的随机数的值是65、68或92,则执行End方法,End是VB中关闭表单的方法,所以当所产生的随机数为65、68或92时窗体关闭、程序结束。本题答案为D。
转载请注明原文地址:https://jikaoti.com/ti/lb60FFFM
0

最新回复(0)