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

更新时间:2024-01-15 03:55:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

练习题

习题一

一、判断题

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,表达式xz) or z

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-b0 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

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变量中,并以消息框的形式输出。 提示:任意三角形的面积公式s?t(t??a)(t??b)(t??c),t?(a?b?c)/2

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 \ 表示判断Is是否和\、\两个字符串中的一个相同 C、Case \ 表示判断Is是否为大写字母X

D、Case -7,0,100 表示判断Is是否等于字符串\,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 = \ b = \ 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 \

End Sub

程序6. 请写出单击命令按钮后,窗体上的显示结果。

Private Sub Command1_Click()

Dim i As Integer Do Until i >= 3

Print Tab(4 * i + 1); \i = i + 1 Loop End Sub

三、程序填空题

234n?1n??1???????11.【程序说明】下面是一段计算数学表达式 2 ! ! 4 ! n ! 的程序。 3Private 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 \

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值。 ?x?5?2?x

y?f(x)???x?0?x?51?x?5 0?x?1x?03.计算下式的和,变量x与n的数值用输入对话框输入。

xx3x5x7x2n?1n?1 sinx???????(?1)?13!5!7!(2n?1)!

4.用近似公式求自然对数的底数e的值,直到前后两项之差小于10-4为止。

1111e?1????...? 1!2!3!n!

习题四

一、选择题

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); \

End Sub 3.【程序说明】下列程序用来在窗体上输出如图4-2所示大小可变的正方形数据。

Dim a() As Integer

Private Sub Form_Click()

Dim n As Integer, i As Integer 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 图4-2 n为7时的输出图形

For j = 1 To n

Print Tab(j * 3); a(i, j); Next j

⑷ Next i

End Sub 四、程序设计题

1. 设有a,b两矩阵,编程完成两个矩阵的相乘,结果存入c矩阵中。

?2?3?22222????4 ???33333???5??622?33??44?

?55?66??

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. 若要把\成为List1清单中的第三项,则可执行语句 。

A.List1.AddItem \ B.List1.AddItem \C.List1.AddItem 3,\ D.List1.AddItem 2,\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语句的结果为 。

21.

22.

23. 24.

25. 26. 27.

28. 29. 30.

A.删除最后一项 B.删除所有项 C.出错 D.显示所有项 下列关于组合框的说法中,正确的是 。 A. 组合框有Click事件,没有Change事件。 B. 组合框有Change事件,没有Click事件。 C. 组合框既有Change事件,也有Click事件。 D. 组合框没有Change事件和Click事件。

滚动条的 属性用于指定用户单击滚动条的滚动箭头时,Value属性值的增减量。

A.LargeChange B.SmallChange C.Value D.Change

单击滚动条两端的任意一个滚动箭头,都将触发该滚动条的 事件。 A.KeyDown B.Change C.Scroll D.Click 下列事件中, 能够触发滚动条的Scroll事件。 A.单击滚动条两端的滚动箭头 B.单击滚动条上滑块两侧的空白处 C.单击滚动条上的滑块 D.拖动滚动条上的滑块 在任何情况下, 控件在运行时都不可见。 A.标签 B.按钮 C.复选框 D.定时器 下列 控件没有Value属性。 A.滚动条 B.复选框 C.定时器 D.单选按钮 下列设置中,可以使定时器Timer1停止计时的是 。 A.Timer1.Locked=True B.Timer1.Locked=False C.Timer1. Enabled =True D.Timer1. Enabled = False 定时器控件的 属性决定Timer事件发生的时间间隔。 A.Interval B.Top C.Visible D.Enabled 要将一个控件设置成为一个控件数组,应该设置 属性。 A.Index B.TabIndex C.Caption D.Enabled 下面有关控件数组的说法,错误的是: 。

A.控件数组由一组具有共同名称和相同类型的控件组成。 B.控件数组中的每一个控件共享同样的事件过程。

C.控件数组中的每个元素的下标由控件的Index属性指定。 D.同一控件数组中的元素只能有相同的属性设置。

二、程序填空题

1、 程序说明:密码验证程序。在窗体上已建立一个标签Label1、文本框Text1和命令按钮

Command1。请将以下事件过程填完整。 Private Sub Form_Load()

Text1. ⑴ = \End Sub

Private Sub Command1_Click()

If ⑵ = \' 密码不区分大小写 MsgBox \密码正确\ Else

MsgBox \密码错误\ End If End Sub

2、 以下程序用于实现字符串的反转。在Text1中输入字符串并按回车确认后,在Text2中

显示反转字符串,请将程序补充完整。

Private Sub Text1_KeyPress(KeyAscii As Integer) Dim i As Integer, x As String, y As String If ⑴ Then x = Text1.Text (2)

For i = n To 1 Step -1 (3) Next i

(4) End If End Sub

3、 以下程序可以将列表框中同时选中的多个列表项删除,请将程序补充完整。

Private Sub Command1_Click() i = 0

Do While i< ⑴

If List1.Selected(i) = True Then ⑵ Else

End If Loop End Sub

4、 程序说明:在窗体上有一个标签Label1和一个水平滚动条Hscroll1,其Min的值为0,

Max的值为100,程序运行后,单击滚动条两端的箭头和拖动滚动滑块时,在标签中实时显示滚动条的值。

Private Sub HScroll1_ ⑴ () Label1.Caption = ⑵ End Sub

Private Sub HScroll1_ ⑶ () ⑷ End Sub 三、程序设计题

1、 编程实现文本框内文本信息的剪切、复制和粘贴的功能。界面设计如图1所示,要求各

命令按钮为一个控件数组。 a) 程序刚运行时3个命令按钮都不能响应。 b) 选择文本后,“剪切”和“复制”按钮能响应。 c) 单击“剪切”或“复制”按钮后,只有“粘贴”按钮能响应。 d) 单击“粘贴”按钮后,3个命令按钮都不能响应。

图6-35 程序设计题1的界面设计

2、 设计一个程序,要求在文本框中输入两个操作数后,通过单选按钮来选择进行+、-、*

或/的运算,同时,在标签框中显示相应地操作符,结果显示在第三个文本框中。图2为第二个文本框中输入0时的情况。

图6-36 程序设计题2的运行界面

3、 设计一个程序,在列表框和组合框之间进行信息的移动,没有选择项时给出相应的提示。

程序运行情况如图3所示。

图6-37 程序设计题3的运行界面

4、 利用定时器设计一个滚动标签(从左到右),标签在程序刚开始运行时不可见。

习题七

一、选择题

1. 控件在窗体上的上下位置由下列 属性决定。

A.Top B.Left C.Width D.Height

2. 执行语句Form1.Scale(-200,-100)-(2000,1000)后,窗体Form1的ScaleWidth属性值

为 。 A.200 B.1800 C.2000 D.2200 3. 用Scale方法改变窗体坐标系后,下面 属性值发生改变。

A.ScaleWidth B.Width C.Height D.DrawMode 4. 在VB窗体中,默认的坐标单位是 。 A.Pixel B.Twip C.cm D.mm 5. 设置 属性可以使图片显示在图片框或影像框中。

A.Picture B.Image C.Icon D.DownPicture 6. 程序运行时,可用 函数把图形装入窗体、图片框或影像框。 A.AutoSize B.Stretch C.Picture D.LoadPicture 7. 将图片框的 属性设置为True时,可使图片框根据图片调整大小。

A.Picture B.AutoSize C.Stretch D.AutoRedraw 8. 将影像框的 属性设置为False时,可使影像框根据图片调整大小。

A.Picture B.AutoSize C.Stretch D.AutoRedraw 9. 在Visual Basic中, 不能作为其他控件的容器。

A.框架 B.图片框 C.影像框 D.窗体 10. 要使Shape控件以实心方式填充,应设置 属性。

A.FillColor B.FillStyle C.ForeColor D.BackStyle 11. 下面 属性决定Shape控件的图形。

A.Shape B.FillColor C.FillStyle D.BorderWidth 12. 下列表达式中, 不是红颜色的值。

A.VBRed B.RGB(255,0,0) C.QBColor(1) D.&HFF 13. Visual Basic用下列哪条指令来绘制直线 。

A.Line方法 B.Pset方法 C.Circle方法 D.Point函数 14. 下列 属性用来设置图形的边框类型。

A.BorderWidth B.BorderStyle C.DrawWidth D.FillStyle 15. 属性可用来设置所绘线条宽度。

A.Draw Style B.DrawWidth C.BorderStyle D.BorderWidth 16. 使用Circle方法不能绘制的图形是 。

A.圆角矩形 B.椭圆 C.圆弧 D.圆饼图 17. 语句“Line(1000,1000)-(3000,3000),,B”绘制的是 。

A.直线 B.矩形 C.椭圆 D.圆弧 18. 语句“Circle(1000,1000),500,,-л/3,-л/2”绘制的是 。

A.圆弧 B.椭圆 C.扇形 D.同心圆 19. 语句“Circle(1000,1000),500,,,,2”绘制的是 。

A.圆弧 B.椭圆 C.扇形 D.同心圆

20. 描述以(1000,1000)为圆心,以400为半径画1/4圆弧的语句,以下正确的是 。

A.Circle(1000,1000),400,0,л/2 B.Circle(1000,1000),,400,0,л/2 C.Circle(1000,1000),400,,0,л/2 D.Circle(1000,1000),400,,0,90 二、程序填空题

1、 程序完成在窗体上画一条对角线(从右上角到左下角),并在窗体中心画一个半径为窗体高度四分之一的红色圆环。请将程序补充完整。 Private Sub Form_Click() Dim x1, y2, r As Integer x1 = ⑴ y2 = ScaleHeight r = y2 / 4

(2) '画对角线 (3) '画圆环 End Sub

2、 程序要求在窗体上以窗体中心为圆心,以窗体宽度1/4为直径画一红边实心黄圆。

Private Sub Form_Click()

Dim x As Integer, y As Integer, r As Integer x = ScaleWidth / 2 y = ScaleHeight / 2 r = ScaleWidth / 4 ⑴

FillColor = RGB(255, 255, 0) (2) End Sub 三、程序设计题

1. 编程,在图片框中画余弦曲线。程序运行情况如图1所示。

图1 程序设计题1的运行界面

2. 编程,在窗体中心画一个窗体所能容纳的最大的蓝色实心圆。

习题八

一、判断题

1、在多重窗体程序中,各窗体的菜单是彼此独立的。

2、通用对话框的FileName属性返回值中不包含文件的路径。 3、可以在窗体上绘制任意位置任意大小的通用对话框。 4、菜单中分隔线也可以响应Click事件。

5、在显示字体对话框前必须设置Flags属性,否则会产生不存在字体的错误。 6、一个菜单也是一个对象,它不能和当前窗体中的其他控件同名。 7、弹出式菜单只能设置成右键菜单。

8、如果一个菜单项的Visible属性为False,则它的子菜单也不会显示。 二、单选题

1、通用对话框控件所不具有的属性为( )

A、BackColor B、FileName C、Flags D、Filter 2、以下叙述中错误的是

 A、在程序运行时,通用对话框控件是不可见的  B、在同一个程序中,用不同的方法(如ShowOpen或ShowSave等)打开的通用对话框具有不同的作用  C、调用通用对话框控件的ShowOpen方法,可以直接打开在该通用对话框中指定的文件  D、调用通用对话框控件的ShowColor方法,可以打开颜色对话框

3、在用通用对话框控件建立“打开”或“保存”文件对话框时,如果需要指定文件列表框所列出的文件类型是文本文件(即.txt文件),则正确的描述格式是  A、 “text (.txt)|(*.txt)” B、“文本文件( .txt) | (.txt)”  C、 “text(.txt)||(*.txt)” D、“text(.txt)(*.txt)”

4、在窗体上画一个名称为CommandDialog1的通用对话框,一个名称为Command1的命令按钮。然后编写如下事件过程: Private Sub Command1_Click() CommonDialog1.FileName =\

CommonDialog1.Filter=\ CommonDialog1.FilterIndex=2

CommonDialog1.DialogTitle=\ CommonDialog1.Action=1 End Sub

对于这个程序,以下叙述中错误的是 A、该对话框被设置为“打开”对话框

B、在该对话框中指定的默认文件名为空 C、该对话框的标题为VBTest

D、在该对话框中指定的默认文件类型为文本文件(*.Txt) 5、以下说法中不正确的是( )

A、下拉式菜单通常出现在窗体标题栏下方,启动应用程序后始终可以看见。

B、弹出式菜单是一种浮动菜单,鼠标右击某个对象时打开,可以快速展示当前对象可用的命令功能,也称为快捷菜单

C、下拉式菜单通常用右键单击选择

D、下拉式菜单和弹出式菜单都可用“菜单编辑器”编辑 6、下面操作中不能打开“菜单编辑器”的是( ) A、选择“工具|菜单编辑器”命令 B、选择“工程|菜单编辑器”命令 C、单击工具栏上的菜单编辑器按钮 D、使用Ctrl+E组合键

7、以下说法正确的是( ) A、菜单项之间可以有空项存在

B、子菜单的层次必须是连续的,不能有跨越,且层次最好不要超过3层 C、主菜单项的Caption属性可以设置为“-” D、主菜单项和子菜单项可以同名

8、设菜单中有一个菜单项为\。若要为该菜单命令设置访问键,即按下Alt及字母O时,能够执行\命令,则在菜单编辑器中设置“Open\命令的方式是 A、把Caption属性设置为&Open B、把Caption属性设置为O&pen

C、把Name属性设置为&Open D、把Name属性设置为O&pen 9、以下叙述中错误的是

A、下拉式菜单和弹出式菜单都用菜单编辑器建立

B、在多窗体程序中,每个窗体都可以建立自己的菜单系统 C、除分隔线外,所有菜单项都能接收Click事件

D、如果把一个菜单项的Enabled属性设置为False,则该菜单项不可见 10、如果要在菜单中添加一个分隔线,则应将其Caption属性设置为 A、= B、* C、& D、- 11、以下关于菜单的叙述中,错误的是

A、在程序运行过程中可以增加或减少菜单项

B、如果把一个菜单项的Enabled属性设置为False,则可删除该菜单项 C、弹出式菜单在菜单编辑器中设计

D、利用控件数组可以实现菜单项的增加或减少 12、假定有如下事件过程:

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 2 Then

PopupMenu popForm End If End Sub

则以下描述中错误的是

A、该过程的功能是弹出一个菜单

B、popForm是在菜单编辑器中定义的弹出式菜单的名称 C、参数X、Y指明鼠标的当前位置 D、Button = 2表示按下的是鼠标左键 13、以下叙述中错误的是  A、在同一窗体的菜单项中,不允许出现标题相同的菜单项  B、在菜单的标题栏中,“&”所引导的字母指明了访问该菜单项的访问键  C、程序运行过程中,可以重新设置菜单的Visible属性  D、弹出式菜单也在菜单编辑器中定义 三、填空题

1、通用对话框控件提供了一组标准的对话框,使用_______、________、__________、_________和________方法可以分别显示“打开”、“另存为”、“打印”、“颜色”和“字体”5种类型的对话框。

2、要使用消息框可以使用___________函数。它所提供的三个参数分别是_____________、_____________、_________________。

3、VB中,菜单也是一个控件,但它不在工具箱中,需要使用__________设计。

4、如果要使菜单项的左边显示一个复选标记,则应将该菜单项的____________属性设置为True

5、要使某菜单项呈灰色不可用状态,应将它的____________属性设置为False

6、将菜单项的Caption属性设置为___________,可以创建一个分隔条,将同一个菜单命下功能相关的菜单项划分成若干个逻辑组。 四、程序填空

在窗体上有一个名为Text1的文本框和一个如表所示的下拉菜单,其中“剪切”、“复制”

MsgBox \请先选择\ Else

Combo1.AddItem List1.Text

List1.RemoveItem List1.ListIndex End If End Sub

Private Sub Command2_Click() If Combo1.ListIndex = -1 Then MsgBox \请先选择\ Else

List1.AddItem Combo1.Text

Combo1.RemoveItem Combo1.ListIndex End If End Sub

Private Sub Command3_Click() Do While List1.ListCount <> 0 Combo1.AddItem List1.List(0) List1.RemoveItem 0 Loop End Sub

4、 过程设计如下: Private Sub Form_Load() Timer1.Interval = 200

Label1.Caption = \欢迎使用VB\ Label1.Left = -Label1.Width End Sub

Private Sub Timer1_Timer()

If Label1.Left <= Form1.Width Then Label1.Left = Label1.Left + 100 Else

Label1.Left = -Label1.Width End If End Sub

习题七

一、选择题

1、A 2、D 3、A 4、B 5、A 6、D 7、B 8、C 9、C 10、B 11、A 12、C 13、A 14、B 15、B 16、A 17、B 18、C 19、B 20、C 二、程序填空题

1、(1)ScaleWidth (2)Line (x1, 0)-(0, y2) (3)Circle (x1 / 2, y2 / 2), r, vbRed 2、(1)FillStyle = 0 (2)Circle (x, y), r, RGB(255, 0, 0) 三、程序设计题

1、 过程设计如下:

Const pi = 3.14159

Private Sub Command1_Click() Dim i As Single, j As Single

Picture1.Scale (-2 * pi, 1.5)-(2 * pi, -1.5) For i = -2 * pi To 2 * pi Step 0.001 Picture1.PSet (i, 0), vbRed Next i

For j = -2 * pi To 2 * pi Step 0.001 Picture1.PSet (j, Cos(j)), vbBlue Next j End Sub

Private Sub Command2_Click() End End Sub

2、 过程设计如下: Private Sub Form_Click() Dim r As Single r = ScaleWidth

If ScaleWidth > ScaleHeight Then r = ScaleHeight FillStyle = 0

FillColor = RGB(0, 0, 255)

Circle (ScaleLeft + ScaleWidth / 2, ScaleTop + ScaleHeight / 2), r / 2, RGB(0, 0, 255) End Sub

习题八

一、判断题

1、√ 2、× 3、× 4、× 5、√ 6、√ 7、× 8、√ 二、单选题

1、A 2、C 3、A 4、D 5、C 6、B 7、B 8、A 9、D 10、D 11、B 12、D 13、A 三、填空题

1、showOpen showSave ShowPrint ShowColor ShowFont 2、MsgBox 消息框标题 提示文字 消息框的按钮和图标样式 3、菜单编辑器 4、Checked 5、Enabled 6、-

四、程序填空题

(1)Text1.Text + a (2)a = \ (3)Text1.Text = \ (4)Text1.Text = \ (5)a = \ (6)a 五、程序设计题 1、

Private Sub Command1_Click() CommonDialog1.ShowColor

Picture1.FillColor = CommonDialog1.Color

End Sub

Private Sub Command2_Click()

If Picture1.ScaleHeight < Picture1.ScaleWidth Then r = Picture1.ScaleHeight / 2 Else

r = Picture1.ScaleWidth / 2 End If

Picture1.FillStyle = 0

Picture1.Circle (Picture1.ScaleWidth / 2, Picture1.ScaleHeight / 2), r End Sub

Private Sub Command3_Click() End End Sub 2、

Private Sub mnumove_Click(Index As Integer) Select Case Index Case 0

Picture1.Top = Picture1.Top - 200 Case 1

Picture1.Top = Picture1.Top + 200 Case 2

Picture1.Left = Picture1.Left - 200 Case 3

Picture1.Left = Picture1.Left + 200 End Select End Sub

习题九

一、选择题

1、D 2、A 3、A 4、C 5、A 6、B 7、A 8、C 二、填空题

1、驱动器列表框 目录列表框 文件列表框 2、Path 3、FileCopy 4、Freefile

5、Open “c:\\a.dat” For Output As #1 三、程序阅读题 1、

NO. 3 2 NO. 4 3 NO. 5 5 NO. 6 8 NO. 7 13

2、

9、C 10、D y= 1 a= 1 y= 3 a= 2 y= 6 a= 3

四、编程题

1、Private Sub Drive1_Change()

Dir1.Path = Drive1.Drive End Sub

Private Sub Dir1_Change() File1.Path = Dir1.Path End Sub

Private Sub Command1_Click()

Open \ For i = 0 To File1.ListCount - 1 Print #1, File1.List(i) Next i Close #1 End Sub

Private Sub Command2_Click() Dim a As String

Open \ While Not EOF(1) Line Input #1, a List1.AddItem a Wend End Sub

2、Private Sub Command1_Click()

If Text1.Text = \

MsgBox \请先输入字符串\ Else

Open \ Print #1, UCase(Text1.Text) Close #1 End If End Sub

习题十

一、选择题

1.D、2.D、3.C、4.D、5.C、6.B、7.C、8.A、9.A、10.C、11.B、12.C、13.D、14.B、15.D 二、程序设计题(略)

本文来源:https://www.bwwdw.com/article/uojo.html

Top