VB一些题目不懂,求高手详细讲解

来源:百度知道 编辑:UC知道 时间:2024/05/26 10:35:08
29、下列定义Sub 过程的语句中,正确的语句是 __ 。

(1) Private Sub Test(St As String * 8)

(2) Private Sub Test(Sarray() As String * 5)

(3) Private Sub Test(Sarray() As String)

(4) Private Sub Test(St As String)

A. (1)(2) B.(1)(4) C.(2)(3)(4) D.(1)(2)(3)(4)
{sting*5是什么意思?(1),(2)有什么区别..这种语句有什么判断标准?}

3、执行下面程序,单击命令按钮 Command1,则窗体上显示的第一行是 ——,第二行是 ——,第三行是 ——。

Private Sub Command1_Click()

Dim s As String, t As String
Dim K As Integer, m As Integer
s = "BASICY"
K = 1: m = K
For K = 1 To Len(s) Step m + 1

t = t & Chr(Asc(Mid(s, m, 1)) + K)
K = K + 1
If Mid(s, K, 1) = "Y" Then Exit For
m = m + K
Print t

Next K
Print m

End Sub

[我做的就是和答案不一样.请高手讲解后两个空]
谢谢
关于第二个问题:在进行第二次循环时.K应该等于2还是3.M应该怎么得出来.感觉思路比较乱

29题
C
st是变量,Sarray()是数组, Private Sub Test(Sarray() As String * 5)
这个VB是允许的。

3题
C
CW
8

第一次循环,步长m+1=2,执行后Chr(Asc(Mid(s, m, 1)) + K) 是C,所以t="C"
Asc(Mid(s, m, 1)) + K,其中,m=1,k=1,Mid(s, m, 1)="B",ASC("B")=66,加上k=1,所以,chr(67)=C
第一次循环结束后,m=3 ,k=2.
第二次循环,这时k=4,执行后Chr(Asc(Mid(s, m, 1)) + K) 是W,所以t="CW"
Asc(Mid(s, m, 1)) + K,其中,m=3,k=4,Mid(s, m, 1)="S",ASC("S")=83,加上k=4,所以,chr(87)=W
第二次循环结束后,m=8 ,k=5.
因为Len(s)=6,k+2=7>6,所以就结束for循环.
接下来就执行print m,屏幕上显示8

一、D
sting *5表示定长字符,长度为5,sting *8表示长度为8
St 和Sarray()的区别是,st是一个字符变量,Sarray()是一个字符串的数组变量