第6章 过 程
(1)阅读程序,写出程序运行后的输出结果:_____。
Private Sub Form_Click()
Dim a As Integer, b As Integer, c As Integer b = 6: c = 6.5
a = b = c Print a End Sub
(2)阅读程序,写出程序运行后的输出结果:_____。
Private Sub Form_Click()
A = 1: B = 1
A = A + B: B = A + B: Print A, B
A = A + B: B = A + B: Print A, B A = A + B: B = A + B: Print A, B
(3)阅读程序,写出程序运行后的输出结果:_____。
Private Sub Form_Click()
Cls
A = 24: B = 25: C = 26 Print A = 24, Print B = 25
Print C = A + B
Print B > A, C > A + B And A + C > B Print \ + B, \End Sub
(4)阅读程序,写出程序运行后的输出结果:_____。
Private Sub Form_Click()
A$ = \
B$ = Right(A$, 8) C$ = Mid(A$, 1, 8) MsgBox A$, , B$, C$, 1 End Sub
(5)阅读程序,写出程序运行后的输出结果:_____。
Private Sub Form_Click()
a = 1 : b = 2 : c = 3
a = a + b : b = b + a : c = b + a If a <> 3 Or b <> 3 Then
a = b - a : b = c - a : c = b + a End If
- 6 -
第6章 过 程
Print a + b + c End Sub
(6)阅读程序,写出程序运行后的输出结果:_____。
Private Sub Form_Click()
For X = 5 To 1 Step -1
For Y = 1 To 6 - X
Print Tab(Y + 5); \
Next Y Print Next X End Sub
(7)阅读程序,写出程序运行后的输出结果:_____。
Private Sub Form_Click()
Dim a As Integer, b As Integer
a = 1: b = 0 Do While a <= 5
b = b + a * a a = a + 1 Loop Print a, b End Sub
(8)阅读程序,写出程序运行后的输出结果:_____。
Private Sub Form_Click()
Dim ch As String, i As Integer
ch = \
For i = 1 To Len(ch)
ch = Mid(ch, 2 * i - 1, 1) & Left(ch, Len(ch)) Print ch Next i End Sub
(9)阅读程序,写出程序运行后的输出结果:_____。
Private Sub Form_Click()
Dim p As Integer, i As Integer p = 1
For i = 1 To 5
p = p + (2 * i - 1) / (2 * i + 1)
If p >= 20 Then Exit For
- 7 -
第6章 过 程
Next i Print i, p End Sub
(10)阅读程序,写出程序运行后的输出结果:_____。
Private Sub Form_Click()
Dim p As Integer, i As Integer, n As Integer p = 20: n = 20
For i = 1 To n Step p
p = p + 2 : n = n - 3 i = i + 1
If p >= 10 Then Exit For Next i Print i, p, n End Sub
4、编程题:
?x(1)有函数:y??3x?2??4x?12?(x?1)(1?x?10) (x?10)编写程序,输入x值后,则输出相应y值。要求用“If…ElseIf…EndIf”和用“Select Case”两种方法完成该题目。
(2)编写程序,随机生成100个两位正整数,并统计其中小于等于40、大于40小于等于70及大于70的数据个数。
(3)编写程序,分别统计1~100中,满足3的倍数、7的倍数的数各有多少? (4)编写程序,随机生成20个三位正整数,将其中的偶数与奇数分别输出到窗体上。 (5)编写程序,求100~300间的所有素数。
(6)编写程序,输出所有的“水仙花数”。所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如,153是一水仙花数,因为153=13+53+33。
(7)编写程序,判断某整数是一个回文数。所谓回文数是指左右数字完全对称的自然数。例如,121、12321、484、555都是回文数。
(8)在文本框中输入一个字符串,并统计其中字母、数字、空格及其它字符的个数。 (9)求一元二次方程 ax2+bx+c=0 的根。
(10)计算上学期你所学的课程的总成绩和平均成绩。
- 8 -
第6章 过 程
练习题五
1、选择题:
(1)下列数组声明语句中,正确的是_____。
A.Dim a[3 , 4] As Integer B.Dim a(3 , 4) As Integer C.Dim a(n , n) As Integer
D.Dim a(3 4) As Integer
(2)在Visual Basic语言中,定义数组时,其下标允许是_____。
A.变量 B.常量
C.算数表达式(可含变量)
D.变量、常量、算数表达式(可含变量)
(3)若有声明语句Dim a(1 to 10) As Integer,则下列应用_____合法。
A.a(1) = \ B.a(7) = 32768 C.a(8) = \ D.a(0) = 2.3 (4)用Dim A (-3 To 5) As Integer语句定义的数组的元素个数是_____。 A.6 B.7
C.8
D.9
(5)若有说明:Dim a(3,4) As Integer,则下面正确的叙述是_____。 A.每个元素都有初值,但未必都为0 B.只有a(0,0)初值为0
C.数组a中每个元素的初值都为0
D.此说明语句不正确
(6)下列语句中的_____可以用来正确的声明一个二维的动态数组。
A.Private A(n) As Integer B.Dim A( ) As Integer C.Dim A( , ) As Integer D.Dim A(1 to n)
(7)对动态数组A( ),若原数组为A(5),要改变数组A(10)时,为保证其数组内的数据
不丢失,应使用_____语句进行定义。
A.Dim A(10) B.ReDim A(10) C.ReDim Preserve A(10) D.Dim A(5 To 10)
(8)以下程序段输出的结果是_____。
- 9 -
第6章 过 程
Dim a
a = Array(1,2,3,4,5,6,7)
For i = Lbound(a) To Ubound(a) : a(i) = a(i) * a(i) : Next Print a(i) A.49 C.不确定
B.0
D.程序出错
(9)下列有关数组的说法不正确的是_____。
A.在窗体模块中不可以定义全局数组
B.可以使用Erase语句释放所有数组所占的存储空间
C.语句Dim X(3.6+2) As Integer,定义了一个维上界是6的一维整型数组 D.ReDim语句只能出现在过程内部 (10)下面有关数组处理的叙述中,不正确的是_____。
① 在过程中用Redim语句定义的动态数组,其下标的上下界可为赋了值的变量 ② 在过程中,可以使用dim,private和static语句定义数组
③ 用Redim语句重新定义动态数组时,不得改变该数组的数据类型 ④ 可用Public语句在窗体模块的通用说明处定义一个全局数组 A.①②③④ B.①③④ C. ①②③ D.②④
(11)以下有关控件数组的说法中错误的是_____
A.控件数组由一组具有共同名称和相同类型的控件组成
B.控件数组中的每一个控件共享同样的事件过程
C.控件数组中的每个元素的下标由控件的Index属性指定 D.同一控件数组中的元素只能有相同的属性设置值
(12)假设有数组定义语句:Dim A(5) As Integer,List1为一个列表框控件,下面给数组元素赋值的语句错误的是_____。
A.A(4) = 5
B.A(4) = InputBox(\请输入一个数:\
C.A = Array(1,2,3,4,5,6) D.A(4) = List1.ListCount
(13)执行下面程序窗体上显示的结果是_____。
Private Sub Form_click()
Dim A(5) As Integer, B(3 To 8, 200 To 208) Print UBound(A); UBound(B, 1); UBound(B, 2) End Sub
A.5 3 200 C.5 8 208
B.5 8 200 D.5 3 208
- 10 -