VB6.0程序设计实践教程 习题及答案

更新时间:2024-05-07 08:28:01 阅读量: 综合文库 文档下载

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

Vb6.0

第一章 一、判断题

1.属性是Visual Basic对象性质的描述,对象的数据就保存在属性中。 2.控件的属性值不可以在程序运行时动态地修改。

3.许多属性可以直接在属性表上设置、修改,并立即在屏幕上看到效果。 4.所谓保存工程,是指保存正在编辑的工程的窗体。

5.面向对象的程序设计是一种以对象为基础,由事件驱动对象执行的设计方法。 6.为了使一个控件在运行时不可见,应该将该控件的Enabled属性设置为False。 7.保存Visual Basic文件时,若一个工程包含多个窗体或模块,则系统先保存工程文件,再分别保存各窗体或模块文件。

8.事件是由Visual Basic预先定义的对象能够识别的动作。 9.方法是Visual Basic对象可以相应的用户操作。

10.窗体中的控件,是使用工具箱中的工具在窗体上画出的各图形对象。 11.由Visual Basic语言编写的应用程序有解释和编译两种执行方式。

12.在打开一个Visual Basic工程进行修改后,要另存为一个版本,只需单击“工程另存为…”就行,因为系统将同时保存其他文件。

13.当用Load命令将窗体装入内存时,一定触发窗体的load事件和Activate事件.

二、选择题

1.要使某个控件不可操作,要对 属性进行设置。

A、Enabled B、Visibale C、Caption D、Name 2.下列不属于对象的基本特征的是 。 A、属性 B、方法 C、事件 D、函数 3.当运行程序时,系统自动执行启动窗体的 事件过程。 A、Click B、Load C、DblClick D、Unload 4.Visual Basic中“程序运行”允许使用的快捷键是 。 A、F2 B、F5 C、Alt+F3 D、F8 5.改变控件在窗体中的左右位置应修改该控件的 属性。 A、Top B、Left C、Width D、Right 6.工程文件的扩展名为 。

A、.vbp B、.bas C、.frx D、.frm 7.在Visual Basic中,称对象的数据为 。 A、属性 B、方法 C、事件 D、封装 8.下列选项中不属于属性的是 。

A、Name B、Caption C、Show D、Text 9.将Visual Basic编制的程序保存在磁盘上,至少会产生何种文件 。 A、.doc与.txt B、.com与.exe C、.bat与.frm D、.vbp与.frm

10.下列关于属性设置的叙述错误的是 。

A.一个控件具有什么属性是VB预先设计好的,用户不能改变它 B.一个控件具有什么属性值是VB预先设计好的,用户不能改变它

C.一个控件的大多数属性既可以在属性窗口中设置,也可以用程序代码设置 D.一个控件的属性在属性窗口中设置后,还可以再利用程序代码为其设置新值

第 1 页 共 75 页

三、填空题

1.Visual Basic中可作为其它控件的容器除了窗体外,还有 和 。 2.在Visual Basic中,窗体和控件被称为 。

3.窗体是用来存放 的容器,窗体的left和top属性是相对 对象的。 4.在打开某窗体时,初始化该窗体中的各控件,应选用 事件。

四、程序设计题

1.编一程序:当用户在文本框中输入姓名,例如输入“机器猫”,单击“确定”按钮,则窗体上出现“机器猫:欢迎你!”,如果单击“结束”按钮,即结束程序运行。

2.在窗体上建立4个命令按钮Command1、Command2、Command3和Command4。 要求:

(1)命令按钮的Caption属性分别为“字体变大”、“字体变小”、“加粗”和“标准”。 (2)每单击Command1按钮和Command2按钮一次,字体变大或变小3个单位。 (3)单击Command3按钮时,字体变粗;单击Command4按钮时,字体又由粗体变为标准。

(4)4个按钮每单击一次都在窗体上显示“青春无悔”。 (5)双击窗体后可以退出。

3.在窗体中创建一个文本框和两个命令按钮Command1和Command2,当单击Command1时,文本框消失;当单击Command2时,文本框出现,并在文本框中显示“我学会了创建一个应用程序了!”,要求Font为楷体和三号。

第1章习题答案 一、 判断题

1--5:√×√×√ 6――10:××√×× 11――13:××× 二、 选择题

1――5:ADBBB 6――10:AACDB 三、 填空题

1、 图片框和框架 2、 对象

3、 控件 屏幕 4、 Load

四、 程序设计题

1、Private Sub Command1_Click() Print Text1.Text End Sub

Private Sub Command2_Click() End End Sub

2、Private Sub Command1_Click() Form1.FontSize = Form1.FontSize + 3 Print \青春无悔\End Sub

Private Sub Command2_Click() FontSize = FontSize - 3 Print \青春无悔\End Sub

Private Sub Command3_Click() Form1.FontBold = True Print \青春无悔\End Sub

Private Sub Command4_Click() FontBold = False Print \青春无悔\End Sub

3、Private Sub Command1_Click() Text1.Visible = False End Sub

Private Sub Command2_Click() Text1.Visible = True

Text1.FontName = \楷体_gb2312\Text1.FontSize = 15

Text1.Text = \我学会了创建一个应用程序了!\End Sub

第二章

一、判断题

1. InputBox函数的返回值的类型为整型。

2. 在逻辑运算符Not、Or、And中,运算优先级有高到低为Not、Or和And。 3. MsgBox函数的返回值的类型为长整型。 4. 整型变量有Byte、Integer和Long三种。

5. 语句Form1.Print Tab(10);”#”的作用是在窗体的第11列位置输出字符”#”。

二、选择题:

1.Visual Basic的逻辑类型数据占( )字节内存。

A.2 B.4 C.8 D.16 2.下列选项中( )是日期型数据。

A.@January10,1997@ B.#January10,2007# C.”January10,1997” D.& January10,1997& 3. 下列哪一个字符串可以作为Visual Basic中的变量名( )。 A. End B. 15efg C. b-12 D. X9[j] 4. 下列哪一个是变量( )。

A.Vbred B.”name123” C.True D.n 5. 整数Int(Rnd()*11)+10的值的范围是( )。

A.[10,20] B.[0,20] C.[10,10] D.[10,11] 6. 语句Y=X+1代表( )。 A.变量Y等于X+1的值

B.变量Y等于变量X的值,然后再加上1的一个表达式 C.将变量X的值加上1后,将结果存入变量Y D.将变量Y存入变量X+1中

7. 对于Inputbox函数,下列说法不正确的是( )。 A.每执行一次Inputbox函数,只能输入一个值。 B.Inputbox函数返回值是数值型数据。 C.Inputbox函数的提示信息参数不能缺省。 D.函数值必须赋与一个变量

8.要把InputBox的返回值转换为数值应该使用的函数是( )。 A.Int B.Asc C.Len D.Val 9.下列对话框函数调用错误的是 ( )。

A.x$=Inputbox(\请输入数据\ B.Inputbox(\请输入数据\ C.x=Msgbox(\是否继续查询\ D.Msgbox(\是否继续查询\

三、写出下列Visual Basic表达式的结果:

(1) 4*10<65 (2) “AbC''<''ABCD'' (3) ''456''<>''456''& ''Xyz'' (4) Not 11*20<>255 (5)5=5 And 8>4+1 (6)10<>2 Or Not 6>10+3

四、将下列命题用逻辑表达式表示:

1. Z比X,Y都小 2. |x| ≤ |x+2| 或 x > y+2 3. w是x的倍数 4. x<=-5 且 x<>-10 5. X,Y其中只有一个小于Z

五、填空题

1. Visual Basic算术表达式a+b / (b+c / (d+e / Sqr (2*a*b )))对应的数学表达式 。 2. 产生一个100—999之间的随机整数的表达式 。

3. 整型变量X中存放了一个二位数,要将两位数交换位置,例如,49变成94,实现的表达式是 。

2?x?2ey4. 数学表达式sin65?的Visual Basic算术表达式为 。

x?y05. 表达式Ucase(Mid(\的值是 。 6. 表达式18/3-2^4*4 mod 8的值是 。 7. 不同数据类型中所占字节数最小的是 。 8. 语句Print “5*5”的执行结果为 。

课后习题答案:

一、判断题

1——5 : ××√××

二、选择题

1——5:ABCDA 6——9: ABDB

三、写出表达式的值

1、True 2、True 3、True 4、False 5、True 6、True

四、略

五、填空题 1.a?bb?d?ce2ab

2. int(900*rnd)+100

3. right(trim(str((x,1))) & left(trim(str((x,1)))

4. sin(65/180*3.14159)+2*3.14159*sqr(x+2*exp(y))/(x-y)

5.BCD 6.6 7. Byte 8.5*5

第三章 一、思考题

1. 结构化程序设计的特点是什么?面象对象的程序设计与结构化程序设计的主要区别是什么?

2. Visual Basic中数据输入常用的方法有那些?比较使用文本框和InputBox函数输入数据的异同。

3. 使用一个文本框,能否直接输入多项数据? 4. 要输入10个数据,能否使用下面的语句来实现。

x=InputBox(“输入10个数据”)

5. 能否使用文本框和InputBox函数直接输入逻辑数据、日期数据?

二、程序阅读

1. 下面程序执行的结果是________。

Private Sub command1_Click() A = 3: B = 2: C = 1 A = B B = C C = A

Print \End Sub

2. 下面程序执行的结果是________。

4.下段程序执行的输出结果是 。

S=0:T=0:U=0 For i=1 To 3 For j=1 To i For K=j To 3 S=S+1 Next K T=T+1 Next j U=U+1 Next i Print S;T;U

A.3 6 14 B.14 6 3 C.14 3 6 D.16 4 3

5.下程序段循环结构执行后,输出i的值是:

A.25 B.10

C.11 D.因为y的初值不知道,所以不确定

For i=1 to 10 step 2 y=y+i Next i Print i;

6.下列程序段的循环结构执行过程中共循环了 次。

For i% = 1 To 10 Step 2 y = y + i Next i

A.3 B.4 C.5 7.以下程序循环的执行次数是 。

a=0

Do while a<=10 a=a+2 loop

D.6

A.4 三、填空题

B.5 C.6 D.7

1. 由下列循环语句控制的循环次数是 。

For k=25 to 0 step-2 k=k-2 Next k

2. 循环结构的三种语句是: 、 、 。

3. 写出For i= -12 To –33 Step –4 所进行的循环后,i的值是 。 四、程序阅读题

1.写出以下程序在单击窗体后的输出结果。

Private Sub Form_click() mun=4

while mun<=3

mun=mun+1 Print mun Wend Print mun End Sub

2.程序运行时单击 Command1后,输入12345678,写出窗体上的输出结果。

Private Sub Command1_Click() Dim x As Long, y As String x = InputBox(\输入一个数\ Do While x <> 0 y = y & x Mod 10 y = x Mod 10 & y x = x \\ 100 Print y Loop End Sub

3.写出程序运行后,单击窗体Form1上显示的内容。

Private Sub Form_Click()

Dim i As Integer, j As Integer, y As Double i = 0 y = 1

Do While i <= 3

For j = 1 To (i + 1) y = y * j Next j

Print \ i = i + 1 Loop End Sub

4. 写出以下程序在单击窗体后的输出结果。

Private Sub Form_click() Dim k,a,b as integer a=20 b=2 k=2

Do While k<=a b=b*2 k=k+5 Loop Print b End Sub

5. 写出以下程序在单击命令按钮后的输出结果。

Private Sub Form_click() k=0

for i=1 to 5 for j=1 to 3

if j mod 2<>0 then k=k+1 end if k=k+1 next j next i Print k End Sub

6.Private Sub Form_Click()

Dim i As Integer, j As Integer Dim star As String star = \ For i = 1 To 6 For j = i To 6 Form1.Print star; Next j Form1.Print Next i End Sub

写出程序运行后,单击窗体后,Form1上输出结果为。 五、程序填空题

1. 下面程序的功能是:计算f=1-1/(2*3)+1/(3*4)-1/(4*5)+??+1/(19*20)。

Private Sub Form_Click()

Dim f As Single, i As Integer, sign As Integer ⑴ f = 1 ⑵ ⑶

f = f + sign / (i * (i + 1)) Next i

Print \End Sub

2.下面的程序是在一个字符串变量中查找\,并用消息框给出查找结果的报告:没有找到或找到的个数,程序如下:

Private Sub Form_Click() Dim str1 As String Dim sum As Integer Dim i As Integer

str1 = InputBox(\请输入一个字符串\ length = ⑴ i = 1

' 在字符串str1中查找\' 字符串长度 ' 查到的个数

Dim length As Integer

sum = 0

Do While i <= ⑵ If ⑶ = \ sum = sum + 1 End If i = i + 1 Loop

If ⑷ Then MsgBox \没有找到!\ Else

MsgBox \找到了\个\ End If End Sub

3.找出1个在1~1000中被7除余5、被5除余3、被3除余2的数(用Exit For)。

Private Sub Form_Click() Dim i As Integer

For i = 5 To 1000 Step 7 If ⑴ Then Exit For Next i

If ⑵ Then Print i End Sub

4.以下程序的功能是:从键盘输入若干个学生的考试成绩,统计并输出最高分和最低分,当输入负数时结束输入,输出结果。请填空。

Private Sub form_Click() Dim x,amax,amin as single X=inputbox(”enter a score”) amax=x amin=x

do while ⑴ if x>amax then amax=x end if

if ⑵ then amin=x end if

x=inputbox(“enter a score”) loop

print “max=”;amax;”min=”;amin End Sub

5.现面的程序功能是:求Fabonia数列的第17个数是多少?第几个数起每个数都超过1E+8?

Public Sub Form_Click()

从第

四个数起,每个数都是它前面的两个

' Fabonia数列的前三个数是0,1,2,

数之和

Dim last_one As Long,last_two As Long,this_one As Long,i As

Integer

last_one = 1 last_two = 2 i = 4 Do

this_one = last_one + last_two ⑴ ⑵ If i = 17 Then

Print \ End If

Loop While this_one <= 100000000# Print \⑷ ; \End Sub

' 数列的第二个数 ' 数列的第三个数 ' 从数列的第四个数求起

6.以下程序是验证100至200之间的所有偶数都能分解为两个素数之和。

Private Sub Form_click() Dim n As Integer,m As Integer Dim i As Integer,j As Integer For n=100 to 200 Step 2 For m=2 To (n/2) For i=2 To Int(Sqr(m)) If m Mod i=0 Then Exit For Next i

If ⑴ Then For j=2 To ⑵

If(n-m) Mod j=0 Then Exit For Next j

If j>Int (Sqr(n-m)) Then Print n,m,n-m

End If

Next m

Next n End Sub

六.编程题

(1)编程序计算:1!+3!+5!+….+11!

(2)输入两个正整数m和n,求其最大公约数a和最小公倍数b,计算最大公约数a的方法如下:先算出m/n 余数r,若r等于0,则n为最大公约数;若r不为0,则把原来的n值作为新的m值,把原来的r值作为新的n值,继续运算。这样辗转相除,直到r为0,此时的n值为最大公约数a,最小公倍数则可用原始m与n值的积除以最大公约数求得。

(3)打印由数字组成的如下所示金字塔图案 1 222 33333

4444444 555555555 6666666 77777 888 9

(4)试编程序解决百钱买百鸡问题。公元前5世纪,我国数学家张丘建在《算经》中提出“百鸡问题”:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?

(5)编程序求表达式 s=1+x+x2/2!+x3/3!+?+xn/n!+?的值和直至末项小于10-5为止,并在窗体上输出。

一.判断题

×√√√××√× 二.选择题

BBBDCCC 三.填空题

(1)7

(2)Do/Loop For/Next (3)-36 四.程序阅读题

1、 4

2、 88

6886

468864

2468852

3、y=1 y=2 y=12 y=288

4、32

5、25

6、 # # # # # #

# # # # #

# # # #

# # #

# # #

答案

While/Wend

五.程序填空题

1.①sign=1 ②For i=2 to 19 (3)sign=-sign

2.①Len(str1) ②length ③Mid(str1,i,2) ④Sum=0 3.①i mod 7=5 and i Mod 5 = 3 And i Mod 3=2 ②i<1000 4. (1)x>=0 (2)x

5.①last_one = laat_two ②last_two = this_one ③i=i+1 ④i-2 6.①i>int(sqr(m)) ②Int(Sqr(n-m)) 六.编程题

(1)

Private Sub Form_Click()

Dim i As Integer, j As Integer Dim s As Double, Sum As Double s = 1 Sum = 0

For i = 1 To 11 Step 2 For j = 1 To i s = s * j Next j

Sum = Sum + s Next i Print Sum End Sub

(2)

Private Sub Form_Click()

Dim m%, n%, mn%, r%, t% m = Val(InputBox(\ n = Val(InputBox(\ If n <= 0 Or m <= 0 Then MsgBox \数据有误\ End End If

mn = m * n If m < n Then

t = m: m = n: n = t End If

Do While (n <> 0)

r = m Mod n: m = n: n = r Loop

Form1.Print \最大公约数=\

Form1.Print \最小公倍数=\End Sub

(3)

Private Sub Form_Click() Dim i%, j% For i = 1 To 5

Print Spc(20 - i); For j = 1 To 2 * i - 1 Print Trim(Str(i)); Next j Print Next i

For i = 4 To 1 Step -1 Print Spc(20 - i); For j = 1 To 2 * i - 1

Print Trim(Str(10 - i)); Next j Print Next i End Sub

(4)

Private Sub Form_Click() Dim x As Integer Dim y As Integer Dim z As Integer For x = 0 To 100

For y = 0 To 100 - x z = 100 - x - y

If 5 * x + 3 * y + z / 3 = 100 Then Print x, y, z Next y Next x End Sub

(5)

Private Sub Form_Click()

Dim x As Single, y As Single, a As Single, i As Integer x = Val(InputBox(\输入x:\ a = 1: y = a: i = 0 While a >= 0.00001

i = i + 1: a = a * x / i: y = y + a Wend

Print \End Sub

第六章 一、判断题

1.数组中所有元素的数据类型不一定相同。

2.可以在程序中使用ReDim语句来改变动态数组的大小、维数和类型。 3.数组的下界一定是0。

4.定义数组时,其下界只能为正整数。

5.可以在通用的声明部分使用Option Base -1语句把数组下标下界的默认值设为-1。 6.在VB中,用Dim定义数组时,数组元素将自动赋初值为0。 二、选择题

1.定义数组A(1 To 5,5)后,下列哪一个数组元素不存在 。

A.A(1,1) B.A(1,0) C.A(0,1) D.(5,5)

2.在过程中定义Dim A(1 To 10,3 )As Single,则数组占用 字节的内存空间。

A.132 B.80 C.160 D.120

3.下列关于数组的说法正确的是 。

A.在VB中,一个数组中所包含的元素只能是相同类型的数据 B.在VB中,数组只能在模块中定义,不能在过程中定义模块 C.同普通变量一样,数组也可以不定义,先使用

D.在定义数组时,数组的每一维元素的个数必须是常数,不能是变量或表达式 4.使用语句Dim A() As Integer声明数组A之后,以下说法正确的是 。 A.A数组中的所有元素值为0 B.A数组中的所有元素值不确定 C.A数组中的所有元素值为Empty

D.再执行语句ReDim A(1 to 10) As Integer后,A数组中的所有元素值不为0

5.已知数组b中的5个元素分别是1,3,5,7,9,现将数组b中的5个数逆序存放(即排列为9,7,5,3,1)。为实现此功能,正确的程序段应该是: 。

A.For i = 0 To 5-1\\2: temp = b(i): b(i) = b(5 - i - 1): b(5 - i - 1) = temp: Next i B.For i = 0 To 5: temp = b(i): b(i) = b(5 - i - 1): b(5 - i - 1) = temp: Next i C.For i = 0 To 5\\2: temp = b(i): b(i) = b(5 - i - 1): b(5 - i - 1) = temp: Next i D.For i = 1 To 5\\2: temp = b(i): b(i) = b(5 - i - 1): b(5 - i - 1) = temp: Next i

6.在窗体上画一个命令按钮,然后编写如下事件过程:

Option Base 1

Private Sub Command1_Click()

Dim a(1 To 4) As Integer, i As Integer, j As Integer, s As Long For i = 1 To 4: a(i) = i: Next i j = 1

For i = 4 To 1 Step -1 s = s + a(i) * j j = j * 10 Next i Print s End Sub

运行上面的程序,单击命令按钮,其输出结果是 。

A.4321 三、程序填空题

B.12 C.34 D.1234

1.以下代码是对冒泡法排序(升序)的改进,具体方法为:当某一趟比较中没有交换发生,则认为排序完毕,而不管比较趟数是否达到N-1次。

Const N=30

Private Sub Form_Click() Dim A(N) As Integer

Dim i As Integer, j As Integer, t As Integer For i = 1 To N

A(i) = Int(Rnd * 99 + 1) Next i

For i = N To 2 Step -1 For j = 1 To (1) If A(j) > A(j + 1) Then

(2) End If Next j Next i

For i = 1 To N (3)

If i Mod 6 = 0 Then Print Next i End Sub

2.下面的过程用来输出如图6.3所示,但不完整,请在横线上填入必要的内容,使其完整。

图6.3 输出结果图

Option Base 1

Private Sub Form_Click() Dim a(5, 5) As Integer Dim i As Integer, j As Integer For i = 1 To 5 For j = 1 To 5 If j <= i Then (1) End If

Print a(i, j); \Next j

(2) Next i End Sub

3.下面的程序用随机函数生成有n(n>10)个数值元素的一维数组,求出这个数组元素的

minj = j End If

Print a(i, j); Next j Print Next i

Print \最大元素是:\行下标\列下标\Print \最大元素是:\行下标\列下标\End Sub

3.求对角线和靠边元素之和 Private Sub Command2_Click()

Dim a(1 to 5, 1 to 5) As Integer, i%, j% Dim sum1 As Integer, sum2 As Integer sum1 = 0: sum2 = 0 Print \数组:\For i = 1 To 5 For j = 1 To 5

a(i, j) = Int(Rnd * 9) + 1 Print a(i, j); Next j Print Next i

For i = 1 To 5 For j = 1 To 5

If i = 1 Or j = 1 Or i = 5 Or j = 5 Then sum1 = sum1 + a(i, j) If i = j Or i + j = 6 Then sum2 = sum2 + a(i, j) Next j Next i

Print \数组靠边元素之和为:\Print \数组对角线元素之和为:\

End Sub 4、略

第七章 一、判断题

1.静态变量是一种局部变量,当原过程再次被执行时,静态变量的初值是上一次过程调用后的值。

2.事件过程由某个用户事件或系统事件触发执行,它不能被其他过程调用。 3.可以在窗体的通用部分声明静态变量。

4.事件过程只能由系统调用,在程序中不能直接调用。

5.当形参定义是传地址方式,调用是如果使用常量或表达式,则数据是按值传递。 6.事件过程通常由事件驱动执行的,而SUB过程是通过过程调用执行的。

7.子程序调用时,如果参数按址传递并且实在参数是变量,则子程序在执行时对形参的修改不会影响到对应传递的实参变量的内容。 二、选择题

1.在 Form2 中引用 Form1 中的全局变量x,写作 。

A.x B.Form1.x C.Form2.x D.Form1_Pablic.x

2.编制一个将Single类型数组,各元素按值从小到大排序的Sort过程,该过程为 。

A.Private Sub sort(a()As Single, n As Integer)As Integer B.private Sub sort(a(l To n)As Single,n As Integer)

C.Private Sub sort(ByRef a()As Single,n As Integer)As Integer D.Private Sub sort(a()As Single,n As Integer) 3.下面程序运行后,单击窗体的打印结果为 。

Private Sub Form_Click() Dim f(2) For I=0 to 2 f (i)=SQ(I*I+1) Next I Do Until I=0 I=I-1

Print \Loop End Sub

Public Function SQ(x) x=x+2 Sq=x*4-5 End Function

A.F(0)=7 F(1)=11 F(2)=23 C.F(0)=23 F(1)=11 F(2)=7

4.设有如下自定义函数:

B.F(2)=7F(1)=11F(0)=23 D.F(2)=23F(1)=11F(0)=7

Public Function f(x As Integer) Dim y As Integer x = 20 y = 2 f = x * y End Function

在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:

Private Sub Command1_Click() Static x As Integer x = 10 y=5 y = f(x) Print x; y End Sub

程序运行后,如果单击命令按钮,则在窗体上显示的内容是 。

A.10 5 B.20 5 C.20 40 D.10 40

5.设有如下通用过程:

Public Sub Fun(a(), ByVal x As Integer) For i = 1 To 5 x = x + a(i) Next End Sub

在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下的事件过程:

Private Sub Command1_Click() Dim arr(5) As Variant For i = 1 To 5

arr(i) = i Next i n = 10

Call Fun(arr(), n) Text1.Text = n End Sub

程序运行后,单击命令按钮,则在文本框中显示的内容是 。

A.10 B.15 C.25 D.24 6.以下叙述中错误的是 。

A.如果过程被定义为Static类型,则该过程中的局部变量是Static类型 B.Sub过程中不能嵌套定义Sub过程 C.Sub过程中可以嵌套调用Sub过程

D.事件过程可以像通用过程一样由用户定义过程名

7.过程调用时,形参和实参之间数据传送的原则正确的是 。 A.按实参与形参同名的原则 B.按实参与形参位置对应的原则

C.按实参与形参个数相同,且类型也对应的原则

D.按实参与形参不仅位置对应,且类型也对应的原则

8.Function过程有别于Sub过程的最主要特点是 。 A.Function过程一定要有形参,而Sub过程可以没有形参

B.Function过程的终端语句是End Function,Sub过程的终端语句是End Sub C.Function过程是用于计算函数值,而Sub过程是用于改变属性值

D.Function过程要返回函数值,而Sub过程没有数值返回 9.编写如下事件过程:

Private Sub sub1(ByVal x1 As String, y1 As String) Dim xt As String Dim i As Integer i = Len(x1) Do While i >= 1

xt = xt + Mid(x1, i, 1) i = i - 1 Loop y1 = xt End Sub

Private Sub Form_Click()

Dim s1 As String, s2 As String s1 = \ sub1 s1, s2 Print s2 End Sub

程序运行后,单击窗体,则窗体上显示的内容是 。 A.rehcaet B.teacher C.therace D.certhea

10.在窗体上画一个名为Command1的命令按钮,然后编写如下通用过程和命令按钮的事件过程:

Private Function f(m As Integer) If m Mod 2 = 1 Then f = 1 Else f = m End Function

Private Sub Command1_Click() Dim i As Integer s = 0

For i = 1 To 5 s = s + f(i) Next i Print s End Sub

程序运行后,单击命令按钮,在窗体上显示的是 。 A.11 B.10 C.9 D.8 三、程序阅读题 1.有以下程序。

Dim a As Integer, y As Integer Private Sub Command1_Click() Call aa(5) y = y + a

Print \End Sub

Sub aa(i As Integer)

x = 1

Do Until x > i a = a + x x = x + 3 Loop End Sub

写出程序运行时连续三次单击Command1后,窗体上显示的结果。 2.有以下程序:

Function chg(a As Integer, b As Integer) As Integer Dim n As Integer For n = 0 To 2 a = a + b Next n chg = a End Function

Private Sub Form_Click()

Dim a As Integer, b As Integer , z As Integer a = 1: b = 1 For n = 1 To 3 z = chg(a, b)

Form1.Print \ Next n End Sub

写出程序运行时单击窗体后,Form1上的输出结果。

3.依次写出下列程序运行时四次单击命令按钮Command1后窗体上的输出结束。

Dim x As Integer, y As Integer Private Sub f1(a As Integer)

a=a/2 End Sub

Private Sub f2(ByVal b As Integer)

b=b/2 End Sub

Private Sub Command1_Click()

Call f1(x) Call f2(y) Print x, y End Sub

Private Sub Form_Load() x= 64:y =64 End Sub

4.有如下程序段:

Dim y as integer

Private sub Form_click()

Dim x as integer

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

Top