13、 "000,000.00")
(5) 在窗体(Name属性为Formal)上画两个文本框(其Name属性分别为Text1和Text2)和一个命令按钮(Name属性为Command1),然后编写如下两个事件过程:
Private Sub Command1_Click()
A = Text.Text + Text2.Text
Print a
End Sub
Private Sub Formm_Load()
Text1.Text =""
Text2.Text =""
End Sub
程序运行后,在第一个文本框(T
14、ext1)和第二个文本框(Text2)中分别输入123和321,
然后单击命令按钮,则输出结果为 123321。
(6 )阅读下面的程序段:
For I = 1 To 3
For j = 1 To I
For k = j To 3
A=A+1
Next k
Next j
Next I
执行上面的三重循环后,a的值为__14 __。
(7) 在窗体上画两个文本框(其Name属性分别为Text1和Text2)和一个命令按钮(其Name属性为Command1),然后编写如下的事件过程:
Private Sub Comma
15、nd1_Click()
X = 0
Do While x<50
X = ( x + 2 ) * ( x + 3 )
N = n+1
Loop
Text1.Text = Str(n)
Text2.Text = Str(x)
End Sub
程序执行后,单击命令按钮,在两个文本框中显示的值分别为2和72。
(8)设a=10,b=5,c=1,执行语句Print a > b > c后,窗体上显示的是False
(9) 在窗体上画一个名称为Commandl的命令按钮,然后编写如下程序:
• Private Sub Command1_Click()
• Static X As
16、Integer‘如果不定义会有什么变化?
• Static Y As Integer ’如果不定义会有什么变化?
• Cls
• Y=1
• Y=Y+5
• X=5+X
• Print X,Y
• End Sub ’这里就把变量给OVER了
End Sub 程序运行时,三次单击命令按钮Commandl后,窗体上显示的结果为15 6
(10) 设有语句 x=InputBox("输入数值","0","示例") 程序运行后,如果从键盘上输入数值10
并按回车键,变量X的值是字符串"10"
(11) 在窗体上有一个文本框控件,要求每一秒钟在文本框中显示一次当前名称为T
17、xtTime:
一个计时器控件,名称为Timerl 的时间。程序为:
Private Sub Timer1_ ( )
TxtTime.text=Time
End Sub 在下划线上应填入的内容是Timer
(12)假定有以下程序段:
For i=1 To 3
For j=5 To 1 Step -1
Print i*j
Next
Next 则语句Print i*j的执行次数是15
(13)以下程序段的输出结果为(4)
x=1
y=4
Do Until y>4
18、
x=x*y
y=y+1
Loop
Print x
(14)在窗体上面画一个文本框 ,然后编写如下事件过程:
Private Sub Form_Activate()
Text1.Text=" "
Text1.SetFocus
For i=1 to 10
Sum=Sum+i
Next
Text1. Text=Sum
End Sub 上述程序的运行结果是55
(15)在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:
Private Sub Command1_Click()
For n = 1 To 20
If n Mod
19、 3 <> 0 Then
m = m + n \ 3
Next n
Print n
End Sub
程序运行后,如果单击命令按钮,则窗体上显示的内容是(21)
(16)设有如下程序:
Private Sub Command1_Click()
Dim sum As Double, x As Double
sum = 0
n = 1
For i = 1 To 5
x = n / i+1
n = n + 1
sum = sum + x
Next
End Sub 该程序通过For循环计算一个表达式的值,这个表达式是(1/2+2/3+3/4+4/5)
(17)下
20、面程序运行后,窗体(Form1)中输出的结果是(True True)
Private Sub Form_Load()
Form1.AutoRedraw=True
X=3:y=5
Print x=3;y=5
(18)下面程序执行的结果是(579)
Private Sub Command1_Click()
A="123":b="456"
C=Val(a)+Val(b)
Print c
End Sub
(19)若i的初值为8,则下列循环语句的循环次数为(5)次
Do While i<=17
i=i+2
Loop
(20)执行下面的程序段后,x 的值为(21)
x=
21、5
For i=1 To 20 Step 2
x=x+i\5
Next I
(21)下面程序运行后,输出的值是(54)
Private Sub Command1_Click()
J=1
While J<5
J=J+1
A=A+J*J
Wend
Print A
End Sub
(22)有如下程序:
Private Sub FormKeyPress(KeyAscii As Integer)
For m=1 To 3
For j=1 To m
For k=j To 3
n=n+m+j-k
Next k
Next j
Nex
22、t m
Print n
End Sub 程序运行后,按任意键,n的值是(20 )
(23)在窗体上画一个命令按钮,然后编写如下事件过程:
Private Sub Command1_Click()
A=″12″
B=″34″
C=″56″
Print A+B+C
End Sub 程序运行后,单击命令按钮,输出结果是(123456)
(24)下面程序运行后输出的结果是(110 20 )
Private Sub Command1_Click()
A=0
For M=1 To 10
A=A+1∶B=0
For
23、J=1 To 10
A=A+1∶B=B+2
Next J∶Next M
Print A;B
End Sub
(25)x=int(Rnd)+3:
if x^2>8 then y=x^2+1:
if x^2=9 then y=x^2-2:
if x^2<8 then y=x^3:
print y
程序运行后输出的结果是 _7_。
(26)执行下面的程序段,x的值为
Private Sub Command1_Click()
For i=1 To 9
a=a + i
Next i
x=Val (i)
MsgBox x
End Sub_
24、 参考答案 10
(27)在窗体上有一个命令按钮,然后编写如下程序:
Function Trans(ByVal num As Long) As Long
Dim k As Long
k=1
Do While num
k=k * (num Mod 10)
num=num \ 10
Loop
Trans=k
Print Trans
End Function
Private Sub Command1_Click()
Dim m As Long
Dim s As Long
m=InputBox("请输入一个数")
s=Trans(m) ‘789
25、
End Sub
程序运行时,单击命令按钮,在输入对话框中输入"789",输出结果为 __1__,在输入
对话框中输入"987"输出 __2__在输入对话框中输入"879",输出结果为 __3__.
参考答案 1:504 2:504 3:504
24 表达式Int(4*Rnd+1)*(Int(4*Rnd-1))值的范围是[-4,8]
25 语句x+y=x, 是错误的赋值语句。
26 逻辑表达式Not(1>2) ,其逻辑值为“真”
27 表达式1.5+32>2 Or 7 Mod 3<4 And Not 1的运算结果是(-1)
28 可以将变量A
26、B值互换的语句是A=C : C=B : B=A
29 执行如下语句:
30 a=inutBox("Today","TomorroW,"Yesterday",,,"Day before yesterday",5)
31 将显示一个输入对话框,在对话框的输入区中显示的信息是 (Yesterday)
32 能在窗体Form1的标题栏中显示"VisualBasic窗体"的语句是(Form1.Caption="VisualBasic窗体" )
33
第五章
1 如果在程序中要将c定义为静态变量,且为整型数,则应使用的语句是(Static a As Integer)
2
27、声明一个变量为局部变量应该用(Static)
3 Sub过程与Function过程最根本的区别是(Sub过程不能返回值,而Function过程能返回值)
4 若要向列表框添加列表项,可使用的方法是(AddItem)
5 在某个Sub过程中定义的局部变量作用域只限于该过程可以与其它事件过程中定义的局部变量同名
6 Sub过程中不可以嵌套调用Sub过程
7 定有以下函数过程:
8 Function Fun(S As String) As String
9 Dim s1 As String
10 For i=1 To Len(S)
11 s1=UCase(M
28、id(S,i,1))十s1
12 Next i
13 Fun=s1
14 End Function
15 在窗体上画一个命令按钮,然后编写如下事件过程:
16 Prlvate Sub Commmldl_Click()
17 Dim Str1 As String,Str2 As String
18 Strl=inputbox("请输入一个字符串")
19 Str2=Fun(Strl)
20 Print Str2
21 End Sub
22 程序运行后,单击命令按钮,如果在输入对话框中输入字符串"abcdefg
29、",则单击"确
23 定"按钮后在窗体上的输出结果为 (GFEDCBA)
24 复选框的Value属性为__1__时,表示复选框被选中。
第六章
1 用下面语句所定义的数组的元素个数是(9)
Dim a(-3 to 5) as integer
2 要声明一个长度为256个字符的定长字符串变量str,正确的语句是(Dim str as String*256)
3 设有数组声明语句:
Option Base 0
Dim B(-1 To 10,2 To 9,20) As Integer 则数组B中共有(2016)个元素12*8*21
4 在窗
30、体上画一个命令按钮,名称为Commandl。单击命令按钮时,执行如下事件过
程:
PrlVate Sub Commandl-C1icko
a$="software and hardware"
b$=Right(a$,8)
c$=Mid(a$,1,8)
Msgbox a$,,b$,c$,1
End Sub 则在弹出的信息框的标题栏中显示的信息是 (hardwafe)
5 为了清除列表框中的所有内容,应使用的方法是(Clear)
七程序填空
1 下列程序是判
31、断一个整数(>=3) 是否为素数,请补充完整。
Dim n As Integer
n=InputBox("请输入一个整数(>=3) ")
k=Int(Sqr(n) )
i=2
swit=0
Do While i <= k And swit = 0
If n Mod i = 0 Then
swit = 1
Else
i = i + 1
End If
loop
If swit=0 Then
Print n; "是一个素数。"
Else
Print n; "不是一个素数。"
End If
2 下面程序是用来打印九九乘法表的,请补充完整。
Dim i As
32、 Integer, j As Integer, Str1$
Str1 = ""
For i = 1 To 9
For j = 1 To 9
If j <= i Then
Str1 = Str1 + Str$(j) + "×" + Str$(i) + "=" + Str$(Val(i * j))
Else
Str1 = Str1 & Chr(13)
If j >= i Then Exit For
End If
Next j
Next i
Print Str1 参考答案 1:j<=I 2:j>i
3 下面程序的功能是产生10个小于100(不含100) 的
33、随机正整数,并统计其中5的倍数所占比例,但程序不完整,请补充完整。
Sub PR()
Randomize
Dim a(10)
For j=1 To 10
a(i) =Int( __1__)
If __2__ Then k=k + 1
Print a(j)
Next j
Print
Print k / 10
End Sub 参考答案 1:(99 * Rnd)+ 1 2:a(j) Mod 5 = 0
34、
Private Sub Form_Click()
Randomize
Dim a(10)
For j = 1 To 10
a(j) = Int((99 * Rnd) + 1)
If a(j) Mod 5 = 0 Then k = k + 1: Print a(j)
Next j
Print
Print k / 10#
End Sub
4 以下程序的功能是从键盘输入若干个学生的考试成绩,统计并输出最高分和最低分,当输入负数时结束输入,输出结果。
35、请补充完整下列程序段。
Dim x, amax, amin As Single
x=InputBox("Enter a score")
amax=x
amin=x
Do While__1__
If x > amax Then
amax=x
End If
If__2__Then
amin=x
End If
x=InputBox("enter a score")
Loop
Print "max="; amax, "min="; amin
36、 参考答案 1:x>0 2:x37、 __1__.
参考答案 1:12
5 下列程序的功能是:当x<50时,y=0.8×x;当50≤x≤100时,y=0.7×x;当x>100时,没有意义。
请填空。
Private Sub Command1_Click()
Dim x As Single
x=InputBox("请输入x的值!")
__1__
Case Is < 50
y=0.8 * x
Case 50 To 100
y=0.7 * x
__2__
Print "输入的数据出界!"
End Select
Print x, y
End Sub
38、 参考答案 1:Select Case x 2:Case Else
6 设有如下程序段:
a$="BeijingShanghai"
b$=Mid(a$,InStr(a$,"g")+1)
执行上面的程序段后,变量b$的值为__1__. 参考答案 1:Shanghai
7 执行下面程序,当单击窗体时,显示在窗体上第一行的内容是__1__第二行的内容是__2__
Private Sub Form_Click()
Dim I As Integer,Sum As Intger
For I=0.5 To 8.5 Step2.5
Sum=Sum+I*10
Next I
39、
Print Sum
print I
End Sub 参考答案 1:200 2:10
8 下面程序的功能是对密文解密。密文的加密方法是以字符为单位,取其ASCII码,按逆序保存(例如字母"e"的ASCII码是01100101,密文中则为10100110)。解密是加密的逆过程。完善程序,实现以上功能。(难)
Private Sub Command1_Click()
Dim s As String, st As String, i As Integer,n As Integer
s=Text1
Do Until n >=Len(s)
_
40、1__If n Mod 8 <> 0 Then
st=st &Mid(s,n,1)
Else
st=st & Mid(s,n,1)
List1.AddItem st
__2__End If
Loop
End Sub
Private Sub Command2_Click()
Dim s As String, st As String, i As Integer
For i=0 To
__3__st=List1.List(i)
For j=1 To Len(st)
s=Mid(st,j,1) & s
Next j
For j=Len(s) To
41、1 Step-1
n=
__4__ Next j
Text2=Text2 & Chr(n)
s=" "
__5__ Next i
End Sub 参考答案 1: n=n+1 2: st="" 3: List1.Listcount 4:n+2^(j-1) 5: n=0
下面程序的功能是,找出100以内所有可以表示成3个连续自然数之和的数。完善程序,实现以上功能。 (难)
Option Explicit
Private Sub Command1_Click()
Dim I As Integer, N As Integer
Dim Js As In
42、teger, S As String
For I =1 To 100
If Fun(I,N,Js)Then
S=Str(I) & "=" & N
Do
__1__N=N+1
S=S & "+" & N
Loop
List1.AddItem S
End If
Next I
End Sub
Private Function Fun(L As Integer, M As Integer, Js As Integer) As Boolean
Dim I As Integer, __2__ K=0 __3__
Do While Sum < L And K < 3
K=
43、K+1
Js=Js+1
Sum=Sum+Js
Loop
If
__4__hen
M=I
Fun=True
E xit For
Exit if
Next I
End Function 参考答案 1:while n<=js-1 2: Sum=0 3:Js=i-1 4:k=3 And Sum=L
复习课
主要内容
1、 VB课程的要求
界面设计、代码设计
2、 围绕界面设计,要掌握的内容:
VB的属性、对象、方法
重点掌握的属性有:
重点掌握的对象有:
重点掌握的方法有:
3、 围绕代码设计,要掌握的内容:
三种基本结构的语句实现
数组
函数
4、 围绕三种基本结构的语句,要掌握的内容:
常量、变量、函数、表达式的定义、运算次序、求值
5、 注意:
代码格式
数据溢出
类型一致
窗体美观、但要实用
举例
见复习题
- 17 -