[单项选择题] 在窗体上画—个命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim I, Num Randomize Do For I=1 To 1000 Num=Int(Rnd*100) Print Num; Select Case NumCase 12 Exit ForCase 58 Exit DoCase 65,68,92 End End Select Next I Loop End Sub 上述事件过程执行后,下列描述中正确的是______。
A.Do循环执行的次数为1000次
B.在For循环中产生的随机数小于或等于100
C.当所产生的随机数为12时结束所有循环
D.当所产生的随机数为65、68或92时窗体关闭、程序结束
参考解析:[知识点] 循环语句和分支语句[评析] 首先有一个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。