内容正文:
调试程序
学校:___________姓名:___________班级:___________考号:___________
一、选择题
1.下列 VB 程序段功能为:通过冒泡排序,最终数组元素 a(x)到 a(y)内的数实现升序排列,
x = Val(Text1.Text)
y = Val(Text2.Text)
For i = (1)
For j = (2)
If a(j) > a(j + 1) Then
a(j) = a(j) + a(j + 1):a(j + 1) = a(j) - a(j + 1):a(j) = a(j) - a(j + 1)
End If
Next j
Next i
上述程序段中横线处可选语句为:
则(1)(2)处依次填入的语句组合正确的有( )
A.①②③④ B.①③ C.②③④ D.①④
2.某VB程序段如下:
Dim i As Integer, n As Integer, k As Integer, s As String
n = Val(Text1.Text):k = 1: s = ""
Do While 2
k < n k = k + 1
Loop
Do While n <> 0
If n >= 2 ^ (k -1) Then
s = s + "1"
n = n - 2 ^ (k -1)
Else
s = s + "0"
End If
k = k - 1
Loop
For i= 1 To k
s = s + "0"
Next i
在文本框Text1输入12,执行该程序段后,变量s、k的值分别为( )
A."1100"、2 B."11"、2
C."0011"、4 D."1100"、4
3.小明编写VB 程序,实现从某一字符串删除指定的连续字符串,并将处理后的字符串重新输出, 在文本框Text1中输入原始字符串,在文本框Text2 中输入需要删除的连续字符串,单击Command1 后,在文本框Text3中输出处理后的结果。实现该功能的VB程序段如下:
Dim x As Integer, result As String,p As String, k As String
result = "":p = Text1.Text:k = Text2.Text
For x = 1 To Len(p) -Len(k) + 1
If (1) Then
result = result + Mid(p, x, 1)
Else
(2)
End If
Next x
Text3.Text = (3)
上述程序段中横线处可选语句为:
① Mid(s, x, Len(k)) = k
② Mid(s, x, Len(k)) <>
k
③ x = x +
Len(k) – 1
④ x = x + Len(k)
⑤ result + Mid(p, x)
⑥ result
则(1)(2)(3)处填入的语句依次为( )
A.①③⑤
B.②④⑥
C.②③⑤
D.①④⑥
4.要实现将整数变量a、b和c中的最大值存变量m,下列VB程序段中不正确的是( )
A. B.
C. D.
5.下列 VB 表达式值最大的是( )
A.Sqr(Abs(-9.7)) B.Len(Mid("丽水 2021",3,2))
C.Int(Rnd()*3+1) D.123 Mod 100 \10
6.有如下VB程序段:
a=Int(Rnd*20)*2+11
r=0:s
=""
Do While a>0
r=a Mod 7
s=r&s
a=a\7
Loop
执行该程序段后,变量s的值不可能是( )
A."16" B."23" C."64" D."100"
7.数组a各元素的值为[1,9]的随机整数,使其分布在3×3的表格中,如图所示。
a(1)
a(2)
a(3)
a(4)
a(5)
a(6)
a(7)
a(8)
a(9)
For i=1 To 2
For j=1 T0 9-3*i
If a(j)>a(j+3)Then
t=a(j):a(j)=a(j+3):a(j+3)=t
End If
Next j
Next i
执行该程序段后,其结果可能是( )
A. B. C. D.
8.VB 表达式 Int(Rnd * 2) * 30 +10 +Int(Rnd * 100) Mod 10 的值可能是( )
A.6 B.16 C.26 D.36
9.VB表达式Int(Rnd+1)*5+2 Mod 6的值是( )
A.1 B.5 C.7 D.12
10.在VB中,表达式321+“54”的运算结果是( )。