《VB程序设计》课后题答案
- 格式:doc
- 大小:88.50 KB
- 文档页数:12
第二章一、问答题1.叙述建立一个完整的应用程序的过程。
答:界面设计编写事件过程代码运行、调试保存文件2.当建立好一个简单的应用程序后,假定该工程仅有一个窗体模块。
问该工程涉及到几个文件要保存?若要保存该工程中的所有文件,正确的操作应先保存什么文件?再保存什么文件?若不这样做,系统会出现什么信息?答:涉及到两个文件要保存。
先保存窗体文件(.frm),再保存工程文件(.vbp)。
若先保存工程文件,系统也会先弹出“文件另存为”对话框,要求把窗体文件先保存。
3.假定在W indows环境中,要保存工程文件时,若不改变目录名,则系统默认的目录是什么?答:VB984.当标签框的大小由Caption属性的值进行扩展和缩小,应对该控件的什么属性进行何种设置?答:将标签的Autosize设置为True.5.VB6.0提供的大量图形文件在哪个目录下?若你的计算机上没有安装,则怎样安装这些图形文件?答:VB6.0提供的图形文件在Graphics目录。
6.在VB6.0中,命令按钮的显示形式可以有标准和图形两种选择,这通过什么属性来设置?若选择图形的,则通过什么属性来装入图形?若已在规定的属性里装入了某个图形文件,但该命令按钮还是不能显示该图形,而显示的是Caption属性设置的文字,怎样改正?答:按钮Style的属性设置为Graphical(或1)。
通过Picture属性来装入图形。
不能显示图形是因为Style的属性设置为Standard(或0),只要改为Graphical(或1),一般还将Caption 属性的值设置为空。
7.标签和文本框的区别是什么?答:文本是否可编辑。
8.当窗体上有三个文本框和一个命令按钮,若程序运行时,需把焦点定位在第三个文本框处,应对何控件的什么属性进行何种设置?答:应对Text3控件进行Text3.TabIndex=0的设置。
9.简述文本框的change与keypress事件的区别。
答:文本框内容变化,change与keypress事件都会发生,所不同的是Keyprees还将返回一个Keyasii参数10.当某文本框输入数据后(按了回车键),进行判断认为数据输入错,怎样删除原来数据?怎样使焦点回到该文本框重新输入?答:假定文本框的名称为Text1,则事件过程如下:Private Sub Text1_KeyPress(KeyAscii As Integer)If KeyAscii = 13 ThenIf 出错条件判断成立ThenText1=””…先删除原来数据Text1.SetFocus …焦点回到Text1End If……End IfEnd Sub11.在程序运行前,对某些控件设置属性值,除了在窗体中直接设置外,还可以通过代码设置,这些代码一般放在什么事件中?例如,程序要将命令按钮定位在窗体的中央,请写出事件过程。
vb程序设计书习题和参考答案练习题习题⼀⼀、判断题1.Visual Basic是以结构化的Basic语⾔为基础、以事件驱动作为运⾏机制的可视化程序设计语⾔。
2.⾯向对象的程序设计是⼀种以对象为基础,由事件驱动对象的编程技术。
3.事件是由Visual Basic预先定义的对象能够识别的动作。
4.新建⼯程时系统会⾃动将窗体标题设置为Form1。
5.控件的属性值不可以在程序运⾏时动态地修改。
6.决定对象是否可见的属性为Visible属性,决定对象可⽤性的属性是Enabled属性。
7.保存Visual Basic⽂件时,若⼀个⼯程包含多个窗体或模块,则系统先保存⼯程⽂件,再分别保存窗体或模块⽂件。
8.单击“启动”菜单项将窗体装⼊内存时,⼀定触发窗体的Load事件。
9.“事件过程”是⽤来完成事件发⽣后所要执⾏的程序代码。
10.在打开某窗体时,初始化该窗体中的各控件,应选⽤Load事件。
⼆、选择题1.⼯程⽂件的扩展名为。
A、.frxB、.basC、.vbpD、.frm2.下列不属于对象的基本特征是。
A、属性B、⽅法C、事件D、函数3.在设计模式双击窗体将显⽰的窗⼝是A、⼯程窗⼝B、⼯具箱C、代码窗⼝D、属性窗⼝4.VB中运⾏程序的快捷键是A、F2B、F5C、Alt+F35.改变控件在窗体中的上下位置应修改该控件的属性。
A、TopB、LeftC、WidthD、Right6.窗体模块的⽂件扩展名是A、.exeB、.basC、.frxD、frm7.设置窗体的字体⽤属性。
A、FontNameB、FontSizeC、FontBoldD、FontItalic8.设置窗体的字号⽤属性。
A、FontNameB、FontSizeC、FontBoldD、FontItalic9.下列选项中不属于事件的是。
A、DblclickB、LoadC、ShowD、KeyUp10.VB编制的程序保存在磁盘上,⾄少会产⽣何种⽂件。
A、.doc与.txtB、.com与.exe.C、.bat与.frmD、.vbp与.frm三、程序设计题1.新建⼀个⼯程,单击窗体时,在窗体上显⽰“欢迎使⽤Visual Basic程序”。
《VB程序设计教程》(第4版)习题解答单元一巩固与提高答案一、选择题1. Visual Basic 6.0分为3种版本,不属于这3种版本的是A)学习版B)专业版C)企业版D)业余版【答】D。
2. 下列方法中不能退出Visual Basic的是A)按Alt+Q组合键B)按下Alt+F组合键,然后按Esc键C)按F10键,然后按F键,再按X键D)打开“文件”菜单→“退出”命令【答】B。
3. Visual Basic集成的主窗口中不包括A)属性窗口B)标题栏C)菜单栏D)工具栏【答】A。
4. 下列操作可以打开立即窗口的是A)Ctrl+D B)Ctrl+F C)Ctrl+G D)Ctrl+E【答】C。
二、填空题1. 与传统的程序设计语言相比,Visual Basic最突出的特点是____。
【答】事件驱动编程机制。
2. 如果不使用鼠标,用键盘打开菜单和执行菜单命令,第一步应按____键。
【答】功能键F10或Alt键。
3. 建立一个新的标准模块,应该选择____菜单下的“添加模块”命令。
【答】“工程”菜单。
三、思考题1. 简述Visual Basic的特点。
【答】与一般的程序设计语言相比,VB具有以下特点:(1) 可视化的设计平台;(2) 面向对象的设计方法;(3) 事件驱动的编程机制;(4) 结构化的设计语言;(5) 充分利用Windows资源;(6) 开放的数据库功能与网络支持。
2. 简述Visual Basic集成开发环境的组成。
【答】VB 6.0集成开发环境除了具有标准Windows环境的标题栏、菜单栏、工具栏外,还有工具箱、属性窗口、工程管理器窗口、窗体设计器、立即窗口、窗体布局窗口等有用的开发工具。
(1) 标题栏和菜单栏:标题栏中显示的有窗体控制菜单图标、当前激活的工程名称、当前工作模式以及最小化、最大化∕还原、关闭按钮。
菜单栏中显示了“文件”、“编辑”、“视图”、“工程”、“格式”等菜单项,其中包含了VB编程的常用命令。
VB程序设计教程课后参考答案习题一一、填空题1.对象、事件驱动2.窗体、控件3.属性4.属性窗口、编程设置5.事件过程6.对象名、下划线、事件名7.Form_click8.Print form1.print “我的VB”9.主窗口、属性、工具箱、代码、窗体、工程资源管理10.菜单、快捷键二、选择题1.C 2. A 3. B 4. B 5. D 6. B C 7. A 三、简答题(略)习题二一、选择题1. D2. C3. C4. B5. C6. B7. C8. B 9. A 10. B 11. B 12. C 13. D 14. B15. A 16. A 17. A 18. A 19. B 20. C 21. A22. B 23. B 24. A 25. C 26. A 27. B 28. B29. C 30. B 31. D 32. D 33. C二、填空题1.Controlbox、Maxbutton、Minbutton2.Multiline TRUE3.******4.单文档界面(SDI)多文档界面(MDI)5.窗体显示6.Passwordchar7._change()三、编程题(略)习题三一、基础知识题(略)二、填空题1.整型、长整型、单精度、双精度2.(x mod 10)*10+x\103.Sin(3.14*15/180)+sqr(x+exp(3))/abs(x-y)-log(3*x)4.(a+b)/(1/(c+5)-c*d/2)5.X mod 5=0 or x mod 9=06.False7.-4、3、-3、3、-4、48.CDEF10.TRUE11.变量、属性12.‘_ :13.(略)14.“”#15.Public、通用/模块、Dim、static、private16.+ 、&、+17.Now() 、time()、日期18.Inputbox()、字符串、val()19.Msgbox()三、选择题1.B 2. C 3. A 4. B D此题有误 5. B 6. A7. D 8. B 9. B 10. C 11. D 12. B13. C 14. B 15. A 16. C 17.A 18. D19. A 20. D 21. A 22. C 23. C 24. D25. A 26. D 27. D 28. B 29. C 30. B31. C 32. B 33. C D此题有误34. C 35. A36. D 37. C 38. A 39. B 40. A 41. C42. C 43. D 44. C 45. D 46. A四、编程题1.Option ExplicitPrivate Sub Command1_Click()Dim a%, b%, c%, delta%Dim x1#, x2#, x#a = Val(InputBox("please input data to a:", "info", 1))b = Val(InputBox("please input data to b:", "info", 1))c = Val(InputBox("please input data to c:", "info", 1))If a = 0 And b <> 0 Thenx = -c / bPrint "所构成的方程是:" & b & "x" & "+" & c & "=0"Print "该一元一次方程的根是:", xEnd IfIf a = 0 And b = 0 ThenPrint "很抱歉,不能构成合法的方程!"End IfIf a <> 0 Thendelta = b * b - 4 * a * cIf delta >= 0 Thenx1 = (-b + Sqr(delta)) / (2 * a)x2 = (-b - Sqr(delta)) / (2 * a)Print "所构成的方程是:" & a & "x2" & "+" & b & "x" & "+" & c & "=0"Print "该方程的根是:"Print "第一个根是:", x1Print "第二个根是:", x2Else2Print "该方程有两个虚根:"Print "第一个虚根是:" & -b / (2 * a) & "+" & Sqr(Abs(delta)) / (2 * a) & "i"Print "第二个虚根是:" & -b / (2 * a) & "-" & Sqr(Abs(delta)) / (2 * a) & "i" End IfEnd IfEnd Sub2.Option ExplicitPrivate Sub Command1_Click()Dim i%, s%s = 0For i = 1 To 99 Step 2s = s + iNextPrint sEnd Sub3.Option ExplicitPrivate Sub Command1_Click()Dim i%Dim s#s = 0For i = 1 To 100s = s + 1 / i * (-1) ^ (i + 1)NextPrint sEnd Sub4.Option ExplicitPrivate Sub Command1_Click()Dim i%, n%Dim t#, s#n = Val(InputBox("please input data:", "info", 5))s = 0t = 1For i = 1 To nt = t * is = s + tNextPrint sEnd Sub5.Option ExplicitPrivate Sub Command1_Click()Dim a%, b%, c%Dim p#, s#a = Val(InputBox("please input data to a:", "info", 3))b = Val(InputBox("please input data to b:", "info", 4))c = Val(InputBox("please input data to c:", "info", 5))If (a + b > c And Abs(a - b) < c) Or (a + c > b And Abs(a - c) < b) Or ((b + c) > a And Abs(b - c) < a) Thenp = (a + b + c) / 2s = Sqr(p * (p - a) * (p - b) * (p - c))Print "三角形的面积是:" & sElsePrint "很抱歉,不能构成合法的△三角形!"End IfEnd Sub6.Option ExplicitPrivate Sub Command1_Click()Dim ji%, tu%For ji = 1 To 27For tu = 1 To 27If ji * 2 + tu * 4 = 78 And ji + tu = 27 ThenPrint "鸡的个数是:" & jiPrint "兔的个数是:" & tuEnd IfNextNextEnd Sub7.Option ExplicitPrivate Sub Command1_Click()Dim i%Dim s#, t#s = 10t = 10For i = 1 To 7t = t * 0.4s = s + t * 2NextEnd Sub8.Option ExplicitPrivate Sub Command1_Click()Dim i%, fs%, max%, min%, s%Dim ave#fs = Val(InputBox("please input score:", "info", 90))s = fsmax = fsmin = fsFor i = 2 To 7fs = Val(InputBox("please input score:", "info", 90))If max < fs Thenmax = fsEnd IfIf min > fs Thenmin = fsEnd Ifs = s + fsNextave = (s - max - min) / 5Print "该运动员的平均成绩是:" & aveEnd Sub9. ‘同学们,这道题方法很多,主要考察你对选择结构的理解,我给出其中一种方法。
VB课后习题解答第一、二章:1、简述VB6.0的主要特点答:方便、直观的可视化设计工具;面向对象程序设计方法;事件驱动的编程机制;易学易用的应用程序集成开发环境;结构化程序设计语言;完备的联机帮助功能;强大的多媒体、数据库和网络功能。
2、当正常安装VB6.0后,误把Windows子目录删除。
当重新安装Windows后,是否需要再次安装VB6.0?答:要重新安装的。
因为安装VB6.0时,有些VB程序被系统自动安装在Windows目录下,所以一旦删除Windows子目录,就必须重新安装VB6.0。
3、Visual Basic 6.0分为学习版、专业版和企业版,如何知道所安装的是哪个版本?答:在VB6.0的启动界面上,能显示对应的版本。
4、叙述建立一个完整应用程序的过程答:首先建立用户界面的控件对象(简称控件);然后对控件属性进行设置;再对控件事件过程及编程;保存应用程序;程序调试和运行。
5、Visual Basic 6.0有多种类型窗口,若要在设计时看到代码窗口,应怎样操作?答:选择“视图”—>“代码窗口”命令或单击“工程资源管理器”窗口中的“查看代码”按钮。
6、当建立好一个简单的应用程序后,假定该工程仅有一个窗体模块。
试问该工程涉及多少个要保存的文件?若要保存该工程的所有文件,应先保存什么文件?再保存什么文件?若不这样做,系统会出现什么信息?答:涉及两个文件要保存。
先保存窗体文件(.frm),再保存工程文件(.vbp)。
若先保存工程文件,系统也会先弹出“文件另存为”对话框,要求先保存窗体文件。
7、保存文件时,若不改变目录名,则系统默认的目录是什么?答:系统默认的目录是VB988、安装Visual Basic 6.0后,帮助系统是否也已安装?答:没有。
VB6.0的帮助系统在两张光盘上,即MSDN Library,其中还包含了VC、VFP等其他语言的帮助系统。
9、如何使用Visual Basic 6.0的帮助系统?答:最方便的方法是选定要帮助的内容,然后按F1功能键,这时系统打开MSDN Library查阅器,直接显示与选定内容有关的帮助信息。
vb课后习题答案第一章习题参考答案一、填空题1、对象事件驱动2、编译运行模式解释运行模式二、简答题1、简述VB的特点。
答:①可视化的程序设计方法②面向对象的程序设计思想③事件驱动的编程机制④结构化的程序设计语言⑤高度的可扩充性⑥强大的数据库访问能力⑦支持动态数据交换⑧支持对象链接与嵌入2、简述VB的安装过程。
答:①向光驱中放入VB安装光盘;②计算机将运行自动安装程序,若没有,执行VB 目录下的Setup.exe;③根据提示逐一回答问题,并点击“下一步”;④点击“完成”;2、如何启动VB。
答:三种方法:①单击“开始”按钮,选择“程序”菜单下的“Microsoft Visual Basic 6.0 中文版”菜单项并单击;②双击桌面上的VB6.0快捷图标;③在“开始”菜单的运行对话框中输入命令来启动VB;第二章习题参考答案一、选择题:1-10、 DCACD BCBBC11-20、BADCA BBAAB21-29、AACBB CDDC二、填空题1.窗体、控件2.属性值3.属性窗口设置、代码窗口设置4.事件过程5.对象名、下划线、事件名6. Form_Click第三章习题参考答案一、选择题1、B2、C3、A4、B5、A6、C7、C二、填空题1、 11字符型、字节型、整型、长整型、单精度型、双精度型、货币型、逻辑型、日期型、对象型、变体型。
String、Byte、Integer、Long、Single、Double、Currency、Boolean、Date、Object、Variant2、双引号(英文)、#3、 ASCII、1、24、 public、通用、Dim、Static、Private、Static5、 &、+、+6、 Now()、Time、日期型三、解答题1、(3)2、(1 )3、(1)常量(关键字)(2)字符型常量(3)逻辑型常量(4)变量(5)字符串常量(6)变量(7)字符串常量(8)变量(9)日期型常量(题目应是#11/16/1999#)(10)数值型常量(单精度)4、315、(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)27)16 (8)“-459.65” (9)510、(4)11、(2)12、(4)第四章习题参考答案一、选择题:1—7: DAABBCD二、填空题1. 500.00%2.将字号扩大为原来的二倍3. B三、编程题(略)1.文本框、标签和命令按钮的名称分别为text1、label1、command1Private Sub Command1_Click()Label1.caption=text1.textCommand1.caption=text1.textEnd Sub2.单价、数量、折扣和应付款对应的文本框的名称分别为:text1、text2、text3和text4,计算和清除命令按钮的名称分别为:command1和command2。
《VB程序设计》综合复习资料第一章Visual Basic程序设计概述一、填空题1、Visual Basic是一种面向__________的可视化程序设计语言,采取了__________的编程机制。
2、在VB中工程文件的扩展名是____________,窗体文件的扩展名是____________,标准模块文件的扩展名是____________。
3、执行“工程”菜单下的__________命令,可选择并添加ActiveX控件。
4、Visual Basic 6.0用于开发__________环境下的应用程序。
二、选择题1、下面不是VB工作模式的是()A.设计模式B.运行模式C.汇编模式D.中断模式2、可视化编程的最大优点是()A.具有标准工具箱B.一个工程文件由若干个窗体文件组成C.不需要编写大量代码来描述图形对象D.所见即所得3、下列不能打开属性窗口的操作是()A.执行“视图”菜单中的“属性窗口”命令B.按F4键C.按Ctrl+TD.单击工具栏上的“属性窗口”按钮4、下列可以打开立即窗口的操作是()A.Ctrl+D B.Ctrl+E C.Ctrl+F D.Ctrl+G5、Visual Basic的编程机制是()A.可视化B.面向对象C.面向图形D.事件驱动三、简答题1、代码窗口主要包括哪几部分?2、在工程资源管理器窗口中,主要列出了哪三类文件?3、窗体布局窗口的主要用途是什么?4、VB的基本特点是什么?5、怎样理解可视化设计?6、怎要理解事件驱动编程?第二章简单的VB程序设计一、填空题1、设置是否可以用Tab键来选取命令按钮,应该用______________属性。
2、一个控件在窗体的位置由_______和________属性决定,其大小由__________和_________属性决定。
3、利用对象的属性setfocus可获得焦点,对于一个对象,只有其visible属性和____________属性为true,才能接受焦点。
VB程序设计及参考答案一、单选题(共20分,每小题1分)1、要改变控件的宽度,应修改该控件的()属性。
(A)TOP (B)width (C)Left (D)Height2、将命令按钮Command1设置为不可见,应修改该命令按钮的()属性。
(A)Visible (B)Value (C)Caption (D)Enabled3、()对象具有clear方法。
(A)图片框(B)窗体(C)复选框(D)列表框4、启动VB后,就意味着要建立一个新()。
(A)窗体(B)文件(C)工程(D)程序5、下列()对象不具有Clear方法。
(A)列表框(B)组合框(C)剪贴框(D)图片框6、组合框有三种风格,它们由Style属性所决定,其中为简单组合框时,Style 属性值应为()(A)0 (B)1 (C)2 (D)37、下列可调整图片框的大小以适合图片的属性是()(A)Stretch (B)autosize (C)picture (D)oledropmode 8、要想清除文本框中的内容则可利用()进行。
(A)Caption (B)Text (C)Clear (D)Cls9、在文本框控件中将Text的内容全部显示为所定义的字符的属性是()。
(A)Password (B)PasswordChar(C)需要编程来实现(D)以上都不是10、Visual Basic是一种面向对象的程序设计语言,所采用的编程机制是()。
(A)从主程序开始执行(B)按过程顺序执行(C)事件驱动(D)按模块顺序执行11、下列四项中合法的变量名是()。
(A)a-bc (B)a_bc (C)4abc (D)integer12、无论何种控件,共同具有的属性是()(A)Text (B)Name (C)Caption (D)ForeColor13、有程序代码如下:Text1.Text = "Visual Basic程序设计"则Text1、Text ,和"Visual Basic程序设计"分别代表()。
VB课后习题解答第一、二章:1、简述VB6.0的主要特点答:方便、直观的可视化设计工具;面向对象程序设计方法;事件驱动的编程机制;易学易用的应用程序集成开发环境;结构化程序设计语言;完备的联机帮助功能;强大的多媒体、数据库和网络功能。
2、当正常安装VB6.0后,误把Windows子目录删除。
当重新安装Windows后,是否需要再次安装VB6.0 ?答:要重新安装的。
因为安装VB6.0时,有些VB程序被系统自动安装在Windows目录下,所以一旦删除Windows子目录,就必须重新安装VB6.0。
3、Visual Basic 6.0分为学习版、专业版和企业版,如何知道所安装的是哪个版本?答:在VB6.0的启动界面上,能显示对应的版本。
4、叙述建立一个完整应用程序的过程答:首先建立用户界面的控件对象(简称控件);然后对控件属性进行设置;再对控件事件过程及编程;保存应用程序;程序调试和运行。
5、Visual Basic 6.0有多种类型窗口,若要在设计时看到代码窗口,应怎样操作?答:选择“视图”一>“代码窗口”命令或单击“工程资源管理器”窗口中的“查看代码”按钮。
6、当建立好一个简单的应用程序后,假定该工程仅有一个窗体模块。
试问该工程涉及多少个要保存的文件?若要保存该工程的所有文件,应先保存什么文件?再保存什么文件?若不这样做,系统会出现什么信息?答:涉及两个文件要保存。
先保存窗体文件(.frm),再保存工程文件(.vbp)。
若先保存工程文件,系统也会先弹出“文件另存为”对话框,要求先保存窗体文件。
7、保存文件时,若不改变目录名,则系统默认的目录是什么?答:系统默认的目录是VB98& 安装Visual Basic 6.0后,帮助系统是否也已安装?答:没有。
VB6.0的帮助系统在两张光盘上,即MSDN Library,其中还包含了VC、VFP等其他语言的帮助系统。
9、如何使用Visual Basic 6.0的帮助系统?答:最方便的方法是选定要帮助的内容,然后按F1功能键,这时系统打开MSDN Library查阅器,直接显示与选定内容有关的帮助信息。
第1章概述二.选择题:1.C2. B.3.C.4.C.5.A6.C7.D8.B9.B 10.B11.A12.C 13.D 14.C 15.D16.A17.C 18.A19.A20.D 21.B三.填空题:1.面向对象,事件驱动2.编译,解释3.设计,运行,中断4.F55.调试6.切换文件夹四.编程及上机调试:1.略2.Sub Form_Click( )Label1.Caption = “你单击了窗体”End SubSub Form_DblClick( )Label1.Caption = “你双击了窗体”End Sub第2章面向对象编程基础二.选择题:1.C2. C.3.B.4.B.5.D6.D7.B8.B9.C 10.D11.B 12.B 13.B 14.C 15.A16.B 17.B 18.B 19.C 20.B三.填空题:1.窗体,控件2.属性,事件,方法mand2_click4.picture5.中部,代码四.编程及上机调试:1.Private Sub Command1_Click()Form1.WindowState = 2End SubPrivate Sub Command2_Click()Form1.WindowState = 0Private Sub Command3_Click()Form1.WindowState = 1End Sub2.Private Sub Command1_Click()Form1.Picture = LoadPicture("d:\picture\flower.wmf")Command1.V isible = FalseCommand2.V isible = FalseEnd SubPrivate Sub Command2_Click()EndEnd SubPrivate Sub Form_DblClick()Form1.Picture = LoadPicture("")Command1.V isible = TrueCommand2.V isible = TrueEnd Sub第3章常用标准控件二.选择题:1.C2. B3.C.4.D5.B6.B7.A8.C9.B 10.C11.C 12.A13.C 14.B 15.D16.D 17.C 18.A19.D 20.A21.B三.编程及上机调试:1.Private Sub Check1_Click()If Check1.V alue = 1 ThenText1.FontBold = TrueElseText1.FontBold = FalseEnd IfEnd SubPrivate Sub Check2_Click()If Check2.V alue = 1 ThenText1.FontItalic = TrueElseText1.FontItalic = False End IfEnd SubPrivate Sub Check3_Click()If Check1.V alue = 1 ThenText1.FontUnderline = True ElseText1.FontUnderline = False End IfEnd SubPrivate Sub Command1_Click() Text1.Text = " "End Sub2.Private Sub Command1_Click() Text2.Text = List1.ListCount End SubPrivate Sub Command2_Click() List1.AddItem Text1.TextText1.Text = " "End SubPrivate Sub Command3_Click() Dim i As Integeri = List1.ListIndexList1.RemoveItem iCommand3.Enabled = FalseText1.SetFocusText2.Text = List1.ListCount End SubPrivate Sub Form_Load()Command3.Enabled = False End SubPrivate Sub List1_Click()Command3.Enabled = True End Sub第4章VB语言基础二.选择题:1.A2. D3.D.4.A5.A6.A7.C8.D9.C 10.B11.A 12.D 13.C 14.A15.A16.C 17.D 18.A19.B 20.D21.C 22.A23.B 24.C 25.C三.编程及上机调试:1.Private Sub Form_Load()Dim x As Integer, s As String, d As IntegerRandomizex = Int(Rnd * 9000 + 1000)s = Trim(CStr(x))d = V al(Right(s, 1) + Mid(s, 3, 1) + Mid(s, 2, 1) + Left(s, 1))ShowPrint "产生的数;"; x; "倒序数"; dEnd Sub2.Private Sub Form_KeyPress(KeyAscii As Integer)Print "输入字符:"; Chr(KeyAscii), "ASCII码为:"; KeyAsciiEnd SubPrivate Sub Form_DblClick()ClsEnd Sub3.Private Sub Form_Click()MsgBox "在这里显示提示" & vbCrLf & "提示信息", 2 + 16, "请确认"End Sub或Private Sub Form_Click()MsgBox "在这里显示提示" + Chr(13) + "提示信息", vbAbortRetryIgnore _ + vbCritical, "请确认"End Sub第5章程序控制结构二.单选题1.D2. C3.C.4.D.5.B6.C7.A8.A9.D 10.C11.C 12.C 13.B 14.B四.编程及上机调试1. Private Sub Form_Click()Dim x As Integer, y As Integerx = InputBox("请输入一个数值")If x > 20 Theny = x ^ 2 + 3 * x + 2ElseIf x >= 10 Theny = Sqr(3 * x) - 2ElseIf x > 0 Theny = 1 / x + Abs(x)End IfPrint "x="; x, "y="; yEnd Sub(2)Select Case实现:Private Sub Form_Click()Dim x As Integer, y As Integerx = InputBox("请输入一个数值")Select Case xCase Is > 20y = x ^ 2 + 3 * x + 2Case Is >=10y = Sqr(3 * x) - 2Case Is > 0y = 1 / x + Abs(x)End SelectPrint "x="; x, "y="; yEnd Sub2.Private Sub Form_Click()Dim a As Integer, b As Integer, c As IntegerFor i = 100 To 999a = i \ 100b = (i - a * 100) \ 10c = i Mod 10If a ^ 3 + b ^ 3 + c ^ 3 = i ThenPrint i;k = k + 1If k Mod 2 = 0 Then PrintEnd IfNext iEnd Sub3.Private Sub Command1_Click()p = 60: r = 0.014Dop = p * (1 + r)n = n + 1Loop Until p >= 70Print n; "年后世界人口达到"; p; "亿"End Sub4.Private Sub Command1_Click()Dim s As Single, x As Integer, t As Single, n As Integer x = V al(InputBox("请输入x的值", , 2))s = 1n = 1m = 1Don = n + 1m = -mt = m * n / x ^ (n - 1)If Abs(t) < 0.00001 Then Exit Dos = s + tLoopPrint sEnd Sub第6章数组二.单选题:1.A2.A.3.A4.C5.D6.D7.A8.D9.B 10.B四.编程及上机调试:1.Option Base 1Private Sub Form_Click()Dim a(10) As IntegerDim i As Integer, t As IntegerPrint "数组的原始数据为:";For i = 1 To 10a(i) = Int(11 * Rnd) + 10Print a(i);Next iPrintPrint "变化后数组数据为:";For i = 1 To 5t = a(i)a(i) = a(10 - i + 1)a(10 - i + 1) = tNext iFor i = 1 To 10Print a(i);Next iEnd Sub2.Option Base 1Private Sub Form_Click()Dim a(3, 4) As Integer, i As Integer, j As Integer, k As Integer, p As Integer RandomizeFor i = 1 To 3For j = 1 To 4a(i, j) = Int(90 * Rnd + 10)Print a(i, j);Next jPrintNext iMax = a(1, 1): k = 1: p = 1For i = 1 To 3For j = 1 To 4If a(i, j) > Max ThenMax = a(i, j)k = ip = jEnd IfNext jNext iPrint "最大的数为第" & k & "行,第" & p & "列的数:" & MaxEnd Sub3.Option Base 1Dim a(4, 5) As Integer '在窗体声明段声明数组Dim i As Integer, j As IntegerPrivate Sub cmdmatrix_Click() '"生成数组"按钮RandomizeFor i = 1 To 4For j = 1 To 5a(i, j) = Int(Rnd * 10) '一位的随机数Picture1.Print a(i, j); '输出元素Next jPicture1.PrintNext iEnd SubPrivate Sub cmdcol_Click() '"求列和"按钮Dim colsum As Integertxtcol.Text = ""For j = 1 To 5 '列变量先循环colsum = 0For i = 1 To 4colsum = colsum + a(i, j)Next itxtcol.Text = txtcol.Text & Str(colsum)Next jEnd SubPrivate Sub cmdrow_Click() '"求行和"按钮Dim rowsum As Integertxtrow.Text = ""For i = 1 To 4 '行变量先循环rowsum = 0For j = 1 To 5rowsum = rowsum + a(i, j)Next jtxtrow.Text = txtrow.Text & CStr(rowsum) & vbCrLf Next iEnd SubPrivate Sub cmdclear_Click() '"清除"按钮Picture1.Clstxtcol.Text = ""txtrow.Text = ""End SubPrivate Sub cmdexit_Click() '"结束"按钮EndEnd Sub4. Option Base 1Private Sub Form_Click()Dim a() As Integer, b() As Integer, i As Integer, j As Integer, x As Integer, y As Integer x = InputBox("第一维上界")Do While Not IsNumeric(x)x = Int(InputBox("第一维上界"))Loopy = InputBox("第二维上界")Do While Not IsNumeric(x)y = Int(InputBox("第二维上界"))LoopReDim a(x, y)Print "原数组元素为:"For i = 1 To xFor j = 1 To ya(i, j) = Int(90 * Rnd) + 10Print a(i, j);Next jPrintNext iPrint "转置后数组元素为:"For i = 1 To yFor j = 1 To xPrint a(j, i);Next jPrintNext iEnd Sub5. Option Base 1Private Sub Form_Click()Dim a(10, 10) As Integer, i As Integer, j As IntegerFor i = 1 To 10For j = 1 To 10If i = j Or i + j = 11 Thena(i, j) = 0Elsea(i, j) = 1End IfPrint a(i, j);Next jPrintNext iEnd Sub6. Option ExplicitOption Base 1Private Sub Command1_Click()Dim i As Integer, j As Integer, n As Integer, k As Integer, a(11) As Integerj = 1For i = 3 To 21 Step 2a(j) = iPrint a(j);j = j + 1Next iPrintn = InputBox("请输入一个数")For i = 1 To 10If n = a(i) ThenFor j = i To 10a(j) = a(j + 1)k = k + 1Next jEnd IfNext iFor i = 1 To 9Print a(i);Next iEnd Sub7. Option Base 1Private Sub Form_Click()Dim a As V ariant, k As Integer, i As Integer, j As IntegerDim b As V ariantb = Array(17, 35, 128, 235, 89, 121, 143, 189, 231, 94)a = Array(11.3, 12.3, 12#, 11.8, 12.6, 11.6, 12.8, 11.8, 12.4, 12.1)For i = 1 To 9 '对数组a的元素排序k = iFor j = i + 1 To 10If a(k) > a(j) Then k = jNext jIf k <> i Then '数组b的元素随数组a的元素一起变动t = a(i)a(i) = a(k)a(k) = tt = b(i)b(i) = b(k)b(k) = tEnd IfNext iPrint "按名字的排列顺序为:"For i = 1 To 10If Len(b(i)) = 2 Then b(i) = "0" & b(i) '补上数组b中长度为2的编号前的"0"Print "第" & i & "名的号码为:" & b(i) & ",成绩为:" & a(i)Next iEnd Sub第7章过程二、单选题1.C2. D3.C4.D5. B6.A7. B8.B9.C 10.D11.C 12.D 13.B 14.B 15.C16.A17.B 18.B三、填空题1.52 512.4 118 353.1 3 5四.编程及上机调试:1. Private Sub Command1_Click()Dim n As IntegerFor n = 100 To 1600 Step 500Print "n="; n; "时π的近似值是:"; pi(n)Next nEnd SubPrivate Function pi(x As Integer) As SingleDim s As Single, k As Integer, m As Integers = 0k = 1m = 1Dos = s + m / km = -mk = k + 2Loop While k <= xpi = 4 * sEnd FunctionPrivate Sub Command2_Click()EndEnd Sub2. Private Sub Command1_Click()Dim x As Integer, i As Integerx = V al(Text1)For i = 1 To xIf prime(i) And prime(x - i) ThenLabel2 = Str(x) & "是" & Str(i) & "和" & Str(x - i) & "两个素数之和"Exit SubEnd IfNext iEnd SubPrivate Function prime(x As Integer) As BooleanFor i = 2 To Int(Sqr(x))If x Mod i = 0 Thenprime = FalseExit FunctionEnd IfNext iprime = TrueEnd FunctionPrivate Sub Command2_Click()EndEnd Sub3. Option ExplicitOption Base 1Dim a(10) As IntegerPrivate Sub Command1_Click()RandomizeDim i As IntegerFor i = 1 To 10a(i) = Int(Rnd * 90) + 10Text1 = Text1 + Str(a(i))Next iCall sort(a)For i = 1 To 10Text2 = Text2 + Str(a(i))Next iEnd SubPrivate Sub sort(a() As Integer)Dim k As Integer, i As Integer, j As Integer, t As Integer k = UBound(a)For i = 1 To k - 1For j = i + 1 To kIf a(i) < a(j) Thent = a(i)a(i) = a(j)a(j) = tEnd IfNext jNext iEnd SubPrivate Sub Command2_Click()EndEnd Sub4. Option ExplicitPrivate Sub Command1_Click()Dim i As Integer, j As Integer, s As IntegerFor i = 2 To 1000S=0For j=1 To i - 1If I mod j=0 Then s=s+jNext jIf s=i Then Print I,Next iEnd Sub5. Public a(10) As IntegerPublic Sub sort(a() As Integer)Dim i As Integer, j As Integer, t As IntegerFor i = 1 To UBound(a) - 1For j = i + 1 To UBound(a)If a(i) > a(j) Thent = a(i)a(i) = a(j)a(j) = tEnd IfNext jNext iEnd SubPublic Function max(a() As Integer) As Integermax = a(1)For i = 2 To UBound(a)If max < a(i) Thenmax = a(i)End IfNext iEnd Function窗体Form1代码Private Sub Command1_Click()Dim i As IntegerRandomizeFor i = 1 To UBound(a)a(i) = Int(Rnd * 90) + 11Text1 = Text1 & Str(a(i))Next iEnd SubPrivate Sub Command2_Click()Form1.HideForm2.ShowEnd SubPrivate Sub Command3_Click()Text2 = max(a)End SubPrivate Sub Command4_Click()EndEnd Sub窗体Form2代码Private Sub Command1_Click()Call sort(a)For i = 1 To UBound(a)Text1 = Text1 & Str(a(i))Next iEnd SubPrivate Sub Command2_Click()Form2.HideForm1.ShowEnd Sub第8章程序调试二.上机调试题1. Option ExplicitPrivate Sub Form_Click()Dim a() As Single, i As IntegerDim y As Singlei = 1DoReDim a(i) …改为ReDim Preserve A(I) a(i) = 1 / fib(i)If a(i) <= 0.0001 Then Exit Do …改为a(i) < 0.0001 y = y + a(i)i = i + 1LoopPrint "y="; yFor i = 1 To UBound(a)Print a(i);Next iEnd SubPrivate Function fib(i As Integer) As IntegerIf i = 1 Thenfib = 1ElseIf i = 2 Thenfib = 2ElseFib(i)= fib(i - 1) + fib(i - 2) …改为Fib=Fib(I-1)+Fib(I-2) End IfEnd Function2. Option ExplicitPrivate Sub Command1_Click()Dim i As Integer, k As Integer, st As StringFor i = 10 To 500If wanshu(i) Thenst = CStr(i)Text1.Text = Text1.Text & stCall test(st)Text1.Text = Text1.Text & Chr(13) & Chr(10)End IfNext iEnd SubPrivate Function wanshu(n As Integer) As BooleanDim i As Integer, sum As IntegerFor i = 2 To n – 1 …改为i=1If n Mod i = 0 Thensum = sum + iEnd IfNext iIf sum = n Then wanshu = TrueEnd FunctionPrivate Sub test(s As String)Dim i As Integer, sum As Integersum = 0 …位置错,和for 语句位置调换Do While Len(s) > 1For i = 1 To Len(s)sum = sum + V al(Mid(s, i, 1))Next iText1.Text = Text1.Text & "->" & Str(sum)s = Str(sum) … 改为s = CStr(sum) LoopEnd Sub第9章数据文件一、单选题1.B 2.C 3.A 4.B 5.C6.B 7.C 8.B 9.10.A11. 12.A13. 14. 15.A16.B二、编程及上机调试1.Private Sub Form_Load()Open "d:\my\text2.txt" For Output As #1End SubPrivate Sub Text1_keyPress(KeyAscii As Integer)If KeyAscii = 13 ThenIf Trim(Text1) = "0000" ThenClose #1EndEnd IfWrite #1, Text1Text1.Text = ""End IfEnd Sub2.Option ExplicitPrivate Type Studentname As String * 10age As IntegerEnd TypePrivate Sub Command1_Click()Dim Stu As StudentOpen "d:\my\text2.txt" For Random As #1 Len = Len(Stu) = "WangY ing"Stu.age = 20Put #1, , StuClose #1Open "d:\my\text2.txt" For Random As #1 Len = Len(Stu)Get #1, , StuPrint "姓名:", Print "年龄:", Stu.ageClose #1End Sub第10章其它控件二、选择题1.B 2.B 3.B 4.C 5.6.A,C 7.A 8.9.10.11. 12.B 13.三、填空题1.菜单编辑器2.下拉式菜单弹出式3.顶4.PopupMenu5.多文档窗体6.MDIChild7.Private Sub HScroll1_Change()text1 = HScroll1.V alueEnd SubPrivate Sub HScroll1_Scroll()text1 = HScroll1.V alueEnd Sub8.Private Sub Toolbar1_ButtonClick(ByV al Button As MSComctlLib.Button) Select Case Button.IndexCase 1Form1.BackColor = vbRedCase 2Form1.BackColor = vbGreenCase 3Form1.BackColor = vbBlueEnd SelectEnd Sub四、编程及上机调试1.Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, _X As Single, Y As Single)If Button = 1 ThenPicture1.PSet (X, Y)StatusBar1.Panels(1) = "X=" & XStatusBar1.Panels.Item(2) = "Y=" & YEnd IfEnd Sub2.Private Sub Command1_Click()CommonDialog1.FileName = ""CommonDialog1.InitDir = "D:\"CommonDialog1.Filter = "Word Files|*.doc|文本文件|*.Txt" '设置过滤器CommonDialog1.DialogTitle = "打开文件" '设置打开对话框的标题CommonDialog1.Action = 1 '创建"打开"对话框If CommonDialog1.FileName = "" Then '判断文件名是否为空MsgBox "没有选择文件", 37, "检查" '若为空,则显示信息ElseOpen CommonDialog1.FileName For Input As #1 '打开选定的文件Do While Not EOF(1)Line Input #1, a$ '读文件的一行Text1 = Text1 & a$ & vbCrLf '输出所读的内容LoopEnd IfEnd SubPrivate Sub Command2_Click()CommonDialog1.Flags = 3 '列出打印机和屏幕字体CommonDialog1.Action = 4 '打开"字体"对话框Text1.FontName = CommonDialog1.FontName '改变文本框的字体Text1.FontSize = CommonDialog1.FontSizeText1.FontBold = CommonDialog1.FontBoldText1.FontItalic = CommonDialog1.FontItalicText1.FontUnderline = CommonDialog1.FontUnderline End SubPrivate Sub Command3_Click()EndEnd Sub11章略。
vb程序设计课后习题答案VB程序设计课后习题答案在学习VB程序设计过程中,课后习题是巩固知识、提高编程能力的重要环节。
本文将为大家提供一些VB程序设计课后习题的答案,希望能够帮助大家更好地理解和掌握相关知识。
1. 编写一个VB程序,实现计算两个数的和、差、积、商的功能。
答案:```vbPrivate Sub btnCalculate_Click()Dim num1 As DoubleDim num2 As Doublenum1 = CDbl(txtNum1.Text)num2 = CDbl(txtNum2.Text)lblSum.Caption = "和:" & num1 + num2lblDifference.Caption = "差:" & num1 - num2lblProduct.Caption = "积:" & num1 * num2If num2 <> 0 ThenlblQuotient.Caption = "商:" & num1 / num2ElselblQuotient.Caption = "除数不能为0"End IfEnd Sub```2. 编写一个VB程序,实现判断一个数是否为素数的功能。
答案:```vbPrivate Sub btnCheckPrime_Click()Dim num As IntegerDim i As IntegerDim isPrime As Booleannum = CInt(txtNum.Text)isPrime = TrueIf num < 2 ThenlblResult.Caption = "不是素数"Exit SubEnd IfFor i = 2 To Int(Sqr(num))If num Mod i = 0 ThenisPrime = FalseExit ForEnd IfNext iIf isPrime ThenlblResult.Caption = "是素数"ElselblResult.Caption = "不是素数"End IfEnd Sub```3. 编写一个VB程序,实现将一个字符串中的大写字母转换为小写字母,小写字母转换为大写字母的功能。
同步练习1二、选择题01——05 CADAB06——10 ACDAB11——15 CBDBB同步练习2二、选择题01——05 ABDCA06——10 CACBC11——15 DADAD16——20 BDBBB三、填空题1.可视2.LEFT、TOP、WIDTH、HEIGHT3.按字母顺序4.查看代码5.工具、编辑器6.FORM窗体、FONT7.MULTILINE8.在运行时设计是无效的9.工程、工程属性、通用、FORM1.SHOW 10.TABINDEX、0同步练习3二、选择题01——05 BCADB06——10 ADBBC11——15 DBCBA16——20 BAABB三、填空题1.整型、长整型、单精度型、双精度型2.SIN(30*3.14/180)+SQR(X+EXP(3))/ABS(X-Y)-LOG(3*X) 3.164、今天是:3-194.FALSE5.-4、3、-3、3、-4、46.CDEF7.(X MOD 10)*10+X\108.(35\20)*20=20( 35 \ 20 )* 20 = 209.X MOD 3=0 OR X MOD 5=010.27.6、8.2、8、1、100、397、TRUE、FALSE同步练习4一、选择题01——05 DBCAD06——10 CBBAB11——15 D25BAC16——20 CBACB21——25 DAABC二、填空题1.正确性、有穷性、可行性、有0个或多个输入、有1个或多个输出2.1 2 33.X>=74.X<AMIN5.10246.117.128.6、I、”*”;9.0、100、I+110.2*I、6、”*”;三、编程题1.编程求n!,n从键盘输入。
Private Sub Form_Click()Dim n%, s%, i%n = Val(InputBox("请输入n的值:"))s = 1For i = 1 To ns = s * iNext iPrint n; "!="; sEnd Sub2.编程求100以内的全部质数。
同步练习1一、简答题略二、选择题题号 1 2 3 4 5 6 7 8 9 10 答案 C A D B B A C D A B 题号11 12 13 14 15答案 C B D B B同步练习2一、简答题略二、选择题题号 1 2 3 4 5 6 7 8 9 10 答案 A B D C A C A C B C 题号11 12 13 14 15 16 17 18 19 20 答案 D A D A D B D B B B三、填空题1.可视2.Left、Top;Height、Width3.按字母序4.查看代码5.工具|选项|编辑器6.Form窗体;Font7.MultiLine8.只能在设计状态下设置9.工程|工程属性|通用;Form.Show10.TabIndex;0同步练习3一、简答题略二、选择题题号 1 2 3 4 5 6 7 8 9 10 答案 B C A D B A D B B C 题号11 12 13 14 15 16 17 18 19 20 答案 D B C B A D A A B B三、填空题1.整型、长整型、单精度、双精度2.Sin(30*3.14/180)+sqr(x+exp(3))/abs(x-y)-log(3*x)3.①160;②今天是:10-94.false5.-4、3、-3、3、-4、46.CDEF7.(x mod 10)*10+x\108.(35\20)*20=20;( 35 \ 20 )* 20 = 209.x mod 3=0 or x mod 5=010.①27.6 ②8.2 ③8 ④ 1⑤100 ⑥397 ⑦True ⑧False同步练习4一、选择题题号 1 2 3 4 5 6 7 8 9 10 答案 D B C A D A B C A B 题号11 12 13 14 15 16 17 18 19 20 答案 D A B A C C B A C B 题号21 22 23 24 25答案 D A B B C二、填空题1.字符型;整型2.1 2 33.X=74.X<amin5.10246.117.128.6 i "*";9.0 100 i+110.2+I 6 "*";同步练习5一、选择题题号 1 2 3 4 5 6 7 8 9 10 答案 D C A C D D D C D C 题号11 12 13 14 15答案 B A D A D二、填空题1.Name; Index2.Preserve3.variant4.n(2)=2; n(3)=3;5.1 2 3 1 4 16.1 2 3 2 4 67.Max; max=arr1(i)同步练习6一、选择题题号 1 2 3 4 5 6 7 8 9 10答案 C D B A B D B C C C 题号11 12 13 14 15 16 17 18答案 A B C B D C D B二、填空题1.子过程;函数过程2.形式;实际3.存储单元4.MyF(a%, b%( )) As Boolean5.按值传递;按地址传递6.Lbound( );Ubound( )7.局部8.通用;所有过程9.2 5 910.2411.212.30;7013.5同步练习7一、选择题题号 1 2 3 4 5 6 7 8 9 10 答案 B C D D D D D B B D 题号11 12 13 14 15 16 17 18 19 20 答案 C A D A A C A D B D 题号21 22 23 24 25 26 27 28答案 D A A A B C A A二、填空题1.Load;Unload2.Show;Hide3.属性;方法;事件4.工程属性;工程|工程属性5.MDI窗口;子窗口6.Keypress;Combo1.List(i);AddItem7.0;List1.ListIndex;Str(List1.ListCount)8.1000;True;Time( )9.AA10.下拉式组合框;简单组合框;下拉式列表框同步练习9一、选择题题号 1 2 3 4 5 6 7 8 9 10 答案 B A D C B B B B A B二、填空题1.驱动器列表框;目录列表框;文件列表框2.Change3.File1.Path=Dir1.Path4.Name “d:\old.doc ” As “d:\new.doc”5.Dir1.Path= Drive1.Drive;File1.Path=Dir1.Path6.FileCopy “d:\text.doc ” , “e:\text.doc”7.EOF()8.For Input;Not EOF(1)9.For Input;For Output;Not EOF(1);str1;Close #1,#210.Pattern11.空12.字节。
参考答案第1章Visual Basic 简介一、选择题1、B2、C3、A4、D5、C6、A7、D8、C9、D 10、B11、C 12、B二、填空题1 过程对象事件驱动2 学习版专业版企业版企业版3 Alt+F4 Alt+Q4 设计运行中断5 设置在应用程序运行时,各窗体在屏幕上的显示位置6 内部(标准)7 资源管理器8 编译方式解释方式9 选择“视图/工具箱”命令10 print 或?“大家都来学用Visual Basic”11按字母序按分类序12编辑代码三、思考题略第2章Visual Basic程序设计概述一、选择题1、A2、A3、D4、D5、D6、C7、A 8、C 9、A 10、C 11、B 12、D13、C 14、C 15、B 16、B 17、D 18、B三、编程题1、(1)建立应用程序用户界面。
选择”新建”工程,进入窗体设汁器,在窗体中增加一个标签控件Labe11和两个命令按钮 Commandl 、 Comlnand2。
(2)设置对象属性,见表。
(可自由设置)3编写代码private sub command1_clicklabel1.visible=false1 窗体 控件2 Left Top Width Height3 Ctrl 或shift4 Scrollbars Multiline True Passwordchar5 事件过程6 在属性窗口设置 在代码窗口设置7 对象名 下划线 事件名8 Form_Click9 Form1.Hide10 界面设计 属性设置 代码编写 保存运行11 窗体文件 工程文件12 部件13 窗体文件 模块文件 类模块文件private sub command2_clicklabel1.visible=trueend sub2、Private Sub Command1_ClickIf Text1.Text<>””And Text2.Text<>””Then ′组合条件判断文本框是否为空Form1.Caption=Text1.Text & ″,″& Label2.Caption & ″″& Text2.Text End IfEnd Sub第3章Visual Basic程序设计基础一选择题1.B2.C3.D4.B5.B6.B7.D8.D9.C10.C11.D 12.C 13.D 14.D 15.A 16.D 17.D 18.D 19.C 20.C21.A22.D23.B24.A 25.B 26.A二、填空题1 our name is2 13 True4 字母数字下划线2555 56 07 Logx/log10/0.5+x^2或者Logx/log10/0.5+x*x8 0,1,2,3,49 x>=0 and x<10010 511 false12 6三、编程题1.提示:Ucase、Lcase的使用2.提示:属性设置中,“计算”按钮的default属性设为True.“清除”按钮的Cancel属性设为True.第4章数据输入输出一、选择题1、D2、A3、A4、B5、D6、B7、C 8、C 9、D 10、D二、填空题1. 1+1= 22+2=42. 500.00%3.将当前字体放大两倍4. 20-11-025. 11 1三、编程题1.提示:(1)流程图。
VB程序设计(复旦出版社)习题答案项目一习题参考答案一、选择题1.A2.ABD3.A4. B5.BCD6.C7.D8.C9.B 10.C 11.AB 12.ABD 13.D 14.A 15.BC 16.C 17.B 18.C 19.BD二、填空题1.属性2.窗体3.代码4.冒号5.退出(&X)6.Image7.Cursor 8. GotFocus 9. Click 10. 使大小相同11. F5 12. MultiLine 13. SelStart 14. LTrim15. Xor 16.# 17.Single 18.Option Explicit On19.(x1*y2+2*z)^6 20.x Mod 3 = 0 Or x Mod 5 = 021. 15 22.Left(Trim(Text1.Text),2)="VB"项目二习题参考答案一、选择题:1. D2. C3. C4. B5.BCD6.ABD7.ABD 8.C 9.C 10.C 11.A 12.ACD 13.ABC 14.ABD 15.C 16.C 17.A 18.C 19.BCD 20.ACD 21.ACD二、程序填空题1. ①“str的值是在(0,5)内”②“提示信息”2.① m \ 100 ② (m - a * 100) \ 10 ③ Str(c * 100 + b * 10 + a)3.①100 ②Left4.①Chr(Asc(e.KeyChar)) = "(" ②Chr(Asc(e.KeyChar)) = ")"③num = 0 ④num > 0 5.①Trim(TextBox3.text) ②TextBox2.Focus6.①(a = (b Mod 10)) Or (a = (b Mod 100)) Or (a = (b Mod 1000))7.①Len(RTrim(strin)) ②Mid(strin, i, 1) ③Chr(chasc)8.①Mid(TextBox1.Text, i, 1) ②CurC9.①t = 0②t = t * 10 + a10.①1 To 9 ②i ^ 3 + j ^ 3 + k ^ 3三、程序改错题1. Label3.Text = Int(Rnd() * 99) + 1,除数不能为0.2. y = c & b & a3. If n >= 1 And n <= 50 Then项目三习题参考答案一、选择题1.A 2.C 3.D 4.B 5.B 6.A 7.C 8.D 9.B 10.A 11.B 12.D二、填空题1.0 2.Preserve 3.24 4.外5.6三、程序填空1.⑴0 ⑵step 2 ⑶i + 2 ⑷(n \ 2) * 2 2.(1)0 ⑵UBound(a)(3)a(i) > 0 ⑷s2+a(i)3.⑴9 To 0 Step -1 ⑵A(0) = b ⑶mod4.(1) A(i) = key (2) A(j-1) = A(j) (3) Preserve A(n - 1)项目四习题参考答案一、单选题1. A2.A3. B4. C5.A6.A7.D8.C二、多选题1. A B A B C 3.B C D 4.C D三、填空题1. 不被改变2.窗体模块声明段中3.ublic4.不被初始化5.位置四、程序填空1. addsum = x + y2. x = y3. (1) max = x(i)(2) Call Amax(k, m)4.在代码窗口的窗体模块声明段中声明:Dim x As Integer, y As Integer项目五习题参考答案一、选择题1. B2. A3. B4.B5.C6.C7.C8.A9.A 10.D 11.C 12.C 13.D 14. C 15. A 16. A 17. B二、填空题1.(1)TabIndex (2)02. Enabled3. SmallChange4. Sorted5. -16. Remove7. Add8. Min9. LargeChange10. SmallChange11. 212. 613. 组合框或者:ComboBox14. Text 或者:文本15. 300016. Clear17. Interval18. ComboBox1.Items.Remove(ComboBox1.Items(2))19. (1)"Text Files(*.txt) |*.txt" (2) OpenFileDialog1.FileName 项目六习题参考答案一、选择题1. A2. D3. C4. B二、填空题1.下拉菜单弹出式菜单2.项目属性应用程序3.e.shift4.ContextMenu项目七习题参考答案一、选择题1.D2.C3.B4.B5.B6.C7.D8.A9.A 10.D11.C 12.B 13.B 14.D 15.A 16.A 17.C 18.C二、填空题1.对象(或object)2.class3.new4.类型.名称5.protected.private.friend6.继承(或inherit)7.is-a或继承.has-a或合成8.public9.Mybase 10.复用项目八习题参考答案一、选择题1. A2. C3. D4. C5. A6. B7. C8. B9. D 10. A 11. B 12. B 13. C D 14. B 15. A 16. C 17. C 18. A二、填空题1. ASCⅡ码文本编辑软件2.不等长文件顺序批量处理3. Output、Append Input4. 1~5115.模块Public Private6.定长字符串7. 等长有惟一的记录号记录号对该记录读写 8. 将返回文件的字节数 9. 将返回一个表示文件指针是否到达文件末尾的值三、程序填空题1.(1) FileOpen(1, "D:\students.txt", OpenMode.Output)(2) Write(1, s.s_name, s.s_sex, s.s_birthday, s.s_score)(3) FileClose(1)2.(1) FileOpen(1, "D:\students.txt", OpenMode.Input)(2) Not EOF(1)(3) Input(1, str)3.(1) UCase(Trim(TextBox1.Text))(2) FileClose(1)(3) Write(1, TextBox1.Text)4.(1) StrIn = LineInput(2)(2) StrSort(StrIn)(3) Print(2, StrOut)t(4) ReDim(5) StrSort = StrSort & sArr(i) 5.(1) OpenMode.Input(2) OpenMode.Output(3) Not EOF(1)(4) str1 = LineInput(1)(5) FileClose()(6) Kill "C:\old.txt"6.(1) OpenMode.Append (2) OpenMode.Inpu7.(1) FilePut(1, xData)(2) FileGet(1, xData, i)项目九习题参考答案一、单选题1. A2. B3. D4. C5. C6. C7. A8. B9. A 10. C二、填空题1.CreateGraphics() 2. 画布 3. Dispose 4. 子类 5. SolidBrush6. 47. 38. Region9. System.Drawing 10. System.Drawing2D项目十习题参考答案一、单选题1. B2. D3.B4.A5.B6.C7.A8.B二、填空题1.select * from 基本情况 where 专业=’物理’2.命令对象(Command)3.连接对象(Connection)4. VB可以访问的数据库有以下3类:(1)Jet数据库。
第二章一、问答题1.叙述建立一个完整的应用程序的过程。
答:界面设计编写事件过程代码运行、调试保存文件2.当建立好一个简单的应用程序后,假定该工程仅有一个窗体模块。
问该工程涉及到几个文件要保存?若要保存该工程中的所有文件,正确的操作应先保存什么文件?再保存什么文件?若不这样做,系统会出现什么信息?答:涉及到两个文件要保存。
先保存窗体文件(.frm),再保存工程文件(.vbp)。
若先保存工程文件,系统也会先弹出“文件另存为”对话框,要求把窗体文件先保存。
3.假定在W indows环境中,要保存工程文件时,若不改变目录名,则系统默认的目录是什么?答:VB984.当标签框的大小由Caption属性的值进行扩展和缩小,应对该控件的什么属性进行何种设置?答:将标签的Autosize设置为True.5.VB6.0提供的大量图形文件在哪个目录下?若你的计算机上没有安装,则怎样安装这些图形文件?答:VB6.0提供的图形文件在Graphics目录。
6.在VB6.0中,命令按钮的显示形式可以有标准和图形两种选择,这通过什么属性来设置?若选择图形的,则通过什么属性来装入图形?若已在规定的属性里装入了某个图形文件,但该命令按钮还是不能显示该图形,而显示的是Caption属性设置的文字,怎样改正?答:按钮Style的属性设置为Graphical(或1)。
通过Picture属性来装入图形。
不能显示图形是因为Style的属性设置为Standard(或0),只要改为Graphical(或1),一般还将Caption 属性的值设置为空。
7.标签和文本框的区别是什么?答:文本是否可编辑。
8.当窗体上有三个文本框和一个命令按钮,若程序运行时,需把焦点定位在第三个文本框处,应对何控件的什么属性进行何种设置?答:应对Text3控件进行Text3.TabIndex=0的设置。
9.简述文本框的change与keypress事件的区别。
答:文本框内容变化,change与keypress事件都会发生,所不同的是Keyprees还将返回一个Keyasii参数10.当某文本框输入数据后(按了回车键),进行判断认为数据输入错,怎样删除原来数据?怎样使焦点回到该文本框重新输入?答:假定文本框的名称为Text1,则事件过程如下:Private Sub Text1_KeyPress(KeyAscii As Integer)If KeyAscii = 13 ThenIf 出错条件判断成立ThenText1=””…先删除原来数据Text1.SetFocus …焦点回到Text1End If……End IfEnd Sub11.在程序运行前,对某些控件设置属性值,除了在窗体中直接设置外,还可以通过代码设置,这些代码一般放在什么事件中?例如,程序要将命令按钮定位在窗体的中央,请写出事件过程。
答:这些代码一般都放在Form_Load()事件过程中。
要将按钮定位在窗体的中央,事件过程如下:Private Sub Form_Load()Command1.Left = form1.ScaleWidth \ 2 - Command1.Width \ 2Command1.Top = form1.ScaleHeight \ 2 - Command1.Height \ 2End Sub其中,ScaleWidth、ScaleHeight表示窗体的相对宽度和高度。
二、填空题1.对象的三要素为【属性、事件和方法】。
2. 在刚建立工程时,使窗体上的所有控件具有相同的字体格式,应对【form窗体】的【font】属性进行设置。
3. 当命令按钮的Picture属性装入.bmp图形文件后,选项按钮上并没有显示所需图形,原因是没有对【style】属性设置为1(Graphical)。
4. 在文本框中,通过【selstart】属性能获得当前插入点所在的位置。
5. 要对文本框中已有的内容进行编辑,按下键盘上的按键,就是不起作用,原因是设置了【locked】属性为True6. 在窗体上已建立多个控件如Text1,Label1,Command1,若要使程序一运行焦点就定位在Command1控件上,应对Command1控件设置【tabindex】属性的值为【0】。
第三章一、问答题1.VB提供了哪些标准数据类型?声明类型时,其类型关键字分别是什么?其类型符又是什么?答:见教材P39的表3.1 VB的基本数据类型2.哪种数据类型需要的内存最少,且可存储如3.2345这样的值。
答:Single(单精度型)3.将数字字符串转换成数值,用什么函数?取字符串中的某几个字符,用什么函数?大小写字母间的转换用什么函数?答:数字字符转换成数值用V al函数;取字符串中的某几个字符用mid函数或left 函数或right函数; 大小写字母间的互换用ucase或lcase函数。
4.下列哪些是VB合法常量,分别指出其类型(见P58习题三1)。
答:1(#)、3(!)、4(#)、6(%)、7($)、8($)、9(date)、10(#)、12(%)、14(%)、15(boolean)、18(!)一、填空题1.在程序运行过程中,若需对程序中使用到的变量声明均采用显式声明方式,则必须在程序设计时在通用声明段部分加上Option Explicit语句。
2.已知有如下声明语句:Dim a ,b as Integer则变量a的类型是variant(变体型)。
3.已知有如下四个算术运算符:*、Mod、/、+,*、/运算符的优先级别最高4.已知a=3.5,b=5.0,c=2.5,d=True,则表达式:a>=0 and a+c>b+3 or not d 的值是false5.数学表达式的VB 算术表达式为sin(15*3.14/180)+sqr(x+exp(3))/abs(x-y)-log(3*x)6. 数学表达式 的VB 算术表达式为(a+b)/(1/(c+5)-c*d/2)7. 数学表达式a acb b 242-+-的VB 算术表达式为(-b+sqr(b^2-4*a*c))/(2*a)8.表示x 是5的倍数或是9的倍数的VB 算术表达式为 x mod 5=0 or x mod 9=09.产生一个”C ”~”L ”范围内的大写字母表达式为chr(int(rnd*10+67)10.取字符变量S 中第五个字符起的6个字符的表达式为mid(S,5,6)11.表示10≤X <20的关系表达式为x>=10 and x<2012.表达式Dateadd(“m ”,1,#1/30/2000#)的结果为2000-2-2913.整型变量x 中存放了一个两位数,要将两位数交换位置,例如,13变成31,实现的表达式是(x mod 10)& x\1014.在直角坐标系中,x,y 是坐标系中任意点的位置,用x 与y 表示在第一或第三象限的表达式是x>0 and y>0 or x<0 and y<015.计算现在起离2010世界杯赛(2010年6月11日)举行还有多少天的函数表达式为DateDiff(“d ”,date,#6/11/2010#)16. 计算现在起离你毕业(2012年7月3日)还有多少个星期的函数表达式为DateDiff(“w ”,date,#7/3/2012#)17.表示S 字符变量是字母字符(不区分大小写字母)的逻辑表达式是ucase(S)>=”A ” and ucase(S)<=”Z ” 也可以是Lcase(S)>=”a ” and Lcase(S)<=”z ”18.x,y 之一小于z 的表达式为x<z and y>z or x>z and y<z第四章一、问答题1.结构化程序设计的三种基本结构是什么?答:顺序结构、选择结构和循环结构。
2.指出下列赋值语句中的错误(包括运行时的错误)(1)10x=sin (x )+y变量名不能数字打头 (2)c=3+sqr (-3)sqr 函数中的参数不能为负数 (3)c+x+y =c*y 赋值语句的左边不能是表达式(4)x=sin (x )/ (20 Mod 2 ) 分母不能为0()x y x e x 3ln 15sin 30--++cd c ba 2151-++3.msgbox 函数与inputbox 函数之间有什么区别?各自获得什么值?答:msgbox 函数的作用是打开信息框,等待用户选择按钮而inputbox 函数的作用是打开一个对话框,等待用户输入内容;msgbox 函数的返回值是1~7的整数值,而inputbox 函数的返回值是用户输入的数据,返回值的数据类型为字符型。
4.要使单精度变量x,y,z 分别保留1位、2位、3位小数,并在窗体显示,应使用什么函数? 如何编写对应的Print 方法?答:使用Format 函数,具体如下:Print format(x,”0.0”);format(y ,”0.00”);format(z,”0.000”)5.语句If <表达式> Then ……中的表达式可以是算术、字符、关系、逻辑表达式中的哪些? 答:可以是算术表达式,关系表达式和逻辑表达式6.指出下列语句中的错误(1) if x ≥y then print x 正确的写法:x>=y(2) if 10 < x < 20 then x=x+20 正确的写法:x>10 and x<207.在多分支结构的实现中,可以用If <表达式> Then …ElseIf 形式的语句,也可以用Select Case … End Select 形式的语句,由于后者的条件语句更灵活、简洁,是否完全可以取代前者?答:不可以。
Select Case … End Select 形式的语句的使用是受到限制的。
只能用在对一个变量条件的判断。
若要对多个变量条件进行判断,只能使用If <表达式> Then …ElseIf 形式的语句8.计算下列循环语句的次数(1) For i=-3 to 20 step 4 循环次数为:6(2) For i=-3.5 to 5.5 step 0.5 循环次数为:19(3) For i=-3.5 to 5.5 step -0.5 循环次数为:0(4) For i=-3 to 20 step 0死循环 9.如果事先不知道循环次数,如何用FOR …Next 结构来实现?答:可先设循环变量的终值为一个较大的值,然后在循环体内嵌套条件分支10. 如何书写Do …Loop 结构,使得循环体至少执行一次?答:do Loop while <条件>….11.当发现了死循环,如何终止循环答:按ctrl+break键中断程序12.如何在程序中设置断点?如何去除断点?答:设置断点的方法是将光标移到要设置断点的代码行,按F9或单击调试工具栏的”切换断点”按钮。