课后练习题
第1章
1. 简述面向过程的编程语言和面向对象的编程语言的主要区别。
2. 用高级语言编写的源程序为何要翻译成机器指令程序后计算机才能执行?翻译方式有哪两种?简述它们的工作过程。
3. 简述Visual Basic的主要功能和特点。
4. 分别给出两种启动和退出Visual Basic系统的方法。 5. 简述“工程资源管理器”的主要功能。 6. 如何设置Visual Basic系统环境? 7. “窗体设计器”的用途是什么?
8. “工具箱”中常用的内部控件有哪些? 9. 属性窗口由几部分组成? 10. 简述代码窗口的主要功能。
11. “代码”窗口与“立即”窗口有什么不同?
12. 简述创建Visual Basic应用程序的主要步骤。 13. 一个工程可能包含哪些类型的文件?
14. 在编写VB程序时,一行可以写多个语句、一个语句可以分多行写吗?该怎么写? 15. 编写一个VB程序,要求窗体的标题是“我的第一个VB程序”,且在程序运行后,单击窗体显示一行文字“我正在学习用Visual Basic编写程序”。
第2章
1.回答下列问题:
(1)什么是对象,什么是类,构成一个对象的三要素是什么? (2)解释属性、事件、方法这三个概念。 (3)简述事件驱动编程的基本要点。
(4)在设计窗体时,如果属性窗口、工具箱窗口等尚未打开,该如何打开? (5)窗体的名称(Name)属性和Caption属性有何区别? (6)标签控件与文本框控件主要的不同之处是什么? (7)定时器的主要属性和事件是什么? (8)赋值语句的双重功能是什么? (9)设有以下事件过程:
Private Sub CmdDisplay_Click()
CmdDisplay.Caption=\程序设计\ End Sub
请问,该过程的事件名是什么?命令按钮的名称是什么?单击按钮后其标题是什么?
(10)在窗体上画两个文本框和一个命令按钮,并在代码窗口编写如下事件过程: Private Sub Command1_Click() Text1.Text=\
Text2.Text=Text1.Text Text1.Text=\End Sub
程序运行后,单击命令按钮,两个文本框各显示什么内容?
2.编写程序。
(1)设计一个窗体,当在窗体上双击鼠标时,能将窗体最大化,且窗体背景颜色设为蓝色。
(2)设计一个窗体,其中包含3个标签(LblOne、LblTwo、LblThree),Caption属性分别为“第一个标签”、“第二个标签”、“第三个标签”。当用鼠标单击任何一个标签时,其它两个标签的标题文本互换。
(3)在窗体上画一个文本框和两个命令按钮,当单击第一个命令按钮时,文本框消失;单击第二个命令按钮时,文本框重新出现,并在文本框中显示“VB程序设计”,字体为隶书、16磅、斜体。
(4)设计一个窗体,当单击“显示”按钮时,在文本框内显示“走进VB程序设计乐园!”;单击“清除”按钮时,清除文本框内的文本;单击“退出”按钮时,结束程序运行。程序运行结果如图2-20所示。
图2-20 显示文本
(5)设计一个如图2-21所示的倒计时窗体,在文本框Text1中设置定时时间(以分为单位),然后单击“开始”(Command1)按钮开始倒计时,倒计时时间显示在标签Label4上。
图2-21 倒计时程序的窗体设计和运行界面
第3章
1.VB定义了哪几种数据类型?变量有哪几种数据类型?常量有哪几种数据类型?
2.如果希望使用变量x来存放数据765432.123456,应该将变量x声明为何种类型? 3.下列数据哪些是变量?哪些是常量?是什么类型的常量?
(1) name (2) \ (3) False (4) ff (5) \
(6) cj (7) \ (8) n (9) #11/16/1999# (10) 12.345 4.下列哪些符号不能作为VB的标识符? (1)XYZ (2)True1 (3)False (4)1ABC (5)A[7] (6)Y_1 (7)IntA (8)A-2 (9)A.3 (10)\5.在VB中,对于没有赋值的变量,系统默认值是什么? 6.VB共有几种表达式?根据什么确定表达式的类型?
7.VB算术表达式a / (b + c / (d + e / Sqr(f)))写成数学表达式。 8.写出下列表达式的值。
(1) ( 2 + 8 * 3 ) / 2 (2) 3^2 + 8 (3) #11/22/99# – 10 (4) \
9.设A = 7,B = 3,C = 4,求下列表达式的值。 (1) A + 3 * C (2) A^2 / 6 3) A / 2 * 3 / 2 (4) A Mod 3 +B^3 / C \\ 5
10.写出下列函数的值。
(1) Int(–3.14159) (2) Sqr(Sqr(64))
(3) Fix(–3.1415926) (4) Int(Abs(99–100)/2) (5) Sgn(7*3+2) (6) Lcase(\ (7) Left(\ (9) Str(–459.65) (10) Len(\
第4章
1.回答下列问题:
(1)分支结构语句有几个?它们有什么区别? (2)循环结构语句有几个?它们有什么区别? (3)使用分支结构语句需要注意什么? (4)使用循环结构语句需要注意什么?
(5)循环结构语句的功能可使用什么控件“替代”?它们各自有什么优点? 2.下列各程序均有错误,指出并改正语句的错误,使其能输出正确的结果。 (1)窗体中命令按钮的Click()事件代码如下: Private Sub cmd1_Click() Dim x As Integer x = 5
if x>=0 then x^2 End Sub
(2)窗体中命令按钮的Click()事件代码如下: Option Explicit
Private Sub cmd1_Click() x = 5
If x >= 0 Then x = x + 5 Print x End Sub
(3)窗体中命令按钮的Click()事件代码如下: Private Sub Command1_Click() Dim i As Integer, s As Long s = 0 i = 1
Do Until s < 2000
s = s + i
i = i + 1
Loop
Print s End Sub
(4)窗体中命令按钮的Click()事件代码如下: Private Sub cmd1_Click()
Dim x As Integer, y As Integer, s As Integer, i As Integer Dim t As Single i = 0 x = 1 y = 2
Do While i <= 10
s = s + y / x t = y
y = x + y x = t
Loop Print s End Sub
(5)窗体中命令按钮的Click()事件代码如下: Private Sub cmd1_Click()
Dim i As Integer, j As Integer, k As Integer, x As Integer For i = 1 To 10 For j = 1 To 10 For k = 1 To 10 x = x + 1 Next k Next j
Next i End Sub
3.在窗体上添加一个命令按钮(Cmd1),根据命令按钮Click事件代码如下,写出下列程序的运行结果。
(1)Cmd1_Click( )事件代码: Private Sub cmd1_Click() For I = 1 To 4 For j = 0 To I
Print Chr$(65 + I); Next j Print Next I
End Sub (2)Cmd1_Click( )事件代码: Private Sub cmd1_Click() Dim i As Integer
x = InputBox(\请输入一个整数:\
x = IIf(x >= 0, 1, -1) Print x End Sub
(3)Cmd1_Click( )事件代码: Private Sub cmd1_Click() Dim i As Integer Print
Print \
Do While i < 100 i = i + 1
If i / 9 = Int(i / 9) Then Print i; Loop
End Sub (4)Cmd1_Click( )事件代码: Private Sub cmd1_Click()
Dim x As Integer, y As Integer, i As Integer x = 1 y = 2
Do Until y > 500 Print x, y x = x + y y = x + y Loop Print x
End Sub
(5)Cmd1_Click( )事件代码: Private Sub cmd1_Click()