新版VB09机制班复习题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《Visual Basic程序设计》复习题集
一填空20
1.VB是一种面向___对象___的编程语言,采用___事件驱动___的编程机制。

2.Vb包含三个版本,即__企业版、_学习版和__专业版___。

3. 函数IIf(3>5, 1, -1)的值为____-1______。

4. 对于文本控件TextBox,属性FontSize用于设置字体大小,那么FontBold用于设置__粗体__,FontName用于设置__字符名称__,FontItalic用于设置_斜体_,FontUnderline用于设置_下划线___,MultiLine用于设置______________。

5.在程序设计阶段,可以利用对象的___setfocus__方法获得焦点,前提是该对象的__visible__和___enable__属性均为True。

6.一个窗体模块由窗体模块的__通用过程__、实件过程和_声明过程____三个部分组成。

7.图片框显示图片可以通过设置其______picture___属性,也可以在程序代码中用____loadPicture___函数来设置。

8.对于数值型数组,在定义后各元素的值为__0__;对于字符型数组,在定义后各元素为_____空字符__。

9.定义一个单精度的变量t 的语句是__dim t as single__。

10. Month(#09-07-2006#)的值为_9___,Day(#09-07-2006#)的值为__7__;假设当前时间是2006年12月25日,则Year(Now())的值为_2006__,Day(Now())的值为___25__。

11.Ucase(”xyBC89武汉”)的值为_ “XYBC89武汉”__,Lcase(”xyBC89武汉”)的值为_xybc89武汉_;Val(”27.89”)的值为_27.89_,Str(27.89)的值为__” 27.89”__。

12.表达式4+5\6*7/8 mod 9之后的结果是____5___。

13.VB中主要有两种常量:__直接常量___和____符号常量__。

14.基本数据类型中的数组数据类型包含了__整型_、_长整型__、_单精度__、_双精度__和__货币型____类型。

15.要精确的把文本输出在窗体、图片框或者打印纸上,可以用位置属性__CurrentX__和___CurrentY ___来设置。

2. 字符串运算符
&、+ 字符串连接
" 123 " + " 456 " 结果" 123456 "
" 123 " & " 456 " 结果" 123456 "
区别: + 两边必须是字符串, & 不一定
例如:
"abcdef" & 12345 ' 结果为"abcdef12345 "
"abcdef " + 12345 ' 出错
"123" & 456 ' 结果为" 123456 "
“123”+ 456 ' 结果为579
注意:"123 " + True '结果为122
True转换为数值-1,False转换为数值0
二选择题10
一、选择题(20分)
1.控件数组中的各元素必须有一个属性值相同,该属性是:C
A)Capiton B)Index C)Name D)Font
2.执行下面的程序后,I的值为:B
Dim B(10)
B(0) = 10
For i = 1 to 10
B(i) =i*i
If B(i) > 50 Then Exit For
Next
A) 2 B) 8 C) 4 D) 5
3.使用过程是为了:A
A)使程序模块化B)使过程易于阅读
C)提高程序运行速度D)便于系统的编译
4.在控件数组中,标识控件数组各元素的属性是:B
A)Text B)Index C)Name D)Font
5.执行下面的程序后,数组元素A(3)的值为:D
Dim A(10)
A(0) = 3
For I = 1 to 10
A(I) = A(I-1) +I
Next
A) 6 B) 8 C) 10 D) 9
6.Sub过程和Function过程最根本的区别是:D
A)Sub过程可以使用Call语句或直接使用过程名调用,而Function过程不可以;
B)Function过程可以有参数,Sub过程不可以;
C)两种过程参数的传递方式不同;
D)Sub过程的过程名不能返回值,而Funciton过程的过程名能返回值。

7.以下叙述中错误的是D
A)下拉式菜单和弹出式菜单都用菜单编辑器建立
B)在多窗体程序中,每个窗体都可以建立自己的菜单系统
C)除分隔线外,所有菜单项都能接收Click事件
D)如果把一个菜单项的Enabled属性设置为False,则该菜单项不可见
8.以下Case语句中错误的是A
A) Case 3,5,Is>l0 B) Case 0 To 10
C)Case Is>10 And Is<50 D) Case Is>l0
9.如果要在菜单中添加一个分隔线,则应将其Caption属性设置为C
A) = B)* C) - D)&
10.设有如下程序:C
Private Sub Command l_Click()
Dim sum As Double,x As Double
Sum=0
n=0
For i=1 T0 5
x=n/i
n=n+1
sum=sum+x
Next
End Sub
该程序通过For循环计算一个表达式的值,这个表达式是
A)1+1/2+2/3+3/4+4/5 B)1+1/2+2/3+3/4
C)1/2+2/3+3/4+4/5 D)1+1/2+1/3+1/4+1/5
参考课后习题:第3章选择题3~11 第四章1~8和10~12 第五章1,4,5,9,10
三判断题10
1 一个复杂的VB使用程序可以包含2个以上的工程文件,这些工程文件组成一个工程组。

V
2. VB是美国微软公司推出的一种计算机语言。

V
3. VB具有编程可视化的特点。

V
4. VB中可以给一个变体型变量赋给一个整型值。

V
5. 在VB中,大部分属性可以在属性窗口中设置,部分属性只能用代码在运行时设置它们。

V
6. 文本框控件通过设置Caption属性修改显示的文本,标签控件通过设置Text属性修改显示的文
本。

X
7. VB中不是所有的For语句都必须和Next(加变量)语句搭配。

X
8. 定义数组时必须制定数组的下标下界。

X
9. 通过InputBox()函数可以进行数据输入。

V
10. VB中不能通过打印机打印一个变量的值。

11.用户可以将对象简单的理解为窗体、控件等的统称,它是一个使用程序的一部分。

V
12.过程即VB中预先设置好的能被一个窗体或控件等对象识别的动作,当用户对一个对象发出一
个动作时,会产生一个过程。

X
13. 标准模块文件(.bas)主要用于定义程序中的全局变量和通用过程,从而可以被程序中的所有
窗体的程序所使用。

V
14. VB语句中的字母不区分大小写。

V
15. VB语句中在一行上书写写多条语句时,语句间用分号隔开。

X
16. VB允许一条语句写成多行,用空格加下划线作为续行标志。

V
17. 赋值语句“[Let] 变量名=表达式”中“变量名”只能是简单变量或者是下标变量(数组元素),不能是对象的属性名。

X
18. Visible属性用于设置对象的可见性,它在程序设计阶段就可以起作用。

X
19. 设置Label控件的Caption属性中的文字换行可以通过在程序文字中间插入vbcrlf或chr(13)+chr(10)实现。

V
20. VB中事件可由用户引发(例如鼠标操作等),也可以由系统引发(如定时器事件),还可以由代码间接引发(如当代码装载窗体时的Load事件)。

V
21.VB中要求所有变量必须先声明后使用。

X
22. 数学函数Abs(x)用于求绝对值,Sqr(x) 用于求x的平方根。

V
23. MsgBox函数用于程序运行过程中产生一个消息对话框,也可以看作是输出对话框。

V
24. 图片框不仅能用于显示图片,同时还可以用它提供的方法在上面绘制图形。

V
25. 图片框用于显示图片时只能通过其Picture属性来设置。

X
26. 图片框可以使用Print方法向窗体中输出文字。

V
27. 用于显示图形时,图片框比图像框占用的内存少些。

X
28. Alignment用于设置复选框或单选按钮的标题的对齐方式。

V
29. 列表框把一个文本框和组合框组合为单个控件,它兼有组合框和文本框的功能。

X
30. 计时器在设计阶段可见,在程序运行时不可见。

V
31. If—Then语句不可以嵌套使用。

X
32.For循环结构中步长只能为正值,不能为负值。

X
33.数组有时候不定义也可以使用。

X
(2) 日期型数据看成“yyyymmdd”的8位整数,按数值大小比较;
(3)字符型数据按其ASCII码值进行比较;
"A" 小于"B" "a" 大于"A"
"ABC" 大于"AB2" "ABC" 大于"AB"
四、简答题10
1 简述在VB环境下创建一个使用程序的一般步骤和方法。

1、新建一个工程文件和窗体
2、进行界面设置
3、程序属性修改
4、程序的调试修改
5、
生成可执行文件6文件的保存
2. VB语言的特点。

(写6点即可)p2-3
3.教材习题1.2
4.教材习题1.3
5.教材习题2.8
五根据给出的条件和相关程序,写出程序执行后的运行结果(如果结果需要换行,必须换行)。

20
1. Private Sub Form_click()
Dim m, n, r As Integer
m=Val(InputBox(“输入正整数m的值”))
n=Val(InputBox(“输入正整数n的值”))
r=m Mod n
While r<>0
m=n
n=r
r=m Mod n
Wend
Print “输出结果为:”;n
End Sub
该程序若输入第一次输入48,第二次输入40,则输出显示为:
2.设计一个程序,在程序中添加一个名称为Form1的窗体,添加窗体的Click事件过程代码如下:Private Sub Form1_Click( )
Dim x As Single , y As Single
x=InputBox(“输入第一个数据”,”输入数据”)
y=InputBox(“输入第二个数据”,”输入数据”)
Print x+y
Print x & y
End Sub
程序运行时,单击窗体,先后在输入输入对话框输入123和456,则程序的输出结果为:579 123456
3. 阅读以下程序:
Private Sub Form_click()
Dim m, n, r As Integer
For n=5 to 20
r=1
For m=2 to n-1
If n Mod m = 0 Then
r=0
Exit For
End if
Next m
If r=1 Then Print n;
Next n
End Sub
程序运行时,单击窗体,则程序的输出结果为:
4. 阅读以下程序:
Private Sub Form_click()
Dim m As Integer, n As Integer
Dim s1 As Long, s As Long
m = 1: s = 0
Do While m <= 4
n = 1: s1 = 1
Do While n <= m
s1 = s1 * n
n = n + 1
Loop
s = s + s1
m = m + 1
Loop
Print “s=”;s
End Sub
程序运行时,单击窗体,则程序的输出结果为:
六、程序设计题(写出程序和必要的设计说明,完全无设计说明扣3分。

界面的创建步骤可省略)30
•:输入一个成绩,输出其成绩等级:90分以上A级;80分以上B级……60分以下E级。

• 1 Private Sub form1_click()
•Dim score As Single ‘定义变量score作为学生成绩
•score=Val(InputBox(“输入一学生成绩”))
•Cls ’清除功能
•If score>=90 and score<=100 Then
•Print “A”
•ElseIf score>=80 and score<90 Then
•Print “B”
•ElseIf score>=70 and score<80 Then
•Print “C”
•ElseIf score>=60 and score<70 Then
•Print “D”
•Else
•Print “E”
•Endif
•2Private Sub form1_click()
•Dim score As Single
•score=Val(InputBox(“输入一学生成绩”))
•Cls
•Select Case score
•Case 90 to 100
•Print “A”
•Case 80 to 89
•Print “B”
•Case 70 to 79
•Print “C”
•Case 60 to 69
•Print “D”
•Case Else
•Print “E”
•End Select
•End Sub
•求1+2+3+……+100
•Private Sub Form_click()
•Dim i, s As Integer
•i=1
•While i<=100
•s=s+i
•i=i+1
•Wend
•Print “总和S=”;s
•End Sub
•求两个正整数m和n的最大公约数•Private Sub Form_click()
•Dim m, n, r As Integer
•m=Val(InputBox(“输入正整数m的值”))•n=Val(InputBox(“输入正整数n的值”))•r=m Mod n
•While r<>0
•m=n
•n=r
•r=m Mod n
•Wend
•Print “最大公约数为:”;n
•End Sub
•.打印出100~200间所有3的倍数。

•Private Sub Form_click()
•Dim n As Integer
•For n=100 to 200
•If n Mod 3 = 0 Then •Print n
•Next n
•End Sub
•求3~100之间的所有素数。

•Private Sub Form_click()
•Dim m, n, r As Integer
•For n=3 to 100
•r=1
•For m=2 to n-1
•If n Mod m = 0 Then •r=0
•Exit For
•End if
•Next m
•If r=1 Then Print n
•Next n
•End Sub
•编程求1!+2!+……+10!的值。

•Private Sub Form_click()
•Dim m As Integer, n As Integer •Dim s1 As Long, s As Long
•m=1: s=0
•Do while m<=10
•n=1: s1=1
•Do while n<=m
•s1=s1*n
•n=n+1
•Loop
•s=s+s1
•m=m+1
•Loop
•Print s
•End sub
•求100~200之间能被3整除的数。

•Private Sub Form_click()
•Dim s as integer
•Cls
•s=100
•Start:
•If s<=200 then
•If s mod 3=0 then
•Print s
•End if
•s=s+1
•Goto start
•End if
•End sub
•(2)在定义数组时,每一维的元素个数必须是常数,不能是变量或表达式。

•如:n=10
•Dim s(n) As Single是不合法的。

•如果需要在程序运行时定义数组的大小,可以用Redim语句定义数组或使用动态数组。

如:m=InputBox(“输入m的值”)
•ReDim s(m) As Single
•(3)如定义多维数组,各维间用逗号隔开。

•如:Dim a(2,2) As Double
•则a数组为二维数组,且其共有9个数组元素。

•(4)默认数组:定义数组时省略了数据类型的数组,其特点是能在这一数组中同时存放不同类型的数据。

(数据类型是varient)
•(5)对于数值型数组,在定义后各元素的值为0,对于字符型数组,各元素的值为空字符。

•(6)在程序中可以使用Lbound和Ubound库函数来求得数组中某一维的下界值和上界值。

•格式为:Lbound(数组名[,维])
•Ubound(数组名[,维])
•输入10个数,求其平均值。

•Private Sub Form_click()
•Dim a(1 to 10) As Single
•Dim i As Integer,aver As Single
•For i=1 to 10
•a(i)=Val(InputBox(“输入第” & Str(i) & “个数”))
•aver=aver+a(i)
•Next i
•aver=aver/10
•Print “平均值=”;aver
•End Sub
•输出杨辉三角形。

•Private Sub Form_click()
•Dim a(1 to 10, 1 to 10) As Integer
•Dim i As Integer, j As Integer
•For i=1 to 10
•a(i,1)=1: a(i,i)=1
•Next i
•For i=3 to 10
•For j=2 to i-1
•a(i,j)=a(i-1,j-1)+a(i-1,j)
•Next j
•Next i
•For i=1 to 10
•For j=1 to i
•Print a(i,j);
•Next j
•Print
•Next i
•End Sub
•编写函数过程求两个数m和n的最大公约数和最小公倍数。

•Private Function MaxC(m As Integer,n As Integer,Minc As Integer) As Integer
•Dim r as Integer, m1 As integer,n1 As Integer
•m1=m: n1=n
•r=m mod n
•do while r<>0
•m=n
•n=r
•r=m mod n
•Loop
•Maxc=n
•Minc=m1*n1/n
•End Function
1.在键盘输入2个数,编写一程序,计算并输出2个数的和、积以及平均值。

通过InputBox函数输入数据,在窗体显示输出。

2.编程:通过InputBox函数输入三个整数a,b,c,按从大到小的顺序在窗体右边输出这三个整数。

界面如下(图01):
输入三个整数,按从小到大的顺序输出它们。

(2种设计思路)
•用Inputbox进行数据输入。

代码如下:
•Private Sub form1_click()
•Dim a, b, c, t As Integer
•a=Val(InputBox(“输入一整数a的值”))
•b=V al(InputBox(“输入一整数b的值”))
•c=Val(InputBox(“输入一整数c的值”))
•If a>b then t=a: a=b: b=t
•If a>c then t=a: a=c: c=t
•If b>c then t=b: b=c: c=t
•End Sub
•Print “三个数从小到大依次为:”;a,b,c
•思路二:用文本框输入数据。

•Private Sub Command1_Click()
•Dim x, y, z, t As Integer
•x = Text1.Text
•y = Text2.Text
•z = Text3.Text
•If x > y Then t = x: x = y: y = t
•If x > z Then t = x: x = z: z = t
•If y > z Then t = y: y = z: z = t
•Text4.Text = x
•Text5.Text = y
•Text6.Text = z
•End Sub
3.在文本框中输入英文字符串,按“转大写”按钮,文本变大写;按“转小写”按钮,文本变小写;按“复原”按钮可以复原为初始输入的字符串。

界面如下(图02):
4.某数组有9个元素,元素的值由键盘输入,要求:(1)将第1个和第9个对换,第2个和第8个对换,依此类推,第5个不变。

(2)单击当前窗体时程序开始运行。

5.设计一个简单的商品统计系统。

界面如图03。

假设已知三个商品的销售单价和数量,计算并输出商人所得的总金额。

图01 图02
图03。

相关文档
最新文档