注意:
F按值傳遞參數(shù)
形參和實(shí)參的類型不一定要統(tǒng)一,VB自動(dòng)進(jìn)行數(shù)據(jù)的轉(zhuǎn)換。
–例如:Private Sub Form_Click()
Dim a As String : a = 2
Call sub1(a)
Print a
End Sub
Private Sub sub1(ByVal b As Integer)
b = b + 1 : Print b
End Sub
F按地址傳遞參數(shù)
–當(dāng)實(shí)參是變量時(shí):如果形參規(guī)定了類型,則實(shí)參必須跟形參保持一致
如果形參沒(méi)有規(guī)定類型,則VB按要求進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換
–當(dāng)實(shí)參是常量或表達(dá)式時(shí):
VB自動(dòng)用“按值傳遞”的方式進(jìn)行處理,如果數(shù)據(jù)類型不統(tǒng)一,VB自動(dòng)進(jìn)行數(shù)據(jù)轉(zhuǎn)換
試題
1、在應(yīng)用程序中用“Private function Fun(X as integer,Y as single)”定義了函數(shù)Fun。調(diào)用函數(shù)Fun的過(guò)程中的變量I、J均為Integer型,能正確引用函數(shù)Fun的是( )
A.Fun(I,J) B.Call Fun(I,3.56) C.Fun(3.14,234) D.Fun("245","231.5")
2.程序中的不同過(guò)程之間,不能通過(guò)_________進(jìn)行數(shù)據(jù)傳遞。
�、偃肿兞� ②窗體或模塊級(jí)變量 ③形參與實(shí)參結(jié)合 ④靜態(tài)變量
A. ①②④ B. ①②③ C.②④ D.④
二級(jí)考試必考題型:(課后習(xí)題)
傳值 傳地址 Static變量 同名變量 遞歸過(guò)程
1、以下有關(guān)變量作用域的說(shuō)法中,錯(cuò)誤的是( )
A. 只有在標(biāo)準(zhǔn)模塊中用public語(yǔ)句說(shuō)明的變量才是全局變量
B. 在過(guò)程中不能使用public語(yǔ)句說(shuō)明全局變量
C. 在標(biāo)準(zhǔn)模塊的通用聲明處可用private語(yǔ)句說(shuō)明模塊級(jí)變量
D. 在窗體的通用聲明處可用private語(yǔ)句說(shuō)明窗體級(jí)變量
2.一個(gè)名為frm1的窗體,在窗體通用聲明處和過(guò)程sub1中分別定義:public k as integer、dim k as integer如何在sub1中訪問(wèn)全局變量k( )
A.frm1.k B.form.k C.form1.k D.k
3.閱讀程序,給出輸出結(jié)果:
(1)字符串處理(數(shù)組參數(shù))
Option Base 1
Private Sub Form_Click()
Dim st As String, char As String
Dim data() As String, i As Integer, j As Integer
st = "10281018123811181038"
For i = 1 To Len(st)
If Mid(st, i, 1) <> "8" Then
char = char & Mid(st, i, 1)
Else
j = j + 1
ReDim Preserve data(j)
data(j) = char
char = ""
End If
Next i
Call conver(data, char)
Print char
End Sub
Private Sub conver(a() As String, ch As String)
Dim i As Integer, j As Integer
Dim n As Integer, dec As Integer
For i = 1 To UBound(a)
n = Len(a(i))
For j = 1 To n
dec = dec + Val(Mid(a(i), j, 1) * 8 ^ (n - j))
Next j
ch = ch & Chr(dec)
dec = 0
Next i
End Sub
(2)static變量
Private Sub Command1_Click()
Dim n As Integer, i As Integer
n = 2
For i = 9 To 1 Step -1
Call sub2(i, n)
Print i, n
Next i
End Sub
Private Sub sub2(x As Integer, y As Integer)
Static n As Integer
Dim i As Integer
For i = 3 To 1 Step -1
n = n + x
x = x - 1
Next i
y = y + n
End Sub
相關(guān)推薦:計(jì)算機(jī)等級(jí)考試二級(jí)VB上機(jī)試題及答案解析(50套)
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |