VB程序设计教程_第四版_课后答案
VisualBasic程序设计教程第版课后部分编程题参考答案(一)
VisualBasic程序设计教程第版课后部分编程题参考答案(一)Visual Basic 程序设计教程是程序员必备的一本教材。
而其第四版中也包含了大量课后编程题,能够帮助读者深入理解 Visual Basic 程序设计的核心内容。
本文就来为大家介绍一下这部分编程题的参考答案。
一、数据类型和运算符1. 将两个整数相加Dim num1, num2, result As Integernum1 = 10num2 = 20result = num1 + num2MsgBox ("The result of adding " & num1 & " and " & num2 & " is " & result & ".")2. 将两个小数相减Dim num1, num2, result As Doublenum1 = 2.5num2 = 1.2result = num1 - num2MsgBox ("The result of subtracting " & num2 & " from " & num1 & " is " & result & ".")3. 将两个字符拼接在一起Dim str1, str2, result As Stringstr1 = "Hello"str2 = "World"result = Str1 + Str2MsgBox ("The result of concatenating " & str1 & " and " & str2 & " is " & result & ".")二、程序结构和函数1. 将两个整数相加并返回结果Public Function Add(ByVal num1 As Integer, ByVal num2 As Integer) As IntegerDim result As Integerresult = num1 + num2Return resultEnd Function2. 获取当前日期和时间Dim currentDateTime As StringcurrentDateTime = Now()MsgBox ("The current date and time is " & currentDateTime & ".")3. 显示一个消息框并返回用户的选择Dim userInput As IntegeruserInput = MsgBox("This is a prompt. Would you like tocontinue?", vbYesNoCancel, "Message Box Test")MsgBox ("Your choice was " & userInput & ".")三、数组和结构1. 将一个整数数组按照升序排列Dim numArray() As IntegernumArray = {5, 10, 2, 8, 1}Array.Sort(numArray)MsgBox ("The sorted array is " & Join(numArray, ", ") & ".")2. 创建一个结构体表示一个人,包含姓名、年龄和性别字段Public Structure PersonPublic Name As StringPublic Age As IntegerPublic Gender As StringEnd Structure3. 创建一个数组表示一个班级的学生,使用 Person 结构体表示每个学生的信息Dim students(2) As Personstudents(0).Name = "Tom"students(0).Age = 16students(0).Gender = "Male"students(1).Name = "Jane"students(1).Age = 15students(1).Gender = "Female"students(2).Name = "Bob"students(2).Age = 17students(2).Gender = "Male"四、文件和数据库1. 读取一个文本文件中的内容并显示Dim filePath As String ="C:\Users\UserName\Documents\MyFile.txt"Dim fileText As StringfileText = File.ReadAllText(filePath)MsgBox ("The contents of the file are " & fileText & ".")2. 将一个字符串写入到一个新建的文本文件中Dim filePath As String ="C:\Users\UserName\Documents\NewFile.txt"Dim fileContent As StringfileContent = "This is the content of the new file."File.WriteAllText(filePath, fileContent)MsgBox ("The file was created and the following content was written to it: " & fileContent & ".")3. 从一个 SQL 数据库中查询某个表格的内容Dim connectionString As String = "DataSource=myServerName;Initial Catalog=myDataBase;UserId=myUsername;Password=myPassword;"Dim query As String = "SELECT * FROM myTable"Dim dataTable As New DataTable()Using connection As New SqlConnection(connectionString)connection.Open()Using command As New SqlCommand(query, connection)Using adapter As New SqlDataAdapter(command)adapter.Fill(dataTable)End UsingEnd UsingEnd UsingMsgBox ("The following records were retrieved from the database: " & vbNewLine & DataTableToString(dataTable))这些编程题的参考答案可以帮助读者理解 Visual Basic 程序设计的一些基本概念和技术,希望读者能够结合自己的实际情况进行学习和练习,不断提高自己的编程水平。
《VB程序设计》课后题答案
第二章一、问答题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、B2、A3、B4、答:属性:红色、充满氢气;事件:松手、针刺;方法:飞走、爆破。
5、答:事件是指对象能够识别并作出反映的外部刺激。
事件驱动又称消息驱动,事件驱动程序设计是指每个事件对应有相应的程序代码,仅在该事件发生时,该段代码才会被执行。
事件发生的顺序决定了代码执行的顺序,因此每次执行应用程序时,程序代码并不是按照程序编写的顺序来执行的。
6、答:VB是一个包括界面设计、程序编码、调试、编译并创建可执行程序的集成开发环境。
VB的集成开发环境的主界面中包含:标题栏、菜单栏、工具栏、控件箱、工程资源管理器、属性窗口、“窗体布局”窗口、窗体设计器、代码编辑器等元素组成。
7、答: VB菜单条通常情况下有:文件、编辑、视图、工程、格式、调试、运行、查询、图表、工具、外接程序、窗口、帮助等13项菜单项组成。
8、答:工具栏可自行定义。
标准工具栏中通常情况下有:添加标准exe工程、添加窗体、菜单编辑器、打开工程、保存工程、剪切、复制、粘贴、查找、撤消、重复、启动、中断、结束、工程资源管理器、属性窗口、窗体布局窗口、对象浏览器、工具箱、数据视图窗口、可视化元件管理器等按钮组成。
9、答:创建VB应用程序的一般步骤为:创建界面;设置窗体和控件属性;编写代码;保存工程;运行并调试程序;检查并排除错误;创建可执行文件。
10、Private Sub Command1_Click()Label1.Caption = "I love vb,I hate vb"End Sub1、2、3、S1 输入待判断自然数: N(N>=2);S2 i=2;S3 判断i是否小于N-1,若不是转S5S4 判断N除以i的余数是否为0,如果不是则i=i+1转S3;S5 判断i是否等于N,若是输出“是素数”,否则输出“不是素数”。
4、S1 输入待判断自然数: N;S2 将N转换成字符S,计算S的长度K;S3 i=1;S4 判断i是否小于K-1,若不是转S6;S5 判断S中的第i位和第K-i+1位是否相等,如果是则i=i+1转S4,如果不是则转S6;S6 判断i是否是中间位数,若是输出“是回文数”,否则输出“不是回文数”。
vb程序设计教程习题答案
vb程序设计教程习题答案VB程序设计教程习题答案VB程序设计是一门广泛应用于软件开发领域的编程语言,它具有易学易用的特点,被广大程序员所喜爱。
在学习VB程序设计的过程中,习题是一个非常重要的环节,通过解答习题可以帮助我们巩固所学的知识,提高编程能力。
下面我将给出一些VB程序设计教程习题的答案,希望对初学者有所帮助。
1. 编写一个VB程序,实现计算两个数的和并输出结果的功能。
答案:```Public Class Form1Private Sub Button1_Click(sender As Object, e As EventArgs) HandlesButton1.ClickDim num1 As IntegerDim num2 As IntegerDim sum As Integernum1 = Integer.Parse(TextBox1.Text)num2 = Integer.Parse(TextBox2.Text)sum = num1 + num2MessageBox.Show("两个数的和为:" & sum)End SubEnd Class```2. 编写一个VB程序,实现判断一个数是奇数还是偶数的功能。
答案:```Public Class Form1Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.ClickDim num As Integernum = Integer.Parse(TextBox1.Text)If num Mod 2 = 0 ThenMessageBox.Show("这个数是偶数")ElseMessageBox.Show("这个数是奇数")End IfEnd SubEnd Class```3. 编写一个VB程序,实现计算一个数的阶乘的功能。
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程序设计 习题及答案第4章 选择结构程序设计
第4章选择结构程序设计4.1 写出数学式|x|<2.5×10-2对应的Visual Basic表达式。
【答案】x<2.5e-2 and x>-2.5e-24.2 逻辑运算符And、Or和Not的优先级最高的是哪一个。
【答案】Not4.3 已知 W=10 X=9 Y=8 Z=7 ,求下列表达式的结果。
(1) W>X And Y<=Z OR X>Y(2) X>Z Or W=Y AND Y<X(3) Not (W>Y And X=Z)(4) Not (Y<>X Or W*3>Z)【答案】(1) True(2) True(3) True(4) False4.4 写出下列十进制整数逻辑运算的结果:(1) X = 23 And 14(2) X = 23 Or 14(3) X = -1 And 19(4) X = -1 Or 10(5) X = Not -1【答案】(1) 6(2) 31(3) 19(4) -1(5) 04.5 已知变量X和Y的值分别为5、6,编写程序,交换变量X和Y的值。
【参考答案】程序代码设计Private Sub Form_Click()x = 5: y = 6t = x: x = y: y = tForm1.Print "x="; x, "y="; yEnd SubPrivate Sub Form_Load()Form1.AutoRedraw = TrueForm1.Print "x = 5", "y = 6"Form1.Print "单击窗体交换x,y的值"图4-1 程序运行结果End Sub程序运行结果如图4-1所示:4.6 从键盘输入一个学生的三科成绩,计算总分,并找出最高分。
【参考答案】(1)用户界面设计(2)控件属性设置(略)(3)程序代码设计Private Sub Command1_Click()g1 = Val(Text1.Text)g2 = Val(Text2.Text)g3 = Val(Text3.Text)Var = (g1 + g2 + g3) / 3g = g1If g < g2 Then g = g2If g < g3 Then g = g3Text4.Text = VarText5.Text = gEnd Sub图4-2 程序运行结果程序运行结果如图4-2所示。
VB程序设计课后习题答案
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查阅器,直接显示与选定内容有关的帮助信息。
(完整word版)Visual-Basic程序设计教程(第4版)实验答案[2]模板
※声明:1.实验所属课本原件为《Visual Basic程序设计教程(第4版)(□主编龚沛曾□编者杨志强陆慰民谢步瀛)》;2.实验答案代码采用红色字体突出;3.仅提供课本前七个实验的代码,之后的实验上课考试均不涉及故不作;4.教学平台上机实验、课本篇后实验,两者题目操作略有差异,作业以前者要求为准,故以下答案代码为前者代码,如对后者代码有所需求请私信;5.本文为作者原创,复制转载请注明出处;6.如果对代码有所疑问,或者略感繁琐想直接要已完成实验,请私信;7.浏览、复制、下载后请给作者一个合理的评价,感激不尽。
实验1-1编制简单的欢迎界面程序。
要求:在屏幕上显示“欢迎学习Visual Basic”;在文本框Text1中输入姓名;单击命令按钮“你输入的姓名是”,在Label3标签显示在文本框中输入的姓名。
程序运行效果如图2.1.1所示。
程序以“学号-1-1.frm”和“学号-1-1.vbp”文件名保存。
以后每个实验项目的命名规则都是如此,即“学号-实验号-实验题目”。
(如某同学的学号为A10414001,所完成的是实验2的第3题,那么程序文件名为“A10414001-2-3.frm”和“A10414001-2-3.vbp”)图2.1.1 实验1.1运行界面提示:(1) 实验所用到的控件及属性设置见表2.1.1。
表2.1.1属性设置控件名属性Label1 Caption="欢迎学习Visual Basic";Font属性:字号为二号,字体为隶书,Aligment=2(居中)Label2 Caption="请输入你的姓名";Font属性:字体为楷体,有下划线Label3 Caption="",BorderStyle=1Private Sub Command1_Click() Label3.Caption = Text1.Text End Sub实验1-2Label1 Caption="我开始学习程序设计";FontSize=36;BackStyle=0Command1 Caption="";Style=1;Picture="clock02.ico";ToolTipText="自动"Command2 Caption="";Style=1;Picture="key04.ico";ToolTipText="手动"Timer1 Interval=0注:因为印刷错误,例题1.1中两个命令按钮的图形与事件过程代码不一致,需要调整。
VB程序设计教程(第四版)龚沛曾习题答案
VB程序设计教程(第四版)龚沛曾课后习题答案目录:第1章Visual Basic程序设计入门第2章面向对象的可视化编程基础第3章VB程序设计基础第4章基本控制结构第5章数组第6章过程第7章用户界面设计第8章数据文件第9章图形操作第10章ADO数据库编程基础第3章1、合法的有:(1)单精度(3)单精度(4)双精度(6)整形(7)字符型(9)日期型(10)双精度(12)八进制表示(14)十六进制表示(15)逻辑型(18)单精度数2、合法变量有:(1),(2),(6),(9),(10),(11)3、算术表达式写成VB表达式(1)abs(x+y) +z^5(2)(1 + x * y )^ 6(3)(10*x + sqr(3*y) ) / (x * y )(4)( -b+sqr(b^2-4*a*c) )/2/a(5)1 / (1/r1+1/r2+1/r3)(6)sin(45*3.14/180)+ ( exp(10)+ log(10) )/ sqr( x+y+1)4、根据条件写出相应的VB表达式(1) chr( int ( Rnd * 10 +67 )(2) int ( Rnd * 101 +100 )(3) x * y >0(4) x/5=0 or x /7 =0(5) (x mod 10) 10 + x /10(6)Round(123.2389*100)/100(7) Ucase (c ) >=‖A‖and Ucase(c )<=‖Z‖or Lcase (c ) >=‖a‖and Lcase(c )<=‖z‖(8) Mid ( s, 5, 6 )(9) x >=10 and x <20(10) ( x < z and y >z ) or ( x >z and y < z)(11) x>z and y > z5、下出下列表达式的值:(1)123+23 mod 10 \ 7 +Asc(―A‖)【188】(2)100+‖100‖& 100 【200100】(3)Int ( 68.555*100+0.5)/100 【68.56】(4)已知A$=“87654321‖,求表达式Val(Left$(A$,4)+ Mid(A,4,2))的值【876554】(5)DateAdd(―m‖,1,#1/30/2000#) 【2000-2-29】(6)Len(‖VB程序设计‖)【6】6、利用shell函数在VB程序中分别指向画图word程序。
VB程序设计教程第四版
Icon
ForeColor BackColor
Picture
字符串
用于设置窗体中要显示的图片
9
‹#›
窗体的常用方法有: Print Move Cls
form1.print Form1.move Form1.cls
在窗体上输出信息 移动窗体或控件 清除窗体或图形框中的内容
11
例 1- 3: 当用户运行程序,在标题栏显示“装入窗体”;单击窗体,在标题栏 显示“鼠标单击”,在窗体上显示“单击窗体”;当用户双击窗体,在标题 栏显示“鼠标双击”,并在窗体上显示“双击窗体”。
12
2.3
控件
2.3.1 内部控件
13
2.3.2 控件的命名和控件值
1、控件的命名 原则是见名知义,提高可读性,从名字上看出对象的类型 建议(注意,不是规定)用3个小写字母作为Name(控件名称)的前缀。书上 表2.3列出了窗体和内部控件建议使用的前缀(P25) 2 、控件值 Visual Basic为每个控件规定了一个默认属性,在设置这样的属性时,不必给 出属性名,通常把该属性称为控件的值。控件值是一个控件的最重要或最 常用的属性。 Eg: text1.text=“vb程序设计” 等价于 text1 =“vb程序设计” 此处,text就是文本框的控件值 (部分控件的控件值,参见表2.4, P26) 省略控件值可以节省代码,但会降低程序的可读性,所以建议显式引用控 件值。
8
FontBold
FontItalic
FontStrikethru
逻辑值
逻辑值
逻辑值 逻辑值
FontUnderline
窗体的主要属性 (3)
属性名 MaxButton MinButton ControlBox 属性值 逻辑值 逻辑值 逻辑值 说 明 用于设置窗体右上角的最大化按钮,True:有; False:无 用于设置窗体右上角的最小化按钮,True:有; False:无 用于设置窗口控制框的状态,True:有;False: 无 用于设置窗体最小化(windowstate=1)时的图标。 该属性只适用于窗体(通常是.ico格式的图标文件) 整数 整数 用于设置窗体或对象的前景颜色 用于设置窗体或对象的背景颜色
VB程序设计教程课后答案
VB程序设计教程课后答案VB程序设计是一门广泛应用于Windows平台的编程语言,它结合了基本的编程概念和用户界面设计,使得开发者可以轻松创建功能强大的应用程序。
本文将为您提供VB程序设计教程课后答案,帮助您更好地理解和掌握VB程序设计的知识。
第一章:入门篇1. 什么是VB程序设计?VB程序设计是一种使用Visual Basic语言编写应用程序的过程。
它可以用于开发Windows桌面应用程序、数据库应用程序、Web应用程序等。
2. VB程序设计的基本组成部分有哪些?VB程序设计的基本组成部分包括窗体(Form)、控件(Controls)、事件(Events)和代码模块(Code Module)。
3. 如何创建一个VB程序?要创建一个VB程序,首先打开Visual Studio开发环境,然后选择新建项目,选择Visual Basic,再选择Windows桌面应用程序模板,最后输入项目名称并点击确定即可。
4. 如何添加窗体和控件?在VB程序中,可以通过拖放方式添加窗体和控件。
在工具箱中选择所需的控件,然后将其拖放到窗体上即可。
5. 如何给控件添加事件?控件的事件是在特定的操作或触发条件下执行的代码。
要给控件添加事件,可以在属性窗口中选择事件选项卡,然后双击所需的事件即可。
第二章:基本语法篇1. VB程序中如何定义变量?在VB程序中,可以使用Dim语句来定义变量。
例如,Dim num As Integer表示定义一个整型变量num。
2. 如何进行条件判断?在VB程序中,可以使用If...Then...Else语句进行条件判断。
例如,If num > 0 Then表示如果num大于0,则执行某些操作。
3. 如何进行循环操作?在VB程序中,可以使用Do...Loop语句、For...Next语句或While...Wend语句进行循环操作。
例如,Do While num > 0表示当num大于0时,执行某些操作。
VB程序设计教程 习题解答
《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、 简述 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 8、 安装 Visual Basic 6.0后,帮助系统是否也已安装? 答:没有。VB6.0的帮助系统在两张光盘上,即 MSDN Library,其中还包含了 VC、VFP 等其他语言的帮 助系统。 9、 如何使用 Visual Basic 6.0的帮助系统? 答:最方便的方法是选定要帮助的内容,然后按 F1功能键,这时系统打开 MSDN Library 查阅器,直接 显示与选定内容有关的帮助信息。 10、 什么是类?什么是对象?什么是事件过程? 答:类是同类对象集合的抽象,它规定了这些对象的公共属性和方法; 对象是类的一个实例,对象包含三个要素:属性、方法和事件。 当在对象上发生了事件后,应用程序就要处理这个事件,而处理的步骤就是事件过程。 11、 属性和方法的区别是什么? 答:属性是对象的特征,方法是对象的行为。前者有值,可以被赋值或引用;后者没有值,表示能够执 行的操作。 12、 当标签边框的大小由 Caption 属性的值进行扩展或缩小时,应对该控件的什么属性进行何种设置? 答:将该控件的 Autosize 属性值设置为 true。 13、 在 VB6.0中,命令按钮的显示形式可以有标准的和图形的两种选择,它们通过什么属性来设置?若选 择图形的,则通过什么属性来装入图形?若已在规定的属性里装入了某个图形文件,但该命令按钮还是 不能显示该图形,而显示的是 Caption 属性设置的文字,应怎样修改? 答: 命令按钮的显示形式通过将 Style 属性值设置为 Graphical 来实现。 通过 Picture 属性来装入图形。 不
vb程序设计书习题和参考答案
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+F3D、F85.改变控件在窗体中的上下位置应修改该控件的属性。
A、TopB、LeftC、WidthD、Right6.窗体模块的文件扩展名是A、.exeB、.basC、.frxD、frm7.设置窗体的字体用属性。
A、FontNameB、FontSizeC、FontBoldD、FontItalic8.设置窗体的字号用属性。
A、FontNameB、FontSizeC、FontBoldD、FontItalic 9.下列选项中不属于事件的是。
A、DblclickB、LoadC、ShowD、KeyUp10.VB编制的程序保存在磁盘上,至少会产生何种文件。
A、.doc与.txtB、.com与.exe.C、.bat与.frmD、.vbp与.frm三、程序设计题1.新建一个工程,单击窗体时,在窗体上显示“欢迎使用Visual Basic程序”。
大学计算机VB程序设计教程课后答案
第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程序设计过程中,课后习题是巩固知识、提高编程能力的重要环节。
本文将为大家提供一些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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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 BBABA21-27、ACBBD DC二、填空题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)zxy123ABC8、(1)19 (2)8.16666666666667(3)5.25 (4)29、(1)-4 (2)2 . 82842712474619 (3)-3 (4)49 (5)“-459.65”(6)”hello” (7)He8)16 (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。
Private Sub Command1_Click()Text4=val(text1)*val(text2)*val(text3)End SubPrivate Sub Command2_Click()Text1=”” : Text2=””: Text3=””: Text4=””End Sub3.文本框、“转大写”命令按钮和“转大写”命令按钮的名称分别为text1、command1和command2Private Sub Command1_Click()Text1=Ucase(text1)End SubPrivate Sub Command2_Click()Text1=Lcase(text1)End Sub第五章习题参考答案一、选择题:1—11: CAABBABBBCC二、填空题1.(3) 2.1 2 3 3.2 2 3 4.160 5.96.78 7.x<=5 (或x<6 或x<7) 8.B9.iSum iSum+j 1250三、编程题1.Private Sub Form_Click()Dim i%,s%S=0For i = 101 To 200 step 2If i mod 3<>0 thenPrint iS=s+iEnd IfNext iPrint sEnd Sub2.Private Sub Form_Click()Dim n%,s&S=1:n=0While s<=400000N=n+1S=s*nWendIf s>400000 Then n=n-1Print nEnd Sub3.Private Sub Form_Click()Dim imin%,imax%,i%,R%Imin=100:imax=20For i=1 to 20R=Int(Rnd*51+50)If R>imax Then imax=RIf R<IMIN Then imin="R Next iPrint imax,iminEnd Sub第六章习题参考答案一、选择题:1—13: ABAACCBADADBB二、填空题1.Interval Label1.caption=time2.List1.ListCount InterVal Hscroll1.Max三、编程题第七章习题参考答案一、选择题:1—12: DCADD BBDAC CB二、填空题1.42 2.Index 3.414.A(i)=a(11-i) a(11-i)=Tmp5.1 6.X Mod 7=0 7.2108.0 To 8 i+1 To 99.3 K 110.1001 Max MaxMax)三、编程题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 Sub2.统计按钮名为Command1,输入框名为text1,输出框为text2(MultLine设为True) Private Sub Command1_click()Dim X(1 to 26) AS Integer,I As IntegerDim S As String,L As IntegerL=Len(Text1.text)For i=1 To LS=Mid(Text1,I,1)S=Ucase(S)If S >= "A" And S <= "Z" Thenx(Asc(S) - 65 + 1) = x(Asc(S) - 65 + 1) + 1End IfNext iFor i=1 To LText2=text2 & Chr(64+i) & “=” & x(i) & “ “If I Mod 7=0 then Text2=text2 & chr(13)+chr(10)Next iEnd Sub3.设学生成绩的平均分已在Mark(1)至Mark(10)中,学生姓名在name(1)至name(10)中。
Private Sub Command1_click()Dim I%,J%,T%,S$For i=1 To 9For j=i+1 To 10If Mark(i)<MARK(J) Then T=Mark(i):Mark(i)=Mark(j):Mark(j)=TS=name(i):name(i)=name(j):name(j)=SNext JNext iFor i=1 To 10Print Name(i),Mark(i)Next iEnd Sub第八章习题参考答案一、选择题:1—10: DCBBDDDBCB二、填空题1.a Ubound(b) n=n-12.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=xDoP=P*iS=S+F/pLoop Until Abs(F/p)<ESP Print sEnd Sub子函数Function P2(x As Single, esp As Single) As singleDim p!,S!,F!,i%P=1:S=1:i=1:F=xDoP=P*iS=S+F/pLoop Until Abs(F/p)<ESP P2=sEnd Function2.Swap2能实现数据交换。
因为地址传递方式形参和实参有共同的地址,那么形参的变化,会引起实参的变化(即形参将值回传给实参),故可实现两数交换。
3.Function LF( ByVal x As Single) As SingleLF=X*X*XEnd FunctionSub Command1_Click()Dim I%For i=1 To 20Print I, LF(i)Next iEnd Sub4.Function WeekDay(ByVal x As Integer) As StringSelect Case xCase 0WeekDay=”星期日”Case 1WeekDay=”星期一”Case 2WeekDay=”星期二”Case 3WeekDa y=”星期三”Case 4WeekDay=”星期四”Case 5WeekDay=”星期五”Case 6WeekDay=”星期六”End SelectEnd Function5.Function Rand30(ByVal X As`Integer) As Integer RandomizeRand30=Int(Rnd*X+1)End FunctionSub Command1_Click()For i=1 To 30Print Rand30(100)Next iEnd Sub6.Function F1(ByVal X As`Single, ByVal Y As`Single) As Integer If X>Y ThenF1=XElseF1=YEnd IfEnd Function7.Function GDBH(ByVal x%) As StringDim i%For i = 3 To x - 3 Step 2If isp(i) And isp(x - i) ThenGDBH = i & "+" & (x - i) & "=" & xExit FunctionEnd IfNextEnd FunctionFunction isp(y%) As Booleani = 2: k = Int(y / 2)Do While i <= kIf y Mod i = 0 Then Exit Doi = i + 1LoopIf i > k Thenisp = TrueElseisp = FalseEnd IfEnd FunctionPrivate Sub Form_Click()For i = 6 To 40 Step 2Print GDBH(i)Next iEnd Sub8.Function isQO(ByVal x As Integer) As StringIf x Mod 2 =0 ThenisQO=”偶数”ElseisQO=”奇数”End IfEnd Function9.Function F1(ByVal x As Integer) As BooleanIf x Mod 17 =0 and x Mod 37 =0ThenF1=TrueElseF1=FalseEnd IfEnd FunctionPrivate Sub Form_Click()For i = 1000 To 2000If F1(i) ThenPrint iEnd ifNext iEnd Sub10.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 ThenPrint "位置输入错误!"Exit SubEnd IfIf L1 > L2 Thenx = a(L1)For i = L1 To L2 + 1 Step -1a(i) = a(i - 1)Next ia(L2) = xElseIf L2 > L1 Thenx = a(L1)For i = L1 To L2 - 1a(i) = a(i + 1)Next ia(L2) = xEnd IfEnd 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 yDo While R<>0X=yY=rR= x Mod yLoopF=yEnd FunctionPrivate 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 = YEnd Sub2.Dim startX, StartY As Integer ‘在通用中申明Private Sub Form_MouseDown(Button As Integer, Shift As Integer, x As Single, Y As Single)If Button = 2 ThenstartX = x: StartY = YEnd IfEnd SubPrivate Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, Y As Single)If Button = 1 ThenPSet (x, Y), RGB(0, 0, 0)End IfEnd SubPrivate Sub Form_MouseUp(Button As Integer, Shift As Integer, x As Single, Y As Single)If Button = 2 ThenDim r%, c%Dim EndX, EndY As IntegerEndX = x: EndY = Yc = RGB(0, 0, 0)r = Sqr((EndX - startX) ^ 2 + (EndY - StartY) ^ 2)Form1.Circle (startX, StartY), r, cEnd IfEnd Sub第十二章习题参考答案一、选择题:1—8: BBABBCCA9.I H F C L G E B A J K D二、填空题1.Drive 2.Path Print Dir1.Path3.Path 4.Hidden system5.顺序文件随机文件二进制文件6.FreeFile7.Close #18.Open “c:\samples\readme.txt” For Output AS #3 9.Open “c:\autoexec.bat” For Intput AS #410.Open “c:\samples\xscj.dat” For Random AS #3 Len=54 11.Open “smtext1.txt” For Binary AS #112.For Input Eof(1)13.KeyAscii END(或者End end eNd enD) Text1.text三、编程题1.‘在标准模块中定义Type stuID As String * 12name As String * 8z1 As String * 12z2 As String * 12sex As String * 2jc As Booleanscool As String * 20sx As Integeryw As Integeryy As Integerwl As Integerzf As IntegerEnd TypeDim p As stu ‘在通用中定义Private Sub CmdAppend_Click()p.ID = Text1 = Text2p.z1 = Text3p.z2 = Text4p.scool = Text5If Option1.Value = True Then p.sex = "男"If Option2.Value = True Then p.sex = "女"If Check1.Value = 1 Then p.jc = True Else p.jc = Falsep.sx = Val(Text6) : p.yw = Val(Text7)p.yy = Val(Text8) : p.wl = Val(Text9)p.zf = Val(Text10)Put #1, , pEnd SubPrivate Sub CmdDisplay_Click()Get #1, Val(txtRecord_No), pText1 = p.ID : Text2 = Text3 = p.z1 : Text4 = p.z2Text5 = p.scoolIf p.sex = "男" Then Option1.Value = True Else Option2.Value = True If p.jc = True Then Check1.Value = 1 Else Check1.Value = 0Text6 = p.sx : Text7 = p.ywText8 = p.yy : Text9 = p.wlText10 = p.zfEnd SubPrivate Sub Command3_Click()Text1 = "" : Text2 = ""Text3 = "" : Text4 = ""Text5 = "" : Text6 = ""Text7 = "" : Text8 = ""Text9 = "" : Text10 = ""End SubPrivate Sub Form_Load()Open App.Path & "\stu.dat" For Random As #1 Len = Len(p)End SubPrivate Sub Form_Unload(Cancel As Integer)Close #1End SubPrivate Sub Text10_GotFocus()Text10 = Val(Text6) + Val(Text7) + Val(Text8) + Val(Text9)End Sub2.3.4.Private Type booksid As String * 10name As String * 8sex As String * 2math As Integereng As Integerele As IntegerEnd Type‘成绩输入Private Sub Command1_Click()Dim b As booksOpen "c:\stu.dat" For Append As #1b.id = InputBox("请输入学号") = InputBox("请输入姓名")b.sex = InputBox("请输入性别")b.math = InputBox("请输入数学成绩")b.eng = InputBox("请输入英语成绩")b.ele = InputBox("请输入电子成绩")Write #1, b.id, , b.sex, b.math, b.eng, b.ele Close #1End Sub‘不及格人员输出Private Sub Command2_Click()Dim a, b, cOpen "c:\stuo.dat" For Input As #1While Not EOF(1)Input #1, a, b, cIf c = "数学" Then List1.AddItem bIf c = "英语" Then List2.AddItem bIf c = "电子" Then List3.AddItem bWendClose #1End Sub‘将不及格人选出存入stuo.datPrivate Sub Command3_Click()Dim a, b, c, d, e, fDim k%Open "c:\stu.dat" For Input As #1Open "c:\stuo.dat" For Output As #2While Not EOF(1)Input #1, a, b, c, d, e, fIf d < 60 Then Write #2, a, b, "数学"If e < 60 Then Write #2, a, b, "英语" If f < 60 Then Write #2, a, b, "电子"WendClose #1Close #2End Sub。