22. 设有如下程序段: Dim a(10) ... For Each x ln a Print x; Next x 在上面的程序段中,变量x必须是( )。
A.整型变量
B.变体型变量
C.动态数组
D.静态数组
A B C D
B
[解析] 本题考查For Each in的用法。For Each in是针对一个数组或集合中的每个元素,重复执行一组语句。语法格式: For Each element In group [Statements] Next [element] 注意:element为必选参数,用于遍历集合或数组中所有元素的变量。对于集合来说,element可能是一个Variant变量、一个通用对象变量或任何特殊对象变量,在本题中应该为变体型变量。group为必选参数,表示对象集合或数组的名称。statements为可选参数,针对group中的每一项执行的一条或多条语句。
23. 设有以下函数过程 Private Function Fun(a()As Integer, b As String)As Integer End Function 若已有变量声明: Dim x(5)as Integer, n As Integer, ch As String 则下面正确的过程调用语句是。
26. 设窗体上有一个名为Text1的文本框和一个名为Command1的命令按钮,并有以下事件过程: Private Sub Command1_Click() x!=Val(Text1. Text) Select Case x Case Is<-10, Is>=20 Print "输入错误" Case Is<0 Print 20-x Case Is<10 Print 20 Case Is<=20 Print x+10 End Select End Sub 程序运行时,如果在文本框中输入-5,则单击命令按钮后的输出结果是。
28. 阅读程序: Private Sub Command1_Click() Dim arr Dim i As Integer art=Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10) For i=0 To 2 Print arr(7-i); Next End Sub 程序运行后,窗体上显示的是。
29. 在窗体上画一个名为Command1的命令按钮,然后编写以下程序: Private Sub Command1_Click() Dim a(10)As Integer For k=10 To 1 Step-1 a(k)=20-2*k Next k k=k+7 Print a(k-a(k)) End Sub 运行程序,单击命令按钮,输出结果是。
30. 窗体上有一个名为Command1的命令按钮,并有如下程序: Private Sub Command1_Click() Dim a(10), x% For k=1 To 10 a(k)=Int(Rnd*90+10) x=x+a(k)Mod 2 Next k Print x End Sub 程序运行后,单击命令按钮,输出结果是。
31. 窗体上有一个名为Command1的命令按钮和一个名为Timed的计时器,并有下面的事件过程: Private Sub Command1_Click() Timer1. Enabled=True EndSub Private Sub Form_Load() Timer1. Interval=10 Timed. Enabled=False End Sub Private Sub Timer1_Timer() Command1. Left=Command1. Left+10 End Sub 程序运行时,单击命令按钮,则产生的结果是。
32. 设窗体上有一个名为List1的列表框,并编写下面的事件过程: Private Sub List1_Click() Dim ch As String ch=List1. List(List1. ListIndex) List1. RemoveItem List 1. ListIndex List1. AddItem ch End Sub 程序运行时,单击一个列表项,则产生的结果是。
33. 窗体上有一个名为Command1的命令按钮,并有如下程序: Private Sub Command1_Click() Dim a As Integer, b As Integer a=8 b=12 Print fun(a, b); a; b End Sub Private Function Fun(ByVal a As Integer, b As Integer)As Integer a=a Mod 5 b=b\5 Fun=a End Function 程序运行时,单击命令按钮,则输出结果是。
34. 为了从当前文件夹中读入文件File1.txt,某人编写了下面的程序: Private Sub Command1_C1ick() Open "File1.txt" For Output As #20 Do While Not EOF(20) Line Input#20, ch$ Print ch Loop Close #20 End Sub 程序调试时,发现存错误,下面的修改方案中正确的是。
A.在Open语句中的文件名前添加路径
B.把程序中各处的“20”改为“1”
C.把Prim ch语句改为Print #20, ch
D.把Open语句中的Output改为Input
A B C D
D
[解析] 打开顺序文件的基本格式为:Open FileName For Mode As #FileNumber。 其中,FileName表示要打开的文件的路径;Mode为文件打开模式:OutPut用于输出、Append用于追加写入、Input用于读取;FileNumber为打开文件时指定的句柄(文件号)。本题中是需要读取顺序文件中的数据,因此打开模式应该为。Input而不是Output。
35. 以下程序运行后的窗体如图所示。其中组合框的名称是Combo1,已有列表框如图所示;命令按钮的名称是Command1。 Private Sub Command 1_Click() If Not Check(Combo1. Text) Then MsgBox("输入错误") Exit Sub End If For k=0 To Combo1. ListCount-1 If Combo1. Text=Combo1.List(k)Then MsgBox("添加项目失败") Exit Sub End If Next k Combo1. AddItem Combo1. Text MsgBox("添加项目成功") End Sub Private Function Check(ch As String)As Boolean n=Len(ch) For k=1 To n c$=UCase(Mid(ch, k, 1)) If c<"A" Or c>"Z" Then Check=False Exit Function End If Next k Check=True End Function
6. 在窗体上有1个名称为Command1的命令按钮,并有如下事件过程和函数过程: Private Sub Command1_Click() Dim p As Integer p=m(1)+m(2)+m(3) Print p End Sub Private Function m(n As Integer)As Integer Static s As Integer Fork=1 To n s=s+1 Next m=s End Function 运行程序,单击命令按钮Command1后的输出结果为______。
7. 在窗体上画1个名称为Command1的命令按钮,然后编写如下程序: Private Sub Command1_Click() Dim m As Integer, x As Integer Dim flag As Boolean flag=False n=Val(InputBox("请输入任意1个正整数")) Do While Not flag a=2 flag= Do While flag And a<=Int(Sqr(n)) If n/a=n\a Then flag=False Else End If Loop If Not flag Then n=n+1 Loop Print End Sub
8. 以下程序的功能是:先将随机产生的10个不同的整数放入数组a中,再将这10个数按升序方式输出。请填空。 Private Sub Form_Click() Dim aAs Integer, i AS Integer Randomize i=0 Do num=Int(Rnd*90)+10 For j=1 To i '检查新产生的随机数是否与以前的相同,相同的无效 If num=a(j) Then Exit For End If Next j If j>i Then i=i+1 a(i)= End If Loop While i<10 For i=1 To 9 For j= To 10 If a(i)>a(j)Then temp=a(i): a(i)=a(j): Next j Next i For i=1 To 10 Print a(i) Next i End Sub
9. 窗体上已有名称分别为Dri、,e1、Dir1、Fite1的驱动器列表框、目录列表框和文件列表框,且有1个名称为Text1的文本框。以下程序的功能是:将指定位置中扩展名为“*.txt”的文件显示在File1中,如果双击File1中的某个文件,则在Text1中显示该文件的内容。 请填空。 Private Sub Form_Load() File1. Pattern= End Sub Private Sub Dirt1_Change() File1.Path=Dir1. Path End Sub Private Sub Drive1_Change() Dir1. Path=Drive1. Drive End Sub Private Sub File1_DblClick() Dim s As String *1 If Right(File1. Path, 1)="\"Then f_name=File1. Path+File1. FileName Else f_name=File1. Path+"\"+File1. FileName End If Open f_nameAs #1 Text1. Text="" Do While s=Input(1, #1) Text1. Text=Tex 1. Text+s Loop Close #1 End Sub