(27)編寫如下程序:
Private Sub Form_Click()
a$="54321":b$="abcde"
For j=l To 5
Print Mid$(a$,6-j,1)+Mid$(b$,j,1);
Next j
Print
End Sub
程序運行后,單擊窗體,其輸出結果為________。
A)alb2c3d45e B)a5b4c3d2el C)eld2c3b4a5 D)la2b3c4d5e
答案:D
評析:For循環(huán)共執(zhí)行了5次,每次用Mid$函數取出a$和b$的子串輸出,a$是倒序,每次取一個字符,b$是順序,每次取一個字符,連接在一起輸出,輸出表達式用分號結束,表示下一次接著輸出,故輸出結果為la2b3c4d5e。
(28)在窗體上畫一個名稱為Labe11的標簽,然后編寫如下事件過程:
Option Base l
Private Sub Form_Click()
Dim a(20)As Integer
For k=l To 20
a(k)=k^2
Next k
Label1.Caption=a(k)
End Sub
程序運行后,單擊窗體,在標簽中顯示的內容是__________。
A)400 B)20 C)441 D)出錯信息
答案:D
評析:一維數組a的下標在1-20之間。而循環(huán)結束后k值為21,故產生下標越界的錯誤。
(29)在窗體上畫一個名稱為Text1的文本框,一個名稱為Command1的命令按鈕,然后編
寫如下事件過程和通用過程:
Private Sub Command1_Click()
n=Val(Text1.Text)
If n\2=n/2 Then
f=f1(n)
Else
f=f2(n)
End If
Print£n
End Sub
Public Function fl(ByRef x)
X=x*x
n=x+x
End FunctiOn
Public Function f2(ByVa1 x)
X=X*X
f2=x+x+x
End FunctiOn
程序運行后,單擊命令按鈕,在窗體上顯示的是_______。
A)72 36 B)108 36 C)72 6 D)108 6
答案:A
評析:在本題中,文本框中輸入的是6,也就是n=6,n\2=n/2條件成立,所以執(zhí)行f=fl(n)語句,調用f1過程,得到x=x*x=6*6=36,fl=36+36=72。由于函數f1中,參數是按地址傳遞的,故參數的值會返回,所以n的值為36。
(30)在窗體上畫一個名稱為command1的命令按鈕,然后編寫如下程序:
Option Base l
Private Sub Command1_Click()
Dim a(3,3)
For i=1To 3
For j=1 To 3
If i=j Then a(i,j)=l
If i If i>j Then a(i,j)=3
Next j
Next i
For i=1 To 3
For j=1 To 3
Print a(i,j);
Next j
Print
Next i
End Sub
程序運行后,如果單擊命令按鈕,則在窗體上輸出的內容為_________。
A)l 3 3 B)1 2 2 C)2 3 3 D)2 l l
2 1 3 3 1 2 l 2 3 3 2 l
2 2 l 3 3 l 1 l 2 3 3 2
答案:B
評析:本題程序在過程中定義了一個二維數組,該數組可容納9個元素,在循環(huán)中給數組元素賦值,在每次循環(huán)中有If i=j Then a(i,j)=1,表示主對角線置1;If ij Then a(i,j)=3,表示主對角線一下元素置3。
Private Sub Form_Click()
a$="54321":b$="abcde"
For j=l To 5
Print Mid$(a$,6-j,1)+Mid$(b$,j,1);
Next j
End Sub
程序運行后,單擊窗體,其輸出結果為________。
A)alb2c3d45e B)a5b4c3d2el C)eld2c3b4a5 D)la2b3c4d5e
答案:D
評析:For循環(huán)共執(zhí)行了5次,每次用Mid$函數取出a$和b$的子串輸出,a$是倒序,每次取一個字符,b$是順序,每次取一個字符,連接在一起輸出,輸出表達式用分號結束,表示下一次接著輸出,故輸出結果為la2b3c4d5e。
(28)在窗體上畫一個名稱為Labe11的標簽,然后編寫如下事件過程:
Option Base l
Private Sub Form_Click()
Dim a(20)As Integer
For k=l To 20
a(k)=k^2
Next k
Label1.Caption=a(k)
End Sub
程序運行后,單擊窗體,在標簽中顯示的內容是__________。
A)400 B)20 C)441 D)出錯信息
答案:D
評析:一維數組a的下標在1-20之間。而循環(huán)結束后k值為21,故產生下標越界的錯誤。
(29)在窗體上畫一個名稱為Text1的文本框,一個名稱為Command1的命令按鈕,然后編
寫如下事件過程和通用過程:
Private Sub Command1_Click()
n=Val(Text1.Text)
If n\2=n/2 Then
f=f1(n)
Else
f=f2(n)
End If
Print£n
End Sub
Public Function fl(ByRef x)
X=x*x
n=x+x
End FunctiOn
Public Function f2(ByVa1 x)
X=X*X
f2=x+x+x
End FunctiOn
程序運行后,單擊命令按鈕,在窗體上顯示的是_______。
A)72 36 B)108 36 C)72 6 D)108 6
答案:A
評析:在本題中,文本框中輸入的是6,也就是n=6,n\2=n/2條件成立,所以執(zhí)行f=fl(n)語句,調用f1過程,得到x=x*x=6*6=36,fl=36+36=72。由于函數f1中,參數是按地址傳遞的,故參數的值會返回,所以n的值為36。
(30)在窗體上畫一個名稱為command1的命令按鈕,然后編寫如下程序:
Option Base l
Private Sub Command1_Click()
Dim a(3,3)
For i=1To 3
For j=1 To 3
If i=j Then a(i,j)=l
If i
Next j
Next i
For i=1 To 3
For j=1 To 3
Print a(i,j);
Next j
Next i
End Sub
程序運行后,如果單擊命令按鈕,則在窗體上輸出的內容為_________。
A)l 3 3 B)1 2 2 C)2 3 3 D)2 l l
2 1 3 3 1 2 l 2 3 3 2 l
2 2 l 3 3 l 1 l 2 3 3 2
答案:B
評析:本題程序在過程中定義了一個二維數組,該數組可容納9個元素,在循環(huán)中給數組元素賦值,在每次循環(huán)中有If i=j Then a(i,j)=1,表示主對角線置1;If i