快乐的小2b
一、 选择
(单选题,每小题1分,计20分) 1(在一个语句内写多条语句时,用来分隔每条语句的符号是 (A),(B):(C)、(D);
2(一句语句要在下一行继续写,续行符是
(A)+(B)-(C)_(D)„
3(下面4项中合法的变量名是
(A)X_yz(B)123abc(C)integer(D)X-Y 4(下面4项中不合法的整常数是
(A)100(B)&O100(C)&H100(D)%100 5(下面4项中合法的字符常数是
(A)ABC$(B)“ABC”(C)‘ABC’(D)ABC 6(下面4项中不合法的单精度常数是
100~(B)100.0(C)1E+2(D)100.0D+2 (A)
7.若要定义全局的结构类型,应在其中定义的模块是 (A) 窗体级模块 (B)工程 (C)类模块 (D)
模块 8(数学关系3?x,10
示成正确的VB表达式为 (A)3,=x,10(B)3,=x AND x,10 (C)x,=3 OR x,10(D)3,=x AND ,
10
9(\、/、Mod、*这4个算述运算符中,优先级别最低的是 (A)\(B)/(C)Mod(D)*
ab
3cd10(数学表达式对应VB不正确的表达式是 (A)a*b/(3*c*d) (B)a/3*b/c/d(C)a*b/3/c/d(D)a*b/3*c*d
11(Rnd函数的值不可能为
(A)0(B)1(C)0.1234(D)0.0005 12.下面程序段:
Dim x
x=Int(Rnd)+5
Select Case x
Case 5
Print“优秀”
Case 4
Print“良好”
Case 3
Print“通过”
Case Else
Print“不通过”
End Select
显示的结果是
(A)优秀(B)良好(C)通过(D)不通过
13.下面If语句统计满足性别为男、职称为副教授以上、年龄小于40岁条件的人数,不正确的语句是
(A)If sex=“男”And age,40 And InStr(duty,“教授”),0 Then n=n+1
(B)If sex=“男”And age,40 And (duty=“教授”Or duty=“副教授”) Then
n=n+1
(C)If sex=“男”And age,40 And Right(duty,2)= “教授” Then n=n+1
(D)If sex=“男”And age,40 And duty=“教授”And duty=“副教授” Then n=n+1
14.下面程序段求两个数中的大数,不正确的是
(A)Max=IIf(x,y,x,y) (B)If x,y Then Max=x Else Max=y
(C)Max=x (D)If y,=x Then Max=y
If y,x Then Max=y Max=x 15.以下正确的For„Next结构是
(A)For x=1 To Step 10
„
Next x
(B)For x=3 To -3 Step -3
„
Next x
(C)For x=1 To 10
re: „
Next x
If i=10 Then GoTo re (D)For x=3 To 10 Step 3
„
Next y
16(下列循环能正常结束循环的是
(A)i=5
Do
i=i+1
Loop Until i,0
(B) i=1
Do
i=i+2
Loop Until i=10
(C)i=10
Do
i=i+1
Loop Until I,0
(D) i=6
Do
i=i-2
Loop Until I=1
17.下面程序段:
For I=3 To 1 Step -1
Print Spc(5-i);
For j=1 To 2*I-1
Print “*”;
Next j
Print
Next i
的运行结果为
(A)* (B)* (C)* (D)*****
*** *** *** ***
***** ***** ***** * 18.下列程序:
Private Sub Textl _Change()
Print Textl
End Sub
当在文本框输入“ABCD”这4个字符时,窗体上显示的是
(A) ABCD (B)A (C)AABABCABCD (D)A
B AB
C ABC
D ABCD 19.下面程序段:
Dim x
If x Then Print x Else Print x+1 运行后,显示的结果是
(A)1(B)0(C)-1(D)显示出错信息 (学委说没有正确
结果应该是1) 20.结构化程序由3种基本结构组成,下面属于3种基本结构之一的是 (A)递归结构(B)选择结构(C)过程结构(D)输入、输出结构
二、填空题(每空0.5分,计10分)
1( VB 6.0提供了一种新的数据库访问技术,即 【1】ADO ,通过该技术,能方便地访问多种数据库中的数据。
2( 当进入VB集成环境后,发现没有显示“工具箱”窗口,应选择 【2】 菜单的 【3】 选项,使“工具箱”窗口显示。
3( VB是一种面向 【4】 的程序
语言,采用了 【5】 编程机制。 4( 在VB中,要显示程序代码,必须在 【6】 窗口;要设计程序的运行界面,必须在 【7】 窗口。
5.可以通过多种方式启动Visual Basic,其中的两种方式是____【8】 __和__【9】 ___。
6.可以通过__【10】 _菜单中的_【11】 __命令退出Visual Basic。 7.退出Visual Basic的快捷键是___【12】__。
【13】__个主菜单项。 8.Visual Basic6.0的菜单栏共有__
9.快捷键Ctrl+O的功能相当于执行【14】 _菜单中的___【15】_命令;或者相当于单击工具栏上的__【16】 _按钮。
10.属性窗口由_【17】 __、【18】 __、【19】 _、_【20】 _四部分组成。 三、完善程序(在划线处填写正确的语句,使其程序完整。每题3分,计30分)
1、在痕迹检验学中,可以根据测出的赤足足迹的长度,粗略计算出嫌疑人的身高。计算公式是:身高(cm)=赤足实长?5.5+32.5 程序如下:
Private Sub Command1_Click()
'计算身高
Dim x As Single, H As Single
x = Val (Text1.Text)
H = x * 5.5 + 32.5
Label3.Caption = "此人身高是:" + Str(H) + "cm" End Sub
Private Sub Command2_Click()
'退出程序
End
End Sub
2、编写一个提示对话框。对话框的标题是“Operation Dialog Box”,提示信息是“要继续吗,”,显示“终止”、“重试”及“忽略”按钮和“,”图标,第一个命令按
钮默认活动按钮。程序如下:
Private Sub Form_Click()
msg1$ = " 要继续吗,"
msg2$ = "Operation Dialog Box"
r = MsgBox(msg1$, 34 , msg2$)
Print r
End Sub
3、编写程序,用MsgBox函数判断是否继续执行。程序如下: Private Sub Form_Click()
msg$ = "请确认输入的警号是否正确"
Title$ = "数据确认对话框"
x = MsgBox( msg$ , 3 + 16 + 0, Title$)
If x = 6 Then
Print "输入的数据正确~"
ElseIf x = 7 Then
Print "请重新输入:"
End If
End Sub
4、显示学生成绩的不同等级。考试成绩占70%,平时成绩满分为30分。先计算综合成绩,再判断成绩等级。程序如下:
Private Sub Command1_Click()
Dim kaoshi As String, pingshi As String, zonghe As String
kaoshi = Val(Text1.Text)
pingshi = Val(Text2.Text)
zonghe = kaoshi * 0.7 + pingshi
If zonghe >= 90 Then Label3.Caption = "你的综合成绩是:" + Str(zonghe) + ",成绩优秀~" Else If zonghe < 60 Then Label3.Caption = "你的综合成绩是:" + Str(zonghe)
+ ",成绩不及格~" Else Label3.Caption = "你的综合成绩是:" + Str(zonghe) + ",成绩良好~"
End Sub
Private Sub Command2_Click()
Text1.Text = ""
Text2.Text = ""
Label3.Caption = ""
Text1.SetFocus
End Sub
Private Sub Command3_Click()
End
End Sub
5、显示学生成绩的不同等级。考试成绩占70%,平时成绩满分为30分。先计算综
合成绩,再判断成绩等级。程序如下:
Dim n As Single
Dim n1 As Single
Dim n2 As Single
Dim Score As Single
Dim Total As Single
Private Sub Command1_Click()
msg$ = "请输入成绩(负数结束)"
Title$ = "输入数据"
Start:
Score = Val(InputBox( msg$,Title$ ))
If Score < 0 Or Score > 100 Then
GoTo Finish
Else
Total = Total + Score
n = n + 1
If Score < 60 Then
n1 = n1 + 1
Else
n2 = n2 + 1
End If
End If
GoTo Start
Finish:
End Sub
Private Sub Command2_Click()
Text1.Text = Str(n2)
Text2.Text = Str(n1)
Text3.Text = Str(Total / n) End Sub
Private Sub Command3_Click()
n = 0: n1 = 0: n2 = 0: Score = 0: Total = 0
End
End Sub
6、设计一个程序,在Text1中输入警号,单击“确定”按钮,在Text2中显示学生
所在的系名 。程序如下:
Private Sub Command1_Click()
Dim Police As String
Dim x As Single
Police = Text1.Text
If Len(Police) <> 6 Or Left(Police, 2) <> "X6" Then
If MsgBox("请重新输入(以X6开头,共6位)", 0 + 48 + 0, "信息提示") = 1
Then
Text1.Text = ""
Text1.SetFocus
End If
End If
x = Val(Mid(Police, 3, 1))
Select Case x
Case 1
Text2.Text = "侦查系"
Case 2
Text2.Text = "技术系"
Case 3
Text2.Text = "管理系"
Case 4
Text2.Text = "监所系"
Case 6
Text2.Text = "警训系"
Case 7
Text2.Text = "信息系"
End Select
End Sub
Private Sub Command2_Click()
Text1.Text = ""
Text2.Text = ""
Text1.SetFocus
End Sub
Private Sub Command3_Click()
End
End Sub
7、给定一个整数n(n大于2),判断是否为素数。程序如下: Private Sub Command1_Click()
Dim n As Single
Dim flag As Boolean
n = Val(Text1.Text)
flag = False
For i = 2 To n - 1
If (n Mod i) = 0 Then flag = True
If flag = True Then Exit For
Next i
If flag = True Then
Print n; "不是素数~"
Else
Print n; "是素数~"
End If
End Sub
Private Sub Command2_Click()
Text1.Text = ""
Text1.SetFocus
Cls
End Sub
Private Sub Command3_Click()
End
End Sub
8、学校现有教职工458人,以每年2.5%的增长率增长,编写程序,计算多少年后
教职工人数能增长到800人。程序如下:
Private Sub Form_Click()
Dim p As Single
Dim r As Single
Dim n As Integer
p = 458
r = 0.025
While p < 800
p = p * (1 + r)
n = n + 1
Wend
p = Int(p)
Print n; "年后,全校教职工人数是:"; p End Sub -83-10用公式π/4=1-1/3+1/5-1/7+„求π的近似值,直到最后一项的绝对值小于10
为止。程序如下:
Private Sub Form_Click()
Dim pi As Double
Dim s As Integer
Dim t As Single
Dim n As Long
t = 1: n = 1: s = 1: pi = 0
Do Until (Abs(t) < 0.00000001)
pi = pi + t
n = n + 2
s = -s
t = s / n
Loop
pi = pi * 4
Print pi
End Sub
9、打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立
333 方之和等于该数本身。例如:153=1+5+3程序如下:
Private Sub Form_Click()
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim s As Integer
Dim t As Integer
For i = 1 To 9
For j = 0 To 9
For k = 0 To 9
s = i * 100 + j * 10 + k
t = i * i * i + j * j * j + k * k * k
If s = t Then
Print s
End If
Next k, j, i
End Sub
10、用单选按钮和复选框在文本框中显示不同的字体和是否加“下划线”或“斜体显示”。程序如下:
Private Sub Check1_Click()
If Check1.Value = 1 Then
Display.FontItalic = True
Else
Display.FontItalic = False
End If
End Sub
Private Sub Check2_Click()
If Check2.Value = 1 Then
Display.FontUnderline = True
Else
Display.FontUnderline = False
End If
End Sub
Private Sub Courier_Click()
Display.FontSize = 18
Display.FontName = "courier" End Sub
Private Sub Modern_Click()
Display.FontSize = 20
Display.FontName = "modern" End Sub
Private Sub Roman_Click()
Display.FontSize = 24
Display.FontName = "roman" End Sub
四、程序改错(下面程序仅有一处错,请找出错误并改正,30分) 1、用单选按钮和复选框在文本框中显示不同的字体和是否加“下划线”或“斜体显示”或“对齐方式”或“字体大小”。程序如下:
Private Sub Cmdgb_Click()
End
End Sub
Private Sub Cmdqd_Click()
If Optst.Value = True Then
Display.Name = "宋体"
Else
Display.FontName = "黑体"
End If
Select Case True
Case Optzq.Value
Display.Alignment = 0
Case Optjz.Value
Display.Alignment = 2
Case Optyq.Value
Display.Alignment = 1
End Select
If Opt20.Value = True Then
Display.FontSize = 20
Else
Display.FontSize = 24
End If
End Sub
2、用滚动条使之文本框Text1显示字体大小为12,30中任意值。程序如下: Private Sub HScroll1_Change()
Display.FontSize = HScroll1.Value
ztdx.Text = HScroll1.Value End Sub
Private Sub HScroll1_Scroll()
Display.FontSize = HScroll1.Value
ztdx.Text = Value
End Sub
Private Sub Optht_Click()
Display.FontName = "黑体"
End Sub
Private Sub Optjz_Click()
Display.Alignment = 2 End Sub
Private Sub Optst_Click()
Display.FontName = "宋体"
End Sub
Private Sub Optyq_Click()
Display.Alignment = 1 End Sub
Private Sub Optzq_Click()
Display.Alignment = 0 End Sub
3、使用单选按钮、复选框、框架等控件设计程序。 Private Sub Command2_Click()
End
End Sub
Private Sub Cmd1_Click()
Text1.FontName = .Text Combo1.Text
Text1.Alignment = Combo2.ListIndex
Text1.FontSize = Combo3.Text End Sub
Private Sub Form_Load()
Text1.FontSize = 20 End Sub
4、使用计时器设计一个流动字幕,标题是“警察提醒你注意交通安全”。程序如下:
Private Sub Command1_Click()
Command1.Caption = "继续"
.Enabled = True
Command1.Enabled = False
Command2.Enabled = True End Sub
Private Sub Command2_Click()
Timer1.Enabled = False
Command2.Enabled = False
Command1.Enabled = True End Sub
Private Sub Form_Load()
Label1.FontSize = 20
Command2.Enabled = False End Sub
Private Sub Timer1_Timer()
If Label1.Left < Width Then
Label1.Left = Label1.Left + 20
Else
Label1.Left = 0
End If
End Sub
5、幻灯片自动播放程序。
Dim i As Integer
Private Sub Command1_Click()
Timer1. = True
End Sub
Private Sub Command2_Click()
Timer1.Enabled = False End Sub
Private Sub Timer1_Timer()
i = i + 1
If i > 7 Then i = 1
FileName = Right(Str(i), 1) & ".jpg"
Image1.Picture = LoadPicture(App.Path & "\民警服装\" & FileName)
End Sub
五、程序设计(每题5分,计10分)
1、在文本框Text1中显示“向人民警察致敬”(5分) 答案:
Private Sub Command1_Click()
Text1.Text = "向人民警察致敬"
End Sub
2、用控件计时器Timer1简单设计滚动字幕“警察提醒您注意交通安全” 答案: 书上86页
Private Sub Command1_Click()
Command1.Caption = "继续"
Timer1.Enabled = True
Command1.Enabled = False
Command2.Enabled = True End Sub
Private Sub Command2_Click()
Timer1.Enabled = False
Command2.Enabled = False
Command1.Enabled = True End Sub
Private Sub Form_Load()
Label1.FontSize = 20
Command2.Enabled = False End Sub
Private Sub Timer1_Timer()
If Label1.Left < Width Then
Label1.Left = Label1.Left + 20
Else
Label1.Left = 0
End If
End Sub