武汉职业技术学院 《Visual Basic程序设计》试卷一 单项选择题。(共14分,每小题2分) 1.下列哪个符号不能作为VB中的变量名?( ) (A)timefly (B)pass4 (C)min4max (D)R[8] 2.函数Int( 6 * RND )+1的值是在哪个范围内的整数?( ) (A) [0,6] (B) [0,7] (C) [1,6] (D) [1,7] 3.语句Dim x As Integer作用是:将x定义为( )变量。 (A)单精度型 (B)整型 (C) 布尔型 (D)字符型 4. Int(—3.14)的值是:( ) —3 (B) —3.14 (C) —4 (D) 3.14 5.设A=7,B=3,C=4, 则A MOD 3 + B ^ 3 / C \ 5 的值是( ) (A) 2 (B) 3 (C) 4 (D) 5 6.Len(“Friend”)的值是( ) 6 (B) 7 (C)8 (D) 9 7. Right ( “banana”, 4 )的值是( ) (A) ba (B) banana (C) nana (D) ban 判断对错。(共 15 分, 每小题1.5分) (正确的打“√”,错误的打“×”) 1.语句Text1.Caption=”Pretty” 的语法是正确的。 ( ) 2.Input语句产生一个具有提示信息并可供用户输入数据 的对话框。 ( ) 3.语句Dim i , j As Single 作用是:将 i, j定义为 单精度型变量。 ( ) 4.复选框列出可供用户选择的选项,用户根据需要只能选定其中的一项。 ( ) 5.如果使用Option Base 2, 则表示缺省的数组下界为2。( ) 6.下列程序段的语法是正确的。 ( ) Redim a ( 2 , 4 ) …… Redim preserve a ( 2 , 8) 7. 下列程序段的语法是正确的。 ( ) Select Case num Case 1, 2: x=0.15 Case 2, 3: x=0.42 End Select 8.图像框(ImageBox)的Stretch(拉伸)属性设为True 时,装入的图形可根据图像框的大小自动压缩或扩大。( ) 9.下列程序段的语法是正确的。 ( ) If x >0 Then x=x + 2 Else x=x ?2 End If 10.鼠标左键单击”工具”菜单中的”菜单编辑器”菜单项就可打开”菜单编辑器”窗口。 ( ) 将下列命题用VB布尔表达式表示。(共 4分, 每小题2分) A不等于C, 并且B大于C。 密码为“happy”或输入次数大于等于3次。其中密码用变量password表示,输入次数用变量count表示。 写出程序(段)的输出结果。(共 10 分, 每小题5分) 1.Private Sub Command1_Click( ) Dim S as integer, N as integer S=0 m=1 Do While m<=5 S=S+m m=m+1 Loop Label1.Caption=Str(S) End Sub 运行程序,单击Command1按钮,在下面的Label1中显示 Label1 Sub tryout( x As Integer, ByVal y As Integer) x=x+100 y=y*6 Print “x=” ; x , ”y=” ; y End Sub Sub Form_Click( ) Dim a As Integer, b As Integer a=10: b=20 tryout a , b Print “a=” ; a , ”b=” ; b End Sub 运行程序,单击窗体Form1,在窗体上显示: 程序填空。(共 24 分, 每空2分) 1.编写一个计算矩形面积的Sub过程,然后调用该过程计算矩形面积。 Private Sub Form_Click( ) Dim A As Single, B As (1) A = Val(InputBox("What is the length? ")) B =Val( InputBox("What is the width? ")) Call Recarea ( (2) , B ) End Sub Sub Recarea(Rlen As Single, Rwid As Single) Dim Area As Single Area = (3) MsgBox "Total Area is " & (4) ‘输出矩形面积 End Sub (1) (2) (3) (4) 2.求1到8的阶乘之和。 Private Sub Command1_Click() Dim i As Integer, j As Integer, n As Integer Dim sum1 As Long, sum2 As Long n = (5) sum1 = (6) For i = 1 To n sum2 = (7) For j = 1 To i sum2 = (8) Next j sum1 = (9) Next i Label1.Caption = Label1.Caption + Str(sum1) End Sub (5) (6) (7) (8) (9) 3. 在下列事件过程中,如果选中复选框1,则文本变成斜体,如果选中复选框2,则Text1的背景色变成蓝色。 Private Sub Check1_Click( ) If Check1.Value=1 Then Text1. FontItalic= (10) Else Text1.FontItalic=False End If End Sub Private Sub Check2_Click( ) If Check2.Value=1 Then Text1. (11) =vbBlue Else Text1. (11) =vbBlack End If End Sub 如果选中单选框1,则文本字体为宋体,如果选中单选框2,则文本字体为黑体。其代码如下: Private Sub Option1_Click( ) Text1.FontName= (12) End Sub Private Sub Option2_Click( ) Text1.FontName=”黑体” End Sub (10) (11) (12) 编程题。( 6题中选3题做, 共33分) (如果地方不够,可以写在试卷背面,请注明题号) 1. 设计一个简单的加减计算器,输入两个数,然后选择所需的运算符“+”或“?“,其结果显示在一个文本框中。(11分) 2利用滚动条去控制窗体的背景色随滚动条的值的改变而改变。(11分) 3.利用标签和计时器设计电子钟。 (11分) 4.输入某班45名同学的数学成绩,并计算该班数学成绩的总分,平均分(11分) 5. 利用For循环,在列表框List1中显示1—200之间能被4整除的自然数。(11分) 6. 在实际应用中,驱动器列表框、目录列表框和文件列表框往往需要同步操作,请编写程序使三者同步。(11分) 《Visual Basic程序设计》试卷一答案 单项选择题。 1.D 2.C 3.B 4.C 5.A 6.B 7.C 判断对错。 1. X 2. √ 3.X 4.X 5. √ 6. √ 7. X 8. √9.X10. √ 将下列命题用VB布尔表达式表示。 1.A<>C And B>C 2.password=”happy” or count>=3 四、写出程序(段)的输出结果。 1. 15 2. x= 110 y= 120 a= 110 b= 20 程序填空。 (1) Single (2) A (3) Rlen*Rwid (4) Area (5) 8 (6) 0 (7) 1 (8) sum2*j (9)sum1+sum2 (10)True (11) BackColor (12)”宋体” 编程题。 即:书上30页例1.7 Private Sub lblAdd_Click( ) Dim s1, s2, add As Single s1 = Val(Text1.Text) s2 = Val(Text2.Text) add = s1 + s2 txtResult.Text = Str(add) End Sub Private Sub lblRemove_Click( ) Dim s1, s2, s As Single s1 = Val(Text1.Text) s2 = Val(Text2.Text) s = s1 - s2 txtResult.Text = Str(s) End Sub 即:书上112页4.6题 Private Sub HScroll1_Change( ) Label2.Caption = HScroll1.Value Form1.BackColor = RGB(HScroll1.Value, HScroll2.Value, HScroll3.Value) End Sub Private Sub HScroll2_Change( ) Label4.Caption = HScroll2.Value Form1.BackColor = RGB(HScroll1.Value, HScroll2.Value, HScroll3.Value) End Sub Private Sub HScroll3_Change( ) Label6.Caption = HScroll3.Value Form1.BackColor = RGB(HScroll1.Value, HScroll2.Value, HScroll3.Value) End Sub 即:书上106页例4.9 Private Sub Timer1_Timer( ) Label2.Caption = Now() End Sub 即:书上122页例5.5 Private Sub Command1_Click( ) Dim score(1 To 5) As Single Dim i As Integer, sum As Single Dim aver As Single, str1 As String sum = 0 For i = 1 To 5 str1 = "请输入第" + Str(i) + "门课的成绩:" score(i) = Val(InputBox(str1, "输入成绩")) sum = sum + score(i) Next i aver = sum / 5 Label1.Caption = Label1.Caption + Str(sum) Label2.Caption = Label2.Caption + Str(aver) End Sub Private Sub Command1_Click( ) Dim i As Integer List1.Clear For i = 40 To 300 If i Mod 7 = 0 Then List1.AddItem i Next i End Sub 即:书上211页例9.5 的主要部分 Private Sub Dir1_Change( ) File1.Path = Dir1.Path '设置文件列表框路径 End Sub Private Sub Drive1_Change( ) Dir1.Path = Drive1.Drive '使目录列表框中的路径与驱动器列表同步变化 End Sub