第一篇:【考試大論壇】-全國計算機二級VB要點總結(jié)
VB程序設(shè)計的初步知識
1.VB的概述
VB是一種可視化、面向?qū)ο蠛筒捎檬录?qū)動方式的結(jié)構(gòu)化高級程序設(shè)計語言。特點:▲ 可視化編程
▲ 面向?qū)ο蟪绦蛟O(shè)計 ▲ 結(jié)構(gòu)化的程序設(shè)計語言 ▲ 事件驅(qū)動編程機制 ▲ 訪問數(shù)據(jù)庫 2.VB的程序開發(fā)環(huán)境
(1)窗口設(shè)計器窗口。簡稱,窗體
(2)工程資源管理器窗口
▲ 工程文件和工程文件組
工程文件的擴展名是vbp,每個工程對應(yīng)一個工程文件?!?窗體文件
擴展名是frm,每一個窗體對應(yīng)一個窗體文件,一個應(yīng)用程序可以有多個窗體?!?標(biāo)準(zhǔn)模塊文件
擴展名bas,不屬于任何一個窗體?!?類模塊文件
(3)屬性窗口和工具箱窗口 3.VB常用對象及操作
(1)對象事件的名稱Name是由VB預(yù)定的,不可以由編程者設(shè)定。
可以在運行期間改變窗體的Name屬性的值。(?)(2)控件
4.VB應(yīng)用程序通常有3類模塊組成,即窗體模塊、標(biāo)準(zhǔn)模塊和類模塊。VB應(yīng)用程序以解釋和編譯方式執(zhí)行。
5.VB中的變量和常量(1)常量
▲ 文字常量:字符串和數(shù)值常量 ▲ 符號常量
格式:Const 變量名=表達(dá)式(2)變量
▲ 命名規(guī)則:名字只能由字母、數(shù)字和下劃線組成。
第一個字符必須是英文字母,最后一個字符可以是類型說明符。
▲變量的類型和定義
①類型說明符放在變量名的尾部。A#b(錯)%:整型 &:長整型?。簡尉刃?#:雙精度型 $:字符串型 ②在定義變量時指定類型。
格式:Declare 變量名 as 類型
Declare 可以是 Dim、Static、Public或Private(3)變量的作用域
變量分為:局部變量、模塊變量和全局變量
① 局部變量
在事件過程或通用過程內(nèi)定義的變量叫局部變量。② 模塊變量
窗體變量可用于窗體內(nèi)的所有過程.當(dāng)同一個窗體內(nèi)的不同過程使用相同的變量時,必須定義窗體層變量,在使用窗體層變量前,必須先聲明。
③ 全局變量
全局變量只能在標(biāo)準(zhǔn)模塊中聲明,不能在過程或窗體模塊中聲明。用Public 聲明。
1.VB常用內(nèi)部函數(shù)
⑴ 轉(zhuǎn)換函數(shù)
? 取整函數(shù)Int和fix ? 數(shù)值轉(zhuǎn)換函數(shù) ? 類型轉(zhuǎn)換函數(shù) ? 格式轉(zhuǎn)換函數(shù)
⑵數(shù)學(xué)函數(shù) ? 三角函數(shù)
? 絕對值函數(shù)(Abs)? 符號函數(shù)(Sgn)?平方根函數(shù)(Sqr)
? 指數(shù)和對數(shù)函數(shù)(Exp和Log)
⑶隨機數(shù)函數(shù)
? 隨機數(shù)函數(shù)(Rnd)? Randomize語句 ⑷ 時間函數(shù)
2.VB字符串處理
?左、中、右部截取 Left(字符串,n)Mid(字符串,n)Right(字符串,n)?字符串長度測量函數(shù) Len(字符串)?Strings函數(shù) Strings(n,ASCII碼)Strings(n,字符串)
?查找某個字符串函數(shù) InStr(首字符位置,字符串1,字符串2[,n] ?字母大小轉(zhuǎn)換函數(shù) Ucase(字符串)Lcase(字符串)?插入字符串語句 Mid(字符串,位置)=字符串 ?SetFocus語句
8.VB運算符與表達(dá)式(1)算術(shù)運算符
?求模運算 Mod求余.?算術(shù)運算符優(yōu)先級 ^>>& 如:7^2 Mod 5^23=1(1)關(guān)系運算符和邏輯運算符(2)表達(dá)式的執(zhí)行順序
? 關(guān)系運算(=,>,<,<>,≦,≧)
? 最后進(jìn)行邏輯運算,順序為: Not→And→Or→Xor→Eqv
如:表達(dá)式: Not a<=c Or 4*c=b^2 And b<>a+c的值是(Flase)a=2,b=3,c=4
9.VB常用標(biāo)準(zhǔn)控件(1).標(biāo)簽
●Alignment 確認(rèn)標(biāo)簽中標(biāo)題放置的位置,可設(shè)置0、1、2,作用分別為標(biāo)題設(shè)置在左、右、中。
●AutoSize 標(biāo)題自動調(diào)整標(biāo)簽的大小,可設(shè)置為True和False.●Borderstyle 設(shè)置標(biāo)簽的邊框,可設(shè)置為0和1,0表示為無邊框?!馝nabled 用于確定一個窗體或控件能否對用戶產(chǎn)生的事件作出反應(yīng)?!馚ackStyle 設(shè)置標(biāo)簽是否覆蓋背景,0表示為透明,1表示標(biāo)簽覆蓋背景?!馱ordWrap 決定標(biāo)簽的標(biāo)題文本能否自動換行。
●其他:Height、Left、Top、Visible、Width等等。
(2)文本框
屬性:
●MaxLength 設(shè)置文本框中輸入的最大字符數(shù)。
●MultiLine 設(shè)置是否允許多行顯示。
●Passwordchar 用于口令輸入。
●Scrollbars 用來設(shè)置文本框中的滾動條。
事件:
◎ Change 事件 當(dāng)用戶輸入新信息或把Text屬性設(shè)置為新值從而改變文本框的屬性時,將可觸發(fā)此事件。
◎ GotFocus事件 當(dāng)文本框有輸入焦點時,鍵盤上輸入的字符都將在文本框中顯示出來,只有當(dāng)一個文本框被激活并且可見性為TRUE是才能收到焦點。
◎ Setfocus 事件 該方法可以把輸入的光標(biāo)(焦點)移到指定的文本框中。
格式: [對象.] Setfocus
(3)圖形控件
圖片框和圖像框:
▲ CurrentX和CurrentY屬性 ▲ Picture屬性
▲ Stretch屬性
用于自動調(diào)整圖像框中圖形內(nèi)容的大小。
▲ 區(qū)別:① 圖片框是“容器”控件,可作為父控件,而圖像框不能。③ 圖片框可接受文本和圖片,圖像框不能。④ 圖像框占用內(nèi)存少,顯示速度快。⑤ 圖片框更靈活,且適用于動態(tài)環(huán)境。▲ 運行期間裝入圖片
格式:[對象.] Picture=LoadPicture(”文件名”)
直線和形狀:
△ BorderColor屬性 △ Borderstyle
1—實線
2—虛線
3—點線
4—點劃線
△ BackStyle 設(shè)置標(biāo)簽是否覆蓋背景,0表示為透明,1表示標(biāo)簽覆蓋背景。
△ Shape 屬性
0—矩形 1—正方形 2—橢圓形 3—圓形 4—四角圓化的矩形 △ BorderWidth 指定線寬或界寬
(3)復(fù)選框和單選按鈕
Enabled、FontBold、FontItalic、FontName、FontSize、FontUnderline Value、Alignment、Height、Left、Top、Visible、Width
單選按鈕:Value=True,表示選擇了該單選按鈕.Value=False, 表示沒有選擇該單選按鈕.復(fù)選框:Value=0,表示沒有選擇該復(fù)選框。
Value=1,表示選擇該復(fù)選框。
Value=2,表示該復(fù)選框被禁用。
(6)列表框和組合框
列表框方法:AddItem 添加文本內(nèi)容到列表框中。
Clear
清除列表框中所有內(nèi)容。
RemoveItem 刪除列表框中指定的項目。組合框(ComboBox):AddItem、Clear、RemoveItem同樣適用。
Style是組合框的一個重要屬性,其值可取0、1、2,決定組合框的3個類型。
注意: 屬性ListIndex和 ListCout的區(qū)別 108(7)
滾動條 屬性:
除Enabled、FontBold、FontItalic、FontName、FontSize、FontUnderline Value、Alignment、Height、Left、Top、Visible、Width外,還有以下屬性: ? Max和Min ? LargeChange和SmallChange ? Value 表示滾動框在滾動條的位置。
事件:主要有Scroll和Change.當(dāng)在滾動條內(nèi)拖動滾動框時會觸發(fā)Scroll事件,而改變滾動框的位置時會觸發(fā)Change事件。
(8)
計時器
可以用Enabled和Name屬性,其最重要的是Interval屬性,取值范圍0~65535.(9)框架
(10)焦點與Tab順序
?設(shè)置焦點
格式: [對象.] Setfocus ? Tab順序
Tab順序是在按Tab鍵時焦點在控件間移動的順序。影響Tab順序的屬性是TabIndex。
數(shù)據(jù)輸入輸出
1.數(shù)據(jù)的輸出方法: ⑴ print方法
與print方法有關(guān)的函數(shù):tab(n)函數(shù) 【print tab(24);800】
spc(n)函數(shù)
【print “china”;spc(4);”中國” 】用于跳出n個空格輸出
tab函數(shù)從第一列開始計數(shù),n是絕對偏移量。spc(n)函數(shù)則是從前面的輸出內(nèi)容開始計數(shù),n是相對偏移量。⑵ 格式輸出()
#:表示數(shù)字,不補零
0:表示數(shù)字,在數(shù)字的前或后補零.:指定小數(shù)點的位置,:指定千分分隔符的位置
如:print format$(12345.6,”####,#.##”)12,345.(3)msgbox函數(shù)
信息框→ 返回值→標(biāo)題 2.數(shù)據(jù)輸出方法(1)inputbox方法
Inputbox函數(shù)的返回值默認(rèn)為字符串。如:a=inputbox(“Enter an integer”)b= inputbox(“Enter an integer”)
text1.text=b+a
如果在輸入對話框中輸入8和10,則文本框中顯示的內(nèi)容為108
VB的控制結(jié)構(gòu)
1.循環(huán)控制結(jié)構(gòu)(1)For循環(huán)控制結(jié)構(gòu)
使用Exit for 語句,可以在循環(huán)變量到達(dá)終值前就退出循環(huán)。(2)當(dāng)循環(huán)結(jié)構(gòu)
While 條件 [語句塊] Wend(3)Do循環(huán)結(jié)構(gòu)
Do While……Loop
Do ……loop While(4)多分支控制結(jié)構(gòu)
測試表達(dá)式=????→Select case 測試表達(dá)式(5)IIf函數(shù)
A=IIf(條件,true部分,false部分)
數(shù)組與過程
1.默認(rèn)數(shù)組
默認(rèn)數(shù)組就是數(shù)據(jù)類型為Variant的數(shù)組。
Static A(4)即為定義了四個默認(rèn)數(shù)組。2.動態(tài)數(shù)組
? 用變量作為下標(biāo)定位的數(shù)組時動態(tài)數(shù)組
? 用數(shù)值常量或符號常量作為下標(biāo)定維的數(shù)組是靜態(tài)數(shù)組。
動態(tài)數(shù)組定義分兩步:首先在窗體層、標(biāo)準(zhǔn)模塊或過程中用DIM或Public聲明一個沒有下標(biāo)的數(shù)組,然后再過程中在用ReDimd定義。3.數(shù)組的清除和重定義 Erase 數(shù)組名
Erase用于動態(tài)數(shù)組中,將刪除整個數(shù)組結(jié)構(gòu)并釋放數(shù)組所占用的內(nèi)存,即動態(tài)數(shù)組以后就
不復(fù)存在。用于靜態(tài)數(shù)組中只是內(nèi)容清空,數(shù)組依然存在。4.數(shù)組元素的輸入及輸出
輸入:一般通過For循環(huán)和Inputbox函數(shù)輸出
如: Option base 1 Dim s()as string Sub Form_Click()
Redim s(4)as string For i= 1 to 4 Temp$=Inputbox(“Enter Name”)S(i)= Temp$
Next i End Sub 輸出:用Print方法結(jié)合For循環(huán)實現(xiàn)
Option base 1 Dim s(4,4)as Integer For i= 1 to 4 For j= 1 to 4 Print s(i,j);“ ” ;
Next j Next i
5.控件數(shù)組
控件數(shù)組是一組相同類型的控件組成,這些控件有一個相同的控件名稱,具有相同的屬性設(shè)置,所有元素的Name屬性相同,但I(xiàn)ndex屬性不同。6.Sub過程
● 通用過程:多個事件過程需要使用同一個程序代碼,他可以單獨建立,供事件過程或其他過程調(diào)用。
● 事件過程:當(dāng)發(fā)生某個事件時,對事件作出響應(yīng)的程序段。函數(shù)過程的返回值只能有一個。
調(diào)用Sub過程:① Call語句調(diào)用過程。
如:Call Tryout(a,b)② 把過程名作為一個語句使用。
如:Try out a,b 去掉call關(guān)鍵字,去掉“實際參數(shù)”括號。
7.通用sub過程和事件過程
?重點?難點?
事件過程是一種特殊的sub過程,他附加在窗體和控件上。窗體的事件過程不能由用戶任意定義,而是由系統(tǒng)指定。通常是在事件過程中調(diào)用通用過程,同時事件過程也可以被其他過程調(diào)用。
通用過程可以放在標(biāo)準(zhǔn)模塊中,也可以放在窗體模塊中,而事件過程只能放在窗體模塊中,不同模塊中的過程可以互相調(diào)用。
8.Function過程 ?重點?難點?
Sub過程不直接返回值,可以作為單獨的基本語句使用,而Function過程要返回一個值,通常出現(xiàn)在表達(dá)式中。
9.過程中的參數(shù) ⑴ 形參與實參
形參:在Sub過程、Function過程的定義中出現(xiàn)的變量名。
實參:在調(diào)用Sub過程、Function過程中傳送給Sub過程、Function過程的常數(shù)、變量、表達(dá)式或數(shù)組。
⑵傳送方式:按位置傳送和指名傳送
▼ 按位置傳送(??迹?/p>
實際參數(shù)的次序必須和形式參數(shù)的次序相匹配 例如:
Private sub proc1(a as integer, b as string, optional x as boolean)??? End sub 正確調(diào)用此過程的語句是:proc1 5,”asd”
或
call proc1(5,”asd”,F(xiàn)ALSE)▼ 指名傳送(3)引用
參數(shù)通過地址和傳值兩種方式傳送,其中傳送地址稱為引用。通過關(guān)鍵字ByRef實現(xiàn)。默認(rèn)情況下,變量都是通過引用傳送給Sub過程、Function過程的。例如: Sub tryout(x as integer, y as integer)
X=x+100
Y=y*6
Print “x=”;x, ”y=”;y End sub Sub form_click()
Dim a as integer,b as integer
A=10;b=20 Tryout a,b
Print “a=”;a, ”b=”;b End sub 運行后輸出結(jié)果為: x=110
y=120
A=110
b=120
(4)傳值
由于通用過程沒有訪問實參的原始地址,因而不會改變原來變量的值,所用的變化都是在變量的副本上進(jìn)行的。傳值方式通過關(guān)鍵字ByVal實現(xiàn)。例如:
Sub tryout(ByVal x as integer, ByVal y as integer)
X=x+100
Y=y*6
Print “x=”;x, ”y=”;y End sub Sub form_click()
Dim a as integer,b as integer
A=10;b=20 Tryout a,b
Print “a=”;a, ”b=”;b End sub 運行后輸出結(jié)果為: x=110
y=120
A=10
b=20 函數(shù)過程形參的類型與函數(shù)返回值的類型沒有關(guān)系。
鍵盤與鼠標(biāo)事件
1.鍵盤事件 ⑴KeyPress事件
當(dāng)壓下鍵盤上的某個鍵時,將發(fā)生KeyPress事件。該事件可以用于各控件。比如用在文本框上的格式:Private Sub Text-KeyPress(KeyAscii as integer)
KeyPress事件帶有一個參數(shù),參數(shù)有兩種形式,第一種形式:Index As Integer,只用在控件數(shù)組。第二種形式是:KeyAscii As integer,用于單個控件。
KeyPress事件用于識別按鍵的Ascii碼,捕捉擊鍵動作,KeyAscii參數(shù)不能省略。
控件的鍵盤事件優(yōu)先于窗體的鍵盤事件 ⑵KeyDown和KeyUP事件
KeyDown和KeyUP事件返回的是鍵盤的直接狀態(tài)。
KeyPress事件返回的是Ascii碼。當(dāng)按鍵“A”時,KeyDown事件所得到的Keycode碼與鍵“a”的相同。2.鼠標(biāo)事件
可視化程序設(shè)計
1.當(dāng)窗體為活動窗體時,可以使用“工具”菜單中的“菜單編輯器”打開菜單編輯器。2.彈出式菜單:建立彈出式菜單首先用菜單編輯器建立菜單,然后用PopupMenu方法彈出顯示。
各級菜單中的所有菜單項的名稱必須唯一。
3.通用對話框: 對話框的類型可以通過Action屬性設(shè)置,也可以用相應(yīng)的方法設(shè)置??梢酝ㄟ^DialogTitle屬性設(shè)置有實際意義的標(biāo)題。
通用對話框,Action=1 打開文件;
=2 保存文件
方法:showopen;showsave 4.文件對話框: 格式:【窗體】對話框名,F(xiàn)liter=描述符1|過濾器1| 描述符2|過濾器2|?
FliterIndex 用來指定默認(rèn)的過濾器。
文件類型 5.多重窗體程序設(shè)計
Show方法:用來將指定的窗體裝入內(nèi)存并顯示該窗體。
6.VB工程中,可以作為啟動對象的程序是Sub main 過程或任何窗體。
一個工程中可以包括多個窗體文件。
數(shù)據(jù)文件
1基本文件操作語句與函數(shù)
⑴ 打開文件 ?重點?難點?
格式:Open文件名【for 方式】 as #文件號
如果省略【for 方式】,則打開文件的存取方式是隨機存取方式。方式指文件的輸出方式,可以是Output(順序輸出)以寫的方式打開、input(順序輸入)、append(添加)。
使用open語句打開文件時,如果為輸入input打開的文件不存在,則產(chǎn)生“文件未找到”的錯誤;如果為Output(順序輸出)、append(添加)訪問方式打開的文件不存在,則建立相應(yīng)的文件。(2)關(guān)閉文件(3)EOF函數(shù)
用來測試文件的結(jié)束狀態(tài)。利用EOF函數(shù),可以避免在文件輸入時出現(xiàn)“輸入超出尾”錯誤。
DO While Not EOF 2.順序文件與隨機文件 ⑴ 順序文件寫操作 Print #文件號,表達(dá)式 Write #文件號, 表達(dá)式(2)順序文件讀操作 Input #文件號,變量表
(3)隨機文件的打開與讀寫操作
隨機文件的記錄是定長記錄。在用open語言打開文件時必須指定記錄的長度。
打開隨機文件: Open”文件名” for random As #文件號
對文件的操作既可以讀也可以寫。
第二篇:全國計算機二級VB筆試試題總結(jié)
2002年4月二級VB筆試試題
一、選擇題1~35題每題2分,共70分。
下列各題A)、B)、C)、D)四個選項中,只有一個選擇是正確的,請將正確選項涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。
1.下列不能打開屬性窗口的操作是()。
A)執(zhí)行“視圖”菜單中的“屬性窗口”命令
B)按F4鍵
C)按Ctrl+T
D)單擊工具欄上的“屬性窗口”按鈕。
2.下列可以打開立即窗口的操作是()。
A)Ctrl+D
B)Ctrl+E
C)Ctrl+F
D)Ctrl+G 3.InputBox函數(shù)返回值的類型為()。
A)數(shù)值 B)字符串 C)變體 D)數(shù)值或字符串(視輸入的數(shù)據(jù)而定)
4.可以同時刪除字符串前導(dǎo)和尾部空白的函數(shù)是()。
A)Ltrim
B)Rtrim
C)Trim
D)Mid 5.表達(dá)式4+5 6 * 7 / 8 Mod 9 的值是()。
A)4
B)5
C)6
D)7 6.如果在立即窗口中執(zhí)行以下操作:
a=8
b=9
print a>b
A)-1
B)0
C)False
D)True 7.以下語句的輸出結(jié)果是()。
Print Format $(32548.5,“000,000.00”)
A)32548.5
B)32,548.5 C)032,548.50
D)32,548.50 8.執(zhí)行以下程序段后,變量c$的值為()。
a$=“Visual Basic Programing” b$=“Quick”
c$=b$ & UCase(Mid$(a$,7,6))& Right $(a$,11)
A)Visual BASIC Programing B)Quick Basic Programing C)QUICK Basic Programing
D)Quick BASIC Programing
9.為了在按下回車鍵時執(zhí)行某個命令按鈕的事件過程,需要把該命令按鈕的一個屬性設(shè)置為True,這個屬性是()。
A)Value
B)Default C)Cancel
D)Enabled 10.為了把焦點移到某個指定的控件,所使用的方法是()。
A)SetFocus
B)Visible C)Refresh
D)GetFocus 11.設(shè)a=6,則執(zhí)行 x=IIf(a>5,-1,0)后,x 的值為()。
A)5 B)6 C)0
D)-1
12.執(zhí)行下面的程序段后,x 的值為()。
x=5
For i=1 To 20 Step 2 x=x+i5 Next i A)21
B)22 C)23
D)24
13.在窗體上畫一個命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()For i=1 To 4 x=4
For j =1 To 3? x=3
For k=1 To 2 x=x+6 Next k Next j Next i Print x End Sub
程序運行后,單擊命令按鈕,輸出結(jié)果是()。
A)7 B)15 C)157 D)538
14.在窗體上畫一個命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()x=0
Do Until x=-1
a = InputBox(“請輸入A的值”)a = Val(a)
b = InputBox(“請輸入B的值”)b = Val(b)
x = InputBox(“請輸入x的值”)x = Val(x)a = a+b+x Loop Print a End Sub
程序運行后,單擊命令按鈕,依次在輸入對話框中輸入5、4、3、2、1、-1,則輸出結(jié)果為()。
A)2 B)3
C)14
D)15
15.在窗體(Name屬性為Form1)上畫兩個文本框(其Name屬性分別為Text1和Text2)和一個命令按鈕(Name屬性為Command1),然后編寫如下兩個事件過程:
Private Sub Command1_Click()a=Text1.Text+Text2.Text Print a End Sub
Private Sub Form_Load()Text1.Text=”“ Text2.Text=”“ End sub
程序運行后,在第一個文本框(Text1)和第二個文本框(Text2)中分別輸入123和321,然后單擊命令按鈕,則輸出結(jié)果為()。
A)444 B)321123 C)123
321 D)132231 16.閱讀下面的程序段:
For i=1 To 3 For j=1 To i For k=j To 3 a=a+1 Next k Next j Next i
執(zhí)行上面的三重循環(huán)后,a 的值為()。
A)3 B)9 C)14
D)21
17.在窗體上畫一個文本框(其中Name屬性為Text1),然后編寫如下事件過程:
Private Sub Form_Load()Text1.Text=”“ Text1.SetFocus For i=1 To 10 Sum=Sum+i Next i
Text1.Text=Sum End Sub
上述程序的運行結(jié)果是()。
A)在文本框Text1中輸出55 B)在文本框Text1中輸出0 C)出錯
D)在文本框Text1中輸出不定值
18.在窗體上畫兩個文本框(其Name屬性分別為Text1和Text2)和一個命令按鈕(其Name屬性為Command1),然后編寫如下事件過程: Private Sub Command1_Click()x=0
Do While x<50 x=(x+2)*(x+3)n=n+1 Loop
Text1.Text=Str(n)Text2.Text=Str(x)End Sub
程序運行后,單擊命令按鈕,在兩個文本框中顯示的值分別為()。
A)1和0 B)2和72 C)3和50
D)4和168 19.用下面語句定義的數(shù)組的元素個數(shù)是()。
Dim A(-3 To 5)As Integer
A)6 B)7 C)8
D)9 20.以下程序的輸出結(jié)果是()。
Option Base 1
Private Sub Command1_Click()Dim a(10),p(3)As Integer k=5 For i=1 To 10 a(i)=i Next i
For i=1 To 3 p(i)=a(i*i)Next i
For i=1 To 3 k=k+p(i)*2 Next i Print k End sub
A)33 B)28 C)35 D)37
21.在窗體上畫一個命令按鈕,然后編寫如下事件過程:
Option Base 1
Private Sub Commandl_Click()Dim a
a = Array(1,2,3,4)j = 1
For i = 4 To Step-1 s = s + a(i)*j j =j*10 Next i Print s End Sub
運行上面的程序,單擊命令按鈕,其輸出結(jié)果是()。
A)4321 B)12 C)3D)1234
22.在窗體上畫一個命令按鈕(其Name屬性為Commandl),然后編寫如下代碼:
Option Base 1
Private Sub Commandl_Click()Dim a(4,4)For i =1 To 4 For j =1 To 4 a(i,j)=(i-1)*3+j Next j Next i
For i =3 To 4 For j =3 To 4 Print a(j,i);Next j Print Next i End Sub
程序運行后,單擊命令按鈕,其輸出結(jié)果為()。
A)6 9
B)7 10
7&n
bsp;10 11
C)8 11
D)9 12 12
23.假定有如下的Sub過程:
Sub S(x As Single,y As Single)
t = x x =t/y
y =t Mod y End Sub
在窗體上畫一個命令按鈕,然后編寫如下事件過程:
Private Sub Commandl_Click()Dim a As Single Dim b As Single a =5 b =4 S a,b Print a,b End Sub
程序運行后,單擊命令按鈕,輸出結(jié)果為()。
A)5 4 B)1 1 C)1.25 4
D)1.25 1 24.閱讀程序:
Function F(a As Integer)b = 0 Static c b = b+1 c = c+1 F = a+b+c End Function
Private Sub Commandl_Click()Dim a As Integer a =2
For i =1 To 3 Print F(a)Next i End Sub
運行上面的程序,單擊命令按鈕,輸出結(jié)果為()。
A)4 B)4
C)4
D)4
7
25.閱讀程序:
Sub subP(b()As Integer)For i =1 To 4 b(i)=2*i Next i End Sub
Private Sub Commandl_Click()Dim a(1 To 4)As Integer a(1)=5 a(2)=6 a(3)=7 a(4)=8 subP a()For i =1 To 4 Print a(i)Next i End Sub
運行上面的程序,單擊命令按鈕,輸出結(jié)果為()。
A)2 B)5
C)10 D)出錯
26.下列不能打開菜單編輯器的操作是()。
A)按Ctrl+E B)單擊工具欄中的“菜單編輯器”按鈕
C)執(zhí)行“工具”菜單中的“菜單編輯器”命令 D)按Shift + Alt + M
27.假定有一個菜單項,名為MenuItem,為了在運行時使該菜單項失效(變灰),應(yīng)使用的語句為()。
A)MenuItem.Enabled=False B)MenuItem.Enabled=True C)MenuItem.Visible=True
D)MenuItem.Visible=False
28.在程序運行期間,如果拖動滾動條上的滾動塊,則觸發(fā)的滾動條事件是()。
A)Move B)Change C)Scroll
D)GetFocus
29.假定窗體上有一個標(biāo)簽,名為Labell,為了使該標(biāo)簽透明并且沒有邊框,則正確的屬性設(shè)置為()。
A)Label1.BackStyle=0
Label1.Borderstyle=0
B)Label1.BackStyle=1
Label1.Borderstyle=1
C)Label1.BackStyle=True
Label1.BorderStyle=True
D)Label1.BackStyle=False
Label1.Borderstyle=False
30.在窗體上畫一個列表框和一個文本框,然后編寫如下兩個事件過程:
Private Sub Form_Load()List1.AddItem”357“ List1.AddItem”246“ List1.AddItem”123“ Listl.AddItem”456“ Text1.Text=”“ End Sub
Private Sub List1_ DblClick()a =List1.Text
Print a+Text1.Text End Sub
程序運行后,在文本框中輸入“789”(見圖附錄-1),然后雙擊列表框中的“456”,則輸出結(jié)果為()。
圖附錄-1
A)1245
B)456789
C)789456
D)0
31.為了暫時關(guān)閉計時器,應(yīng)把該計時器的某個屬性設(shè)置為False,這個屬性是()。
A)Visible
B)Timer
C)Enabled
D)Interval
32.為了把一個記錄型變量的內(nèi)容寫入文件中指定的位置,所使用的語句的格式為()。
A)Get文件號,記錄號,變量名
B)Get文件號,變量名,記錄號
C)Put文件號,變量名,記錄號
D)Put文件號,記錄號,變量名
33.對窗體編寫如下事件過程:
Private Sub Form _MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button =2 Then Print ”AAAAA“ End If End Sub
Private Sub Form _ MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)Print ”BB BBB“ End Sub
程序運行后,如果右擊鼠標(biāo),則輸出結(jié)果為()。
A)AAAAA B)BBBBB
BBBBB
C)AAAAA D)BBBBB
AAAAA
34.為了在運行時能顯示窗體左上角的控制框(系統(tǒng)菜單),必須()。
A)把窗體的Contro1Box屬性設(shè)置為False,其他屬性任意
B)把窗體的ControlBox屬性設(shè)置為True,并且把Boder Style屬性設(shè)置為1-5
C)把窗體的ControlBox屬性設(shè)置為False,同時把BoderStyle屬性調(diào)協(xié)為非0值
D)把窗體的ControlBox屬性設(shè)置為True,同時把BoderStyle屬性設(shè)置為0值
35.對窗體編寫如下代碼:
Option Base 1 Private Sub Form_KeyPress(KeyAscii As Integer)a = Array(237,126,87,48,498)m1 = a(1)m2 = 1
If KeyAscii = 13 Then For i =2 To 5 If a(i)>ml Then m1 =a(i)m2 =i End If Next i End If Print m1 Print m2 End Sub
程序運行后,按回車鍵,輸出結(jié)果為()。
A)48
B)237
C)498
D)498
二、填空題(每空2分,共30分)
請將每空的正確答案寫在答題卡[1]~[15]序號的橫線上,答在試卷上不得分。
1.設(shè)有如下的Visual Basic表達(dá)式: 5 * x^2 – 3 * x – 2 * Sin(a)/3 它相當(dāng)于代數(shù)式 [1]。
2.執(zhí)行下面的程序段后,s的值為 [2]。
s = 5
For i = 2.6 To 4.9 Step 0.6 s = s+1 Next i
3.表達(dá)式Fix(-32.68)+Int(-23.02)的值為 [3]。
4.為了在運行時把圖形文件picfile.jpg裝入圖片框Picture1,所使用的語句為 [4]。
5.在窗體上畫一個命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()a = InputBox(”請輸入一個整數(shù)“)b = InputBox(”請輸入一個整數(shù)“)Print a + b End Sub
程序運行后,單擊命令按鈕,在輸入對話框中分別輸入321和456,輸出結(jié)果為 [5]。
6.執(zhí)行下面的程序段后,b的值為 [6]。
a=300 b=20 a=a+b b=a-b a=a-b
7.以下程序段的輸出結(jié)果是 [7]。num=0 &nb sp;
While num<=2 num=num+1 Print num Wend
8.在窗體畫一個命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()Dim a(1 To 10)Dim p(1 To 3)k=5
For i=1 To 10 a(i)=i Next i
For i=1 To 3 p(i)=a(i*i)Next i
For i=1 To 3 k=k+p(i)*2 Next i Print k End Sub
程序運行后,單擊命令按鈕,輸出結(jié)果是 [8]。
9.下面的程序用“冒泡”法將數(shù)組a中的10個整數(shù)按升序排列,請在 [9]、處將程序補充完整。
Option Base 1
Private Sub Command1_Click()Dim a
a=Array(678,45,324,528,439,387,87,875,273,823)For i= [9] For j= [10]
If a(i)[11] a(j)Then a1=a(i)a(i)=a(j)a(j)=a1 End If Next j Next i
For i=1 To 10 Print a(i)Next i End Sub
10.在窗體上畫一個命令按鈕,然后編寫如下過程:
Function fun(ByVal num As Long)As Long
[10]、[11] Dim k As Long k=1
num=Abs(num)Do While num k=k*(num Mod 10)num=num10 Loop fun=k
End Function
Private Sub Command1_Click()Dim n As Long Dim r As Long
n=InputBox(”請輸入一個數(shù)“)n=CLng(n)r=fun(n)Print r End Sub
程序運行后,單擊命令按鈕,在輸入對話框中輸入234,輸出結(jié)果為 [12]。
11.如果要將某個菜單項設(shè)計為分隔線,則該菜單項的標(biāo)題應(yīng)設(shè)置為 [13]。
12.假定建立了一個工程,該工程包括兩個窗體,其名稱(Name屬性)分別為Form1和Form2,啟動窗體為Form1。在Form1上畫一個命令按鈕Command1,程序運行后,要求當(dāng)單擊該命令按鈕時,F(xiàn)orm1窗體消失,顯示窗體Form2,請在 [14] 和 [15] 處將程序補充完整。
Private Sub Command1_Click();[14] Form1 Form2.[15] End Sub
2002年9月二級VB筆試試題
一、選擇題(每題2分,共70分)
下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確選項涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。
(1)在設(shè)計階段,當(dāng)雙擊窗體上的某個控件時,所打開的窗口是()。
A)工程資源管理器窗口
B)工具箱窗口
C)代碼窗口
D)屬性窗口
(2)以下敘述中正確的是()。
A)窗體的Name屬性指定窗體的名稱,用來標(biāo)識一個窗體
B)窗體的Name屬性的值是顯示在窗體標(biāo)題欄中的文本
C)可以在運行期間改變對象的Name屬性的值
D)對象的Name屬性值可以為空
(3)剛建立一個新的標(biāo)準(zhǔn)EXE工程后,不在工具箱中出現(xiàn)的控件是()。
A)單選按鈕
B)圖片框
C)通用對話框
D)文本框
(4)設(shè)有如下變量聲明
Dim TestDate As Date
為變量TestDate正確賦值的表達(dá)方式是()。
A)TextDate=#1/1/200
2# B)TestDate=#“1/1/2002”#
C)TextDate=date(“1/1/2002”)
D)TestDate=Format(“m/d/yy”,“1/1/2002”)
(5)設(shè)有如下聲明:
Dim X As Integer
如果Sgn(X)的值為-1,則X的值是()。
A)整數(shù)
B)大于0的整數(shù)
C)等于0的整數(shù)
D)小于0的數(shù)
(6)在窗體上畫一個名稱為Commandl的命令按鈕,然后編寫如下程序:
Private Sub Command1_Click()
Static X As Integer
Static Y As Integer
Cls
Y=1
Y=Y+5
X=5+X
Print X,Y
End Sub
程序運行時,三次單擊命令按鈕Commandl后,窗體上顯示的結(jié)果為()。
A)15 16
B)15 6
C)15 1D)5 6
(7)設(shè)a=3,b=5,則以下表達(dá)式值為真的是()。
A)a>=b And b>10
B)(a>b)Or(b>0)
C)(a<0)Eqv(b>0)
D)(-3+5>a)And(b>0)
(8)設(shè)有語句
x=InputBox(“輸入數(shù)值”,“0”,“示例”)
程序運行后,如果從鍵盤上輸入數(shù)值10并按回車鍵,則下列敘述中正確的是()。
A)變量X的值是數(shù)值10
B)在InputBox對話框標(biāo)題欄中顯示的是“示例”
C)0是默認(rèn)值
D)變量X的值是字符串“10”
(9)從鍵盤上輸入兩個字符串,分別保存在變量str1、str2中。確定第二個字符串在第一個字符串中起始位置的函數(shù)是()。
A)Left
B)Mid
C)String
D)Instr
(10)設(shè)a=“Visual Basic”,下面使b=“Basic”的語句是()。
A)b=Left(a,8,12)
B)b=Mid(a,8,5)
C)b=Rigth(a,5,5)
D)b=Left(a,8,5)
(11)以下能夠觸發(fā)文本框Change事件的操作是()。
A)文本框失去焦點
B)文本框獲得焦點
C)設(shè)置文本框的焦點
D)改變文本框的內(nèi)容
(12)在窗體上有一個文本框控件,名稱為TxtTime:一個計時器控件,名稱為Timerl,要求每一秒鐘在文本框中顯示一次當(dāng)前的時間。程序為:
Private Sub Timer1_()
TxtTime.text=Time
End Sub
在下劃線上應(yīng)填入的內(nèi)容是()。
A)Enabled
B)Visible
C)Interval
D)Timer
(13)在窗體上畫兩個單選按鈕,名稱分別為Option1、Option2,標(biāo)題分別為“宋體”和“黑體”;一個復(fù)選框,名稱為Check1,標(biāo)題為“粗體”;一個文本框,名稱為Text1,Text屬性為“改變文字字體”。要求程序運行時,“宋體”單選按鈕和“粗體”復(fù)選框被選中(窗體外觀如下圖),則能夠?qū)崿F(xiàn)上述要求的語句序列是()。
A)Option1.value=True
B)Option1.Value=True
Check1.Value=False
Check1.Value=True
C)Option2.Value=False D)Option1.Value=True
Check1.Value=True
Check1.Value=1
(14)為了在按下Esc鍵時執(zhí)行某個命令按鈕的Click事件過程,需要把該命令按鈕的一個屬性設(shè)置為True,這個屬性是()。
A)Value
B)Default
C)Cancel
D)Enabled
(15)在窗體上畫一個命令按鈕,名稱為Command1。然后編寫如下程序:
Private Sub Command1_Click()
For I=1 To 4
For J=0 To 1
Print Chr$(65+I);
Next J
Next I
End Sub
程序運行后,如果單擊命令按鈕,則在窗體上顯示的內(nèi)容是()。
A)BB
B)A
C)B
D)AA
CC
BB
CC
BBB
DDDD
CCC
DDD
CCCC
EEEEE
DDDD
EEEE
DDDDD
(16)圖像框有一個屬性,可以自動調(diào)整圖形的大小,以適應(yīng)圖像框的尺寸,這個屬性是()。
A)Autosize
B)Stretch
C)AutoRedraw
D)Appearance
(17)在窗體上畫兩個名稱分別為Text1、Texte2的文本框和一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
Dim x As Integer,n As Integer
x=1
n=0
Do While x<20
x=x*3
n=n+1
Loop
Text1.Text=Str(x)
Text2.Text=Str(n)
End Sub
程序運行后,單擊命令按鈕,在兩個文本框中顯示的值分別是()。
A)15和1
B)27和C)195和3
D)600和4
(18)在窗體上畫一個名稱為Text1的文本框和一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
Dim i As Integer,n As Integer
For I=0 To 50
i=i+3
n=n+1
If i>10 Then xit for
Next
Text1.Text=Str(n)
End Sub
程序運行后,單擊命令按鈕,在文本框中顯示的值是()。
A)B)3
D)4
D)5
(19)在窗體上畫一個名稱為Text1的文本框和一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
Dim array1(10,10)As Integer
Dim i,j As Integer
For i=1 To 3
For j=2 To 4
array1(i,j)=i+j
Next j
Next I
Text1.Text=array1(2,3)+array1(3,4)
End Sub
程序運行后,單擊命令按鈕,在文本框中顯示的值是()。
A)12
B)13
C)1D)15
(20)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下程序:
Private Sub Command1_Click()
Dim i As Integer,j As Integer
Dim a(10,10)As Integer
For i=1 To 3
For j=1 To 3
a(i,j)=(i-1)*3+j
Print a(i,j);
Next j
Next j
End Sub
程序運行后,單擊命令按鈕,窗體上顯示的是()。
A)123 B)234 C)147 D)123
246
345
258
456
369 456
369
789
(21)設(shè)有如下程序:
Option Base 0
Private Sub Form_Click()
Dim a
Dim i As Integer
a=Array(1,2,3,4,5,6,7,8,9)
For i=0 To 3
Print a(5-i);
Next
End Sub
程序運行后,單擊窗體,則在窗體上顯示的是()。
A)4 3 2 1 B)5 4 3 2 C)6 5 4 3 D)7 6 5 4
(22)下列敘述中正確的是()。
A)在窗體的Form_Load事件過程中定義的變量是全局變量
B)局部變量的作用域可以超出所定義的過程
C)在某個Sub過程中定義的局部變量可以與其它事件過程中定義的局部變量同名,但其作用域只限于該過程
D)在調(diào)用過程時,所有局部變量被系統(tǒng)初始化為0或空字符串
(23)在窗體上畫一個命令按鈕,名稱為Command1。程序運行后,如果單擊命令按鈕,則顯示一個輸入對話框,在該對話框中輸入一個整數(shù),并用這個整數(shù)作為實參調(diào)用函數(shù)過程F1。在F1中判斷所輸入的整數(shù)是否是奇數(shù),如果是奇數(shù),過程F1返回1,否則返回0。能夠正確實現(xiàn)上述功能的代碼是()。
A)Private Sub Command1_Click()
x=InputBox(“請輸入整數(shù)”)
a=F1(Val(x))
Print a
End Sub
Function F1(ByRef b As Integer)
If b Mod 2=0 Then
Return 0
Else
Return 1
End If
End Function
B)Private Sub Command1_Click()
x=InputBox(“請輸入整數(shù)”)
a=F1(Val(x))
Print a
End Sub
Function F1(ByRef b As Integer)
If b Mod 2=0 Then
F1=0
Else
F1=1
End If
End Function
C)Private Sub Command1_Click()
x=InputBox(“請輸入整數(shù)”)
F1(Val(x))
Print a
End Sub
Function F1(ByRef b As Integer)
If b Mod 2=0 Then
F1=1
Else
F1=0
End If
End Function
D)Private Sub Command1_Click()
x=InputBox(“請輸入整數(shù)”)
F1(Val(x))
Print a
End Sub
Function F1(ByRef b As Integer)
If b Mod 2=0 Then
Return 0
Else
Return 1
End If
End Function
(24)在窗體上畫一個名稱為Command1的命令按鈕和一個名稱為Text1的文本框,然后編寫如下程序:
Private Sub Command1_Click()
Dim x,y,z As Integer
x=5
y=7
z=0
Text1.text=“”
Call P1(x,y,z)
Text1.Text=Str(x)
End Sub
Sub P1(ByVal a As Integer,ByVal b As Integer,c As Integer)
c=a+b
End Sub
程序運行后,如果單擊命令按鈕,則在文本框中顯示的內(nèi)容是()。
A)0
B)12
C)Str(z)
D)沒有顯示
(25)以下敘述中錯誤的是()。
A)如果過程被定義為Static類型,則該過程中的局部變量都是Static類型
B)Sub過程中不能嵌套定義Sub過程
C)Sub過程中可以嵌套調(diào)用Sub過程
D)事件過程可以像通用過程一樣由用戶定義過程名
(26)以下敘述中錯誤的是()。
A)在KeyUp和KeyDown事件過程中,從鍵盤上輸入A或a被視作相同的字母(即具有相同的KeyCode)
B)在KeyUp和KeyDown事件過程中,將鍵盤上的“1”和右側(cè)小鍵盤上的“1”視作不同的數(shù)字(具有不同的KeyCode)
C)KeyPress事件中不能識別鍵盤上某個鍵的按下與釋放
D)KeyPress事件中可以識別鍵盤上某個鍵的按下與釋放
(27)以下敘述中錯誤的是()。
A)在同一窗體的菜單項中,不允許出現(xiàn)標(biāo)題相同的菜單項
B)在菜單的標(biāo)題欄中,“&”所引導(dǎo)的字母指明了訪問該菜單項的訪問鍵
C)程序運行過程中,可以重新設(shè)置菜單的Visible屬性
D)彈出式菜單也在菜單編輯器中定義
(28)設(shè)在菜單編輯器中定義了一個菜單項,名為menu1。為了在運行時隱藏該菜單項,應(yīng)使用的語句是()。
A)menu1.Enabled=True B)Munu1.Enabled=False
C)Menu1.Visible=True D)Menu1.Visible=False
(29)以下敘述中錯誤的是()。
A)在程序運行時,通用對話框控件是不可見的
B)在同一個程序中,用不同的方法(如ShowOpen或ShowSave等)打開的通用對話框具有不同的作用
C)調(diào)用通用對話框控件的ShowOpen方法,可以直接打開在該通用對話框中指定的文件
D)調(diào)用通用對話框控件的ShowColor方法,可以打開顏色對話框
(30)在用通用對話框控件建立“打開”或“保存”文件對話框時,如果需要指定文件列表框所列出的文件類型是文本文件(即.txt文件),則正確的描述格式是()。
A)“text(.txt)|(*.txt)” B)“文本文件(.txt)|(.txt)”
C)“text(.txt)||(*.txt)” D)“text(.txt)(*.txt)”
(31)以下敘述中錯誤的是()。
A)一個工程中只能有一個Sub Main過程
B)窗體的Show方法的作用是將指定的窗體裝入內(nèi)存并顯示該窗體
C)窗體的Hide方法和Unload方法的作用完全相同
D)若工程文件中有多個窗體,可以根據(jù)需要指定一個窗體為啟動窗體
(32)以下敘述中錯誤的是()。
A)一個工程中可以包含多個窗體文件
B)在一個窗體文件中用Private定義的通用過程能被其他窗體調(diào)用
C)在設(shè)計VB程序時,窗體、標(biāo)準(zhǔn)模塊、類模塊等需要分別保存為不同類型的磁盤文件
D)全局變量必須在標(biāo)準(zhǔn)模塊中定義
(33)設(shè)在工程中有一個標(biāo)準(zhǔn)模塊,其中定義了如下記錄類型
Type Books
Name As String *10
TelNum As String *20
End Type
在窗體上畫一個名為Command1的命令按鈕。要求當(dāng)執(zhí)行事件過程Command1_Click時,在順序文件Person.txt中寫入一條記錄。下列能夠完成該操作的事件過程是()。
A)Private Sub Command1_Click()
Dim B As Books
Open “c:Person.txt”For Output As #1
B.Name=InputBox(“輸入姓名”)
B.TelNum=InputBox(“輸入電話號碼”)
Write #1,B.Name,B.TelNum
Close #1
End Sub
B)Private Sub Command1_Click()
Dim B As Books
Open “c:Person.txt”For Input As #1
B.Name=InputBox(“輸入姓名”)
B.TelNum=InputBox(“輸入電話號碼”)
Print #1,B.Name,B.TelNum
Close #1
End Sub
C)Private Sub Command1_Click()
Dim B As Books
Open “c:Person.txt”For Output As #1
B.Name=InputBox(“輸入姓名”)
B.TelNum=InputBox(“輸入電話號碼”)
Write #1,B
Close #1
End Sub
D)Private Sub Command1_Click()
Open “c:Person.txt”For Input As #1
Name=InputBox(“輸入姓名”)
TelNum=InputBox(“輸入電話號碼”)
Print #1,Name,TelNum
Close #1
End Sub
(34)以下敘述中正確的是()。
A)一個記錄中所包含的各個元素的數(shù)據(jù)類型必須相同
B)隨機文件中每個記錄的長度是固定的
C)Open命令的作用是打開一個已經(jīng)存在的文件
D)使用Input #語句可以從隨機文件中讀取數(shù)據(jù)
(35)目錄列表框的Path屬性的作用是()。
A)顯示當(dāng)前驅(qū)動器或指定驅(qū)動器上的目錄結(jié)構(gòu)
B)顯示當(dāng)前驅(qū)動器或指定驅(qū)動器上的某目錄下的文件名
C)顯示根目錄下的文件名
D)顯示該路徑下的文件
二、填空題(每空2分,共40分)
請將每空的正確答案寫在答題卡(1)至(15)的橫線上,答在試卷上不得分。
(1)在窗體上畫兩個標(biāo)簽,其名稱分別為Label1和Label2,Caption屬性分別為“數(shù)值”及空白;然后畫一個名稱為Hscoll1的水平滾動條,其Min的值為0,Max的值為100。程序運行后,如果單擊滾動條兩端的箭頭,則在標(biāo)簽Lable2中顯示滾動條的值,如圖所示。請在 [1] 和 [2] 處填入適當(dāng)?shù)膬?nèi)容,將程序補充完整。
Private Sub HScroll1_ [1]()
Labl2.Caption=HScroll1.[2]
End Sub
(2)在窗體上畫一個名稱為Command1、標(biāo)題為“計算”的命令按鈕;畫兩個文本框,名稱分別為Text1和Text2;然后畫4個標(biāo)簽,名稱分別為Label1、Label2、Label3和Label4,標(biāo)題分別為“操作數(shù)1”、“操作數(shù)2”、“運算結(jié)果”和空白;再建立一個含有4個單選按紐的控件數(shù)組,名稱為Option1,標(biāo)題分別為“+”、“-”、“*”和“/”。程序運行后,在Text1、Text2中輸入兩個數(shù)值,選中一個單選按鈕后單擊命令按鈕,相應(yīng)的計算結(jié)果顯示在Label4,程序運行情況如圖所示。請在 [3]、[4] 和 [5] 處填入適當(dāng)?shù)膬?nèi)容,將程序補充完整。
Private Sub Command1_Click()
For i=0 To 3
If [3] =True then
opt=Option1(i).Caption
End If
Next
Select Case [4]
Case”+”
Result=Val(Text1.Text)+Val(Text2.Text)
Case”-”
Result=Val(Text1.Text)-Val(Text2.Text)
Case”*”
Result=Val(Text.Text)*Val(Text2.Text)
Case”/”
Result=Val(Text1.Text)/Val(Text2.Text)
End Select
[5] =Result
End Sub
(3)在窗體上畫一個名稱為Command1的命令按鈕和一個名稱為Text1的文本框。程序運行后,Command1為禁用(灰色)。當(dāng)向文框中輸入任何字符時,命令按鈕Command1變?yōu)榭捎?。請?[6] 處填入適當(dāng)?shù)膬?nèi)容,將程序補充完整。
Private Sub Form_Load()
Command1.Enabled=False
End Sub
Private Sub Text1_ [6]()
Command1.Enabled=True
End Sub
(4)在菜單編輯器中建立了一個菜單,名為pmenu,用下面的語句可以把它作為彈出式菜單彈出,請?zhí)羁铡?/p>
Form1.[7] Pmenu
(5)以下程序的功能是:從鍵盤上輸入若干個學(xué)生的考試分?jǐn)?shù),當(dāng)輸入負(fù)數(shù)時結(jié)束輸入,然后輸出其中的最高分?jǐn)?shù)和最低分?jǐn)?shù)。請在 [8] 和 [9] 處填入適當(dāng)?shù)膬?nèi)容,將程序補充完整。
Private Sub Form_Click()
Dim x As Single,amax As Single,amin As Single
x=InputBox(“Enter a score”)
amax=x
amin=x
Do While [8]
If x>amax Then
Amax=x
End If
If [9]Then
Amin=x
End If
x=InputBox(“Enter a score”)
Loop
Print”Max=”;amax,”Min=”;amin
End Sub
(6)在窗體上畫一個文本框和一個圖片框,然后編寫如下兩個事件過程:
Private Sub Form_Load()
Text1.Text=”計算機”
End Sub
Private Sub Text1_Change()
Picture1.Print“等級考試”
End Sub
程序運行后,在文本框中顯示的內(nèi)容是 [10],而在圖片框中顯示的內(nèi)容是 [11]。
(7)在窗體上畫一個命令按鈕,其名稱為Command1,然后編寫如下程序:
Function M(x As Integer,y As Integer)As Integer
M=IIf(x>y,x,y)
End Function
Private Sub command1_Click()
Dim a As Integer,b As Integer
a=100
b=200
Print M(a,b)
End Sub
程序運行后,單擊命令按鈕,輸出結(jié)果為 [12]。
(8)為了改變計時器控件的時間間隔,應(yīng)該修改該控件的 [13] 屬性。
(9)在窗體上畫一個名稱為Lable1的標(biāo)簽和一個名稱為List1的列表框。程序運行后,在列表框中添加若干列表項。當(dāng)雙擊列表框中的某個項目時,在標(biāo)簽Label1中顯示所選中的項目,如圖所示。請在 [14] 和 [15] 處填入適當(dāng)?shù)膬?nèi)容將程序補充完整。
Private Sub Form_load()
List1.AddItem”北京”
List1.AddItem”上?!?/p>
List1.AddItem”湖北”
End Sub
Private Sub [14]()
Label1.Caption= [15]
End Sub
2003年4月二級VB筆試試題
一、選擇題((1)一(20)每小題2分,(21)一(30)每小題3分,共30題,70分)
下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確選項涂在答題卡的相應(yīng)位置上,答在試卷上不得分。
(1)以下不能在”工程資源管理器“窗口中列出的文件類型是()。
A).bas
B).res
C).fnn
D).ocx
(2)以下關(guān)于窗體的描述中,錯誤的是()。
A)執(zhí)行UnloadFoMl語句后,窗體Fonnl消失,但仍在內(nèi)存中
B)窗體的Ioad事件在加載窗體時發(fā)生
C)當(dāng)窗體的Enabled屬性為False時,通過鼠標(biāo)和鍵盤對窗體的操作都被禁止
D)窗體的Height、width屬性用于設(shè)置窗體的高和寬
(3)下列可作為V2sualBasic變量名的是()。
A)A#A
B)4A
C)?xY
D)constA(4)設(shè)有如下的記錄類型
Type Student
numberAs string
name As String
age As Integer
End Type
則正確引用該記錄類型變量的代碼是()。
A)Student.name=”張紅“
B)Dim As Student
s.name=”張紅“ C)Dim s As Type Student
D)Dim s As Type
S.name=”張紅“
s.Dame=”張紅“
(5)函數(shù)String(n,”str“)的功能是()。
A)把數(shù)值型數(shù)據(jù)轉(zhuǎn)換為字符串 B)返回由n個字符組成的字符串
C)從字符串中取出n個字符
D)從字符串中第n個字符的位置開始取子字符串
(6)將數(shù)學(xué)表達(dá)式Cos2(a+b)+5e2寫成Visual Basic的表達(dá)式,其正確的形式是()。
A)Cos(a+b)A2十5。exp(2)
B)Cos^2(a+b)+5*exp(2)C)Cos(a+b)^2十5*ln(2)
D)Cos^2(a+b)+5*ln(2)
(7)在窗體上畫一個命令按鈕,名稱為Commandl。單擊命令按鈕時,執(zhí)行如下事件過程:
PrlVate Sub Commandl_C1ick()
a$=”software and hardware“
b$=Right(a$,8)
c$=Mid(a$,1,8)
Msgbox a$,b$,c$,1
End Sub
則在彈出的信息框的標(biāo)題欄中顯示的信息是()。
A)softWare and hardware
B)software
C)hardwafe
D)1
(8)執(zhí)行如下語句:
a=inutBox(”Today“,”TomorroW,“Yesterday”,,“Day before yesterday”,5)
將顯示一個輸入對話框,在對話框的輸入?yún)^(qū)中顯示的信息是()。
A)Today
B)Tomorrow
C)Yesterday
D)Day before yesterday
(9)表示滾動條控件取值范圍最大值的屬性是()。
A)Max
B)LargeChange
C)Value
D)Max-Min
(10)在窗體上畫一個名稱為Listl的列表框,一個名稱為Labell的標(biāo)簽。列表框中顯示若干城市的名稱。當(dāng)單擊列表框中的某個城市名時,在標(biāo)簽中顯示選中城市的名稱。下列能正確實現(xiàn)上述功能的程序是
A)Private Sub listl_Click()B)Private Sub Listl_C1ick()
Labell.Caption=list1.listlndex Labell.Nanle=Listl.listindex
End Sub .End Sub
程序運行后,如果單擊命令按鈕,則在窗體上顯示的內(nèi)容是()。A)空白
B)錯誤提示
C)北京
D)上海
(15)假定有以下函數(shù)過程:
Function Fun(S As String)As String
Dim s1 As String
For i=1 To Len(S)
s1=UCase(Mid(S,i,1))十s1
Next i
Fun=s1
End Function
在窗體上畫一個命令按鈕,然后編寫如下事件過程:
Prlvate Sub Commmldl_Click()
Dim Str1 As String,Str2 As String
Strl=inputbox(“請輸入一個字符串”)
Str2=Fun(Strl)
Print Str2
End Sub
程序運行后,單擊命令按鈕,如果在輸入對話框中輸入字符串“abcdefg”,則單擊“確定”按鈕后在窗體上的輸出結(jié)果為()。
A)abcdefg
B)ABCDEFG
C)gfedcba
D)GFEDCBA
(16)設(shè)有語句
open “c:Test.Dat” For OutPut As#1
則以下錯誤的敘述是()。
A)該語句打開C盤根目錄下一個己存在的文件Test.Dat B)該語句在C盤根目錄下建立一個名為Test.Dat的文件
C)該語句建立的文件的文件號為1 D)執(zhí)行該語句后,就可以通過Print#語句向文件Test.Dat中寫入信息
(17)以下敘述中錯誤的是()。
A)用Shell函數(shù)可以調(diào)用能夠在Windows下運行的應(yīng)用程序
B)用Shell函數(shù)可以調(diào)用可執(zhí)行文件,也可以調(diào)用VisualBasic的內(nèi)部函數(shù)
C)調(diào)用Shell函數(shù)的格式應(yīng)為:<變量名>=Shell(……)
D)用Shell函數(shù)不能執(zhí)行DoS命令
(18)以下關(guān)于過程及過程參數(shù)的描述中,錯誤的是()。
A)過程的參數(shù)可以是控件名稱 B)用數(shù)組作為過程的參數(shù)時,使用的是“傳地址”方式
C)只有函數(shù)過程能夠?qū)⑦^程中處理的信息傳回到調(diào)用的程序中
D)窗體可以作為過程的參數(shù)
(19)在窗體上畫一個名稱為TxtA的文本框,然后編寫如下的事件過程:
Private Sub Txta_KeyPress(keyascii as integer)
End Sub
若焦點位于文本框中,則能夠觸發(fā)KeyPress事件的操作是()。
A)單擊鼠標(biāo)
B)雙擊文本框
C)鼠標(biāo)滑過文本框
D)按下鍵盤上的某個鍵
(20)目錄列表框的Path屬性的作用是()。
A)顯示當(dāng)前驅(qū)動器或指定驅(qū)動器上的路徑
B)顯示當(dāng)前驅(qū)動器或指定驅(qū)動器上的某目錄下的文件名
D)顯示根目錄下的文件名
D)只顯示當(dāng)前路徑下的文件
(21)假定有如下事件過程:
PriVate Sub Form_MouseDown(button As Integer,Shift As Integer, x As Single,Y As
Single)
If Button=2 then
PopupMenu popForm
End if
End Sub
則以下描述中錯誤的是()。
A)該過程的功能是彈出一個菜單
B)popForm 是在菜單編輯器中定義的彈出式菜單的名稱
C)參數(shù)X、Y指明鼠標(biāo)的當(dāng)前位置
D)Button=2 表示按下的是鼠標(biāo)左鍵
(22)以下能夠正確計算n!的程序是()。
A)Private Sub Commandl_ClicK()
n=5:x=1
Do
X=x*1
i=i十1
Loop While i<n
Print x
End Sub B)Private Sub Commandl_Click()
n=5: x=1:i=1
Do
X=X*1
i=i十1
Loop While i<n
Print x
End Sub C)Private Sub Commandl_Click()
n=5:x=1:i=1
Do
X=X*1
i=i十1
Loop while i<=n
Print x
End Sub D)Private Sub Commandl_C1ick()
n=5:x=1:i=1
Do
X=X*l
i=i十1
loop While i>n
Print x
End Sub
(23)在窗體上畫一個名稱為Commandl的命令按鈕,再畫兩個名稱分別為Labell、Label2的標(biāo)簽,然后編寫如下程序代碼:
Private x As Integer
Private Sub Commandl-Click()
X=5:Y=3
Call proc(x,Y)
Labell.Caption=X
Label2.Caption=Y(jié)
End Sub
Private Sub proc(ByVal a As Integer,ByVal b As hteger)
x=a* a
Y=b十b
End Sub
程序運行后,單擊命令按鈕,則兩個標(biāo)簽中顯示的內(nèi)容分別是()。
A)5和3
B)25和3
C)25和6
D)5和6
(24)在窗體上畫一個名稱為Commandl的命令按鈕,一個名稱為Labell的標(biāo)簽,然后編寫如下事件過程:
Private Sub Commandl_C1ick()
S=0
For i=1 T0 15
x=2*i一1
1f x Mod 3=0 Then s=s十1
Nexti
Labell.Caption=s
End Sub
程序運行后,單擊命令按鈕,則標(biāo)簽中顯示的內(nèi)容是()。
A)1
B)5
C)27
D)45
(25)在窗體上畫一個名稱為Commandl的命令按鈕和三個名稱分別為Labell、Label2、Label3的標(biāo)簽,然后編寫如下代碼:
Private x As Integer
Private Sub Command1_C1ick()
Static y As Integer
Dimz As Integer
n=10
z=n十z
y=y(tǒng)十z
X=X十Z
Labell.Caption=x
Label2.Caption=y
Label3.Caption=z
End Sub
運行程序,連續(xù)三次單擊命令按鈕后,則三個標(biāo)簽中顯示的內(nèi)容分別是()。
A)10 10 10
B)30 30 30
C)30 30 10
D)10 30 30(26)設(shè)在窗體上有一個名稱為Commandl的命令按鈕,并有以下事件過程:
PriVate Sub Commandl_C1ick()
Static b As Variant
b=Array(1,3,5,7,9)
End Sub
此過程的功能是把數(shù)組b中的5個數(shù)逆序存放(即排列為9,7,5,3,1)。為實現(xiàn)此功能,省略號處的程序段應(yīng)該是()。
A)For i=0 To 5-1\2
tmp=b(i)
b(i)=b(5-i-1)
b(5-i-1)=tmp
Next B)for i=0 To 5
tmp=b(i)
b(i)=b(5-i-1)
b(5-i-1)=tmp
Next C)For i=0 T0 5\2
tmp=b(i)
b(i)=b(5-i-1)
b(5-i-1);tmp
Next D)For i=1 T0 5\2
tmp=b(i)
b(i)=b(5一i一1)
b(5-i-1)=tmp
Next
(27)在窗體上畫一個名稱為Drivel的驅(qū)動器列表框,一個名稱為Dirl的目錄列表框,一個名稱為Filel的文件列表框,兩個名稱分別為Labell、Label2,標(biāo)題分別為空白和“共有文件”的標(biāo)簽。編寫程序,使得驅(qū)動器打開一個保存文件的通用對話框。該窗口的標(biāo)題為“Save”,缺省文件名為“SaveFile”,在“文件類型”欄中顯示*.txt。則能夠滿足上述要求的程序是()。
A)Private Sub Command_C1ick()
Commondialogl.FileName=“Savefile”
Commondialogl.filter=“All Files|*.*|(*.txt)|*.txt|(*.doc).|*.doc”
CommonDialogl.Filterindex=2
CommonDialogl.Dial0g.title=“Save”
CommonDialogl.Action=2
End Sub B)Private Sub Commandl-Click()
CommonDialogl.FileName=“SaveFile”
CommonDiaLogl.Filter=“A11 Files|*.*|(*.txt)|*.txt|*.doc|*.doc”
C0mmonDialogl.FilterIndex=1
CommonDialogl.DialogTitle=“Save”
CommonDialogl.Action=2
End Sub C)Private Sub Cmmandl_C1ick()
COmmonDialogl.FileName=“Save”
CommonDialogl.FiLter=“A11Files|*.*|(*.txt)|*.txt|(*.doc)|*.doc”
CommonDialogl.Filterindex=2
C0mmonDialogl.DialogTitle=“SaveFile”
CommonDialogl.Action=2
End Sub D)Private Sub Commandl_C1ick()
CommonDialogl.FileName=“SaveFile”
CommonDialogl.Filter=“All Files|*.*|(*.txt)|*.txt|(*.doc)|*.doc”
CommonDialogl.FilterIndex=1
CommonDialogl.DialogTitle=“Save”
CommonDialogl.Action=1
End Sub
二、填空題(每空2分,共30分)
請將每空的正確答案寫在答題卡[1]一[15序號的橫線上,答在試卷上不得分。
(1)visual Basic中有一種控件組合了文本框和列表框的特性,這種控件是________
(2)Visual Basic提供的對數(shù)據(jù)文件的三種訪問方式為隨機訪問方式_____和二進(jìn)制訪問方式。
(3)執(zhí)行下面的程序段后,變量S的值為_______。
S=5
For i =2.6 To 4.9 Step 0.6
S=S十1
Next i
(4)為了在運行時把d:pic文件夾下的圖形文件a.jpg裝入圖片框Picturel,所使用的語句為_______。
(5)計時器控件能有規(guī)律的以一定時間間隔觸發(fā)_______事件,并執(zhí)行該事件過程中的程序代碼。
(6)以下程序的功能是:生成20個200到300之間的隨機整數(shù),輸出其中能被5整除的 數(shù)并求出它們的和。請?zhí)羁铡?/p>
Private Sub Commandl_C1ick()
Fori=1To 20
x=Int(____________*200+100)
If_______[7] =0 Then
Print x
S=S十 _________ [83
End If
Next i
Print “Sum=”:S
End Sub
(7)設(shè)有如下程序
Private Sub Form_Click()
Dim a AS Integer,b As integer
a=20:b=50R>
p2a,b
p3a,b
Print“a=”;a,“b=”;b
End Sub
Sub pl(x As Integer,ByVal y As Integer)
x=x十10.
v=v十20
End Sub
Sub p2(byVal x As Integer, y As Integer)
x=x十10
y=y(tǒng)十20
End Sub
Sub p3(ByValx As Integer, ByVal y As Integer)
x=x十10
y=y十20
End Sub
該程序運行后,單擊窗體,則在窗體上顯示的內(nèi)容是:a=______和b=______。
(8)在窗體上畫一個名稱為Commandl的命令按鈕,編寫如下事件過程
Private Sub Commandl_C1icK()
Dim As String
a=_____[11]
For i =1 To 5
Print Space(6-i);Mid$3(a,6-i,2*i-1)
Nexti
End Sub
程序運行后,單擊命令按鈕,要求窗體上顯示的輸出結(jié)果為
456
34567
2345678
123456789
請?zhí)羁铡?/p>
(9)在窗體上畫一個名稱為Combo1的組合框,畫兩個名稱分別Label1和Label2及Caption屬性分別為“城市名稱”和空白的標(biāo)簽。程序運行后,當(dāng)在組合框中輸入一個新項后按回車鍵(ASCII碼為13)時,如果輸入的項在組合框的列表中不存在,則自動添加到組合框的列表中,并在Label2中給出提示“已成功添加輸入項”如圖所示; 如果存在,則在Label2中給出提示“輸入項已在組合框中”。請在[12>、[13]和[14]處將程序補充完整。
Private Sub Combol_________<12>(KeyAscii As integer)
1f KeyAscii=13 Then
Fori=0 To Combo1.listCount-1
1f Combo1.Text=______ [13] Ihen
Label2.Caption=“輸入項己在組合框中”
ExIt Sub
End lf
Next i
Label2.Caption=“已成功添加輸入項”
Combo1.______ [14] CombO1.Text
End lf
End Sub
(10)設(shè)有如下程序
Private sub search(a()As variant,ByVal key As Variant,index%)
Dim I%
ForI=LBound(a)To UBound(a)
If key=a(I)Then
index=I
Exit Sub
End If
Next I
Index=-1
End Sub
Private Sub Form_Load()
Show
Dtm b()As Variant
Dim n As Integer
b=Array(1,3,5,7,9,11,13,15)
Call search(b,11,n)
Printt n
End Sub
程序運行后,輸出結(jié)果是________。
2003年9月二級VB筆試試題
(考試時間90分鐘,滿分100分)
一、選擇題((1)~(20)每小題2分,(21)~(30)每小題3分,共70分)
(1)以下敘述中錯誤的是()。
A)Visual Basic 是事件驅(qū)動型可視化編程工具
B)Visual Basic應(yīng)用程序不具有明顯的開始和結(jié)束語句
C)Visual Basic工具箱中的所有控件都具有寬度(Width)和高度(Height)屬性
D)Visual Basic中控件的某些屬性只能在運行時設(shè)置
(2)以下敘述中錯誤的是()。
A)在工程資源管理器窗口中只能包含一個工程文件及屬于該工程的其他文件
B)以.BAS為擴展名的文件是標(biāo)準(zhǔn)模塊文件
C)窗體文件包含該窗體及其控件的屬性
D)一個工程中可以含有多個標(biāo)準(zhǔn)模塊文件
(3)以下敘述中錯誤的是()。
A)雙擊鼠標(biāo)可以觸發(fā)DblClick事件
B)窗體或控件的事件的名稱可以由編程人員確定
C)移動鼠標(biāo)時,會觸發(fā)MouseMove事件
D)控件的名稱可以由編程人員設(shè)定
(4)以下不屬于Visual Basic系統(tǒng)的文件類型是()。
A).frm
B).bat
C).vbg
D).vbp
(5)以下敘述中錯誤的是()。
A)打開一個工程文件時,系統(tǒng)自動裝入與該工程有關(guān)的窗體、標(biāo)準(zhǔn)模塊等文件
B)保存Visual Basic程序時,應(yīng)分別保存窗體文件及工程文件
C)Visual Basic應(yīng)用程序只能以解釋方式執(zhí)行
D)事件可以由用戶引發(fā),也可以由系統(tǒng)引發(fā)
(6)以下能正確定義數(shù)據(jù)類型TelBook的代碼是()。
A)Type TelBook
B)Type TelBook
Name As String*10
Name As String*10
TelNum As Integer
TelNum As Integer
End Type
End TelBook
C)Type TelBook
D)Typedef TelBook
Name String*10
Name String*10
TelNum Integer
TelNum Integer
End Type TelBook
End Type
(7)以下聲明語句中錯誤的是()。
A)Const var1=123
B)Dim var2 = 'ABC'
C)DefInt a-z
D)Static var3 As Integer
(8)設(shè)窗體上有一個列表框控件List1,且其中含有若干列表項。則以下能表示當(dāng)前被選中的列表項內(nèi)容的是()。
A)List1.List
B)List1.ListIndex
C)List1.Index
D)List1.Text
(9)程序運行后,在窗體上單擊鼠標(biāo),此時窗體不會接收到的事件是()。
A)MouseDown B)MouseUp
C)Load
D)Click
(10)設(shè)a=10,b=5,c=1,執(zhí)行語句Print a > b > c后,窗體上顯示的是()。
A)True
B)False
C)
1D)出錯信息
(11)如果要改變窗體的標(biāo)題,則需要設(shè)置的屬性是()。
A)Caption
B)Name
C)BackColor D)BorderStyle
(12)以下能判斷是否到達(dá)文件尾的函數(shù)是()。
A)BOF
B)LOC
C)LOF
D)EOF
(13)如果一個工程含有多個窗體及標(biāo)準(zhǔn)模塊,則以下敘述中錯誤的是()。
A)如果工程中含有Sub Main過程,則程序一定首先執(zhí)行該過程
B)不能把標(biāo)準(zhǔn)模塊設(shè)置為啟動模塊
C)用Hide方法只是隱藏一個窗體,不能從內(nèi)存中清除該窗體
D)任何時刻最多只有一個窗體是活動窗體
(14)窗體的MouseDown事件過程
Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
有4個參數(shù),關(guān)于這些參數(shù),正確的描述是()。
A)通過Button參數(shù)判定當(dāng)前按下的是哪一個鼠標(biāo)鍵
B)Shift參數(shù)只能用來確定是否按下Shift鍵
C)Shift參數(shù)只能用來確定是否按下Alt和Ctrl鍵
D)參數(shù)x,y用來設(shè)置鼠標(biāo)當(dāng)前位置的坐標(biāo)
(15)設(shè)組合框Combo1中有3個項目,則以下能刪除最后一項的語句是()。
A)Combo1.RemoveItem Text
B)Combo1.RemoveItem 2
C)Combo1.RemoveItem 3
D)Combo1.RemoveItem Combo1.Listcount
(16)以下關(guān)于焦點的敘述中,錯誤的是()。
A)如果文本框的TabStop屬性為False,則不能接收從鍵盤上輸入的數(shù)據(jù)
B)當(dāng)文本框失去焦點時,觸發(fā)LostFocus事件
C)當(dāng)文本框的Enabled屬性為False時,其Tab順序不起作用
D)可以用TabIndex屬性改變Tab順序
(17)如果要在菜單中添加一個分隔線,則應(yīng)將其Caption屬性設(shè)置為()。
A)=
B)*
C)&
D)-
(18)執(zhí)行語句Open “Tel.dat” For Random As #1 Len = 50后,對文件Tel.dat中的數(shù)據(jù)能夠執(zhí)行的操作是()。
A)只能寫,不能讀
B)只能讀,不能寫
C)既可以讀,也可以寫
D)不能讀,不能寫
(19)在窗體上畫一個名稱為Command1的命令按鈕和兩個名稱分別為Text1、Text2的文本框,然后編寫如下事件過程:
Private Sub Command1_Click()
n = Text1.Text
Select Case n
Case 1 To 20
x = 10
Case 2, 4, 6
x = 20
Case Is < 10
x = 30
Case 10
x = 40
End Select
Text2.Text = x
End Sub
程序運行后,如果在文本框Text1中輸入10,然后單擊命令按鈕,則在Text2中顯示的內(nèi)容是()。
A)10
B)20
C)30
D)40
(20)設(shè)有以下循環(huán)結(jié)構(gòu)
Do
循環(huán)體
Loop While <條件>
則以下敘述中錯誤的是()。
A)若“條件”是一個為0的常數(shù),則一次也不執(zhí)行循環(huán)體
B)“條件”可以是關(guān)系表達(dá)式、邏輯表達(dá)式或常數(shù)
C)循環(huán)體中可以使用Exit Do語句
D)如果“條件”總是為True,則不停地執(zhí)行循環(huán)體
(21)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
Dim num As Integer
num = 1
Do Until num > 6
Print num;
num = num + 2.4
Loop
End Sub
程序運行后,單擊命令按鈕,則窗體上顯示的內(nèi)容是()。
A)1 3.4 5.8
B)1 3 5
C)1 4 7
D)無數(shù)據(jù)輸出
(22)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
Dim a As Integer, s As Integer
a = 8
s = 1
Do
s = s + a
a = a-1
Loop While a <= 0
Print s;a
End Sub
程序運行后,單擊命令按鈕,則窗體上顯示的內(nèi)容是()。
A)7 9
B)34 0
C)9 7
D)死循環(huán)
(23)設(shè)有如下通用過程:
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
程序運行后,如果單擊命令按鈕,則在窗體上顯示的內(nèi)容是()。
A)10 5
B)20 5
C)20 40
D)10 40
(24)設(shè)有如下通用過程:
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
n = 10
Call Fun(arr(), n)
Text1.Text = n
End Sub
程序運行后,單擊命令按鈕,則在文本框中顯示的內(nèi)容是()。
A)10
B)1C)25
D)24
(25)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下代碼:
Option Base 1
Private Sub Command1_Click()
d = 0
c = 10
x = Array(10, 12, 21, 32, 24)
For i = 1 To 5
If x(i)> c Then
d = d + x(i)
c = x(i)
Else
d = d-c
End If
Next i
Print d
End Sub
程序運行后,如果單擊命令按鈕,則在窗體上輸出的內(nèi)容為()。
A)89
B)99
C)2D)77
(26)在窗體上畫兩個滾動條,名稱分別為Hscroll1、Hscroll2;六個標(biāo)簽,名稱分別為Label1、Label2、Label3、Label4、Label5、Label6,其中標(biāo)簽Label 4~ Label6分別顯示“A”、“B”、“A*B”等文字信息,標(biāo)簽Label1、Label2分別顯示其右側(cè)的滾動條的數(shù)值,Label3 顯示A*B的計算結(jié)果。如圖所示。當(dāng)移動滾動框時,在相應(yīng)的標(biāo)簽中顯示滾動條的值。當(dāng)單擊命令按鈕“計算”時,對標(biāo)簽Label1、Label2中顯示的兩個值求積,并將結(jié)果顯示在Label3中。以下不能實現(xiàn)上述功能的事件過程是()。
A)Private Sub Command1_Click()
Label3.Caption = Str(Val(Label1.Caption)*Val(Label2.Caption))
End Sub
B)Private Sub Command1_Click()
Label3.Caption = HScroll1.Value * HScroll2.Value
End Sub
C)Private Sub Command1_Click()
Label3.Caption = HScroll1 * HScroll2
End Sub
D)Private Sub Command1_Click()
Label3.Caption = HScroll1.Text * HScroll2.Text
End Sub
(27)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
For n = 1 To 20
If n Mod 3 <> 0 Then m = m + n 3
Next n
Print n
End Sub
程序運行后,如果單擊命令按鈕,則窗體上顯示的內(nèi)容是()。
A)15
B)18
C)D)24
(28)在窗體上畫一個名稱為Text1的文本框,并編寫如下程序:
Private Sub Form_Load()Show Text1.Text = “" Text1.SetFocus End Sub Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)Print ”程序設(shè)計“ End Sub Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)Print ”Visual Basic“;End Sub 程序運行后,如果按”A“鍵,然后單擊窗體,則在窗體上顯示的內(nèi)容是(A)Visual Basic
B)程序設(shè)計
C)A程序設(shè)計
D)Visual Basic程序設(shè)計
(29)設(shè)有如下程序:
Private Sub Command1_Click()Dim sum As Double, x As Double sum = 0 n = 0 For i = 1 To 5 x = n / i n = n + 1 sum = sum + x Next End Sub 該程序通過For循環(huán)計算一個表達(dá)式的值,這個表達(dá)式是()。
A)1+1/2+ 2/3+3/4+4/5
B)1+1/2+2/3+3/4 C)1/2+2/3+3/4+4/
5D)1+1/2+1/3+1/4+1/5
(30)以下有關(guān)數(shù)組定義的語句序列中,錯誤的是()。
A)Static arr1(3)
arr1(1)= 100
arr1(2)= ”Hello“
arr1(3)= 123.45 B)Dim arr2()As Integer
Dim size As Integer
Private Sub Command2_Click()
size = InputBox(”輸入:“)
ReDim arr2(size)......
End Sub。)
C)Option Base 1
Private Sub Command3_Click()
Dim arr3(3)As Integer
......
End Sub
D)Dim n As Integer
Private Sub Command4_Click()
Dim arr4(n)As Integer
......
End Sub
二、填空題(每空2分,共30分)
(1)執(zhí)行下面的程序段后,i的值為 〖1〗,s的值為 〖2〗。
s = 2
For i = 3.2 To 4.9 Step 0.8
s = s + 1
Next i
(2)把窗體的KeyPreview屬性設(shè)置為True,然后編寫如下兩個事件過程:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Print Chr(KeyCode)
End Sub
Private Sub Form_KeyPress(KeyAscii As Integer)
Print Chr(KeyAscii)
End Sub
程序運行后,如果直接按鍵盤上的”A“鍵(即不按住Shift鍵),則在窗體上輸出的字符分別是 〖3〗 和 〖4〗。
(3)在窗體上畫一個標(biāo)簽(名稱為Label1)和一個計時器(名稱為Timer1),然后編寫如下幾個事件過程:
Private Sub Form_Load()
Timer1.Enabled = False
Timer1.Interval = 〖5〗
End Sub
Private Sub Form_Click()
Timer1.Enabled = 〖6〗
End Sub
Private Sub Timer1_Timer()
Label1.Caption = 〖7〗
End Sub
程序運行后,單擊窗體,將在標(biāo)簽中顯示當(dāng)前時間,每隔1秒鐘變換一次(見圖)。請?zhí)羁铡?/p>
——————————————————————
14:54:41
——————————————————————
(4)在窗體上畫一個文本框、一個標(biāo)簽和一個命令按鈕,其名稱分別為Text1、Label1和Command1,然后編寫如下兩個事件過程:
Private Sub Command1_Click()
S$ = InputBox(”請輸入一個字符串“)
Text1.Text = S$
End Sub
Private Sub Text1_Change()
Label1.Caption = UCase(Mid(Text1.Text, 7))
End Sub
程序運行后,單擊命令按鈕,將顯示一個輸入對話框,如果在該對話框中輸入字符串”VisualBasic“,則在標(biāo)簽中顯示的內(nèi)容是 〖8〗。
(5)在窗體上畫一個列表框、一個命令按鈕和一個標(biāo)簽,其名稱分別為List1、Command1和Label1,通過屬性窗口把列表框中的項目設(shè)置為:”第一個項目“、”第二個項目“、”第三個項目“、”第四個項目“。程序運行后,在列表框中選擇一個項目,然后單擊命令按鈕,即可將所選擇的項目刪除,并在標(biāo)簽中顯示列表框當(dāng)前的項目數(shù),運行情況如圖所示(選擇”第三個項目“的情況)。下面是實現(xiàn)上述功能的程序,請?zhí)羁铡?/p>
Private Sub Command1_Click()
If List1.ListIndex >= 〖9〗 Then
List1.RemoveItem 〖10〗
Label1.Caption = 〖11〗
Else
MsgBox ”請選擇要刪除的項目“
End If
End Sub
—————————————————————
第一個項目
第二個項目 COMMAND1
第三個項目 3
—————————————————————
(6)設(shè)有程序:
Option Base 1
Private Sub Command1_Click()
Dim arr1, Max as Integer
arr1 = Array(12, 435, 76, 24, 78, 54, 866, 43)
(資料來源:東方教育網(wǎng) http://004km.cn)
〖12〗 = arr1(1)
For i = 1 To 8
If arr1(i)> Max Then 〖13〗
Next i
Print ”最大值是: “;Max
End Sub
以上程序的功能是:用Array函數(shù)建立一個含有8個元素的數(shù)組,然后查找并輸出該數(shù)組中元素的最大值。請?zhí)羁铡?/p>
(7)以下程序的功能是:把當(dāng)前目錄下的順序文件smtext1.txt的內(nèi)容讀入內(nèi)存,并在文本框Text1中顯示出來。請?zhí)羁铡?/p>
Private Sub Command1_Click()
Dim inData As String
Text1.Text = ”“
Open ”.smtext1.txt“ 〖14〗 As #1
Do While 〖15〗
Input #1, inData
Text1.Text = Text1.Text & inData
Loop
Close #1
End Sub
04年4月全國計算機等級考試二級VB筆試試卷
一、選擇題((1)—(20)每小題2分,(21)—(30)每小題3分,共70分)
下列各題 A)、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確選項涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。
(1)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
Move 500,500
End Sub
程序運行后,單擊命令按鈕,執(zhí)行的操作為()。
A)命令按鈕移動到距窗體左邊界、上邊界各500的位置
B)窗體移動到距屏幕左邊界、上邊界各500的位置
C)命令按鈕向左、上方向各移動500
D)窗體向左、上方向各移動500
(2)在窗體上有若干控件,其中有一個名稱為Text1的文本框。影響Text1的Tab順序的屬性是()。
A)TabStop
B)Enabled
C)Visible
D)TabIndex
(3)以下定義數(shù)組或給數(shù)組元素賦值的語句中,正確的是()。
(4)在窗體上畫一個名稱為List1的列表框,為了對列表框中的每個項目都能進(jìn)行處理,應(yīng)使用的循環(huán)語句為()。
A)For i=0 To List1.ListCount-1
??
Next
B)For i=0 To ListCount-1
??
Next
C)For i=1 To List1.listCount
??
Next
D)For i=1 To ListCount
??
Next
(5)以下Case語句中錯誤的是()。
A)Case 0 To 10
B)Case Is>10
C)Case Is>10 And Is<50
D)Case 3,5,Is>10
(6)以下關(guān)于圖片框控件的說法中,錯誤的是()。
A)可以通過Print方法在圖片框中輸出文本
B)清空圖片框控件中圖形的方法之一是加載一個空圖形
C)圖片框控件可以作為容器使用
D)用Stretch屬性可以自動調(diào)整圖片框中圖形的大小
(7)執(zhí)行語句s=Len(Mid(”VisualBasic“,1,6))后,s的值是()。
A)Visual
B)Basic
C)6
D)11
(8)以下敘述中錯誤的是()。
A)下拉式菜單和彈出式菜單都用菜單編輯器建立
B)在多窗體程序中,每個窗體都可以建立自己的菜單系統(tǒng)
C)除分隔線外,所有菜單項都能接收Click事件
D)如果把一個菜單項的Enabled屬性設(shè)置為False,則該菜單項不可見
(9)在窗體上畫一個命令按鈕,其名稱為Command1,然后編寫如下事件過程:
Private Sub Command1_Click()
a = 12345
Print Format$(a, ”000.00“)
End Sub
程序運行后,單擊命令按鈕,窗體上顯示的是()。
A)123.45
B)12345.00
C)12345
D)00123.45
(10)以下敘述中錯誤的是()。
A)一個工程可以包括多種類型的文件
B)Visual Basic應(yīng)用程序既能以編譯方式執(zhí)行,也能以解釋方式執(zhí)行
C)程序運行后,在內(nèi)存中只能駐留一個窗體
D)對于事件驅(qū)動型應(yīng)用程序,每次運行時的執(zhí)行順序可以不一樣
(11)以下關(guān)于函數(shù)過程的敘述中,正確的是()。
A)函數(shù)過程形參的類型與函數(shù)返回值的類型沒有關(guān)系
B)在函數(shù)過程中,過程的返回值可以有多個
C)當(dāng)數(shù)組作為函數(shù)過程的參數(shù)時,既能以傳值方式傳遞,也能以傳址方式傳遞
D)如果不指明函數(shù)過程參數(shù)的類型,則該參數(shù)沒有數(shù)據(jù)類型
(12)以下關(guān)于變量作用域的敘述中,正確的是()。
A)窗體中凡被聲明為Private的變量只能在某個指定的過程中使用
B)全局變量必須在標(biāo)準(zhǔn)模塊中聲明
C)模塊級變量只能用Private關(guān)鍵字聲明
D)Static類型變量的作用域是它所在的窗體或模塊文件
(13)確定一個控件在窗體上的位置的屬性是()。
A)Width和Height
B)Width或Height
C)Top和Left
D)Top或Left
(14)在窗體上畫一個名稱為Text1的文本框和一個名稱為Command1的命令按鈕,然后編寫如下事件過程
Private Sub Command1_Click()
Text1.Text = ”Visual“
Me.Text1 = ”Basic“
Text1 = ”Program“
End Sub
程序運行后,如果單擊命令按鈕,則在文本框中顯示的是()。
A)Visual
B)Basic
C)Program
D)出錯
(15)以下關(guān)系表達(dá)式中,其值為False的是()。
A)”ABC“>”AbC“
B)”the“<>”they“
C)”VISUAL“=UCase(”Visual“)
D)”Integer“>”Int“
(16)語句Print 5/4*65 Mod 2的輸出結(jié)果是()。
A)0
B)1
C)2
D)3
(17)在窗體上畫一個文本框、一個標(biāo)簽和一個命令按鈕,其名稱分別為Text1Label1和Command1,然后編寫如下兩個事件過程:()。
Private Sub Command1_Click()
strText = InputBox(”請輸入“)
Text1.Text = strText
End Sub
Private Sub Text1_Change()
Label1.Caption = Right(Trim(Text1.Text), 3)
End Sub A)空
B)abcdef C)abc D)def
(18)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
x =-5
If Sgn(x)Then
y = Sgn(x ^ 2)
Else
y = Sgn(x)
End If
Print y
End Sub
程序運行后,單擊命令按鈕,窗體上顯示的是()。A)-5 B)25 C)1 D)-1
(19)一個工程中含有窗體Form1、Form2和標(biāo)準(zhǔn)模塊Model1,如果在Form1中有語句Pubilc X As Integer,在Model1中有語句Pubilc Y As Integer,則以下敘述中正確的是()。A)變量X、Y的作用域相同
B)Y的作用域是Model1 C)在Form1中可以直接使用X D)在Form2中可以直接使用X和Y
(20)在窗體上畫一個名稱為Drive1的驅(qū)動器列表框,一個名稱為Dir1的目錄列表框。當(dāng)改變當(dāng)前驅(qū)動器時,目錄列表框應(yīng)該與之同步改變。設(shè)置兩個控件同步的命令放在一個事件過程中,這個事件過程是()。A)Drive1_Change B)Drive1_Click C)Dir1_Click D)Dir1_Change
(21)在窗體上畫一個命令按鈕(其NAME屬性為Command1),然后編寫如下代碼:
Option Base 1
Private Sub Command1_Click()
Dim a
s = 0
a = Array(1,2,3,4)
j = 1
For i = 4 To 1 Step-1
s = s + a(i)* j
j = j * 10
Next i
Print s
End Sub
運行上面的程序,單擊命令按鈕,其輸出結(jié)果是()。A)4321 B)1234 C)34 D)12
(22)在窗體上畫一個名稱為Text1的文本框,要求文本框只能接收大寫字母的輸入。以下能實現(xiàn)該操作的事件過程是()。
A)Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii < 65 Or KeyAscii > 90 Then
MsgBox ”請輸入大寫字母“
KeyAscii = 0
End If
End Sub
B)Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode < 65 Or KeyCode > 90 Then
MsgBox ”請輸入大寫字母“
KeyCode = 0
End If
End Sub
C)Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Asc(Text1.Text)< 65 Or Asc(Text1.Text)> 90 Then
MsgBox ”請輸入大寫字母“
End If
End Sub
D)Private Sub Text1_Change()
If Asc(Text1.Text)> 64 And Asc(Text1.Text)< 91 Then
MsgBox ”請輸入大寫字母“
End If
End Sub
(23)假定在窗體(名稱為Form1)的代碼窗口中定義如下記錄類型:
Private Type animal
AnimalName As String*20
AColor As String*10
End Type
在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
Dim rec As animal
Open ”c:vbTest.dat“ For Random As #1 Len = Len(rec)
rec.animalName = ”Cat“
rec.aColor = ”White“
Put #1, , rec
Close #1
End Sub
則以下敘述中正確的是()。
A)記錄類型animal不能在Form1中定義,必須在標(biāo)準(zhǔn)模塊中定義 B)如果文件c:vbTest.dat不存在,則Open命令執(zhí)行失敗
C)由于Put命令中沒有指明記錄號,因此每次都把記錄寫到文件的末尾 D)語句“Put #1, , rec”將animal類型的兩個數(shù)據(jù)元素寫到文件中
(24)在窗體上畫一個名稱為Text1的文本框,一個名稱為Command1的命令按鈕,然后編寫如下事件過程和通用過程:
Private Sub Command1_Click()
n = Val(Text1.Text)
If n2 = n/2 Then
f = f1(n)
Else
f = f2(n)
End If
Print f;n
End Sub
Public Function f1(ByRef x)
x=x*x
f1=x+x
End Function
Public Function f2(ByVal x)
x=x*x
f2=x+x+x
End Function
程序運行后,在文本框中輸入6,然后單擊命令按鈕,窗體上顯示的是()。A)72 36 B)108 36 C)72 6 D)108 6
(25)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
c = 1234
c1 = Trim(Str(c))
For i = 1 To 4
Next
End Sub
程序運行后,單擊命令按鈕,要求在窗體上顯示如下內(nèi)容
123
1234
則在下劃線處應(yīng)填入的內(nèi)容為()。A)Right(c1,i)B)Left(c1,i)C)Mid(c1,i,1)D)Mid(c1,i,i)
(26)在窗體上畫一個名稱為Command1的命令按鈕和一個名稱為Text1的文本框,然后編寫如下事件過程:
Private Sub Command1_Click()
n = Val(Text1.Text)
For i = 2 To n
For j = 2 To sqr(i)
If i Mod j = 0 Then Exit For
Next j
If j > Sqr(i)Then Print i
Next i
End Sub
該事件過程的功能是()。A)輸出n以內(nèi)的奇數(shù) B)輸出n以內(nèi)的偶數(shù) C)輸出n以內(nèi)的素數(shù)
D)輸出n以內(nèi)能被j整除的數(shù)
(27)在以下描述中正確的是()。
A)標(biāo)準(zhǔn)模塊中的任何過程都可以在整個工程范圍內(nèi)被調(diào)用
B)在一個窗體模塊中可以調(diào)用在其他窗體中被定義為Public的通用過程 C)如果工程中包含Sub Main過程,則程序?qū)⑹紫葓?zhí)行該過程
D)如果工程中不包含Sub Main過程,則程序一定首先執(zhí)行第一個建立的窗體
(28)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下通用過程和命令按鈕的事件過程:
Private Function f(m As Integer)
If m Mod 2 = 0 Then
f = m
Else
f = 1
End If
End Function
Private Sub Command1_Click()
Dim i As Integer
s = 0
For i = 1 To 5
s = s + f(i)
Next
Print s
End Sub
程序運行后,單擊命令按鈕,在窗體上顯示的是()。A)11 B)10 C)9 D)8
(29)在窗體上畫一個名稱為Text1的文本框和一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
Dim array1(10, 10)As Integer
Dim i As Integer, j As Integer
For i = 1 To 3
For j = 2 To 4
array1(i, j)= i + j
Next j
Next i
Text1.Text = array1(2, 3)+ array1(3, 4)
End Sub
程序運行后,單擊命令按鈕,在文本框中顯示的值是()。A)15 B)14 C)13 D)12
(30)在窗體上畫四個文本框(如圖所示),并用這四個文本框建立一個控件數(shù)組,名稱為Text1(下標(biāo)從0開始,自左至右順序增大),然后編寫如下事件過程:
Private Sub Command1_Click()
For Each TextBox In Text1
Text1(i)= Text1(i).Index
i = i + 1
Next
End Sub
程序運行后,單擊命令按鈕,四個文本框中顯示的內(nèi)容分別為()。A)0 1 2 3 B)1 2 3 4 C)0 1 3 2 D)出錯信息
二、填空題(每空2分,共30分)
請將每空的正確答案寫在答題卡【1】~【15】序號的橫線上,答在試卷上不得分。
(1)Visual Basic應(yīng)用程序中標(biāo)準(zhǔn)模塊文件的擴展名是【1】。
(2)在菜單編輯器中建立一個菜單,其主菜單項的名稱為mnuEdit,Visible屬性為False,程序運行后,如果用鼠標(biāo)右鍵單擊
窗體,則彈出與mnuEdit相應(yīng)的菜單。以下是實現(xiàn)上述功能的程序,請?zhí)羁铡?/p>
Private Sub Form 【2】(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button=2 Then
【3】 mnuEdit
End If
End Sub
(3)為了使計時器控件Timer1每隔0.5秒觸發(fā)一次Timer事件,應(yīng)將Timer1控件的【4】屬性設(shè)置為【5】。
(4)與數(shù)學(xué)表達(dá)式 對應(yīng)的Visual Basic表達(dá)式是【6】。
(5)將C盤根目錄下的圖形文件moon.jpg裝入圖片框Picture1的語句是【7】。
(6)在窗體上畫一個名稱為Text1的文本框,然后畫三個單選按鈕,并用這三個單選按鈕建立一個控件數(shù)組,名稱為
Option1,程序運行后,如果單擊某個單選按鈕,則文本框中的字體將根據(jù)所選擇的單選按鈕切換,如圖所示,請?zhí)羁铡?/p>
Private Sub Option1_Click(Index As Integer)
Select Case 【8】
Case 0
a = ”宋體“
Case 1
a = ”黑體“
Case 2
a = ”楷體_GB2312“
End Select
text1.【9】 =a
End Sub
(7)在窗體上畫兩個組合框,其名稱分別為Combo1、Combo2,然后畫兩個標(biāo)簽,名稱分別為Label1、Label2,如圖所示,程
序運行后,如果在某個組合框中選擇一個項目,則把所選中的項目在其下面的標(biāo)簽中顯示出來。請?zhí)羁铡?/p>
Private Sub Combo1_Click()
Call ShowItem(Combo1, Label1)
End Sub
Private Sub Combo2_Click()
Call ShowItem(Combo2, Label2)
End Sub
Public Sub ShowItem(tmpCombo As ComboBox, tmpLabel As Label)
【10】.Caption =【11】.Text
End Sub
(8)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
n = 5
f = 1
s = 0
For i = 1 To n
f = f【12】
s = s + f
Next
Print s
End Sub
該事件過程的功能是計算的值。請?zhí)羁铡?/p>
(9)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下程序:
Option Base 1
Private Sub Command1_Click()
Dim a(10)As Integer
For i = 1 To 10
a(i)= i
Next
Call swap(【13】)
For i = 1 To 10
Print a(i);
Next
End Sub
Sub swap(b()As Integer)
n = 【14】
For i = 1 To n / 2
t = b(i)
b(i)= b(n)
b(n)= t
【15】
Next
End Sub
上述程序的功能是,通過調(diào)用過程swap,調(diào)換數(shù)組中數(shù)值的存放位置,即a(1)與a(10)的值互換,a(2)與a(9)的值互換,??,a(5)與a(6)的值互換。請?zhí)羁铡?/p>
04年9月全國計算機等級考試二級VB筆試試卷
一、選擇題((1)—(20)每小題2分,(21)—(30)每小題3分,共70分)
(1)設(shè)窗體上有一個文本框,名稱為text1,程序運行后,要求該文本框不能接受鍵盤輸入,但能輸出信息,以下屬性設(shè)置正確的是:()。A)text1.maxlength=0 B)text1.enabled=flase C)text1.visible=flase D)text1.width=0
(2)以下能在窗體Form1的標(biāo)題欄中顯示“VisualBasic窗體”的語句是()。A)Form1.Name=“VisualBasic窗體” B)Form1.Title=“VisualBasic窗體” C)Form1.Caption=“VisualBasic窗體” D)Form1.Text=“VisualBasic窗體”
(3)在窗體上畫一個名稱為Text1的文本框,然后畫一個名稱為HScroll1的滾動條,其Min和Max屬性分別為0和100。程序運行后,如果移動滾動框,則在文本框中顯示滾動條的當(dāng)前值,如圖所示:
以下能實現(xiàn)上述操作的程序段是()。A)Private Sub HScroll_Change()Text1.Text=HScroll1.value End Sub B)Private Sub HScroll_Click()Text1.Text=HScroll1.value End Sub C)Private Sub HScroll_Change()Text1.Text=HScroll.Caption D)Private Sub HScroll_Click()Text1.Text=HScroll.Caption End Sub
(4)設(shè)菜單中有一個菜單項為”O(jiān)pen“。若要為該菜單命令設(shè)計訪問鍵,即按下Alt及字母O時,能夠執(zhí)行”O(jiān)pen“命令,則在菜單編輯器中設(shè)置“Open”命令的方式是()。A)把Caption屬性設(shè)置為&Open B)把Caption屬性設(shè)置為O&pen C)把Name屬性設(shè)置為&Open D)把Name屬性設(shè)置為O&pen
(5)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程: Private Sub Command1_Click()x=InputBox(“Input”)Select Case x Case 1,3 Print “分支 1” Case Is >4 Print “分支 2” Case Else Print “Else 分支 ” End Select End Sub 程序運行后,如果在輸入對話框中輸入2,則窗體上顯示的是()。A)分支1 B)分支2 C)Else分支
D)程序出錯
(6)以下關(guān)于MsgBox的敘述中,錯誤的是()。A)MsgBox函數(shù)返回一個整數(shù)
第三篇:全國計算機二級VB考試上機考點與常用算法
全國計算機二級VB考試上機考點與常用算法
一、上機考點
由于上機考試的方式和主要考點沒有很大變化,因此可以通過分析歷屆上機考題來歸納總結(jié)上機考試考核的重點,我們下面來介紹近幾年二級Visual Basic上機考試所考知識點的分布情況。
(1)對象及其操作:控件的畫法、基本操作及控件值。
(2)數(shù)據(jù)類型及其運算:涉及到關(guān)系運算符、算術(shù)運算符、邏輯運算符及常用內(nèi)部函數(shù)等知識點。
(3)數(shù)據(jù)輸入、輸出:窗體輸出與Print方法,使用InputBox函數(shù)。
(4)常用標(biāo)準(zhǔn)控件:文本框、列表框、圖形框、復(fù)選框、計時器、滾動條等控件的屬性、事件和方法。
(5)控制結(jié)構(gòu):選擇結(jié)構(gòu)、For循環(huán)控制結(jié)構(gòu)。(6)數(shù)組:數(shù)組的定義。
(7)菜單與對話框:用菜單編輯器建立菜單。
(8)鍵盤與鼠標(biāo)事件過程:鍵盤的KeyPress事件、鼠標(biāo)事件。(9)數(shù)據(jù)文件:順序文件的讀操作、順序文件的寫操作。
二、常用算法
熟練地掌握算法原理、編程思想和代碼實現(xiàn),就能夠做到舉一反三,輕松備考,順利過關(guān)。
1.累加與連乘
基本思想:設(shè)置初值,循環(huán)計算。擴展:
(1)計算指定范圍內(nèi)某一個數(shù)的倍數(shù)之和。(2)計算某范圍內(nèi)所有數(shù)的乘積。(3)求某一個數(shù)列的和。2.生成N個不同的隨機數(shù)
基本思想:將生成的數(shù)送入一個數(shù)組,每生成一個數(shù)后與數(shù)組中已有的數(shù)比較,如相同則丟棄,重新生成可使用語句Exit For。
3.求素數(shù)、極值
求素數(shù)基本思想:素數(shù)的意義;實現(xiàn)方法:雙重循環(huán),外循環(huán)判斷每一個數(shù),內(nèi)循環(huán)判斷能否被某數(shù)整除。
求極值基本思想:設(shè)第一個數(shù)為極值數(shù),然后進(jìn)入循環(huán)與其比較,超過則替換。4.排序
(1)選擇法:每次先找出最小數(shù)所在的F標(biāo),排序結(jié)束后,交換最小數(shù)的位置。(2)冒泡法:兩兩比較后交換。
(3)合并法:將兩個有序的數(shù)組合并成一個仃序的數(shù)組。兩個數(shù)組中的數(shù)兩兩比較,小者放入目標(biāo)數(shù)組,直到。個數(shù)組為窄。
(4)插入法:每輸入或生成一個數(shù)馬上插入到數(shù)組中使其有序。
站長提醒廣大考生:下面的138道題目,在二級考試中命中率極高。
一、選擇題
(1)下面敘述正確的是(C)A.算法的執(zhí)行效率與數(shù)據(jù)的存儲結(jié)構(gòu)無關(guān) B.算法的空間復(fù)雜度是指算法程序中指令(或語句)的條數(shù) C.算法的有窮性是指算法必須能在執(zhí)行有限個步驟之后終止 D.以上三種描述都不對
(2)以下數(shù)據(jù)結(jié)構(gòu)中不屬于線性數(shù)據(jù)結(jié)構(gòu)的是(C)A.隊列 B.線性表 C.二叉樹 D.棧
(3)在一棵二叉樹上第5層的結(jié)點數(shù)最多是(B)注:由公式2k-1得 A.8 B.16 C.32 D.15(4)下面描述中,符合結(jié)構(gòu)化程序設(shè)計風(fēng)格的是(A)A.使用順序、選擇和重復(fù)(循環(huán))三種基本控制結(jié)構(gòu)表示程序的控制邏輯 B.模塊只有一個入口,可以有多個出口 C.注重提高程序的執(zhí)行效率 D.不使用goto語句
(5)下面概念中,不屬于面向?qū)ο蠓椒ǖ氖?D)注:P55-58 A.對象 B.繼承 C.類 D.過程調(diào)用
(6)在結(jié)構(gòu)化方法中,用數(shù)據(jù)流程圖(DFD)作為描述工具的軟件開發(fā)階段是(B)A.可行性分析 B.需求分析 C.詳細(xì)設(shè)計 D.程序編碼(7)在軟件開發(fā)中,下面任務(wù)不屬于設(shè)計階段的是(D)A.數(shù)據(jù)結(jié)構(gòu)設(shè)計 B.給出系統(tǒng)模塊結(jié)構(gòu)
C.定義模塊算法 D.定義需求并建立系統(tǒng)模型(8)數(shù)據(jù)庫系統(tǒng)的核心是(B)A.數(shù)據(jù)模型 B.數(shù)據(jù)庫管理系統(tǒng) C.軟件工具 D.數(shù)據(jù)庫(9)下列敘述中正確的是(C)A.數(shù)據(jù)庫是一個獨立的系統(tǒng),不需要操作系統(tǒng)的支持 B.數(shù)據(jù)庫設(shè)計是指設(shè)計數(shù)據(jù)庫管理系統(tǒng)C.數(shù)據(jù)庫技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)共享的問題 D.數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致
(10)下列模式中,能夠給出數(shù)據(jù)庫物理存儲結(jié)構(gòu)與物理存取方法的是(A)注:P108 A.內(nèi)模式 B.外模式 C.概念模式 D.邏輯模式(11)算法的時間復(fù)雜度是指(C)A.執(zhí)行算法程序所需要的時間 B.算法程序的長度 C.算法執(zhí)行過程中所需要的基本運算次數(shù) D.算法程序中的指令條數(shù)(12)算法的空間復(fù)雜度是指(D)A.算法程序的長度 B.算法程序中的指令條數(shù) C.算法程序所占的存儲空間 D.算法執(zhí)行過程中所需要的存儲空間
(13)設(shè)一棵完全二叉樹共有699個結(jié)點,則在該二叉樹中的葉子結(jié)點數(shù)為(B)注:利用公式n=n0+n1+n2、n0=n2+1和完全二叉數(shù)的特點可求出 A.349 B.350 C.255 D.351(14)結(jié)構(gòu)化程序設(shè)計主要強調(diào)的是(B)A.程序的規(guī)模 B.程序的易讀性
C.程序的執(zhí)行效率 D.程序的可移植性
(15)在軟件生命周期中,能準(zhǔn)確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是(D)注:即第一個階段
A.概要設(shè)計 B.詳細(xì)設(shè)計 C.可行性分析 D.需求分析
(16)數(shù)據(jù)流圖用于抽象描述一個軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標(biāo)識的圖符不屬于數(shù)據(jù)流圖合法圖符的是(A)注:P67 A.控制流 B.加工 C.數(shù)據(jù)存儲 D.源和潭
(17)軟件需求分析階段的工作,可以分為四個方面:需求獲取、需求分析、編寫需求規(guī)格說明書以及(B)注:P66 A.階段性報告 B.需求評審 C.總結(jié) D.都不正確(18)下述關(guān)于數(shù)據(jù)庫系統(tǒng)的敘述中正確的是(A)A.數(shù)據(jù)庫系統(tǒng)減少了數(shù)據(jù)冗余 B.數(shù)據(jù)庫系統(tǒng)避免了一切冗余
C.數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)的一致性是指數(shù)據(jù)類型的一致 D.數(shù)據(jù)庫系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù)
(19)關(guān)系表中的每一橫行稱為一個(A)A.元組 B.字段 C.屬性 D.碼
(20)數(shù)據(jù)庫設(shè)計包括兩個方面的設(shè)計內(nèi)容,它們是(A)A.概念設(shè)計和邏輯設(shè)計 B.模式設(shè)計和內(nèi)模式設(shè)計
C.內(nèi)模式設(shè)計和物理設(shè)計 D.結(jié)構(gòu)特性設(shè)計和行為特性設(shè)計(21)下列敘述中正確的是(A)A.線性表是線性結(jié)構(gòu) B.棧與隊列是非線性結(jié)構(gòu) C.線性鏈表是非線性結(jié)構(gòu) D.二叉樹是線性結(jié)構(gòu)(22)下列關(guān)于棧的敘述中正確的是(D)A.在棧中只能插入數(shù)據(jù) B.在棧中只能刪除數(shù)據(jù) C.棧是先進(jìn)先出的線性表 D.棧是先進(jìn)后出的線性表(23)下列關(guān)于隊列的敘述中正確的是(C)A.在隊列中只能插入數(shù)據(jù) B.在隊列中只能刪除數(shù)據(jù)
C.隊列是先進(jìn)先出的線性表 D.隊列是先進(jìn)后出的線性表
(24)對建立良好的程序設(shè)計風(fēng)格,下面描述正確的是(A)注:P48 A.程序應(yīng)簡單、清晰、可讀性好 B.符號名的命名要符合語法 C.充分考慮程序的執(zhí)行效率 D.程序的注釋可有可無(25)下面對對象概念描述錯誤的是(A)注:P55 A.任何對象都必須有繼承性 B.對象是屬性和方法的封裝體 C.對象間的通訊靠消息傳遞 D.操作是對象的動態(tài)性屬性(26)下面不屬于軟件工程的3個要素的是(D)注:P62 A.工具 B.過程 C.方法 D.環(huán)境
(27)程序流程圖(PFD)中的箭頭代表的是(B)注:P81 A.數(shù)據(jù)流 B.控制流 C.調(diào)用關(guān)系 D.組成關(guān)系
(28)在數(shù)據(jù)管理技術(shù)的發(fā)展過程中,經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。其中數(shù)據(jù)獨立性最高的階段是(A)A.數(shù)據(jù)庫系統(tǒng) B.文件系統(tǒng) C.人工管理 D.數(shù)據(jù)項管理(29)用樹形結(jié)構(gòu)來表示實體之間聯(lián)系的模型稱為(B)A.關(guān)系模型 B.層次模型 C.網(wǎng)狀模型 D.數(shù)據(jù)模型(30)關(guān)系數(shù)據(jù)庫管理系統(tǒng)能實現(xiàn)的專門關(guān)系運算包括(B)A.排序、索引、統(tǒng)計 B.選擇、投影、連接 C.關(guān)聯(lián)、更新、排序 D.顯示、打印、制表
(31)算法一般都可以用哪幾種控制結(jié)構(gòu)組合而成(D)注:P3 A.循環(huán)、分支、遞歸 B.順序、循環(huán)、嵌套 C.循環(huán)、遞歸、選擇 D.順序、選擇、循環(huán)
(32)數(shù)據(jù)的存儲結(jié)構(gòu)是指(B)注:P13,要牢記
A.數(shù)據(jù)所占的存儲空間量 B.數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機中的表示 C.數(shù)據(jù)在計算機中的順序存儲方式 D.存儲在外存中的數(shù)據(jù)(33)設(shè)有下列二叉樹:圖見書P46 對此二叉樹中序遍歷的結(jié)果為(B)A.ABCDEF B.DBEAFC C.ABDECF D.DEBFCA(34)在面向?qū)ο蠓椒ㄖ校粋€對象請求另一對象為其服務(wù)的方式是通過發(fā)送(D)注:P56 A.調(diào)用語句 B.命令 C.口令 D.消息
(35)檢查軟件產(chǎn)品是否符合需求定義的過程稱為(A)注:P95 A.確認(rèn)測試 B.集成測試 C.驗證測試 D.驗收測試(36)下列工具中屬于需求分析常用工具的是(D)注:P67 A.PAD B.PFD C.N-S D.DFD(37)下面不屬于軟件設(shè)計原則的是(C)注:P73 A.抽象 B.模塊化 C.自底向上 D.信息隱蔽(38)索引屬于(B)A.模式 B.內(nèi)模式 C.外模式 D.概念模式
(39)在關(guān)系數(shù)據(jù)庫中,用來表示實體之間聯(lián)系的是(D)A.樹結(jié)構(gòu) B.網(wǎng)結(jié)構(gòu) C.線性表 D.二維表
(40)將E-R圖轉(zhuǎn)換到關(guān)系模式時,實體與聯(lián)系都可以表示成(B)A.屬性 B.關(guān)系 C.鍵 D.域
(41)在下列選項中,哪個不是一個算法一般應(yīng)該具有的基本特征(C)A.確定性 B.可行性 C.無窮性 D.擁有足夠的情報(42)希爾排序法屬于哪一種類型的排序法(B)A.交換類排序法 B.插入類排序法 C.選擇類排序法 D.建堆排序法(43)在深度為5的滿二叉樹中,葉子結(jié)點的個數(shù)為(C)A.32 B.31 C.16 D.15(44)對長度為N的線性表進(jìn)行順序查找,在最壞情況下所需要的比較次數(shù)為(B)注:要牢記
A.N+1 B.N C.(N+1)/2 D.N/2(45)信息隱蔽的概念與下述哪一種概念直接相關(guān)(B)注:P74 A.軟件結(jié)構(gòu)定義 B.模塊獨立性 C.模塊類型劃分 D.模擬耦合度
(46)面向?qū)ο蟮脑O(shè)計方法與傳統(tǒng)的的面向過程的方法有本質(zhì)不同,它的基本原理是(C)A.模擬現(xiàn)實世界中不同事物之間的聯(lián)系 B.強調(diào)模擬現(xiàn)實世界中的算法而不強調(diào)概念 C.使用現(xiàn)實世界的概念抽象地思考問題從而自然地解決問題 D.鼓勵開發(fā)者在軟件開發(fā)的絕大部分中都用實際領(lǐng)域的概念去思考
(47)在結(jié)構(gòu)化方法中,軟件功能分解屬于下列軟件開發(fā)中的階段是(C)注:總體設(shè)計也就是概要設(shè)計
A.詳細(xì)設(shè)計 B.需求分析 C.總體設(shè)計 D.編程調(diào)試
(48)軟件調(diào)試的目的是(B)注:與軟件測試要對比著復(fù)習(xí)A.發(fā)現(xiàn)錯誤 B.改正錯誤 C.改善軟件的性能 D.挖掘軟件的潛能(49)按條件f對關(guān)系R進(jìn)行選擇,其關(guān)系代數(shù)表達(dá)式為(C)A.R|X|R B.R|X|Rf C.бf(R)D.∏f(R)(50)數(shù)據(jù)庫概念設(shè)計的過程中,視圖設(shè)計一般有三種設(shè)計次序,以下各項中不對的是(D)注:P127,要牢記
A.自頂向下 B.由底向上 C.由內(nèi)向外 D.由整體到局部(51)在計算機中,算法是指(C)A.查詢方法 B.加工方法
C.解題方案的準(zhǔn)確而完整的描述 D.排序方法
(52)棧和隊列的共同點是(C)注:這一共同點和線性表不一樣
A.都是先進(jìn)后出 B.都是先進(jìn)先出 C.只允許在端點處插入和刪除元素 D.沒有共同點
(53)已知二叉樹后序遍歷序列是dabec,中序遍歷序列是debac,它的前序遍歷序列是(A)注:P38,前提要掌握三種遍歷的方法 A.cedba B.acbed C.decab D.deabc(54)在下列幾種排序方法中,要求內(nèi)存量最大的是(D)注:要牢記,書中沒有提到。
A.插入排序 B.選擇排序 C.快速排序 D.歸并排序
(55)在設(shè)計程序時,應(yīng)采納的原則之一是(A)注:和設(shè)計風(fēng)格有關(guān) A.程序結(jié)構(gòu)應(yīng)有助于讀者理解 B.不限制goto語句的使用 C.減少或取消注解行 D.程序越短越好
(56)下列不屬于軟件調(diào)試技術(shù)的是(B)注:P98 A.強行排錯法 B.集成測試法 C.回溯法 D.原因排除法
(57)下列敘述中,不屬于軟件需求規(guī)格說明書的作用的是(D)注:P71 A.便于用戶、開發(fā)人員進(jìn)行理解和交流 B.反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù) C.作為確認(rèn)測試和驗收的依據(jù) D.便于開發(fā)人員進(jìn)行需求分析
(58)在數(shù)據(jù)流圖(DFD)中,帶有名字的箭頭表示(C)A.控制程序的執(zhí)行順序 B.模塊之間的調(diào)用關(guān)系 C.數(shù)據(jù)的流向 D.程序的組成成分
(59)SQL語言又稱為(C)A.結(jié)構(gòu)化定義語言 B.結(jié)構(gòu)化控制語言 C.結(jié)構(gòu)化查詢語言 D.結(jié)構(gòu)化操縱語言
(60)視圖設(shè)計一般有3種設(shè)計次序,下列不屬于視圖設(shè)計的是(B)A.自頂向下 B.由外向內(nèi) C.由內(nèi)向外 D.自底向上(61)數(shù)據(jù)結(jié)構(gòu)中,與所使用的計算機無關(guān)的是數(shù)據(jù)的(C)A.存儲結(jié)構(gòu) B.物理結(jié)構(gòu) C.邏輯結(jié)構(gòu) D.物理和存儲結(jié)構(gòu)
(62)棧底至棧頂依次存放元素A、B、C、D,在第五個元素E入棧前,棧中元素可以出棧,則出棧序列可能是(D)A.ABCED B.DBCEA C.CDABE D.DCBEA(63)線性表的順序存儲結(jié)構(gòu)和線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)分別是(B)A.順序存取的存儲結(jié)構(gòu)、順序存取的存儲結(jié)構(gòu) B.隨機存取的存儲結(jié)構(gòu)、順序存取的存儲結(jié)構(gòu) C.隨機存取的存儲結(jié)構(gòu)、隨機存取的存儲結(jié)構(gòu) D.任意存取的存儲結(jié)構(gòu)、任意存取的存儲結(jié)構(gòu)
(64)在單鏈表中,增加頭結(jié)點的目的是(A)A.方便運算的實現(xiàn) B.使單鏈表至少有一個結(jié)點 C.標(biāo)識表結(jié)點中首結(jié)點的位置 D.說明單鏈表是線性表的鏈?zhǔn)酱鎯崿F(xiàn)
(65)軟件設(shè)計包括軟件的結(jié)構(gòu)、數(shù)據(jù)接口和過程設(shè)計,其中軟件的過程設(shè)計是指(B)注:P73 A.模塊間的關(guān)系 B.系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程描述 C.軟件層次結(jié)構(gòu) D.軟件開發(fā)過程
(66)為了避免流程圖在描述程序邏輯時的靈活性,提出了用方框圖來代替?zhèn)鹘y(tǒng)的程序流程圖,通常也把這種圖稱為(B)注:P82 A.PAD圖 B.N-S圖 C.結(jié)構(gòu)圖 D.數(shù)據(jù)流圖
(67)數(shù)據(jù)處理的最小單位是(C)注:數(shù)據(jù)項不可再分割 A.數(shù)據(jù) B.數(shù)據(jù)元素 C.數(shù)據(jù)項 D.數(shù)據(jù)結(jié)構(gòu)
(68)下列有關(guān)數(shù)據(jù)庫的描述,正確的是(C)注:P102 A.數(shù)據(jù)庫是一個DBF文件 B.數(shù)據(jù)庫是一個關(guān)系 C.數(shù)據(jù)庫是一個結(jié)構(gòu)化的數(shù)據(jù)集合 D.數(shù)據(jù)庫是一組文件
(69)單個用戶使用的數(shù)據(jù)視圖的描述稱為(A)注:P108 A.外模式 B.概念模式 C.內(nèi)模式 D.存儲模式(70)需求分析階段的任務(wù)是確定(D)A.軟件開發(fā)方法 B.軟件開發(fā)工具 C.軟件開發(fā)費用 D.軟件系統(tǒng)功能(71)算法分析的目的是(D)注:書中沒有總結(jié),但要牢記
A.找出數(shù)據(jù)結(jié)構(gòu)的合理性 B.找出算法中輸入和輸出之間的關(guān)系 C.分析算法的易懂性和可靠性 D.分析算法的效率以求改進(jìn)(72)鏈表不具有的特點是(B)A.不必事先估計存儲空間 B.可隨機訪問任一元素
C.插入刪除不需要移動元素 D.所需空間與線性表長度成正比
(73)已知數(shù)據(jù)表A中每個元素距其最終位置不遠(yuǎn),為節(jié)省時間,應(yīng)采用的算法是(B)A.堆排序 B.直接插入排序 C.快速排序 D.直接選擇排序(74)用鏈表表示線性表的優(yōu)點是(A)注:因為不需要移動元素
A.便于插入和刪除操作 B.數(shù)據(jù)元素的物理順序與邏輯順序相同 C.花費的存儲空間較順序存儲少 D.便于隨機存取
(75)下列不屬于結(jié)構(gòu)化分析的常用工具的是(D)注:P67 A.數(shù)據(jù)流圖 B.數(shù)據(jù)字典 C.判定樹 D.PAD圖
(76)軟件開發(fā)的結(jié)構(gòu)化生命周期方法將軟件生命周期劃分成(A)A.定義、開發(fā)、運行維護(hù) B.設(shè)計階段、編程階段、測試階段 C.總體設(shè)計、詳細(xì)設(shè)計、編程調(diào)試 D.需求分析、功能定義、系統(tǒng)設(shè)計
(77)在軟件工程中,白箱測試法可用于測試程序的內(nèi)部結(jié)構(gòu)。此方法將程序看做是(C)注:P87 A.循環(huán)的集合 B.地址的集合 C.路徑的集合 D.目標(biāo)的集合
(78)在數(shù)據(jù)管理技術(shù)發(fā)展過程中,文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的主要區(qū)別是數(shù)據(jù)庫系統(tǒng)具有(D)注:數(shù)據(jù)模型采用關(guān)系模型(二維表)A.數(shù)據(jù)無冗余 B.數(shù)據(jù)可共享
C.專門的數(shù)據(jù)管理軟件 D.特定的數(shù)據(jù)模型(79)分布式數(shù)據(jù)庫系統(tǒng)不具有的特點是(B)A.分布式 B.數(shù)據(jù)冗余
C.數(shù)據(jù)分布性和邏輯整體性 D.位置透明性和復(fù)制透明性
(80)下列說法中,不屬于數(shù)據(jù)模型所描述的內(nèi)容的是(C)注:P110 A.數(shù)據(jù)結(jié)構(gòu) B.數(shù)據(jù)操作 C.數(shù)據(jù)查詢 D.數(shù)據(jù)約束
(81)根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間前后件關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分成(C)A.動態(tài)結(jié)構(gòu)和靜態(tài)結(jié)構(gòu) B.緊湊結(jié)構(gòu)和非緊湊結(jié)構(gòu) C.線性結(jié)構(gòu)和非線性結(jié)構(gòu) D.內(nèi)部結(jié)構(gòu)和外部結(jié)構(gòu)(82)下列敘述中,錯誤的是(B)A.數(shù)據(jù)的存儲結(jié)構(gòu)與數(shù)據(jù)處理的效率密切相關(guān) B.數(shù)據(jù)的存儲結(jié)構(gòu)與數(shù)據(jù)處理的效率無關(guān) C.數(shù)據(jù)的存儲結(jié)構(gòu)在計算機中所占的空間不一定是連續(xù)的 D.一種數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲結(jié)構(gòu)
(83)線性表L=(a1,a2,a3,…ai,…an),下列說法正確的是(D)A.每個元素都有一個直接前件和直接后件 B.線性表中至少要有一個元素 C.表中諸元素的排列順序必須是由小到大或由大到 D.除第一個元素和最后一個元素外,其余每個元素都有一個且只有一個直接前件和直接后件
(84)線性表若采用鏈?zhǔn)酱鎯Y(jié)構(gòu)時,要求內(nèi)存中可用存儲單元的地址(D)A.必須是連續(xù)的 B.部分地址必須是連續(xù)的 C.一定是不連續(xù)的 D.連續(xù)不連續(xù)都可以(85)棧通常采用的兩種存儲結(jié)構(gòu)是(A)A.順序存儲結(jié)構(gòu)和鏈?zhǔn)酱鎯Y(jié)構(gòu) B.散列方式和索引方式 C.鏈表存儲結(jié)構(gòu)和數(shù)組 D.線性存儲結(jié)構(gòu)和非線性存儲結(jié)構(gòu)(86)下列數(shù)據(jù)結(jié)構(gòu)中,按先進(jìn)后出原則組織數(shù)據(jù)的是(B)A.線性鏈表 B.棧 C.循環(huán)鏈表 D.順序表(87)樹是結(jié)點的集合,它的根結(jié)點數(shù)目是(C)A.有且只有1 B.1或多于1 C.0或1 D.至少2(88)具有3個結(jié)點的二叉樹有(D)A.2種形態(tài) B.4種形態(tài) C.7種形態(tài) D.5種形態(tài)(89)設(shè)一棵二叉樹中有3個葉子結(jié)點,有8個度為1的結(jié)點,則該二叉樹中總的結(jié)點數(shù)為(B)A.12 B.13 C.14 D.15(90)在結(jié)構(gòu)化程序設(shè)計思想提出之前,在程序設(shè)計中曾強調(diào)程序的效率,現(xiàn)在,與程序的效率相比,人們更重視程序的(C)A.安全性 B.一致性 C.可理解性 D.合理性(91)為了提高測試的效率,應(yīng)該(D)注:P85 A.隨機選取測試數(shù)據(jù)B.取一切可能的輸入數(shù)據(jù)作為測試數(shù)據(jù)C.在完成編碼以后制定軟件的測試計劃 D.集中對付那些錯誤群集的程序(92)軟件生命周期中所花費用最多的階段是(D)A.詳細(xì)設(shè)計 B.軟件編碼 C.軟件測試 D.軟件維護(hù)
二、填空題
(1)算法的復(fù)雜度主要包括______復(fù)雜度和空間復(fù)雜度。答:時間(2)數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機存儲空間中的存放形式稱為數(shù)據(jù)的______。答:存儲結(jié)構(gòu)#物理結(jié)構(gòu)
(3)若按功能劃分,軟件測試的方法通常分為白盒測試方法和______測試方法。答:黑盒
(4)如果一個工人可管理多個設(shè)施,而一個設(shè)施只被一個工人管理,則實體“工人”與實體“設(shè)備”之間存在______聯(lián)系。答:一對多#1:N#1:n(5)關(guān)系數(shù)據(jù)庫管理系統(tǒng)能實現(xiàn)的專門關(guān)系運算包括選擇、連接和______。答:投影(6)在先左后右的原則下,根據(jù)訪問根結(jié)點的次序,二叉樹的遍歷可以分為三種:前序遍歷、______遍歷和后序遍歷。答:中序
(7)結(jié)構(gòu)化程序設(shè)計方法的主要原則可以概括為自頂向下、逐步求精、______和限制使用goto語句。答:模塊化
(8)軟件的調(diào)試方法主要有:強行排錯法、______和原因排除法。答:回溯法(9)數(shù)據(jù)庫系統(tǒng)的三級模式分別為______模式、內(nèi)部級模式與外部級模式。答:概念#概念級
(10)數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,它通常包括5個部分,即數(shù)據(jù)項、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、______和處理過程。答:數(shù)據(jù)存儲(11)設(shè)一棵完全二叉樹共有500個結(jié)點,則在該二叉樹中有______個葉子結(jié)點。答:250(12)在最壞情況下,冒泡排序的時間復(fù)雜度為______。答:n(n-1)/2#n*(n-1)/2#O(n(n-1)/2)#O(n*(n-1)/2)(13)面向?qū)ο蟮某绦蛟O(shè)計方法中涉及的對象是系統(tǒng)中用來描述客觀事物的一個______。答:實體
(14)軟件的需求分析階段的工作,可以概括為四個方面:______、需求分析、編寫需求規(guī)格說明書和需求評審。答:需求獲取(15)______是數(shù)據(jù)庫應(yīng)用的核心。答:數(shù)據(jù)庫設(shè)計
(16)數(shù)據(jù)結(jié)構(gòu)包括數(shù)據(jù)的______結(jié)構(gòu)和數(shù)據(jù)的存儲結(jié)構(gòu)。答:邏輯
(17)軟件工程研究的內(nèi)容主要包括:______技術(shù)和軟件工程管理。答:軟件開發(fā) 注:P64(18)與結(jié)構(gòu)化需求分析方法相對應(yīng)的是______方法。答:結(jié)構(gòu)化設(shè)計
(19)關(guān)系模型的完整性規(guī)則是對關(guān)系的某種約束條件,包括實體完整性、______和自定義完整性。答:參照完整性
(20)數(shù)據(jù)模型按不同的應(yīng)用層次分為三種類型,它們是______數(shù)據(jù)模型、邏輯數(shù)據(jù)模型和物理數(shù)據(jù)模型。答:概念 注:P110(21)棧的基本運算有三種:入棧、退棧和______。答:讀棧頂元素#讀棧頂?shù)脑?讀出棧頂元素
(22)在面向?qū)ο蠓椒ㄖ?,信息隱蔽是通過對象的______性來實現(xiàn)的。答:封裝(23)數(shù)據(jù)流的類型有______和事務(wù)型。答:變換型 注:P77(24)數(shù)據(jù)庫系統(tǒng)中實現(xiàn)各種數(shù)據(jù)管理功能的核心軟件稱為______。答:數(shù)據(jù)庫管理系統(tǒng)#DBMS 注:要牢記,重要
(25)關(guān)系模型的數(shù)據(jù)操縱即是建立在關(guān)系上的數(shù)據(jù)操縱,一般有______、增加、刪除和修改四種操作。答:查詢 注:要牢記
(26)實現(xiàn)算法所需的存儲單元多少和算法的工作量大小分別稱為算法的 ______。答:空間復(fù)雜度和時間復(fù)雜度(27)數(shù)據(jù)結(jié)構(gòu)包括數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的 ______以及對數(shù)據(jù)的操作運算。答:存儲結(jié)構(gòu) 注:P7(28)一個類可以從直接或間接的祖先中繼承所有屬性和方法。采用這個方法提高了軟件的______。答:可重用性
(29)面向?qū)ο蟮哪P椭?,最基本的概念是對象?______。答:類
(30)軟件維護(hù)活動包括以下幾類:改正性維護(hù)、適應(yīng)性維護(hù)、______維護(hù)和預(yù)防性維護(hù)。答:完善性 注:要牢記,書中沒有提到
(31)算法的基本特征是可行性、確定性、______和擁有足夠的情報。答:有窮性
(32)順序存儲方法是把邏輯上相鄰的結(jié)點存儲在物理位置______的存儲單元中。答:相鄰
(33)Jackson結(jié)構(gòu)化程序設(shè)計方法是英國的M.Jackson提出的,它是一種面向______的設(shè)計方法。答:數(shù)據(jù)結(jié)構(gòu) 注:P67(34)數(shù)據(jù)庫設(shè)計分為以下6個設(shè)計階段:需求分析階段、______、邏輯設(shè)計階段、物理設(shè)計階段、實施階段、運行和維護(hù)階段。答:概念設(shè)計階段#數(shù)據(jù)庫概念設(shè)計階段
(35)數(shù)據(jù)庫保護(hù)分為:安全性控制、______、并發(fā)性控制和數(shù)據(jù)的恢復(fù)。答:完整性控制 注:要牢記(36)測試的目的是暴露錯誤,評價程序的可靠性;而______的目的是發(fā)現(xiàn)錯誤的位置并改正錯誤。答:調(diào)試
(37)在最壞情況下,堆排序需要比較的次數(shù)為______。答:O(nlog2n)(38)若串s=“Program”,則其子串的數(shù)目是______。答:29(39)一個項目具有一個項目主管,一個項目主管可管理多個項目,則實體“項目主管”與實體“項目”的聯(lián)系屬于______的聯(lián)系。答:1對多#1:N(40)數(shù)據(jù)庫管理系統(tǒng)常見的數(shù)據(jù)模型有層次模型、網(wǎng)狀模型和______三種。答:關(guān)系模型
(41)數(shù)據(jù)的邏輯結(jié)構(gòu)有線性結(jié)構(gòu)和_______兩大類。答非線性結(jié)構(gòu)
(42)數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)與存儲結(jié)構(gòu),線性鏈表屬于_______。答:存儲結(jié)構(gòu)(43)數(shù)據(jù)的基本單位是_______。答:元素
(44)長度為n的順序存儲線性表中,當(dāng)在任何位置上插入一個元素概率都相等時,插入一個元素所需移動元素的平均個數(shù)為______。答:n/2(45)當(dāng)循環(huán)隊列非空且隊尾指針等于隊頭指針時,說明循環(huán)隊列已滿,不能進(jìn)行入隊運算。這種情況稱為______。答:上溢
(46)在面向?qū)ο蠓椒ㄖ?,類之間共享屬性和操作的機制稱為_______。答:繼承
第四篇:計算機VB二級公共基礎(chǔ)知識總結(jié)
數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)知識
數(shù)據(jù)結(jié)構(gòu)的定義:指數(shù)據(jù)對象及其相關(guān)關(guān)系和構(gòu)造方法。
結(jié)構(gòu)是指結(jié)點之間的關(guān)系,數(shù)據(jù)結(jié)構(gòu)就是在結(jié)點的優(yōu)先集合和關(guān)系的有限集合。
數(shù)據(jù)結(jié)構(gòu)的邏輯結(jié)構(gòu)是指結(jié)點和結(jié)點間的相互關(guān)系。
數(shù)據(jù)結(jié)構(gòu)在計算機的存儲內(nèi)容,一般包括結(jié)點的值和結(jié)點間的關(guān)系,數(shù)據(jù)結(jié)構(gòu)的存儲形式就是數(shù)據(jù)的存儲結(jié)構(gòu)。
數(shù)據(jù)結(jié)構(gòu)按邏輯關(guān)系的不同分為線形結(jié)構(gòu)和非線性結(jié)構(gòu)兩大類,非線性又分為樹形結(jié)構(gòu)和圖結(jié)構(gòu),樹形結(jié)構(gòu)又分為樹結(jié)構(gòu)和二叉樹結(jié)構(gòu)。2 線性表
線性表是最簡單、最常用的一種數(shù)據(jù)結(jié)構(gòu),它是由相同類型的結(jié)點組成的有限序列。線性表最重要的性質(zhì)是線性表中結(jié)點的相對位置是確定的。
線性表常用的運算有4種:查找運算、插入運算、刪除運算和其他運算。
線性表的存儲方式主要有:
1)順序存儲:能直接訪問線性表中的任意一個結(jié)點。2)鏈接存儲:用單鏈表存儲線性表。3 棧和隊列的含義
棧是只允許在同一端進(jìn)行插入和刪除運算的線性表。
隊列是只允許在一端進(jìn)行插入運算,另一端進(jìn)行刪除運算的線性表。4 數(shù)組和字符串的特點 數(shù)組是最常用的數(shù)據(jù)結(jié)構(gòu)之一,一般用于描述順序存儲的線性表。數(shù)組有固定個數(shù)的元素組成,全部元素的類型相同,元素按照順序存儲。每個元素對應(yīng)一個下標(biāo),數(shù)組元素按數(shù)組名和元素的下標(biāo)引用,引用數(shù)組元素的下標(biāo)個數(shù)稱為數(shù)組的維數(shù)。最常用的是二維數(shù)組。5 樹的基本概念、存儲結(jié)構(gòu)和遍歷
樹是一種多分支、多層次的數(shù)據(jù)結(jié)構(gòu),有一組結(jié)點組成。樹是由一個結(jié)點或多個結(jié)點組成的有限集T,滿足以下兩個條件: 1)有一個特定的結(jié)點,稱為根結(jié)點
2)其余的結(jié)點分成m個互不相交的有限集T0等,每個集合都是根結(jié)點的子樹。
樹的定義是遞歸的,即一棵樹是由子樹組成,子樹由更小的子樹構(gòu)成。樹的存儲結(jié)構(gòu):樹是非線性的結(jié)構(gòu),有多種實用的存儲結(jié)構(gòu),最常用的是標(biāo)準(zhǔn)存儲形式和帶逆存儲形式。
樹的遍歷方法有4種:樹的前序遍歷、樹的后序遍歷、樹的層次遍歷、訪問樹中所有的葉子特點。6 二叉樹的基本概念及遍歷
二叉樹是一個有限的結(jié)點集合,該集合或者為空,或者有一個結(jié)點及其兩棵樹不相交的左右二叉子樹組成。
二叉樹的遍歷:前序遍歷,中序遍歷、后序遍歷。7二叉查找樹
查找樹便于鏈接存儲,還能實現(xiàn)快速查找?;蛘邽榭眨蛘邼M足以下3個條件:A 該樹根結(jié)點的左子樹非空,其左子樹所有結(jié)點的鍵值都小于該樹根結(jié)點的鍵值。B該樹根結(jié)點的右子樹非空,其右子樹所有結(jié)點的鍵值都大于該樹根結(jié)點的鍵值C該樹的根結(jié)點的左子樹和右子樹均為查找樹。8 關(guān)于排序與查找,散列表
對于有N個結(jié)點的線性表,將結(jié)點中某些數(shù)據(jù)項的值按遞增或遞減的次序,重新排列線性表結(jié)點的過程,稱為排序。
查找就是在案某種數(shù)據(jù)結(jié)構(gòu)形式存儲的數(shù)據(jù)集合中,找出滿足指定條件的結(jié)點。
散列表又稱雜湊表是一種非常實用的查找技術(shù)。由于查找碼與結(jié)點在數(shù)據(jù)結(jié)構(gòu)中的位置不存在確定關(guān)系,查找只能通過對查找碼與結(jié)點的關(guān)鍵碼的反復(fù)比較來實現(xiàn)。第二章 程序設(shè)計基礎(chǔ)知識 1程序設(shè)計的方法與風(fēng)格
程序設(shè)計的方法主要是結(jié)構(gòu)化程序的設(shè)計,集體有面向數(shù)據(jù)流的方法和面向數(shù)據(jù)結(jié)構(gòu)的方法。數(shù)據(jù)結(jié)構(gòu)既影響程序處理的結(jié)構(gòu)又影響程序處理的過程。
程序設(shè)計風(fēng)格主要是指面向過程的程序設(shè)計和面向?qū)ο蟮某绦蛟O(shè)計。面向過程的程序設(shè)計主要是指根據(jù)事物本身的邏輯過程進(jìn)行編程的一種方法,而面向?qū)ο蟮闹饕菑娬{(diào)程序的功能模塊化,同時引入了繼承、多態(tài)的概念,使程序易于編寫和維護(hù),最適合規(guī)模較大的軟件。2 結(jié)構(gòu)化的程序設(shè)計
結(jié)構(gòu)化的程序(SP)設(shè)計采取自頂向下逐步求精的設(shè)計方法和單入口單出口的控制結(jié)構(gòu)。其設(shè)計方法符合抽象和分解的原則。其控制結(jié)構(gòu)使程序的靜態(tài)結(jié)構(gòu)和動態(tài)結(jié)構(gòu)執(zhí)行過程一致。3面向?qū)ο蟮脑O(shè)計方法及相關(guān)概念
面向?qū)ο蠓椒ㄊ且环N支持模塊化設(shè)計和軟件重用的編程方法。它把程序設(shè)計的主要活動集中在建立對象和對象之間的聯(lián)系上,其基本思想是封裝性和可擴展性。以軟件設(shè)計的對象為基礎(chǔ)。
對象:在計算機系統(tǒng)中,指一組屬性以及這組屬性上的專用操作的封裝體。一個對象通??捎蓪ο竺瑢傩院筒僮?個部分組成。封裝:是一種信息隱蔽技術(shù),用戶只能看見對象封裝界面上的信息,對象的內(nèi)部實現(xiàn)對用戶是隱蔽的。其目的是使對象的使用者和生產(chǎn)者分離,使對象的定義和實現(xiàn)分開。
屬性:對象的特性,是對象外觀及行為的特征。
方法:對象所具有的功能。每一個對象的屬性,只能通過特定的操作來存取或者修改,這種特定的操作就是方法。
繼承:在某個類的層次關(guān)聯(lián)中,不同的類共享屬性和操作的一種機制。一個子類可以只有唯一的一個父親,被稱為單一繼承,一個子類也可以由多個父親,從多個父親中繼承特性,叫多重繼承。
多態(tài)性:指同一個操作作用于不同對象可以有不同的解釋,產(chǎn)生不同的執(zhí)行結(jié)果。
動態(tài)綁定:在運行過程中,當(dāng)一個對象發(fā)送信息請求服務(wù)時,要根據(jù)接收對象的具體情況將請求的操作與實現(xiàn)方法連接。
第三章 軟件工程基礎(chǔ)知識 1軟件生存周期各階段的任務(wù)
軟件生存周期指軟件定義、軟件開發(fā)和軟件維護(hù)等階段組成的全過程。
A定義階段;確定系統(tǒng)的邏輯模型,產(chǎn)生有需求規(guī)格說明書
B開發(fā)階段:軟件設(shè)計、編碼和測試3部分。軟件設(shè)計分為概要設(shè)計和詳細(xì)設(shè)計。編碼是用某種程序語言為每個模塊編寫程序,產(chǎn)生的文檔有程序清單。軟件測試的任務(wù)是發(fā)現(xiàn)軟件中的錯誤加以糾正。C維護(hù)階段:適應(yīng)外界環(huán)境的變化,或擴充其功能,改善其質(zhì)量,產(chǎn)生的文檔有維護(hù)計劃和維護(hù)報告。2 軟件設(shè)計的原則
1)抽象原則;抽象的最低層次就是實現(xiàn)該軟件的源程序代碼。過程抽象和數(shù)據(jù)抽象是常有的兩種抽象手段。2)模塊化原則:
3)信息隱蔽原則:對提高軟件的可修改性、可測試性和可移植性有重要作用。4)模塊獨立的原則 3軟件測試
軟件測試的目的是盡可能多的發(fā)現(xiàn)軟件產(chǎn)品中的錯誤和缺陷。白盒測試主要檢查程序中的邏輯通路
黑盒測試主要檢查程序的功能是否符合規(guī)格說明書的要求。大多的軟件生產(chǎn)者使用Alpha測試和Beta測試,后者的開發(fā)者通常不在場。4軟件開發(fā)工具和環(huán)境 軟件工具是指用來輔助軟件開發(fā)、運行、維護(hù)、管理和支持等過程中活動的軟件。大多包括檢測機制。
軟件開發(fā)環(huán)境則把一組相關(guān)的工具集成在環(huán)境中,提供數(shù)據(jù)集成、控制集成和界面集成等機制。第四章 數(shù)據(jù)庫的基礎(chǔ)知識 1數(shù)據(jù)庫
數(shù)據(jù)庫:是存儲在一起的相關(guān)數(shù)據(jù)的集合,能為各種用戶共享,具有最下冗余度,數(shù)據(jù)間的聯(lián)系密切,由較高的程序與數(shù)據(jù)獨立性。數(shù)據(jù)庫管理系統(tǒng):指位于用戶和操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,為用戶或應(yīng)用程序提供訪問數(shù)據(jù)庫的方法,包括數(shù)據(jù)庫的建立、查詢、更新及各種數(shù)據(jù)控制。它是DBS的核心部分。
數(shù)據(jù)庫系統(tǒng):是實現(xiàn)有組織地,動態(tài)的存儲大量關(guān)聯(lián)數(shù)據(jù),方便多用戶訪問的計算機軟、硬資源組成的系統(tǒng),即采用了數(shù)據(jù)庫技術(shù)的計算機系統(tǒng)。2 數(shù)據(jù)模型
常有的數(shù)據(jù)模型有兩種:一種是獨立于任何計算機系統(tǒng)的模型,完全不涉及信息在計算機系統(tǒng)中的表示,稱為“概念數(shù)據(jù)模型”。最著名的模型是“實體聯(lián)系E-R模型”。另一種數(shù)據(jù)模型直接面向數(shù)據(jù)庫的邏輯數(shù)據(jù)結(jié)構(gòu),被稱為“基本數(shù)據(jù)模型”。
基本數(shù)據(jù)模型主要有層次、網(wǎng)狀、關(guān)系三種模型。層次模型時用樹型結(jié)構(gòu)來表示實體類型及實體間聯(lián)系的數(shù)據(jù)模型。網(wǎng)狀模型用叢結(jié)構(gòu)表示,關(guān)系模型用表格結(jié)構(gòu)表示實體集,用鍵表示實體間的聯(lián)系。網(wǎng)狀模型采用有向圖,層次模型采用樹,關(guān)系模型采用二維表。在搜索數(shù)據(jù)時,層次模型采用單向搜索法,網(wǎng)狀模型采用可從任一結(jié)點開始且沿任何路徑搜索,關(guān)系模型則是通過對關(guān)系進(jìn)行運算實現(xiàn)的。3 關(guān)系代數(shù)
關(guān)系數(shù)據(jù)庫的數(shù)據(jù)與更新操作必須遵循實體完整性規(guī)則、引用完整性原則、用戶定義完整性原則。
關(guān)系代數(shù)是以集合代數(shù)為基礎(chǔ)發(fā)展起來的,以關(guān)系為運算對象的一組高級運算的集合。
關(guān)系代數(shù)的5種基本操作;并、差、笛卡兒積、投影和選擇。關(guān)系代數(shù)的4種組合操作;交、聯(lián)接、自然聯(lián)接和除法。
4在數(shù)據(jù)庫中,用概念模式描述全部數(shù)據(jù)的整體邏輯結(jié)構(gòu),負(fù)責(zé)物理結(jié)構(gòu)與邏輯結(jié)構(gòu)的定義和修改的人員是數(shù)據(jù)庫管理員。數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)定義語言的功能是描述數(shù)據(jù)庫的結(jié)構(gòu),為用戶建立數(shù)據(jù)庫提供手段。在人事管理系統(tǒng)中,規(guī)定工程師的基本工資和獎金不能超過1500元,這樣的數(shù)據(jù)完整性約束條件稱之為用戶定義完整性。在關(guān)系數(shù)據(jù)庫的邏輯設(shè)計階段,需將E-R模型轉(zhuǎn)換為關(guān)系數(shù)據(jù)模型。
第五篇:全國計算機等級考試二級VB考點分析之過程
全國計算機等級考試二級VB考點分析之過程
6.1 Sub過程
考點1 建立Sub過程
通用Sub過程的結(jié)構(gòu)與前面多次見過的事件過程的結(jié)構(gòu)類似。一般格式如下:
[Static][Private][Public]Sub過程名[(參數(shù)列表)] 語句塊
[Exit Sub] [語句塊] End Sub
說明:
(1)Sub過程以Sub開頭,以End Sub結(jié)束,在Sub和End Sub之間是描述過程操作的語句塊,稱為“過程體”或“子程序體”。
(2)End Sub標(biāo)志著Sub過程的結(jié)束。
(3)Sub過程不能嵌套。
考點2 調(diào)用Sub過程
調(diào)用引起過程的執(zhí)行。也就是說,要執(zhí)行一個過程,必須調(diào)用該過程。
Sub過程的調(diào)用有兩種方式:一種是把過程的名字放在一個Call語句中,一種是把過程名作為一個語句來使用。
(1)用Call語句調(diào)用Sub過程。
格式:Call過程名[(實際參數(shù))]。
(2)把過程名作為一個語句來使用。
在調(diào)用Sub過程時,如果省略關(guān)鍵字Call,就成為調(diào)用Sub過程的第2種方式。與
第1種方式相比,它有兩點不同:
(1)去掉關(guān)鍵字Call。
(2)去掉“實際參數(shù)”的括號。考點3 通用過程與事件過程
控件事件過程的一般格式為:
[Private | Public] Sub控件名_事件名(參數(shù)表)語句組
End Sub
窗體事件過程的一般格式為:
[Private][Public] Sub Form_事件名(參數(shù)表)語句組
End Sub
通用過程可以放在標(biāo)準(zhǔn)模塊中,也可以放在窗體模塊中,而事件過程只能放在窗體模塊中,不同模塊k中的過程(包括事件過程和通用過程)可以互相調(diào)用。當(dāng)過程名唯一時,可以直接通過過程名調(diào)用;如果兩個或兩個以上的標(biāo)準(zhǔn)模塊中含有相同的過程名,則在調(diào)用時必須用模塊名限定,其一般格式為:
模塊名.過程名(參數(shù)表)
一般來說,通用過程(包括Sub過程、Function過程)之間、事件過程之間、通用過程與事件過程之間,都可以互相調(diào)用。
6.2 建Function過程
考點4 建立Function過程
Function過程定義的格式如下:
[Static][Private][Public]Function過程名[(參數(shù)表列)][As類型] [語句塊] [過程名=表達(dá)式] [Exit Function] [語句塊] End Function
說明:
(1)Function過程以Function開頭,以End Function結(jié)束,在兩者之間是描述過程操作的語句塊。
(2)調(diào)用Sub過程相當(dāng)于執(zhí)行一個語句,不直接返回值;而調(diào)用Function過程要返回一個值,因此可以像內(nèi)部函數(shù)一樣在表達(dá)式中使用。
考點5 調(diào)用Function過程
Function過程的調(diào)用比較簡單,因為可以像使用Visual Basic內(nèi)部函數(shù)一樣來調(diào)用Function過程。實際上,由于Function過程能返回一個值,因此完全可以把它看成是一個函數(shù),它與內(nèi)部函數(shù)(如Sqr,Str$,Chr$等)沒有什么區(qū)別,只不過內(nèi)部函數(shù)由語句系統(tǒng)提供,而Function過程由用戶自己定義。
6.3 參數(shù)傳送
在Visual Basic中,通常把形式參數(shù)叫做“參數(shù)”,而把實際參數(shù)叫做“自變量”。
考點6 形參與實參
形參是在Sub,F(xiàn)unction過程的定義中出現(xiàn)的變量名,實參則是在調(diào)用Sub或Function過程時傳送給Sub或Function過程的常數(shù)、變量、表達(dá)式或數(shù)組。在Visual Basic中,可以通過兩種方式傳送參數(shù),即按位置傳送和指名傳送。
考點7 引用
Visual Basic中,參數(shù)通過兩種方式傳送,即傳地址和傳值,其中傳地址習(xí)慣上稱為引用。在默認(rèn)情況下,變量(簡單變量、數(shù)組或數(shù)組元素以及記錄)都是通過“引用”傳送給Sub或Function過程的。在這種情況下可以通過改變過程中相應(yīng)的參數(shù)來改變變量成值,這意著,當(dāng)通過引用來傳送實參時,可以改變傳送給過程的變量的值。
考點8 傳值
傳值就是通過值傳送實際參數(shù),即傳送實參的值而不是傳送它的地址。在這種情況下,系統(tǒng)扭需要傳送的變量復(fù)制到一個臨時的單元中,然后把該臨時單元的地址傳送給被調(diào)用的通用過程。由于通過過程沒有訪問變量(實參)的原始地址,因此不會改變原來變量的值,所有的變化都是在變量的副本上進(jìn)行的。
考點9 數(shù)組參數(shù)的傳送
Visual Basic允許把數(shù)組作為實參傳送到過程中。用數(shù)組作為過程的參數(shù)時,應(yīng)在數(shù)組名的后面加上一對括號,以免與普通變量相混淆。除遵循參數(shù)傳送的一般規(guī)則外,還應(yīng)注意以下兩點:
(l)為了把一個數(shù)組的全部元素傳遞給一個過程,應(yīng)將數(shù)組名分別放入實參表和形參表中,并略去數(shù)組的上下界,但括號不能省略。
(2)如果不需要把整個數(shù)組傳遞給通用過程,可以只傳遞指定的單個元素,這需要在數(shù)組名后面的括號中定上指定的元素下標(biāo)。
6.4 可選參數(shù)和可變參數(shù)
Visual Basic 6.0提供了十分靈活和安全的參數(shù)傳送方式,允許使用可選參數(shù)和可變參數(shù)。在調(diào)用一個過程時,可以向過程傳送可選的參數(shù)或者任意數(shù)量的參數(shù)。
考點10 可選參數(shù)
在調(diào)用一個過程時,有時并不是每次都要傳遞所有的參數(shù)。有些參數(shù)的存在是為了提供某項功能,但這項功能不是每次調(diào)用該過程時都需要的或者在調(diào)用這個過程時,某個參數(shù)在絕大部分時間內(nèi)都使用同一個值,對于其他的值只有在特殊的情況下才使用。
使用可選參數(shù)時還應(yīng)注意兩點:
(1)如果某個參數(shù)被指定為可選參數(shù),那么它后面的參數(shù)必須都是可選的。
(2)Optional關(guān)鍵字可以和ByVal關(guān)鍵字一起使用。
考點11 可變參數(shù)
在使用可變參數(shù)時應(yīng)注意以下5點:
(1)ParamArray關(guān)鍵字只能用于參數(shù)列表中的最后一個參數(shù)。
(2)用ParamArray關(guān)鍵字聲明的參數(shù)數(shù)組只能是Variant類型。
(3)ParamArray關(guān)鍵字不能和ByVal關(guān)鍵字,ByRef關(guān)鍵字以及Optional關(guān)鍵字一起使用。
(4)如果使用ParamArray關(guān)鍵字聲明可變個數(shù)參數(shù),那么其他的參數(shù)都不能被聲明為可選的。
(5)用ParamArray關(guān)鍵字聲明的參數(shù)數(shù)組,無論是否使用了Option Basel語句,它的下界總是0。
6.5 對象參數(shù)
考點12 對象參數(shù)
和傳統(tǒng)的程序設(shè)計語言不同,Visual Basic允許用對象作為參數(shù),即窗體或控件作為通用過程的參數(shù)。在有些情況下,這可以簡化程序設(shè)計,提高效率。實際上,在Visual Basic中還可以向過程傳送對象,包括窗體和控件。
對象作為參數(shù)與用其他數(shù)據(jù)類型作為參數(shù)的過程沒有什么區(qū)別,其格式為:
Sub過程名(形式參數(shù)表)語句塊
[Exit Sub] …
End Sub
“形式參數(shù)表”中的形參的類型通常為Control或Form注意,在調(diào)用含有對象的過程時,對象只能通過傳地址方式傳送。因此在定義過程時,不能在其參數(shù)前加關(guān)鍵字ByVal。
6.6 局部內(nèi)存分配
考點13 局部內(nèi)存分配
有時候,在過程結(jié)束時,可能不希望失去保存在局部變量中的值。如果把變量聲明為全局變量或模塊級變量,則可解決這個問題。但如果聲明的變量只在一個過程中使用,則這種方法并不好。為此,Visual Basic提供了一個Static語句,其格式為:
Static變量表
其中“變量表”的格式如下:
變量[()][As類型][,變量[()][As類型]]…
可以看出,Static語句的格式與Dim語句完全一樣,但Static語句只能出現(xiàn)在事件過程、Sub過程或Function過程中。在過程中的Static變量只有局部的作用域,即只在本過程中可見,但可以和模塊級變量一樣,即使過程結(jié)束后,其值仍能保留。
在程序設(shè)計過程中,Static語句常用于以下兩種情況:
(1)記錄一個事件被觸發(fā)的次數(shù),即程序運行時事件發(fā)生的次數(shù)。
(2)用于開關(guān)切換,即原來為開,將其改為關(guān),反之亦然。
6.7 Shell函數(shù)
考點14 shell函數(shù)
在Visual Basic中不但可以調(diào)用通用過程,而且可以調(diào)用各種應(yīng)用程序。也就是說,凡是能在Windows下運行的應(yīng)用程序,基本上都可以在Visual Basic中調(diào)用。這一功能通過Shell函數(shù)來實現(xiàn)。
Shell函數(shù)的格式如下:
Shell(命令字符串[,窗口類型])
其中“命令字符串”是要執(zhí)行的應(yīng)用程序的文件名(包括路徑),它必須是可執(zhí)行文件,其擴展名為.COM,.EXE,.BAT或.PIF,其他文件不能用Shell函數(shù)執(zhí)行。