VB教材习题参考答案.doc

上传人:文库蛋蛋多 文档编号:4122798 上传时间:2023-04-06 格式:DOC 页数:17 大小:60.50KB
返回 下载 相关 举报
VB教材习题参考答案.doc_第1页
第1页 / 共17页
VB教材习题参考答案.doc_第2页
第2页 / 共17页
VB教材习题参考答案.doc_第3页
第3页 / 共17页
VB教材习题参考答案.doc_第4页
第4页 / 共17页
VB教材习题参考答案.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《VB教材习题参考答案.doc》由会员分享,可在线阅读,更多相关《VB教材习题参考答案.doc(17页珍藏版)》请在三一办公上搜索。

1、Visual Basic程序设计教程(李杰主编 清华大学出版社 2011.2)习题答案习题2参考答案2.2 单选题1、B2、C3、A4、D5、A6、B7、D8、C9、B10、D2.3 填空题 1、事件驱动 2、Cancel 3、Name 4、Private Sub Form1_Click() 5、运行程序 6、代码窗口 7、Text1.Text = 我是一个学生 8、LostFocus()事件 9、Label1.Caption = 请输入用户名Label1.ForeColor = vbGreen10、(Text1.Text)*22.4 事件练习题 1、 该事件的对象是标签Label1,单击标签

2、触发该事件。 缺省Label1对象的代码是针对窗体,其余有Label1对象的代码是针对标签的。 Label1.AutoSize = True语句使标签的大小自动随文字的多少而改变。 2、程序运行后,单击命令按钮,在Text1文本框显示知音海外版,在Text2文本框显示计算机世界。 3、单击“显示文本框”命令按钮触发的事件过程Private Sub Command1_Click() Text1.Visible = True Text1.ForeColor = vbRed Text1.Text = VB程序设计End Sub 单击“隐藏文本框”命令按钮触发的事件过程Private Sub Comm

3、and2_Click() Text1.Visible = FalseEnd Sub习题3参考答案3.2 单选题1 C 2 C 3 D 4 B 5 B 6 B 7 B 8 C 9 D3.3填空题1.REM(或 ) _ :2 双引号(“”) # 3 $ %4 UCASE()5.(log(1+d*d)-exp(2)(5/2) 还有一种理解方式:(log(1+d*d)-e*e)(5/2) 6. &O113 &H4B习题4参考答案4.2 单选题 BDCBD4.3 填空题1. MsgBox(是否删除? , vbOkCancel + vbQuestion, 删除)2. The Length of 12345

4、=53. 变量或表达式4. 15. loop4.4 程序设计题1. Private Sub Command1_Click() If Text1.Text = asdf Then MsgBox 密码正确!Else MsgBox 密码错误, vbRetryCancel, 错误End If End Sub2. Private Sub Command1_Click() Dim n%, y%, i% n = Val(Text1.Text) If n 10 Or n= 0 Then x1 = (-b + Sqr(d) / (2 * a) X2 = (-b - Sqr(d) / (2 * a) Print

5、x1; X2 Else Print 没有实根 End IfEnd Sub4. Private Sub Form_Click() Dim i%, j%, s%, n%,q% n = InputBox(enter n:) q = 0 For i = 1 To n s = 0 For j = 1 To i s = s + j Next j q = q + s Next i Print qEnd Sub5.Private Sub Form_Click() Dim i%, j%, n%, k% n = 0 For i = 1 To 3 For j = 1 To 3 For k = 1 To 3 Prin

6、t i & j & k, n = n + 1 If n Mod 5 = 0 Then Print Next k Next j Next i Print Print n=; nEnd Sub6.Private Sub Form_Click() Dim i%, j%, n%, k% For i = 1 To 9 For j = 0 To 9 For k = 0 To 9 n = i * 100 + j * 10 + k If n = i 3 + j 3 + k 3 Then Print n, Next k Next j Next i End Sub习题5参考答案5.2 单选题1 A 2 B 3 C

7、 4 C 5 D 6 D 7 A 8 C 9 D 10 A 11 A 12 B5.3 填空题1False2Caption30 ListCount-14Print List1.List(3)5Combo1.ReMoveItem 36LargeChange7Timer85009Shape10Borderstyle5.4 程序设计题1Dim op1, op2, result As SingleDim operator As IntegerPrivate Sub Command1_Click(Index As Integer)If Index = 0 And Index = 12 And Index

8、= 15 Then op1 = CDbl(txt1.Text) operator = Index txt1.Text = End If If Index = 11 Then op2 = CDbl(txt1.Text) Select Case operator Case 12 result = op1 + op2 Case 13 result = op1 - op2 Case 14 result = op1 * op2 Case 15 result = op1 / op2 End Select txt1.Text = CStr(result) End IfEnd SubPrivate Sub C

9、ommand2_Click()op1 = 0op2 = 0result = 0txt1.Text = End SubPrivate Sub Command3_Click()EndEnd Sub2 Private Sub chkBold_Click()If chkBold.Value = vbChecked ThenTxt1.FontBold = TrueElseTxt1.FontBold = FalseEnd IfEnd SubPrivate Sub chkUnderline_Click()If chkUnderline.Value = vbChecked ThenTxt1.FontUnder

10、line = TrueElseTxt1.FontUnderline = FalseEnd IfEnd SubPrivate Sub Opt18_Click()Txt1.FontSize = 18End SubPrivate Sub Opt22_Click()Txt1.FontSize = 22End Sub3 Private Sub Form_Load()List1.AddItem 上海List1.AddItem 北京List1.AddItem 天津List1.AddItem 广东List1.AddItem 辽宁List1.AddItem 陕西List1.AddItem 河南List1.Add

11、Item 深圳List1.AddItem 四川List1.AddItem 重庆End SubPrivate Sub List1_DblClick()For i = 0 To 9If List1.ListIndex = i ThenList2.AddItem List1.List(i)List1.RemoveItem iEnd IfNext iEnd Sub4Private Sub Command1_Click()Timer1.Enabled=TrueTimer1.Tag=Text1.Text*60Frame1.Caption=“现在开始倒计时”End SubPrivate Sub Timer1

12、_ Timer()Timer1.Tag=Timer1.Tag-1If m0 ThenTimer1.Enabler=FalseMsgBox“预定的时间到了!”,0,“倒计时”Frame1.Caption=“请输入计时的分钟数:”Text1.Text=0Exit SubEnd Ifn1=Format(m Mod 60,“00”)n2=Format(m 60)Mod 60,“00:”)n3=Format(m 3600),“00:”)Text1.Text=n3&n2&n1End Sub习题6参考答案6.1单选题1.C 2.C 3.B 4.B 5.B 6.D 7.B 8.B 9.A 10.A6.2 填空

13、题1.Option Base 12.变体类型3.preserve (注意:教材上面写成perserve, 教材错误)4.Variant变体类型5.96.相同,索引号7. 1).通过复制粘贴的方式创建控件数组 2).在设计时候添加多个同类型的类型控件,然后通过“属性”窗口将这些控件的名称改为相同,并把Index属性设为不同的下标值。 3).使用Load语句动态添加控件数组元素8.sum+m; i-1; sum/i (注意:倒数第五行的小于符号”)9.j=9或者UBound(a);a(i) = a(j); j = j - 16.3阅读程序题1.数组下标越界的错误提示 2.1 6 15 28 453

14、.206.4程序设计题1.Private Sub Form_Click() Dim a(99) As Integer, i%, j%, flag%, temp%, k% For i = 0 To 99 Randomize 初始化随机数发生器 a(i) = Int(999 - 0 + 1) * Rnd + 0) 按要求生成随机数放入数组 Next i j=0 For i = 0 To 99 If a(i) Mod 3 = 0 And a(i) Mod 10 0 Then j = j + 1 Print a(i); If j Mod 10 = 0 Then Print End If Next i

15、Print Print 满足条件的数的个数为: & jEnd Sub2.Private Sub Command1_Click() Picture1.Cls Dim i%, s$, c As String * 1, l%, k% Dim arr(1 To 26) As Integer s = Text1.Text l = Len(s) For i = 1 To l c = UCase(Mid(s, i, 1) If c = A And c = Z Then arr(Asc(c) - 65 + 1) = arr(Asc(c) - 65 + 1) + 1 End If Next i k = 0 Fo

16、r i = 1 To 26 If arr(i) 0 Then Picture1.Print Chr(i + 64) & = & arr(i); ; k = k + 1 If k Mod 6 = 0 Then Picture1.Print End If Next iEnd Sub3.Private Sub Command1_Click() Dim a(1 To 10) As Integer, i%, j%, t% Randomize Cls Print 排序前: For i = 1 To 10 a(i) = Int(Rnd * 100 + 1) Print a(i); Next i Print

17、For i = 1 To 9 k = i For j = i To 10 If a(k) a(j) Then k = j End If Next j If k i Then t = a(i): a(i) = a(k): a(k) = t Next i Print 排序后: For i = 1 To 10 Print a(i); Next i PrintEnd Sub4.Private Sub Command1_Click()Dim arr(3, 3) As Integer Dim max%, i%, j%, x%, y%, sum%, t% arr(0, 0) = 12: arr(0, 1)

18、= 23: arr(0, 2) = 53: arr(0, 3) = 89: arr(1, 0) = 16: arr(1, 1) = 90: arr(1, 2) = 26: arr(1, 3) = 11: arr(2, 0) = 28: arr(2, 1) = 1: arr(2, 2) = 98: arr(2, 3) = 38: arr(3, 0) = 37: arr(3, 1) = 32: arr(3, 2) = 25: arr(3, 3) = 10: 数组中的每一个元素可以使用随机函数产生max = arr(0, 0)x = 0y = 0sum = 0For i = 0 To 3 For j

19、 = 0 To 3 If arr(i, j) max Then max = arr(i, j) x = i y = j End If If i = j Or i + j = 3 Then sum = sum + arr(i, j) End If Next jNext i Print 矩阵最大值为 & max & 下标为: & x & , & y Print 两条对角线元素之和为: & sum将矩阵转置For i = 1 To 3 For j = 0 To i - 1 t = arr(i, j) arr(i, j) = arr(j, i) arr(j, i) = t Next jNext iFo

20、r i = 0 To 3 For j = 0 To 3 Print arr(i, j); Next j Print vbCrLfNext iEnd Sub5.Private Sub Form_Click() Dim a(), i%, k%, x%, m% a = Array(1, 23, 36, 78, 90) m = UBound(a) x = Val(InputBox(请输入一个整数, 输入) For i = 0 To m If x a(i) Then Exit For Next i ReDim Preserve a(m + 1) For k = m To i Step -1 a(k +

21、1) = a(k) Next k a(i) = x For i = 0 To m + 1 Print a(i) Next iEnd Sub习题7参考答案7.1单选题1.B 2.D 3.D 4.无 5.A6.D 7.B 8.B7.2填空题1.Exit sub exit function2.函数过程名(实参) Call 函数过程名(实参)3.过程名(实参) Call 过程名(实参)4.传地址 传值5.用来接收传送给过程的数据6.m mod i=0 isWs=True isWs(i)=True7.Exit For b(j - 1) = b(j) UBound(a) 或者 n-17.3阅读程序题1.

22、(注意:print - 中的单引号应该改成双引号) 1 0 0 8 02.a=35,b=237.4程序设计题1.Private Function isprime(m As Integer) As Boolean Dim i% isprime = True For i = 2 To m - 1 If m Mod i = 0 Then isprime = False Next iEnd FunctionPrivate Sub Command1_Click() Dim n%, a%, b% a = isprime(3) For n = 5 To 1000 Step 2 b = isprime(n)

23、If (a And b) Then Print n - 2, n a = b Next nEnd Sub2.Private Function power(x%, y%) Dim j%, f% f = 1 For j = 1 To y f = f * x Next j power = fEnd FunctionPrivate Function sum(n%, k%) Dim i%, total% For i = 1 To n total = total + power(i, k) Next i sum = totalEnd FunctionPrivate Sub Command1_Click()

24、 Dim n%, k%, s As Single n = Val(InputBox(请输入正整数n:, 输入) k = Val(InputBox(请输入正整数k:, 输入) s = sum(n, k) Print s End Sub3.Private Function sum(m%) Dim i%, s% For i = 1 To m - 1 If m Mod i = 0 Then s = s + i Next i sum = sEnd Function待添加的隐藏文字内容2Private Sub Command1_Click()Dim i%, j%, n%For i = 1 To 1000

25、n = sum(i) If n = i Then Print i, n Else For j = i + 1 To 1000 If (i = sum(j) And j = n) Then Print i, j Next j End IfNext iEnd Sub4.Private Sub f(m%) Dim a% If (m 10 = 0) Then a = m Mod 10 Print a Else a = m Mod 10 Print a f (m 10) End IfEnd SubPrivate Sub Command1_Click() Dim n% n = Val(InputBox(请

26、输入一个整数:, 输入) Call f(n)End Sub5.Private Function hw(str As String) As Boolean Dim i As Integer hw = True For i = 1 To Len(str) 2 If Mid(str, i, 1) Mid(str, Len(str) + 1 - i, 1) Then hw = False Exit Function End If Next iEnd FunctionPrivate Sub Command1_Click() Dim str As String str = InputBox(请输入一个字符

27、串:, 输入) If (hw(str) Then Print str & 是回文! Else Print str & 不是回文! End IfEnd Sub习题8参考答案8.1 思考题略8.2 选择题12345678910CBACDADCBC8.3程序设计题略习题9参考答案9.1 思考题(略)9.2 单选题1 C 2 D 3 C 4 C 5 C 6 C 7 C 8 C 9.3 填空题1. 下拉式菜单和弹出式菜单2. Toolbar控件和ImageList控件3. ButtonClick4. MDIChild5. 1个9.4 程序设计题1Form1窗体事件代码Private Sub Form_L

28、oad()Picture1.Picture = LoadPicture(d:bao9-315.bmp)End SubPrivate Sub Form_Click()Form1.HideForm2.ShowEnd SubPrivate Sub Picture1_Click()Form1.HideForm2.ShowEnd SubPrivate Sub Command1_Click()EndEnd SubForm2窗体事件代码Private Sub Command1_Click()Form1.ShowForm2.HideEnd Sub2文件菜单Private Sub xinjian_Click()

29、 Dim newdoc As New Form2 newdoc.ShowEnd SubPrivate Sub dakai_Click() dialog1.Action = 1End SubPrivate Sub baocun_Click()dialog1.Action = 2End Sub编辑菜单Private Sub cut_Click()If Text1.SelLength 0 Then Clipboard.SetText (Text1.SelText) Text1.SelText = End IfEnd SubPrivate Sub copy_Click()If Text1.SelLen

30、gth 0 Then Clipboard.SetText (Text1.SelText)End IfEnd SubPrivate Sub paste_Click()If Len(Clipboard.GetText) 0 ThenText1.SelText = Clipboard.GetTextEnd IfEnd Sub格式菜单Private Sub ziti_Click(Index As Integer)If Index = 0 Then dialog1.Action = 4 Screen.ActiveForm.Txtt1.FontSize = dialog1.FontSizeEnd IfIf

31、 Index = 1 Then dialog1.Action = 3 Screen.ActiveForm.Txtt1.ForeColor = dialog1.Color End IfEnd Sub窗口菜单Private Sub cengdie_Click() MDIForm1.Arrange 0 End SubPrivate Sub shuiping_Click() MDIForm1.Arrange 1 End SubPrivate Sub chuizhi_Click() MDIForm1.Arrange 2 End Sub帮助菜单Private Sub Help_Click() dialog1.ShowHelpEnd Sub习题10参考答案10.1 思考题略10.2 选择题12345678ACABCCAA10.3 填空题1Connect属性、DatabaseName属性和RecordSource属性。2用户界面、Jet引擎和数据库。3BookMark。4网状数据库、层次数据库和关系数据库。5. DataSource和DataField属性。6.DatabaseName、RecordSourse7. BOF、EOF。10.4 程序设计题略

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号