1.选择题- (共7题)
1.
有如下VB程序:
Dim i As Integer,j As Integer,k As String,n As Integer
n=3
List1.Clear
For i=1 To n
k=“”
For j=1 To i
k=k+“*”
Next j
List1.AddItem k
Next i
该程序运行中,在列表框List1中显示的是( )
Dim i As Integer,j As Integer,k As String,n As Integer
n=3
List1.Clear
For i=1 To n
k=“”
For j=1 To i
k=k+“*”
Next j
List1.AddItem k
Next i
该程序运行中,在列表框List1中显示的是( )
A.![]() | B.![]() |
C.![]() | D.![]() |
3.
下列VB程序段用于比较两个等长的字符串a和b,并在标签Label1中显示比较结果:如果a和b完全相同,则输出“完全相同”,否则在输出结果中指出第1个不相同字符的位置。
k=0 ’整数型变量k用于记录第1个不相同字符的位置
For i=1 To Len(a) ’字符串变量a用于存储第1个字符串
key=Mid(a,i,1)
If key<>Mid(b,i,1) Then ’字符串变量b用于存储第2个字符串
Exit For
End If
Next i
If k=0 Then
Label1.Caption=“完全相同”
Else
Label1.Caption=“第”+Str(k)+“个字符不相同”
End If
方框中的正确语句是( )
k=0 ’整数型变量k用于记录第1个不相同字符的位置
For i=1 To Len(a) ’字符串变量a用于存储第1个字符串
key=Mid(a,i,1)
If key<>Mid(b,i,1) Then ’字符串变量b用于存储第2个字符串
Exit For
End If
Next i
If k=0 Then
Label1.Caption=“完全相同”
Else
Label1.Caption=“第”+Str(k)+“个字符不相同”
End If
方框中的正确语句是( )
A.k=i | B.k=0 |
C.k=1 | D.k=len(a) |
4.
某宾馆的房间号由5位字符组成(例如A0823表示A幢8层33号房间),末位数字为奇数时表示房间朝南、为偶数时表示房间朝北。字符串变量s中存储了1个房间号,下列能正确判断房间朝南的VB表达式是( )
A.Val(Mid(s,5,1))Mod 2=1 |
B.Val(Mid(s,5,1))Mod 2=0 |
C.Val(Mid(s,5,1))\2=1 |
D.Val(Mid(s,5,1))\2=0 |
6.
下列问题不能用算法描述的是( )
A.已知a、b、c的值,求一元二次方程ax2+bx+c=0(a≠0)的实数根 |
B.计算某个班级学生身高的平均值 |
C.列出方程y=2x+1的所有实数解 |
D.根据三角形三边长度求三角形面积 |
2.填空题- (共4题)
8.
下面VB程序的功能是求100~999间被3除多2,被5除多3的所有整数,并统计符合条件的数的个数。
Private Sub Command1_Click( )
Dim i As Integer,P As Integer
p=0
For i=100 To 999
If __①__ Then
List1.AddItem Str(i)
②__
End If
Next i
List1.AddItem Str(p)
End Sub
为实现上述功能,请在程序划线处填入合适的语句:
划线①处应填入的语句为:_____________________________________;
划线②处应填入的语句为:_____________________________________。
Private Sub Command1_Click( )
Dim i As Integer,P As Integer
p=0
For i=100 To 999
If __①__ Then
List1.AddItem Str(i)
②__
End If
Next i
List1.AddItem Str(p)
End Sub
为实现上述功能,请在程序划线处填入合适的语句:
划线①处应填入的语句为:_____________________________________;
划线②处应填入的语句为:_____________________________________。
9.
下面VB程序的功能是判断一个整数是否为素数。在文本框Text1中输入一个整数x,如果x是素数,则在标签Label1中显示“Y”,否则显示“N”。程序中有两处错误,请改正。
Private Sub Command1_Click( )
Dim i As Integer,x As Integer,pd As Boolean
Val(Text1.Text)=x
pd=True
i=1
Do While i<x And pd=True
If x Mod i=0 Then
pd=False
Else
i=i+1
End If
Loop
If pd=True Then
Label1.Caption=“Y”
Else
Label1.Caption=“N”
End If
End Sub
错误语句1:________改为:________;
错误语句2:________改为:________。
Private Sub Command1_Click( )
Dim i As Integer,x As Integer,pd As Boolean
Val(Text1.Text)=x
pd=True
i=1
Do While i<x And pd=True
If x Mod i=0 Then
pd=False
Else
i=i+1
End If
Loop
If pd=True Then
Label1.Caption=“Y”
Else
Label1.Caption=“N”
End If
End Sub
错误语句1:________改为:________;
错误语句2:________改为:________。
10.
用VB编写一个字符串分行程序,功能如下:单击“分行”按钮Command1,将文本框Text1中的英文文本在列表框List1中分行显示(分行时单词不得跨行,每行字符尽可能多但不超过40个),并在标签Label1中输出总行数,运行效果如图所示。分行算法如下:
(1)将文本框中的字符串保存到变量s中;
(2)当s中字符个数超过40时,循环执行下列①②③步,否则跳转到(3):
①如果第41个字符不是英文字母,则分行位置p=40;否则,向左逐个查找,直至找到第一个非英文字母,将其位置作为分行位置p;
②截取s的前p个字符,作为新增行显示在列表框List1中,同时总行数加1;
③将s中未分行部分重新赋值给变量s。
(3)将s作为新增行显示在列表框List1中,同时总行数加1。

实现上述功能的VB程序如下,请在画线处填入合适代码。
Private Sub Command1_Click( )
Dim s As String,c As String
Dim r As Integer,total As Integer,p As Integer
total=0
s=__(1)__
Do While Len(s)>40
r=41
c=Mid(s,r,1)
If Not((c>=“a” And c<=“z”)Or(c>=“A” And c<=“Z”)) Then
p=40
Else
’从第41个字符开始向左找到第1个非英文字母,并将其位置值赋给p
Do While(c>=“a” And c<=“z”)Or(c>=“A”And c<=“Z”)
r=__(2)__
c=Mid(s,r,1)
Loop
p=r
End If
List1.AddItem Mid(s,1,p)
total=total+1
s=__(3)__
Loop
List1.AddItem s
total=total + 1
Label1.Caption=“共”+Str(total)+“行”
End Sub
(1)将文本框中的字符串保存到变量s中;
(2)当s中字符个数超过40时,循环执行下列①②③步,否则跳转到(3):
①如果第41个字符不是英文字母,则分行位置p=40;否则,向左逐个查找,直至找到第一个非英文字母,将其位置作为分行位置p;
②截取s的前p个字符,作为新增行显示在列表框List1中,同时总行数加1;
③将s中未分行部分重新赋值给变量s。
(3)将s作为新增行显示在列表框List1中,同时总行数加1。

实现上述功能的VB程序如下,请在画线处填入合适代码。
Private Sub Command1_Click( )
Dim s As String,c As String
Dim r As Integer,total As Integer,p As Integer
total=0
s=__(1)__
Do While Len(s)>40
r=41
c=Mid(s,r,1)
If Not((c>=“a” And c<=“z”)Or(c>=“A” And c<=“Z”)) Then
p=40
Else
’从第41个字符开始向左找到第1个非英文字母,并将其位置值赋给p
Do While(c>=“a” And c<=“z”)Or(c>=“A”And c<=“Z”)
r=__(2)__
c=Mid(s,r,1)
Loop
p=r
End If
List1.AddItem Mid(s,1,p)
total=total+1
s=__(3)__
Loop
List1.AddItem s
total=total + 1
Label1.Caption=“共”+Str(total)+“行”
End Sub
11.
下列VB程序实现如下功能:程序运行时,在文本框Text1和Text2中分别输入x和n的值,单击命令按钮Command1后,调用函数f计算s=x+++…+的值,并在文本框Text3中显示计算结果。请在划线上填入合适的代码。
Private Sub Command1_Click( )
Dim x As Single,n As Integer,s As __①__
x=Val(Text1.Text)
n=Val(Text2.Text)
s=f(x,n)
Text3.Text=str(s)
End Sub
Private Function f(x As Single,n As Integer) As Single
Dim sum As Single,i As Integer,t As Single
sum = 0
t=1
For i=1 To n
t=t*x/i
sum=sum+t
Next i
____②____
End Function
填写划线①处代码_____________________________________。
填写划线②处代码______________________________________。
Private Sub Command1_Click( )
Dim x As Single,n As Integer,s As __①__
x=Val(Text1.Text)
n=Val(Text2.Text)
s=f(x,n)
Text3.Text=str(s)
End Sub
Private Function f(x As Single,n As Integer) As Single
Dim sum As Single,i As Integer,t As Single
sum = 0
t=1
For i=1 To n
t=t*x/i
sum=sum+t
Next i
____②____
End Function
填写划线①处代码_____________________________________。
填写划线②处代码______________________________________。
试卷分析
-
【1】题量占比
选择题:(7道)
填空题:(4道)
-
【2】:难度分析
1星难题:0
2星难题:0
3星难题:0
4星难题:0
5星难题:0
6星难题:0
7星难题:0
8星难题:0
9星难题:11