资源描述
Visual_Basic程序设计教程_课后答案(完整版)
(文档可以直接使用,也可根据实际需要修改使用,可编辑 欢迎下载)
vb课后习题答案
第一章 习题参考答案
一、 填空题
1、对象 事件驱动
2、编译运行模式 解释运行模式
二、 简答题
1、 简述VB的特点。
答:①可视化的程序设计方法
②面向对象的程序设计思想
③事件驱动的编程机制
④结构化的程序设计语言
⑤高度的可扩充性
⑥强大的数据库访问能力
⑦支持动态数据交换
⑧支持对象链接与嵌入
2、简述VB的安装过程。
答:①向光驱中放入VB安装光盘;
②计算机将运行自动安装程序,若没有,执行VB目录下的Setup.exe;
③根据提示逐一回答问题,并点击“下一步”;
④点击“完成”;
2、 如何启动VB。
答:三种方法:
①单击“开始”按钮,选择“程序”菜单下的“Microsoft Visual Basic 6.0 中文版”菜单项并单击;
②双击桌面上的VB6.0快捷图标;
③在“开始”菜单的运行对话框中输入命令来启动VB;
第二章 习题参考答案
一、选择题:
1-10、 DCACD BCBBC
11-20、BADCA BBAAB
21-29、AACBB CDDC
二、填空题
1. 窗体、控件
2. 属性值
3. 属性窗口设置、代码窗口设置
4. 事件过程
5. 对象名、下划线、事件名
6. Form_Click
第三章 习题参考答案
一、选择题
1、B 2、C 3、A 4、B 5、A 6、C 7、C
二、填空题
1、 11
字符型、字节型、整型、长整型、单精度型、双精度型、货币型、逻辑型、日期型、对象型、变体型。String、Byte、Integer、Long、Single、Double、Currency、Boolean
、Date、Object、Variant
2、 双引号(英文)、#
3、 ASCII、1、2
4、 public、通用、Dim、Static、Private、Static
5、 &、+、+
6、 Now()、Time、日期型
三、解答题
1、(3) 2、(1 )
3、(1)常量(关键字) (2)字符型常量 (3)逻辑型常量 (4)变量 (5)字符串常量 (6)变量
(7)字符串常量 (8)变量 (9)日期型常量 (题目应是#11/16/1999#) (10)数值型常量(单精度)
4、31
5、(1)(1+y/x)/(1-y/x) (2)x^3+3*x*y/(2-y)
(3)sqr(abs(a*b-c^3)) (4)sqr(s*(s-a)*(s-b)*(s-c))
6、
7、(1)13 (2)17
(3)#1999-11-12# (4)zxy123ABC
(3)5.25 (4)2
9、(1)-4 (2)2 . 82842712474619 (3)-3 (4)49 (5)”hello” (6)He
7)16 (8) “-459.65” (9)5
10、(4)
11、(2)
12、(4)
第四章 习题参考答案
一、选择题:
1—7: DAABBCD
二、填空题
1. 500.00%
2. 将字号扩大为原来的二倍
3. B
三、编程题(略)
1.文本框、标签和命令按钮的名称分别为text1、label1、command1
Private Sub Command1_Click()
Label1.caption=text1.text
Command1.caption=text1.text
End Sub
2.单价、数量、折扣和应付款对应的文本框的名称分别为:text1、text2、text3和text4,计算和清除命令按钮的名称分别为:command1和command2。
Private Sub Command1_Click()
Text4=val(text1)*val(text2)*val(text3)
End Sub
Private Sub Command2_Click()
Text1=”” : Text2=””: Text3=””: Text4=””
End Sub
3.文本框、“转大写”命令按钮和“转大写”命令按钮的名称分别为text1、command1和command2
Private Sub Command1_Click()
Text1=Ucase(text1)
End Sub
Private Sub Command2_Click()
Text1=Lcase(text1)
End Sub
第五章 习题参考答案
一、选择题:
1—11: CAABBABBBCC
二、填空题
1.(3) 2. 1 2 3 3.2 2 3 4.160 5.9
6.78 7.x<=5 (或x<6 或 x<7) 8.B
9.iSum iSum+j 1250
三、编程题
1.Private Sub Form_Click()
Dim i%,s%
S=0
For i = 101 To 200 step 2
If i mod 3<>0 then
Print i
S=s+i
End If
Next i
Print s
End Sub
2.Private Sub Form_Click()
Dim n%,s&
S=1:n=0
While s<=400000
N=n+1
S=s*n
Wend
If s>400000 Then n=n-1
Print n
End Sub
3.Private Sub Form_Click()
Dim imin%,imax%,i%,R%
Imin=100:imax=20
For i=1 to 20
R=Int(Rnd*51+50)
If R>imax Then imax=R
If R<imin Then imin=R
Next i
Print imax,imin
End Sub
第六章 习题参考答案
一、选择题:
1—13: ABAACCBADADBB
二、填空题
1.Interval Label1.caption=time
2.List1.ListCount InterVal Hscroll1.Max
三、编程题
第七章 习题参考答案
一、选择题:
1—12: DCADD BBDAC CB
二、填空题
1.42 2.Index 3.41
4.A(i)=a(11-i) a(11-i)=Tmp
5.1 6.X Mod 7=0 7.210
8.0 To 8 i+1 To 9
9.3 K 1
10. 1001 Max Max<arrN(i) (或者arrN(i)>Max)
三、编程题
1.Private Sub C1_click()
If OP1(0).Value=True Then P1.Print “选择了椭圆形”
If OP1(1).Value=True Then P1.Print “选择了圆形”
If OP1(2).Value=True Then P1.Print “选择了正方形”
End Sub
2.统计按钮名为Command1,输入框名为text1,输出框为text2(MultLine设为True)
Private Sub Command1_click()
Dim X(1 to 26) AS Integer,I As Integer
Dim S As String,L As Integer
L=Len(Text1.text)
For i=1 To L
S=Mid(Text1,I,1)
S=Ucase(S)
If S >= "A" And S <= "Z" Then
x(Asc(S) - 65 + 1) = x(Asc(S) - 65 + 1) + 1
End If
Next i
For i=1 To L
Text2=text2 & Chr(64+i) & “=” & x(i) & “ “
If I Mod 7=0 then Text2=text2 & chr(13)+chr(10)
Next i
End Sub
3.设学生成绩的平均分已在Mark(1)至Mark(10)中,学生姓名在name(1)至name(10)中。
Private Sub Command1_click()
Dim I%,J%,T%,S$
For i=1 To 9
For j=i+1 To 10
If Mark(i)<Mark(j) Then
T=Mark(i):Mark(i)=Mark(j):Mark(j)=T
S=name(i):name(i)=name(j):name(j)=S
Next J
Next i
For i=1 To 10
Print Name(i),Mark(i)
Next i
End Sub
第八章 习题参考答案
一、选择题:
1—10: DCBBDDDBCB
二、填空题
1.a Ubound(b) n=n-1
2.Key=a(i) Index=-1
三、编程题
1.子过程
Sub P1(x As Single, esp As Single)
Dim p!,S!,F!,i%
P=1:S=1:i=1:F=x
Do
P=P*i
S=S+F/p
Loop Until Abs(F/p)<esp
Print s
End Sub
子函数
Function P2(x As Single, esp As Single) As single
Dim p!,S!,F!,i%
P=1:S=1:i=1:F=x
Do
P=P*i
S=S+F/p
Loop Until Abs(F/p)<esp
P2=s
End Function
2.Swap2能实现数据交换。因为地址传递方式形参和实参有共同的地址,那么形参的变化,会引起实参的变化(即形参将值回传给实参),故可实现两数交换。
3.Function LF( ByVal x As Single) As Single
LF=X*X*X
End Function
Sub Command1_Click()
Dim I%
For i=1 To 20
Print I, LF(i)
Next i
End Sub
4.Function WeekDay(ByVal x As Integer) As String
Select Case x
Case 0
WeekDay=”星期日”
Case 1
WeekDay=”星期一”
Case 2
WeekDay=”星期二”
Case 3
WeekDay=”星期三”
Case 4
WeekDay=”星期四”
Case 5
WeekDay=”星期五”
Case 6
WeekDay=”星期六”
End Select
End Function
5.Function Rand30(ByVal X As`Integer) As Integer
Randomize
Rand30=Int(Rnd*X+1)
End Function
Sub Command1_Click()
For i=1 To 30
Print Rand30(100)
Next i
End Sub
6.Function F1(ByVal X As`Single, ByVal Y As`Single) As Integer
If X>Y Then
F1=X
Else
F1=Y
End If
End Function
7.
Function GDBH(ByVal x%) As String
Dim i%
For i = 3 To x - 3 Step 2
If isp(i) And isp(x - i) Then
GDBH = i & "+" & (x - i) & "=" & x
Exit Function
End If
Next
End Function
Function isp(y%) As Boolean
i = 2: k = Int(y / 2)
Do While i <= k
If y Mod i = 0 Then Exit Do
i = i + 1
Loop
If i > k Then
isp = True
Else
isp = False
End If
End Function
Private Sub Form_Click()
For i = 6 To 40 Step 2
Print GDBH(i)
Next i
End Sub
8.Function isQO(ByVal x As Integer) As String
If x Mod 2 =0 Then
isQO=”偶数”
Else
isQO=”奇数”
End If
End Function
9.Function F1(ByVal x As Integer) As Boolean
If x Mod 17 =0 and x Mod 37 =0Then
F1=True
Else
F1=False
End If
End Function
Private Sub Form_Click()
For i = 1000 To 2000
If F1(i) Then
Print i
End if
Next i
End Sub
10.Sub F1(a() As Integer, ByVal L1 As Integer, ByVal L2 As
Integer)
Dim L%, U%, x%, i%
L = LBound(a): U = UBound(a)
If L1 > U Or L2 > U Then
Print "位置输入错误!"
Exit Sub
End If
If L1 > L2 Then
x = a(L1)
For i = L1 To L2 + 1 Step -1
a(i) = a(i - 1)
Next i
a(L2) = x
ElseIf L2 > L1 Then
x = a(L1)
For i = L1 To L2 - 1
a(i) = a(i + 1)
Next i
a(L2) = x
End If
End Sub
第九章 习题参考答案
一、选择题:
1—3: ADD
二、填空题
1.下拉式 弹出式 2.PopupMenu
3.Visible Enabled 4.-
三、编程题(略)
第十章 习题参考答案
一、选择题:
1—3: DBD
二、填空题
1.Load 2.窗体模块 标准模块 类模块
3.DoEvents
三、编程题
1.(略)
2.Function F(ByVal x&,ByVal Y&) As Integer
Dim t&,r&
If x<y Then t=x:x=y:y=t
R= x Mod y
Do While R<>0
X=y
Y=r
R= x Mod y
Loop
F=y
End Function
Private Sub Command1_Click()
Text3 = Val(Text1) / F(Val(Text1), Val(Text2))
Text4 = Val(Text2) / F(Val(Text1), Val(Text2))
End Sub
第十一章 习题参考答案
一、选择题:
1—3: DDA
二、填空题
6 2.AB A
三、编程题
1.Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x
As Single, Y As Single)
Text1 = x: Text2 = Y
End Sub
2.
Dim startX, StartY As Integer ‘在通用中申明
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, x As
Single, Y As Single)
If Button = 2 Then
startX = x: StartY = Y
End If
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As
Single, Y As Single)
If Button = 1 Then
PSet (x, Y), RGB(0, 0, 0)
End If
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, x As
Single, Y As Single)
If Button = 2 Then
Dim r%, c%
Dim EndX, EndY As Integer
EndX = x: EndY = Y
c = RGB(0, 0, 0)
r = Sqr((EndX - startX) ^ 2 + (EndY - StartY) ^ 2)
Form1.Circle (startX, StartY), r, c
End If
End Sub
第十二章 习题参考答案
一、选择题:
1—8: BBABBCCA
9.I H F C L G E B A J K D
二、填空题
1.Drive 2.Path Print Dir1.Path
3.Path 4.Hidden system
5.顺序文件 随机文件 二进制文件
6.FreeFile
7.Close #1
8.Open “c:\samples\readme.txt” For Output AS #3
9.Open “c:\autoexec.bat” For Intput AS #4
10.Open “c:\samples\xscj.dat” For Random AS #3 Len=54
11.Open “smtext1.txt” For Binary AS #1
12.For Input Eof(1)
13.KeyAscii END(或者End end eNd enD) Text1.text
三、编程题
1.‘在标准模块中定义
Type stu
ID As String * 12
name As String * 8
z1 As String * 12
展开阅读全文