7. 设a=2,b=3,c=4,d=5,下列表达式的值是______。 3>2*b Or a=c And b<>c Or b<>a+c
A.1
B.True
C.False
D.-1
A B C D
B
[解析] 一个表达式可能含有多种运算,计算机按一定的顺序对表达式求值。一般顺序如下:(1)首先进行函数运算;(2)接着进行算术运算,其次序为:算术运算符,幂运算符(^)优先级最高,其次是取负运算()、乘(*)、浮点除(/)、整除(\)、取模(Mod)、加(+)、减()、字符串连接符(&);(3)然后进行关系运算(=、>、<、<>、<=、>=);(4)最后进行逻辑运算(Not、And、or、Xor、Eqv、Imp) 本题先计算“2*b=6、a+c=5”,然后计算“3>2*b=False”、“a=c=False”、“b<>c=True”、“b<>a+c=True”,那么表达式转化为“False Or False And True Or True”,所以最后结果为“True”。
8. 对用MsgBox显示的消息框,下面 ______ 是错的。
A.可以有一个按钮
B.可以有两个按钮
C.可以有三个按钮
D.可以有四个按钮
A B C D
D
[解析] MsgBox函数的按钮组合中最多只能有三个按钮。
9. 若看到程序中有以下事件过程,则可以肯定的是,当程序运行时______。 Private Sub Click_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Print "VB Program" End Sub
15. 设窗体上有一个名称为List1的列表框,其中有若干列表项,并有下面的事件过程: Private Sub List1_DblClick() For i=0 To List1.ListCount-2 k=i For j=k To List1.ListCount-1 If List1.List(j)>List1.List(k) Then k=j End If Next j st$=List1.List(k) List1.List(k)=List1.List(i) List1.List(i)=st$ Next i End Sub 程序运行时,双击某个列表项则产生的结果是______。
18. 假定有下列两个过程: Private Sub PPP(a As Single, b As Single) a=a+b Print a, b b=a+b Print a, b End Sub Private Sub Form_Activate() x=18 Call PPP((x), (x)) Print x End Sub 则下列说法中不正确的是。
21. 设有如下数组定义语句: Dim a(-1 To 4,3)As Integer 以下叙述中正确的是______。
A.a数组有18个数组元素
B.a数组有20个数组元素
C.a数组有24个数组元素
D.语法有错
A B C D
C
22. 某人编写了下面的程序 Private Sub Command1_Click() Dim a As Integer, b As Integer a=InputBox("请输入整数"):b=InputBox("请输入整数") pro a:pro b Callpro(a+b) End Sub Private Sub pro(n As Integer) While(n>0) Print n Mod 10; n=n\10 Wend Print End Sub 此程序功能是:输入2个正整数,反序输出这2个数的每一位数字,再反序输出这2个数之和的每一位数字。例如:若输入123和234,则应该输出:3 2 1 4 3 2 7 5 3但调试时发现只输出了前2行(即2个数的反序),而未输出第3行(即2个数之和的反序),程序需要修改。下面的修改方案中正确的是
23. 下面程序运行时,单击窗体后,窗体上显示的结果是______。 Private Sub Form_Click() Dim i As Integer,sum As Long DimtAs Long t=1:sum=0 For i=1 To 3 t=t*i sum=sum+t Next i Print sum End Sub
26. 阅读程序: Option Base 1 Private Sub Form_Click() Dim Arr(3, 3) As Integer For i=1 To 3 For i=1 To 3 If j=i Or j=3-i+1 Then Arr(i, j)=1 Else Arr(i, j)=0 End If Next j Next i For i=1 To 3 For j=1 To 3 Print Arr(i, j); Next j Print Next i End Sub 程序运行后,如果单击窗体,则输出结果为
27. 窗体上有一个名称为Command1的命令按钮,其事件过程如下: Private Sub Command1_Click() Dim s As String Open "c:\File1.txt" For Input As #1 Open "c:\File2.txt" For Input As #2 Do While Not EOF(1) Input #1,s Print #2,s Loop Close #1,#2 End Sub 关于上述程序,以下叙述中错误的是______。
A.程序把File1.txt文件的内容存放到File2.txt文件中
B.程序中打开了两个随机文件
C.程序中打开了两个顺序文件
D.“EOF(1)”中的“1”对应于File1.txt文件
A B C D
B
[解析] 很显然,本题选项B和C是矛盾的,有一个选项必然是错误的。这里就要弄清楚打开随机文件和顺序文件的区别。打开随机文件的一般格式为: Open "文件名称" For Random As#文件号[Len=记录长度] Random指明打开的是随机文件。打开一个随机文件后即可以进行写操作,也可以进行读操作,不需要指定输入输出方式。Input或者Output分别用于指定顺序输入和顺序输出方式。
38. 下面程序运行后,单击命令按钮,输出的结果是______。 Private Sub Command1_Click() Dim a%(1 To 4),b%(2 To 6),i%,str1#,str2# For i=1 To 4 a(i)=i Next For i=2 To 6 b(i)=i Next str1=YAG(A) str2=YAG(B) Print"str1=";str1;"str2=";str2 End Sub Function YAG(a()As Integer) Dim t#,i% For i=LBound(A)To UBound(A) t=t*a(i) Next YAG=t End Function
39. 在窗体上画一个命令按钮(名称为Command1),并编写如下代码: Function Fun1(By Val a As Integer,b As Integer)As Integer Dim t As Integer t=a-b:b=t+a:Fun1=t+b End Function Private Sub Command1_Click() Dim x As Integer x=10 Print Fun1(Funl(x,(Fun1(x,x-1))),x-1) End Sub 程序运行后,单击命令按钮,输出结果是______。