1、控制结构及答案解析(总分:36.00,做题时间:90 分钟)一、B选择题/B(总题数:12,分数:24.00)1.下列程序段的执行结果为_。 Private Sub Command1_Click() n = 0 For a = 1 To 20 For b = 1 To 20 For c = 1 To 20 If a * a + b * b - c * c Then n=n+l End If Next c Next b Next a Print n End Sub(分数:2.00)A.9B.12C.10D.112.单击命令按钮,下列程序段的输出结果为_。 Private Sub Command1
2、_Click() Dim n As Integer n = 5 While n = 10 n = n + 2 Print n; Wend End Sub(分数:2.00)A.5 7 9 11B.6 8 10C.7 9 11D.6 8 10 123.单击命令按钮,并在对话框内输入 6,下列程序段的执行结果为_。 Private Sub Command1_Click() Dim n As Integer n=InputBox (“请输入日期“) Select Case n Case Is = 0 n=InputBox(“错误!请重新输入日期!“) Case Is7 n=InputBox(“错误!请
3、重新输入日期!“) Case 1 To 3 Print “江苏“ Case 4 To 5 Print “浙江“ Case 6 To 7 Print “双休日“ End Select End Sub(分数:2.00)A.错误!请重新输入日期!B.江苏C.浙江D.双休日4.单击命令按钮,并在对话框内依次输入 99,73,84,88,-1,下列程序段的执行结果为_。 Private Sub Command1_Click() Dim S As Single, max As Single, min As Single n=0 S=InputBox(“Please enter a score“) max=
4、S min=S Do While S=0 If Smax Then max=S End If If S min Then min=S End If S=InputBox(“Please enter a score“) n=n+1 Loop Print n; “:“; max, min End Sub(分数:2.00)A.4:99,88B.4;99,73C.4:99,73D.4;99,885.执行下面的程序段后,x 的值为_。 x=5 For i=3 To 8 Step 2 x=x+1 Next i(分数:2.00)A.5B.6C.7D.86.下列程序段的执行结果为_。 Private Sub
5、Command1_Click() a=1:b=1 Select Case a Case 1 Select Case b Case 0 Print “你好!“ Case 1 Print “Hello!“ End Select Case 2 Print“谢谢使用!“ End Select End Sub(分数:2.00)A.你好!B.谢谢使用!C.Hello!D.你好!谢谢使用!7.单击命令按钮,并在对话框内依次输入 5,7,6 下列程序段的执行结果为_。 Private Sub Command1_Click() Dim n AS Integer, a As Integer, b As Integ
6、er, c As Integer n = 0 For i = 1 To 3 a = InputBox (“请输入数字“) n = n+a*a If n 50 Then GoTo ex End If Next i ex: Print n End Sub(分数:2.00)A.25B.74C.85D.1108.执行以下程序段,如果在对话框中输入 8,输出结果是“Hello“的是_。(分数:2.00)A.n = InputBox(“请输入一个数“) Select Case n Case 7 To 1 Print “Hello“ End SelectB.n = InputBox(“请输入一个数“) Se
7、lect Case n Case Is1, Is 6 Print “Hello“ End SelectC.n = InputBox(“请输入一个数“) Select Case n Case Is 5, 1, 3 To 10 Print “Hello“ End SelectD.n=InputBox(“请输入一个数“) Select Case n Case 1, 5, Is 9 Print “Hello“ End Select9.下列程序段的执行结果为 Private Sub Command1_Click() a=InputBox(“请输入 a值“) c=“您要查询的是“ n(分数:2.00)A.
8、10 5B.x nC.9 5D.10 611.下列程序段的执行结果为_。 x=5 y=3 If Not x 1 Then y=y+1 Else x=x-1 Print x;y(分数:2.00)A.5 3B.5 4C.3 4D.4 312.下列程序段的执行结果为_。 Dim n As Integer n=10 While n 0 n=n-1 Wend Print “n=“; n(分数:2.00)A.n=0B.n=1C.FalseD.n=-1二、B填空题/B(总题数:6,分数:12.00)13.下列程序段的输出结果为_。 Check = True: a = 1 Do a = a + 1 Check
9、 = Check + 1 Loop While a 10 print Check(分数:2.00)填空项 1:_14.在窗体上画一个命令按钮,其名称为 Commandl,然后编写如下程序: Function a(x As Integer, y As Integer) As Integer a = IIf(x y, x, y) End Function Private Sub Command1_Click() Dim n As Integer, m As Integer n = 10 m = 20 Print a(n, m) End Sub 程序运行后,单击命令按钮,输出结果是_。(分数:2.0
10、0)填空项 1:_15.下列事件过程的执行结果为在窗体中依次输出_、_、_和 _。 Private Sub Command1_Click() Dim c i = 0 c = Array(2, 4, 6, 8, 9) Do x = c(i) For j = 10 To x Step -2 n = j + x Next j Print n + j i = i + 1 Loop While j + n 22 End Sub(分数:2.00)填空项 1:_16.下列程序用于输出一个主对角线上元素值为“*”,其他元素值为“#”的 55阶的方阵,试将程序补充完整。 Private Sub Command1
11、_Click() Dim x(5, 5) For i = 1 To 5 For j = 1 To 5 If _ Then x(i, j) = * Else _ End If Print _ Next j Print Next i End Sub(分数:2.00)填空项 1:_17.下列程序用于判断一个整数是否为质数,试将程序补充完整。 Private Sub Command1_Click() Dim n As Integer n = InputBox(“请输入“) t = Int(Sqr(n) i = 2 flag = 0 While i = t And flag = 0 If _ Then
12、flag = 1 Else: i = i + 1 End If Wend If _ Then Print “这是一个质数“ Else Print “这不是一个质数“ End If End Sub(分数:2.00)填空项 1:_18.下列程序是将数组 a的元素倒序交换,即第一个变为最后一个,第二个变为倒数第二个,依此类推。设数组中有 8个元素。完成下列程序。 Private Sub OrderChange(a() Dim i As Integer, Temp As Integer For i = 1 To 4 Temp = a(i) _ _ Next i End Sub(分数:2.00)填空项
13、1:_控制结构答案解析(总分:36.00,做题时间:90 分钟)一、B选择题/B(总题数:12,分数:24.00)1.下列程序段的执行结果为_。 Private Sub Command1_Click() n = 0 For a = 1 To 20 For b = 1 To 20 For c = 1 To 20 If a * a + b * b - c * c Then n=n+l End If Next c Next b Next a Print n End Sub(分数:2.00)A.9B.12 C.10D.11解析:2.单击命令按钮,下列程序段的输出结果为_。 Private Sub Co
14、mmand1_Click() Dim n As Integer n = 5 While n = 10 n = n + 2 Print n; Wend End Sub(分数:2.00)A.5 7 9 11B.6 8 10C.7 9 11 D.6 8 10 12解析:3.单击命令按钮,并在对话框内输入 6,下列程序段的执行结果为_。 Private Sub Command1_Click() Dim n As Integer n=InputBox (“请输入日期“) Select Case n Case Is = 0 n=InputBox(“错误!请重新输入日期!“) Case Is7 n=Inpu
15、tBox(“错误!请重新输入日期!“) Case 1 To 3 Print “江苏“ Case 4 To 5 Print “浙江“ Case 6 To 7 Print “双休日“ End Select End Sub(分数:2.00)A.错误!请重新输入日期!B.江苏C.浙江D.双休日 解析:4.单击命令按钮,并在对话框内依次输入 99,73,84,88,-1,下列程序段的执行结果为_。 Private Sub Command1_Click() Dim S As Single, max As Single, min As Single n=0 S=InputBox(“Please enter
16、a score“) max=S min=S Do While S=0 If Smax Then max=S End If If S min Then min=S End If S=InputBox(“Please enter a score“) n=n+1 Loop Print n; “:“; max, min End Sub(分数:2.00)A.4:99,88B.4;99,73C.4:99,73 D.4;99,88解析:5.执行下面的程序段后,x 的值为_。 x=5 For i=3 To 8 Step 2 x=x+1 Next i(分数:2.00)A.5B.6C.7D.8 解析:6.下列程序
17、段的执行结果为_。 Private Sub Command1_Click() a=1:b=1 Select Case a Case 1 Select Case b Case 0 Print “你好!“ Case 1 Print “Hello!“ End Select Case 2 Print“谢谢使用!“ End Select End Sub(分数:2.00)A.你好!B.谢谢使用!C.Hello! D.你好!谢谢使用!解析:7.单击命令按钮,并在对话框内依次输入 5,7,6 下列程序段的执行结果为_。 Private Sub Command1_Click() Dim n AS Integer
18、, a As Integer, b As Integer, c As Integer n = 0 For i = 1 To 3 a = InputBox (“请输入数字“) n = n+a*a If n 50 Then GoTo ex End If Next i ex: Print n End Sub(分数:2.00)A.25B.74 C.85D.110解析:8.执行以下程序段,如果在对话框中输入 8,输出结果是“Hello“的是_。(分数:2.00)A.n = InputBox(“请输入一个数“) Select Case n Case 7 To 1 Print “Hello“ End Sel
19、ectB.n = InputBox(“请输入一个数“) Select Case n Case Is1, Is 6 Print “Hello“ End SelectC.n = InputBox(“请输入一个数“) Select Case n Case Is 5, 1, 3 To 10 Print “Hello“ End Select D.n=InputBox(“请输入一个数“) Select Case n Case 1, 5, Is 9 Print “Hello“ End Select解析:9.下列程序段的执行结果为 Private Sub Command1_Click() a=InputBox
20、(“请输入 a值“) c=“您要查询的是“ n(分数:2.00)A.10 5 B.x nC.9 5D.10 6解析:11.下列程序段的执行结果为_。 x=5 y=3 If Not x 1 Then y=y+1 Else x=x-1 Print x;y(分数:2.00)A.5 3B.5 4C.3 4D.4 3 解析:12.下列程序段的执行结果为_。 Dim n As Integer n=10 While n 0 n=n-1 Wend Print “n=“; n(分数:2.00)A.n=0 B.n=1C.FalseD.n=-1解析:二、B填空题/B(总题数:6,分数:12.00)13.下列程序段的
21、输出结果为_。 Check = True: a = 1 Do a = a + 1 Check = Check + 1 Loop While a 10 print Check(分数:2.00)填空项 1:_ (正确答案:8)解析:14.在窗体上画一个命令按钮,其名称为 Commandl,然后编写如下程序: Function a(x As Integer, y As Integer) As Integer a = IIf(x y, x, y) End Function Private Sub Command1_Click() Dim n As Integer, m As Integer n = 1
22、0 m = 20 Print a(n, m) End Sub 程序运行后,单击命令按钮,输出结果是_。(分数:2.00)填空项 1:_ (正确答案:20)解析:15.下列事件过程的执行结果为在窗体中依次输出_、_、_和 _。 Private Sub Command1_Click() Dim c i = 0 c = Array(2, 4, 6, 8, 9) Do x = c(i) For j = 10 To x Step -2 n = j + x Next j Print n + j i = i + 1 Loop While j + n 22 End Sub(分数:2.00)填空项 1:_ (正
23、确答案:4 10 16 22)解析:16.下列程序用于输出一个主对角线上元素值为“*”,其他元素值为“#”的 55阶的方阵,试将程序补充完整。 Private Sub Command1_Click() Dim x(5, 5) For i = 1 To 5 For j = 1 To 5 If _ Then x(i, j) = * Else _ End If Print _ Next j Print Next i End Sub(分数:2.00)填空项 1:_ (正确答案:i=j x(i,j)=“#“ Print x(i,j);)解析:17.下列程序用于判断一个整数是否为质数,试将程序补充完整。
24、Private Sub Command1_Click() Dim n As Integer n = InputBox(“请输入“) t = Int(Sqr(n) i = 2 flag = 0 While i = t And flag = 0 If _ Then flag = 1 Else: i = i + 1 End If Wend If _ Then Print “这是一个质数“ Else Print “这不是一个质数“ End If End Sub(分数:2.00)填空项 1:_ (正确答案:n Mod i=0 flag=0)解析:18.下列程序是将数组 a的元素倒序交换,即第一个变为最后一个,第二个变为倒数第二个,依此类推。设数组中有 8个元素。完成下列程序。 Private Sub OrderChange(a() Dim i As Integer, Temp As Integer For i = 1 To 4 Temp = a(i) _ _ Next i End Sub(分数:2.00)填空项 1:_ (正确答案:a(i)=a(9-i) a(9-i)=temp)解析: