1 / 256
文档名称:

计算机vb二级机试历年真题.ppt

格式:ppt   页数:256页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

计算机vb二级机试历年真题.ppt

上传人:精品文档 2013/5/23 文件大小:0 KB

下载得到文件列表

计算机vb二级机试历年真题.ppt

文档介绍

文档介绍:综合应用题
某人编写了下面的程序
Private mand1_Click( )
Dim a As Integer,b As Integer
a=InputBox("请输入整数")
b=InputBox("请输入整数")
pro a
pro b
Call pro(a+b)
End Sub
Private Sub pro(n As Integer)
While (n>0)
Print n Mod 10;
n=n\10
Wend
Print
End Sub
此程序功能是:输入2个正整数,反序输出这2个数的每一位数字,再反序输出这2个数之和的每一位数字。例如:若输入123和234,则应该输出:
3 2 1
4 3 2
7 5 3
但调试时发现只输出了前2行(即2个数的反序),而未输出第3行(即2个数之和的反序),程序需要修改。下面的修改方案中正确的是______。
形参名前面缺省修饰词,或有"ByRef"关键字时,则指定它是一个按地址传递的参数。按地址传递参数时,形参和实参共用内存的"同一"地址,即共享同一个存储单元,形参值在过程中一旦被改变,相应的实参值也跟着改变。
按值传递参数(ByVal),传递的只是实参变量的副本。当采用按值传递时,过程对参数的任何改变实际上都是对栈中值的改变,仅在过程内部有效,而不影响实参变量本身。换句话说,一旦过程运行结束,控制返回调用程序时,对应的实参变量保持调用前的值不变。
本题中,过程Sub pro(n As Integer)的形参变量n按地址传递参数。程序执行pro a、pro b、Call pro(a+b)语句的过程如下:
pro a
n Print n Mod 10 n=n\10
123 3 12
12 2 1
1 1 0 程序结束时形参n的值变为0,则实参a的值也变为0。
pro b
n Print n Mod 10 n=n\10
234 4 23
23 3 2
2 2 0 程序结束时形参n的值变为0,则实参b的值也变为0。
Call pro(a+b)此时表达式a+b的值为0,过程pro()没有执行循环,所以不会反序输出变量a+b之和753。
要想输出变量a+b的实际输入的值的和,则变量a和b在过程的运行期间必须保持不变,因此形参必须采用传值的方式,故选项A正确。
70=47
Private mand2_Click()
Dim j As Integer, sum As Integer, max As Integer
Dim k As Integer

Dim strArr() As String
strArr = Split(s, " ")
For j = 0 To UBound(strArr) - LBound(strArr)
If Trim(strArr(j)) <> "" Then
sum = sum + Len(Trim(strArr(j)))
If max < Len(Trim(strArr(j))) Then
max = Len(Trim(strArr(j)))
end If
End If
Next j
= Round(sum / j)
= max
End Sub
69
Private Sub Op1_Click(Index As Integer)
Select Case Index
Case 0
= 1000
Case 1
= 3000
End Select
End Sub
Private Sub Timer1_Timer()
= + 1
End Sub
68
Dim a(10) As Integer
Public Sub Save()
Open & "\" For Output As #1
Print #1,
Close #1
End Sub
Private mand1_Click()
Open & "\" For Input As #1
' Do While Not ?
For i = 1 To 10
Input #1, a(i)
' s = s & ?
Next i
Loop
Close #1
= s
End Sub