收藏 分销(赏)

vb程序设计书习题和参考答案.doc

上传人:丰**** 文档编号:3755488 上传时间:2024-07-16 格式:DOC 页数:84 大小:375.50KB 下载积分:16 金币
下载 相关 举报
vb程序设计书习题和参考答案.doc_第1页
第1页 / 共84页
vb程序设计书习题和参考答案.doc_第2页
第2页 / 共84页


点击查看更多>>
资源描述
vb程序设计书习题和参考答案 84 2020年4月19日 文档仅供参考 练习题 习题一 一、判断题 1.Visual Basic是以结构化的Basic语言为基础、以事件驱动作为运行机制的可视化程序设计语言。 2.面向对象的程序设计是一种以对象为基础,由事件驱动对象的编程技术。 3.事件是由Visual Basic预先定义的对象能够识别的动作。 4.新建工程时系统会自动将窗体标题设置为Form1。 5.控件的属性值不能够在程序运行时动态地修改。 6.决定对象是否可见的属性为Visible属性,决定对象可用性的属性是Enabled属性。 7.保存Visual Basic文件时,若一个工程包含多个窗体或模块,则系统先保存工程文件,再分别保存窗体或模块文件。 8.单击“启动”菜单项将窗体装入内存时,一定触发窗体的Load事件。 9.“事件过程”是用来完成事件发生后所要执行的程序代码。 10.在打开某窗体时,初始化该窗体中的各控件,应选用Load事件。 二、选择题 1.工程文件的扩展名为 。 A、.frx B、.bas C、.vbp D、.frm 2.下列不属于对象的基本特征是 。 A、属性 B、方法 C、事件 D、函数 3.在设计模式双击窗体将显示的窗口是 A、工程窗口 B、工具箱 C、代码窗口 D、属性窗口 4.VB中运行程序的快捷键是 A、F2 B、F5 C、Alt+F3 D、F8 5.改变控件在窗体中的上下位置应修改该控件的 属性。 A、Top B、Left C、Width D、Right 6.窗体模块的文件扩展名是 A、.exe B、.bas C、.frx D、frm 7.设置窗体的字体用 属性。 A、FontName B、FontSize C、FontBold D、FontItalic 8.设置窗体的字号用 属性。 A、FontName B、FontSize C、FontBold D、FontItalic 9.下列选项中不属于事件的是 。 A、Dblclick B、Load C、Show D、KeyUp 10.VB编制的程序保存在磁盘上,至少会产生何种文件 。 A、.doc与.txt B、.com与.exe. C、.bat与.frm D、.vbp与.frm 三、程序设计题 1.新建一个工程,单击窗体时,在窗体上显示“欢迎使用Visual Basic程序”。生成可执行文件,保存到D盘根目录下。 2.建立一个工程,界面如图1-28所示。它由一个窗体、两个文本框和两个命令按钮组成。单击“拷贝”按钮,能够将第一个文本框中显示的内容复制到第二个文本框中;单击“退出”按钮退出应用程序。 图1-28题2界面 图1-29 题3界面 3.在窗体上添加一个标签和两个命令按钮,并把两个命令按钮的标题分别设置为“隐藏标签”和“显示标签”。当单击第一个命令按钮时,标签消失;而当单击第二个命令按钮时,标签重新出现,而且标签中显示“VB程序设计”。界面如图1-29所示。 习题二 一、 判断题 1. 用DIM定义数值变量时,该数值变量自动赋初值为0。 2. 整型数值常量有整数,长整数两种。 3在逻辑运算符Not、Or、And中,运算优先级由高到低依次为Not、Or、And。 4关系表示式是用来比较两个数据的大小关系的,结果为逻辑值。 5一个表示式中若有多种运算,同一层括号内,计算机按逻辑运算→关系运算→算术运算的顺序对表示式求值。 6赋值语句的功能是计算机表示式并转换为相同类型数据后为变量或控件属性赋值。 二、单选题 1. 以下合法的Visual Basic标识符是_______。 A、ForLoop B、Const C、9abc D、A#x 2. 下列可作为Visual Basic变量名的是_________。 A、a#a B、4a C、?xy D、Consta 3. 表示式6*7/8 Mod 9的值是_______。 A、4 B、5 C、6 D、7 4. 将数学表示式cos2(a+b)+5e2写成Visual Basic表示式,其正确的形式是_______。 A、cos(a+b)^2+5*Exp(2) B、cos^2(a+b)+5*Exp(2) C、cos(a+b)^2+5*Ln(2) D、cos^2(a+b)+5*Ln(2) 5. 数学关系3≤x<10表示成正确的VB表示式为________。 A、3<=x<10 B、3<=x and x<10 C、x>3 or x<10 D、3<=x and <10 6. 设x=4,y=8,z=7,表示式x<y and (not y>z) or z<x的值是______。 A、1 B、-1 C、True D、False 7. 已知变量a、b、c中c最小,下列判别a、b、c能否构成三角形的逻辑表示式为_________。 A、a>=b and b>=c and c>0 B、a+c>b and b+c>a and c>0 C、(a+b>=c or a-b<=c) and c>0 D、a+b>c and a-b<c and c>0 8. 下面进行算术运算符号的是_______。 A、Imp B、Mod C、Not D、Like 9. 能够同时删除字符串前导和尾部空白的函数是_______。 A、Ltrim B、Rtrim C、Trim D、Mid 10. Rnd函数不可能为下列_______值。 A、0 B、1 C、0.1234 D、0.0005 11. Int(198.555*100+0.5)/100的值是_______。 A、198 B、199.6 C、198.56 D、200 12. 如果x是一个正实数,对x的第3位小数四舍五入的表示式是______。 A、0.01*Int(x+0.005) B、0.01*Int(100*(x+0.005)) C.、0.01*Int(100*(x+0.005)) D.、0.01*Int(x+0.05) 13. 执行语句s=len(Mid(“Visual Basic”,1,6))后,s的值为______。 A、Visual B、Basic C、6 D、11 14. 描述x、y中有一个小于z的逻辑表示式是_______。 A.x<z and y<z B.x<z or y<z C.x<z not y<z D.x<y<z 15. Int(Rnd*100)表示的是______范围内的数。 A、[0,100] B、[1,99] C、[0,99] D、[1,100] 16. 输入对话框inputbox的返回值的类型是_________。 A、字符串 B、整数 C、浮点数 D、长整数 17. 在一行内写多个语句时,每个语句之间要用_____ 符号分隔。 A、, B、; C、: D、、 18. 一个语句要在下一行中继续书写,能够用______符号作为续行符。 A、+ B、 - C、_ D、… 19. 下列声明语句中错误的是_________。 A、Const var1=123 B、Dim var2=’abc’ C、dim a,b as string D、dim var3 as integer 20. Print Not 10>15 And 8<5+2的输出结果为_____。 A、8 B、7 C、true D、false 三、程序设计题 1.编写窗体的单击事件代码,求一任意三角形的面积,三角形的三条边a、b、c经过Inputbox函数输入,计算的结果存入S变量中,并以消息框的形式输出。 提示:任意三角形的面积公式 2.编写一段代码,求给定的一个圆的周长和面积。要求: (1)圆的半径r利用Inputbox函数从键盘任意输入(r>0)。 (2)圆周率定义为符号常量。 (3)利用赋值语句将求出的周长和面积赋给变量L和S。 (4)用Print方法输出详细结果。 习题三 一、选择题 1.执行以下语句后的结果为 。 Dim x As Integer If x Then Print x Else Print x-1 A、1 B、0 C、-1 D、不确定 2.下列关于Select Case测试表示式的叙述中,错误的是 。 A、只能是变量名 B、能够是整型 C、能够是字符型 D、能够是浮点类型 3.下列关于Select Case的叙述中,错误的是 。 A、Case 10 To 100 表示判断Is是否介于10与100之间 B、Case "abc","ABC" 表示判断Is是否和"abc"、"ABC"两个字符串中的一个相同 C、Case "X" 表示判断Is是否为大写字母X D、Case -7,0,100 表示判断Is是否等于字符串"-7,0,100" 4.由“For i=1 To 16 Step 3”决定的循环结构被执行 次。 A、4 B、5 C、6 D、7 5.若i的初值为8,则下列循环语句的循环次数为 次。 Do While i<=17 i=i+2 Loop A、3次 B、4次 C、5次 D、6次 6.由“For i=1 To 9 Step -3”决定的循环结构被执行 次。 A、4 B、5 C、6 D、0 二、程序阅读题(写出下列程序的运行结果) 程序1. 请写出单击窗体后,窗体上的显示结果。 Private Sub Form_Click() Dim x As Integer, y As Integer x = 5 y = -20 If Not x > 0 Then x = y - 3 Else y = x + 3 Print x - y; y - x End Sub 程序2. 请写出单击窗体后,窗体上的显示结果。 Private Sub Form_Click() Dim a As String, b As String a = "abcd" b = "cdef" e = Right(a, 3) f = Mid(b, 2, 3) If e < f Then Print e + f Else Print f + e End Sub 程序3. 请写出单击窗体后,窗体上的显示结果。 Private Sub Form_Click() Dim i As Integer, j As Integer Dim n As Integer n = 0 For i = 1 To 3 For j = 5 To 1 Step -1 n = n + 1 Next j, i Print n; j; i End Sub 程序4. 请写出单击窗体后,窗体上的显示结果。 Private Sub Form_Click( ) Dim i As Integer Static Sum As Integer For i=1 To 10 Sum= Sum+i Next i Print Sum End Sub 程序5. 请写出单击命令按钮后,窗体上的显示结果。 Private Sub Command1_Click() Dim s As Integer, i As Integer s = 1 i = 1 Do While i <= 4 s = s * i i = i + 1 Loop Print "s="; s End Sub 程序6. 请写出单击命令按钮后,窗体上的显示结果。 Private Sub Command1_Click() Dim i As Integer Do Until i >= 3 Print Tab(4 * i + 1); "A" i = i + 1 Loop End Sub 三、程序填空题 1.【程序说明】下面是一段计算数学表示式 的程序。 Private Sub Form_Click() Dim n As Integer, p As Integer, s As Sigle, q As Integer, i As Integer n = InputBox("请输入N的值:") s = 0:p = -1:q = 1 For i = 1 To n p = -p: q = (1) s = (2) (3) Print s End Sub 2.【程序说明】下列程序用于计算1+(1+3)+(1+3+5)+…+(1+3+5+…+39)。 Private Sub Form_Click() Dim t As Integer, m As Integer Dim sum As Integer t = 0 m = 1 sum = 0 Do t = (1) sum = sum + t (2) Loop While (3) Print "sum="; sum End Sub 3.【程序说明】下列程序在文本框Text1中输入任一字符串,并按相反的顺序显示在文本框Text2中。 Private Sub Command1_Click() Dim n As String, c As String, d As String n = Text1.Text m = (1) For i = m To 1 Step -1 c = Mid(n, i, 1) d = (2) Next i (3) End Sub 四、程序设计题 1.用InputBox函数输入3个任意整数,按从大到小的顺序输出。 2.编程,输入x值,按下式计算并输出y值。 3.计算下式的和,变量x与n的数值用输入对话框输入。 4.用近似公式求自然对数的底数e的值,直到前后两项之差小于10-4为止。 习题四 一、选择题 1.窗体通用部分的语句“Option Base 1”,决定本窗体中数组下标界 。 A、下界必须为1 B、缺省的下界为1 C、下界必须为0 D、缺省的下界为0 2.用Dim c(2 to 5) As Integer 语句定义的数组占用 个字节的内存空间。 A、4 B、8 C、6 D、10 3.以下 是VB合法的数组元素。 A、x9 B、x[9] C、x(9) D、x{9} 4.设有数组声明语句:Dim a(2,3 to 4) As Integer 以上语句所定义的数组a为 维数组,共有 个元素,第一维下标从 到 ,第二维下标从 到 。 A、0 B、1 C、2 D、3 E、4 F、5 G、6 H、9 二、程序阅读题(写出下列程序的运行结果) 程序1. 在窗体中添加一个命令按钮,名称为Command1,然后编写如下程序: Private Sub Command1_Click() Dim a(5) As Integer,b(5) As Integer For j =1 to 4 a(j)=3*j b(j)=a(j)*3 Next j Text1.text=b(j\2) End Sub 程序运行后,单击命令按钮,写出程序的运行结果。 程序2. 在窗体中添加一个命令按钮(其Name属性为Command1),然后编写如下代码: Private Sub Command1_Click() Dim a(10) As Integer Dim p(3) As Integer k = 1 For i = 1 To 10 a(i) = i Next i For i = 1 To 3 p(i) = a(i * 2) Next i For i = 1 To 3 k = k + p(i) * 2 Next i Print k End Sub 程序运行后,单击命令按钮,写出程序的运行结果。 程序3. 请写出单击窗体后,窗体上的显示结果。 Private Sub Form_Click() Dim a(5, 5) As Byte, i AsByte, j As Byte For i = 1 To 5 : For j = 1 To 5 a(i, j) = i * j Next j, i For i = 1 To 5 : Print a(i, i); : Next i End Sub 程序4. 请写出单击窗体后,窗体上的显示结果。 Private Sub Form_Click() Dim a(1 To 2,1 To 3) As Integer, i As Integer, j As Integer For i = 1 To 2 For j = 1 To 3 a(i,j) = i + j: Print Tab(j * 5 + 2); a(i,j), Next j Print Next i End Sub 三、程序填空题 1.【程序说明】以下程序产生30个两位随机整数、并按从小到大的顺序存入数组a中,再将其中的奇数按从小到大的顺序在窗体中用紧凑格式输出。 Private Sub Form_Click() Dim a(30) As byte, i as Byte, j As Byte, m As Byte For i = 1 To 30: a(i) = ⑴ : Next i For i = 1 To 29 For j = ⑵ If a(i) > a(j) Then m = a(i): ⑶ :a(j) = m End If Next j,i For i = 1 To 30 If ⑷ Then Print a(i); Next i End Sub 2.【程序说明】以下程序产生20个两位随机整数存于数组之中,打印数组中大于50的数,并求出这些数的和。 Private Sub Command1_Click() Dim arr(1 To 20) As Integer Dim i As Integer, sum As Integer For i = 1 To 20 arr(i) = ⑴ Next i sum = 0 For i = 1 To 20 If ⑵ Then Print arr(i); sum = ⑶ End If Next i Print Tab(2); "sum="; sum End Sub 3.【程序说明】下列程序用来在窗体上输出如图4-2所示大小可变的正方形数据。 Dim a() As Integer Private Sub Form_Click() Dim n As Integer, i As Integer 图4-2 n为7时的输出图形 Dim j As Integer, k As Integer n = Val(InputBox("请输入数据:")) ⑴ For i = 1 To ⑵ For j = i To n - i + 1 For k = i To n - i + 1 ⑶ Next k, j, i For i = 1 To n For j = 1 To n Print Tab(j * 3); a(i, j); Next j ⑷ Next i End Sub 四、程序设计题 1. 设有a,b两矩阵,编程完成两个矩阵的相乘,结果存入c矩阵中。 2. 编程产生10个[20,40]之间的随机整数存于一维数组a中,将a数组中的元素依次向后移动一个位置,最后一个元素移动到第一个元素的位置上。 3.用二分法对已排好序(升序)的数据进行检索。 说明:二分查找法是对一批有序的数,取其中间元素,如果该元素是要找的数(key),输出该数的位置,否则,如果该元素大于key,则查找数列的范围缩小到该元素的前一个元素;如果该元素小于key,则查找数列的范围缩小为该元素的后一个元素到数列尾。重复上述方法,直到查找的数列范围缩小到0个元素。 习题五 一、选择题 1.在过程调用中,参数的传递能够分为 和 两种方式。 A、按值传递 B、按地址传递 C、按参数传递 D、按位置传递 2.在参数传递过程中,使用关键字 来修饰参数,能够使之按值传递。 A、ByVal B、ByRef C、Value D、Reference 3.在窗体模块的通用声明段中声明变量时,不能使用 关键字。 A、Dim B、Public C、Private D、Static 4.要想在过程调用后返回两个结果,下面的过程定义语句合法的是 。 A、Sub p(Byval n,Byval m) B、Sub p(n,byval m) C、Sub p(n,m) D、Sub p(Byval n,m) 5.Sub过程与Function过程最根本的区别是 。 A、Sub过程能够使用Call 语句或直接使用过程名调用,而Function过程不能够 B、Function过程能够有参数,Sub过程不能够 C、两种过程参数的传递方式不同 D、Sub过程的过程名不能返回值,而Function过程能经过过程名返回值 二、程序阅读题(写出下列程序的运行结果) 程序1. 请写出三次单击命令按钮后,窗体上的显示结果。 Private Sub p() Static s As Integer Dim i As Integer For i = 1 To 10 Step 2 s = s + i Next i Print s; End Sub Private Sub Command1_Click() Call p End Sub 程序2. 请写出单击命令按钮后,窗体上的显示结果。 Private Sub s(x As Single, y As Single) Dim m As Single m = x x = m / y y = t Mod y End Sub Private Sub Command1_Click() Dim a As Single, b As Single a = 8 b = 5 Call s(a, b) Print a, b End Sub 三、程序填空题 1.【程序说明】如果两个质数的差为2,就称这两个质数为质数对。下列程序用于输出100以内的质数对。 Private Function p(m As Integer) As Boolean Dim i As Integer (1) For i = 2 To Sqr(m) If (2) Then p = False: Exit For Next i End Function Private Sub Command1_Click() Dim i As Integer Dim p1 As Boolean, p2 As Boolean p1 = p(3) For i = 5 To 99 Step 2 p2 = p(i) If p1 And p2 Then Print (3) p1 = p2 Next i End Sub 2.【程序说明】下列过程用选择法对double类型数组按值从小到大排序。 Private Sub Sort( (1) ) Dim i As Integer, j As Integer, k As Integer, t As Double For i = 1 To (2) k=i For j = i + 1 To n If (3) Then k = j Next j t=a(i): a(i)=a(k): a(k)=t Next i End Sub 3.【程序说明】下列程序用于将一维数组反序排放。 Private Sub swap(b() As Integer, n As Integer) Dim m As Integer, i As Integer For i = 1 To (1) m = b(i) b(i) = (2) b(n - i + 1) = m Next i End Sub Private Sub Command1_Click() Dim a(1 To 10) As Integer Dim i As Integer For i = 1 To 10 a(i) = i Print a(i); Next i Print Call swap( (3) ) For i = 1 To 10 Print a(i); Next i End Sub 四、程序设计题 1.编制通用函数过程,计算Double类型一维数组所有元素的平均值。 2.编制通用Sub过程,在一个m行n列二维数组中查找绝对值最大的元素,以及该元素的行号、列号(提示:Sub过程的形参列表如x() As Single, m As byte, n As Byte, xmax As Single,ki As Byte,kj As Byte)。 习题六 一、选择题 1. 要为按钮设计一个访问键A,应该在Caption中加入 。 A.&A B.@A C.$A D.#A 2. 要把按钮设置为不可使用,应设置 属性为False。 A.Enable B.Default C.Cancel D.Caption 3. 要使按钮能够显示图片,应先设置 属性。 A.Style B.Enable C.Index D.Caption 4. 将命令按钮Command1设置为窗体的缺省按钮,可修改该控件的 属性。 A.Enabled B.Value C.Default D.Cancel 5. 将焦点主动设置到指定的控件或窗体上,应采用 方法。 A.SetDate B.SetFocus C.SetText D.SelText 6. 要使标签控件的大小能随Caption属性的大小自动调整,应该设置 属性为True。 A.Enabled B.Visible C.AutoSize D.Alignment 7. 要使文本框显示滚动条,需先设置 属性。 A.AutoSize B.MultiLine C.Alignment D.ScrollBars 8. 下列 属性表示文本框中选定的内容。 A.SelLength B.Text C.Caption D.SelText 9. 下列 控件没有Caption属性。 A.命令按钮 B.标签 C.框架 D.文本框 10. 下列不能接收焦点的控件是 。 A.命令按钮 B.文本框 C.标签 D.列表框 11. 改变文本框中文字的颜色,应该修改 属性。 A.BackColor B.ForeColor C.Font D.FontBold 12. 选中单选按钮控件时,Value属性的值为 。 A.True B.False C.0 D.1 13. 选中复选框控件时,Value属性的值为 。 A.True B.False C.0 D.1 14. 若要在同一窗体中安排两组单选按钮(OptionButton)可用 控件予以分隔。 A.文本框 B.框架 C.列表框 D.组合框 15. 下列 对象具有编辑功能,即运行时能够进行输入或修改。 A.下拉式列表框 B.下拉式组合框 C.复选框 D.标签 16. 不能经过 来删除列表框中的表项。 A.RemoveItem方法 B.Clear方法 C.Text属性 17. 若要把"XXX"成为List1清单中的第三项,则可执行语句 。 A.List1.AddItem "XXX",3 B.List1.AddItem "XXX",2 C.List1.AddItem 3,"XXX" D.List1.AddItem 2,"XXX" 18. 设置列表框各表项中的文本,用 属性。 A.Selected B.List C.Text D.Caption 19. 下面 表示列表框控件List1的最后一个项目。 A.List1.List(List1.ListIndex) B.List1.List(List1.ListIndex-1) C.List1.List(List1.ListCount) D.List1.List(List1.ListCount-1) 20. 执行List.RemoveItem List1.ListCount语句的结果为 。 A.删除最后一项 B.删除所有项 C.出错 D.显示所有项 21. 下列关于组合框的说法中,正确的是 。 A. 组合框有Click事件,没有Change事件。 B. 组合框有Change事件,没有Click事件。 C. 组合框既有Change事件,也有Click事件。 D. 组合框没有Change事件和Click事件。 22. 滚动条的 属性用于指定用户单击滚动条的滚动箭头时,Value属性值的增减量。 A.LargeChange B.SmallChange C.Value D.Change 23. 单击滚动条两端的任意一个滚动箭头,都将触发该滚动条的 事件。 A.KeyDown B.Change
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服