2005年9月计算机等级考试二级VB考前密卷[1]5
文章作者 100test 发表时间 2007:03:10 17:51:56
来源 100Test.Com百考试题网
(25)在窗体上画一个名称为Command1的命令按钮和一个名称为Text1的文本框,然后编写如下事件过程:_________。
Private Sub Command1_Click()
n=Val(Text1.Text)
For i=2 TO n
Forj=2 To Sqr(i)
If i Mod j=0 Then Exit For
Next j
If j>Sqr(i)Then Print i
Next i
End Sub
该事件过程的功能是_________。
A)输出n以内的奇数
B)输出n以内的偶数
C)输出n以内的素数
D)输出n以内能被j整除的数
答案:C
评析:素数只能被1和它本身整除(即不能被大于l且小于它本身的整数来整除)故要检查一个整数是不是素数,可以用大于1而小于它的所有整数来除它,如果可以整除,就不是素数,否则就是素数。为了缩短程序运行时间,通常是用所有不小于该整数的平方根的整数来除它就可以。在本程序中,用从2开始到小于等于被检测整数平方根的所有整数来对被检测整数取模,如果被检测整数可以被其中的某个整数整除,则不是素数。故本程序的功能是输出n以内的素数。
(26)在窗体上画一个名称为Text1的文本框,要求文本框只能接收大写字母的输入。以下 能实现该操作的事件过程是_________。
A)Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii < 65 or KeyAscii>90 Then
MsgBox"请输入大写字母"
KeyAscii=0
End If
End Sub
B)Private Sub Text1_KeyDown(KeyCode As Integer,Shift As Integer)
If KeyCode<65 Or KeyCode > 90 Then
MsgBox"请输入大写字母"
KeyCode=0
End If
End Sub
C)Private Sub Text1_MouseDown(Button As Integer,Shift As Integer,x As Single,Y As Single)
If Asc(Text1.Text)<65 0r Asc(Text1.Text)>90 Then
MsgBox"请输入大写字母"
End If
End Sub
D)Private Sub Text1 change()
If Asc(Text1.Text)>64 And Asc(Text1.Text)<91 Then
MsgBox"请输入大写字母"
End If
End Sub
答案:A
评析:Asc函数是将字符转化成ASCII码值。大写字母的ASCII码值为65-90(包括65和90)。KeyDown和KeyUp事件返回的是"键",而KeyPress事件返回的是"字符"的ASCII码。