vb期末考試復(fù)習(xí)(經(jīng)典總結(jié)版)_第1頁
vb期末考試復(fù)習(xí)(經(jīng)典總結(jié)版)_第2頁
vb期末考試復(fù)習(xí)(經(jīng)典總結(jié)版)_第3頁
vb期末考試復(fù)習(xí)(經(jīng)典總結(jié)版)_第4頁
vb期末考試復(fù)習(xí)(經(jīng)典總結(jié)版)_第5頁
已閱讀5頁,還剩79頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、第一章 VISUAL BASIC的特點與版本例1 與傳統(tǒng)的程序設(shè)計語言相比,Visual Basic最突出的特點是A結(jié)構(gòu)化程序設(shè)計 B程序開發(fā)環(huán)境C程序調(diào)試技術(shù) D事件驅(qū)動編程機制 【分析】 傳統(tǒng)的程序設(shè)計語言是面向過程的,但一般都可以實現(xiàn)結(jié)構(gòu)化程序設(shè)計,有的也提供了較完善的集成開發(fā)環(huán)境和程序調(diào)試技術(shù),但它們基本上都沒有事件驅(qū)動編程機制。與這些語言相比,Visual Basic最突出的特點就是事件驅(qū)動編程機制?!敬鸢浮?D 例2下列成員中不屬于主窗口的是A最大化按鈕 B狀態(tài)欄 C系統(tǒng)菜單 D工具欄【分析】 主窗口由標(biāo)題欄、菜單欄和工具欄構(gòu)成,其中標(biāo)題欄上有系統(tǒng)菜單(左端)以及最小化、最大化和關(guān)

2、閉按鈕。因此,最大化按鈕、系統(tǒng)菜單和工具欄都是主窗口中的成員,而主窗口中沒有狀態(tài)欄。【答案】 B 例3在屬性窗口中,屬性列表可以按兩種順序排列,這兩種順序是_和_。 【分析】 為了便于查找,屬性窗口對當(dāng)前對象的屬性提供了兩種排列方式,一種是按字母表順序,另一種是按屬性的分類順序?!敬鸢浮?按字母序 或按分類序 按分類序 或按字母序 例4 Visual Basic 60的集成開發(fā)環(huán)境有兩種方式,第一種方式是_,第二種方式是_?!痉治觥?在默認(rèn)情況下,Visual Basic 60集成開發(fā)環(huán)境為多文檔界面方式,即MDI方式,在這種方式下,窗體設(shè)計器窗口是固定的。使用“工具”菜單中的“選項”命令,可

3、以把集成開發(fā)環(huán)境設(shè)置為單文檔界面方式,即SDI方式,在這種方式下,窗體設(shè)計器窗口是浮動的?!敬鸢浮?多文檔界面 或 MDI 單文檔界面 或 SDI 第二章 對象及其操作例1為了通過屬性窗口把窗體的ControlBox屬性設(shè)置為True(或False),下列正確的操作是A直接鍵入True(或False)B利用對話框設(shè)置屬性值C選擇ControlBox,然后按回車鍵D雙擊ControlBox屬性條 【分析】 ControlBox屬性是一個邏輯值,其取值只有兩種,即True和False,一般可以通過選擇輸入,即單擊屬性條右端的箭頭,下拉顯示屬性值True和False,從中選擇所需要的值。在上面給出的

4、答案中,前三個答案都不能實現(xiàn)所要求的操作,只有答案D才能實現(xiàn)。實際上,對于只有兩種可能取值(True或False、0或1)的屬性,都可以通過雙擊屬性條設(shè)置?!敬鸢浮?D 例2下列語句用來設(shè)置窗體Form1的屬性,其中在運行時不能正確操作的語句是A Form1.Captin = Form Test B Form1.Name = FormTestC Form1.MaxButton = False D Form1.MinButton = False【分析】 這4個語句用來在運行時設(shè)置窗體的屬性。其中Form1.Captin=Form Test用來設(shè)置窗體的標(biāo)題,F(xiàn)orm1.Name=FormTest

5、用來設(shè)置窗體的名稱,F(xiàn)orm1.MaxButton=False用來隱藏窗體的最大化按鈕,F(xiàn)orm1.MinButton=False用來隱藏窗體的最小化按鈕。從語法格式上來看,似乎沒有什么問題,在輸入時也不會產(chǎn)生錯誤。但是,窗體的Name屬性是一個“只讀”屬性,在運行時不能改變,因此,程序運行后,當(dāng)執(zhí)行到Form1.Name=FormTest語句時將會出錯。【答案】 B 例3下列不能打開屬性窗口的操作是A執(zhí)行“視圖”菜單中的“屬性窗口”命令B按F4鍵C按Ctrl+T鍵D單擊工具欄上的“屬性窗口”按鈕【分析】 在上面選擇中,Ctrl+T鍵用來執(zhí)行“工程”菜單中的“部件”命令,打開的是“部件”窗口,

6、不是屬性窗口,其他3個選項都可以打開屬性窗口?!敬鸢浮?C 例4為了對多個控件執(zhí)行操作,必須選擇這些控件。下列不能選擇多個控件的操作是A按住Alt鍵,不要松開,然后單擊每個要選擇的控件B按住Shift鍵,不要松開,然后單擊每個要選擇的控件C按住Ctrl鍵,不要松開,然后單擊每個要選擇的控件D拖動鼠標(biāo)畫出一個虛線矩形,使所選擇的控件位于這個矩形內(nèi)【分析】 教程中介紹了選擇控件的兩種方法,即按住Shift鍵單擊每個要選擇的控件和拖動鼠標(biāo)畫虛線矩形。除這兩種方法外,按住Ctrl鍵單擊每個要選擇的控件也可實現(xiàn)選擇控件的操作,但按住Alt鍵單擊每個要選擇的控件不能達(dá)到目的?!敬鸢浮?A 例5為了在運行時

7、把窗體Form1的標(biāo)題(Caption屬性)設(shè)置為“Test Program”,應(yīng)使用的語句為_。【分析】 窗體的Caption屬性用來設(shè)置窗體的標(biāo)題,一般格式為:窗體Caption=字符串其中的“窗體”可以是Form1,可以省略,也可以是關(guān)鍵字Me:而“字符串”就是要設(shè)置的窗體的標(biāo)題。因此,本題有幾種不同的答案。【答案】 Form1.Caption = Test Program或 Me.Caption = Test Program或 Caption = Test Program 例6當(dāng)選擇了多個控件后,其中有一個控件是“基準(zhǔn)控件”,設(shè)置“基準(zhǔn)控件”的方法是【分析】 在一般情況下,如果選擇了窗

8、體上的多個控件,則其中有一個控件自動成為“基準(zhǔn)控件”。選擇方法不同,“自動基準(zhǔn)控件”也不一樣。如果按住Ctrl或Shift鍵選擇多個控件,則最后單擊的控件為“基準(zhǔn)控件”;如果用拖動鼠標(biāo)的方法選擇控件,則最后畫到窗體上的控件是“基準(zhǔn)控件”。如果想用其他某個控件作為“基準(zhǔn)控件”,可以在選擇多個控件后,單擊該控件?!敬鸢浮?選擇多個控件后,單擊其中的某個控件,即可把該控件設(shè)置為“基準(zhǔn)控件”。第三章 VB程序設(shè)計基礎(chǔ)例1 在設(shè)計階段,當(dāng)雙擊窗體上的某個控件時,所打開的窗口是A工程資源管理器窗口 B工具箱窗口C代碼窗口 D屬性窗口 【分析】 Visual Basic集成開發(fā)環(huán)境下的窗口(包括代碼窗口)基

9、本上都可以通過執(zhí)行“視圖”菜單中相應(yīng)的菜單命令打開。在設(shè)計階段,如果單擊窗體上的某個控件,則只能打開代碼窗口。【答案】 C 例2下列打開“代碼窗口”的操作中不正確的是A按F4鍵B單擊“工程資源管理器”窗口中“查看代碼”按鈕C雙擊已建立好的控件D執(zhí)行“視圖”菜單中“代碼窗口”命令【分析】 在所給出的選擇中,按F4鍵可以打開屬性窗口,不可能用來打開代碼窗口,而其他3個選項都可以用來打開代碼窗口。【答案】 A 例3下列正確的Visual Basic注釋語句是ADim a(10)As Integer Rem這是一個VB程序B這是一個VB程序Private Sub Command1_Click() Ca

10、=1:b=2:Rem這是一個VB程序:c=3D If Shift = 6 And Button = 2 ThenPrint BBBB Rem 這是一個VB程序End If【分析】 在使用注釋語句時,有以下“禁忌”:當(dāng)注釋出現(xiàn)在一個語句行的后面時,只能用撇號作為注釋符,不能使用Rem;在復(fù)合語句行中,注釋必須是最后一個語句,不能放在復(fù)合語句行中;注釋語句不能放在續(xù)行符的后面。在所給出的選擇中,A、C、D都是不正確的。【答案】 B例4為了建立窗體的Click事件過程,即Form_Click,應(yīng)先在代碼窗口的_欄中選擇Form,然后在_欄中選擇Click?!痉治觥?代碼窗口的頂部(標(biāo)題欄的下面)分為

11、左右兩欄,左邊一欄是“對象”欄,右邊一欄是“過程”欄。在“對象”欄的下拉列表中可以選擇窗體或控件的名稱,在“過程”欄中可以選擇事件的名稱。因此,為了建立事件過程Form_Click,應(yīng)在“對象”欄中選擇Form,然后在“過程”欄中選擇Click。【答案】 第一個空:“對象” 或 對象 第二個空:“過程” 或 過程 例5假定窗體的名稱為Form1,對該窗體編寫如下代碼:Private Sub Form_Load()Form1.Caption = AAAAAMe.Caption= BBBBBCaption = CCCCCEnd Sub程序運行后,窗體的標(biāo)題是_?!痉治觥?Form Load是程序運

12、行后首先要執(zhí)行的事件過程。在上面的事件過程中,有3個賦值語句,這3個語句都用來對對象賦值,即對對象的Caption屬性賦值,它們都可以設(shè)置窗體的標(biāo)題。第一個語句把窗體的標(biāo)題設(shè)置為“AAAAA”,執(zhí)行第二個語句后,窗體的標(biāo)題變?yōu)椤癇BBBB”,而執(zhí)行第三個語句后,窗體的標(biāo)題變?yōu)椤癈CCCC”?!敬鸢浮?CCCCC 例6 編寫程序,用來設(shè)置窗體的位置和大小。要求:程序運行后,窗體的初始位置為(3000,3000),其初始寬度和高度均為5 000;單擊一次窗體后,窗體位置的X坐標(biāo)和Y坐標(biāo)各減少一半,其寬度和高度均減少到原來的一半。【分析】 窗體的位置由Top屬性和Left屬性來設(shè)置,寬度和高度分別由

13、Width屬性和Height屬性來設(shè)置。窗體的初始屬性可以通過屬性窗口設(shè)置,也可以在Form_Load事件過程中設(shè)置;而單擊窗體后的屬性可以在Form_Click事件過程中設(shè)置。程序如下:Private Sub Form_Load()Top = 3000Left = 3000Width = 5000Height = 5000End SubPrivate Sub Form_Click()Form1.Top = Form1.Top / 2Form1.Left = Form1.Left / 2Form1.Width = Form1.Width / 2Form1.Height = Form1.Heig

14、ht / 2End Sub窗體的初始位置和大小在Form_Load事件過程中設(shè)置,程序運行后,顯示窗體的初始位置和大小。單擊一次窗體后,其位置的X坐標(biāo)、Y坐標(biāo)及窗體的寬度、高度均減少到原來的一半。此后如果再單擊一次窗體,則仍減少一半。如果把Form_Click事件過程改為:Private Sub, Form_Click()Form1.Top = 1500Form1.Left = 1500Form1.Width = 2500Form1.Height = 2500End Sub則程序運行后,無論單擊多少次窗體,窗體的位置和大小都是原來的一半。該程序用到了窗體的4個屬性,即Top、Left、Widt

15、h和Height。在設(shè)置這幾個屬性時,窗體名稱(Form1)可以有,也可以沒有,也可以換成關(guān)鍵字Me。 例7 在Visual Basic中,下列優(yōu)先級最高的運算符是A* B C DNot【分析】 Visual Basic提供了3類運算符,即算術(shù)運算符、關(guān)系運算符和邏輯運算符。在3類運算符中,算術(shù)運算的優(yōu)先級最高,其次是關(guān)系運算,最后是邏輯運算。在該例中,C和D分別為關(guān)系運算符和邏輯運算符,A和B是算術(shù)運算符,A和B的優(yōu)先級比C和D高。而對于A和B來說,乘法(*)的優(yōu)先級比整除()的優(yōu)先級高。因此,優(yōu)先級最高的應(yīng)當(dāng)是乘法運算符(*)?!敬鸢浮?A 例8以下關(guān)系表達(dá)式中,其值為False的是A X

16、YZ XYzB VisualBasic = visualbasicC the thereD Integer Int【分析】 該例通過關(guān)系表達(dá)式對字符串進行比較。在Visual Basic中,字符串?dāng)?shù)據(jù)按其ASCII碼值進行比較。在比較兩個字符串時,首先比較兩個字符串的第一個字符,其中ASCII碼值較大的字符所在的字符串大。如果第一個字符相同,則比較第二個依次類推。在該例的4個選擇中,A、C、D的值均為True;B中的兩個字符串基本相同,但第一個字符串的第一個字母是大寫字母,而第二個字符串的第一個字母是小寫字母,第一個字符串小于第二個字符串,即兩個字符串不相等,因此VisualBasic=vis

17、ualbasic的值為假,即False?!敬鸢浮?B 例9下列正確的Visual Basic注釋語句是ADim a(10)As Integer Rem這是一個VB程序B這是一個VB程序Private Sub Command1_Click() Ca=1:b=2:Rem這是一個VB程序:c=3D If Shift = 6 And Button = 2 ThenPrint BBBB Rem 這是一個VB程序End If【分析】 在使用注釋語句時,有以下“禁忌”:當(dāng)注釋出現(xiàn)在一個語句行的后面時,只能用撇號作為注釋符,不能使用Rem;在復(fù)合語句行中,注釋必須是最后一個語句,不能放在復(fù)合語句行中;注釋語句

18、不能放在續(xù)行符的后面。在所給出的選擇中,A、C、D都是不正確的。【答案】 B例10為了建立窗體的Click事件過程,即Form_Click,應(yīng)先在代碼窗口的_欄中選擇Form,然后在_欄中選擇Click。【分析】 代碼窗口的頂部(標(biāo)題欄的下面)分為左右兩欄,左邊一欄是“對象”欄,右邊一欄是“過程”欄。在“對象”欄的下拉列表中可以選擇窗體或控件的名稱,在“過程”欄中可以選擇事件的名稱。因此,為了建立事件過程Form_Click,應(yīng)在“對象”欄中選擇Form,然后在“過程”欄中選擇Click?!敬鸢浮?第一個空:“對象” 或 對象 第二個空:“過程” 或 過程 例11假定窗體的名稱為Form1,對

19、該窗體編寫如下代碼:Private Sub Form_Load()Form1.Caption = AAAAAMe.Caption= BBBBBCaption = CCCCCEnd Sub程序運行后,窗體的標(biāo)題是_?!痉治觥?Form Load是程序運行后首先要執(zhí)行的事件過程。在上面的事件過程中,有3個賦值語句,這3個語句都用來對對象賦值,即對對象的Caption屬性賦值,它們都可以設(shè)置窗體的標(biāo)題。第一個語句把窗體的標(biāo)題設(shè)置為“AAAAA”,執(zhí)行第二個語句后,窗體的標(biāo)題變?yōu)椤癇BBBB”,而執(zhí)行第三個語句后,窗體的標(biāo)題變?yōu)椤癈CCCC”?!敬鸢浮?CCCCC例12 編寫程序,用來設(shè)置窗體的位置和

20、大小。要求:程序運行后,窗體的初始位置為(3000,3000),其初始寬度和高度均為5 000;單擊一次窗體后,窗體位置的X坐標(biāo)和Y坐標(biāo)各減少一半,其寬度和高度均減少到原來的一半?!痉治觥?窗體的位置由Top屬性和Left屬性來設(shè)置,寬度和高度分別由Width屬性和Height屬性來設(shè)置。窗體的初始屬性可以通過屬性窗口設(shè)置,也可以在Form_Load事件過程中設(shè)置;而單擊窗體后的屬性可以在Form_Click事件過程中設(shè)置。程序如下:Private Sub Form_Load()Top = 3000Left = 3000Width = 5000Height = 5000End SubPriva

21、te Sub Form_Click()Form1.Top = Form1.Top / 2Form1.Left = Form1.Left / 2Form1.Width = Form1.Width / 2Form1.Height = Form1.Height / 2End Sub窗體的初始位置和大小在Form_Load事件過程中設(shè)置,程序運行后,顯示窗體的初始位置和大小。單擊一次窗體后,其位置的X坐標(biāo)、Y坐標(biāo)及窗體的寬度、高度均減少到原來的一半。此后如果再單擊一次窗體,則仍減少一半。如果把Form_Click事件過程改為:Private Sub, Form_Click()Form1.Top = 1

22、500Form1.Left = 1500Form1.Width = 2500Form1.Height = 2500End Sub則程序運行后,無論單擊多少次窗體,窗體的位置和大小都是原來的一半。該程序用到了窗體的4個屬性,即Top、Left、Width和Height。在設(shè)置這幾個屬性時,窗體名稱(Form1)可以有,也可以沒有,也可以換成關(guān)鍵字Me。 第四章 數(shù)據(jù)的輸入與輸出例題分析例1 在窗體上畫一個命令按鈕(名稱為Command1),然后編寫如下事件過程:Private Sub Command1_Click()a=4b=5c=6Print a = b + cEnd Sub程序運行后,單擊命

23、令按鈕,其結(jié)果為Aa=11 Ba=b+c CFalse D出錯 【分析】Print方法具有計算和輸出兩種功能。當(dāng)Print的輸出項是表達(dá)式時,將先計算表達(dá)式,然后輸出表達(dá)式的值。所計算和輸出的表達(dá)式可以是算術(shù)表達(dá)式,也可以關(guān)系表達(dá)式或邏輯表達(dá)式。該例中的a=b+c是一個關(guān)系表達(dá)式,其中a的值為4,b+c的值是11,Print a=b+c實際上執(zhí)行的是 Print 4=11,顯然是一個“假”值。【答案】 C注意,有人可能會認(rèn)為本例的答案應(yīng)當(dāng)為D,這是不對的。例2下列不正確的語句是A Print a = 10 + 20B Print a =; 10 + 20C Print a = 10 + 20

24、D Print a =; 10 + 20 【分析】Print方法的輸出項是一個表達(dá)式,包括算術(shù)表達(dá)式(字符串表達(dá)式)、關(guān)系表達(dá)式和邏輯表達(dá)式。在所給出的選擇中,A是用Print方法輸出一個關(guān)系表達(dá)式的值,比較兩個算術(shù)表達(dá)式的值是否相等;B是用Print輸出一個字符串和一個算術(shù)表達(dá)式的值,其中字符串照原樣輸出,然后計算并輸出算術(shù)表達(dá)式的值;C是用Print方法輸出一個關(guān)系表達(dá)式的值,比較兩個字符串是否相等,這幾個語句都是正確的,可以輸出正確的結(jié)果,而D會產(chǎn)生語法錯誤?!敬鸢浮?D例3在窗體上畫一個命令按鈕,然后編寫如下代碼:Private Sub Command1_Click()a&=Input

25、Box(請輸入第一個數(shù))b&=InputBox(請輸入第二個數(shù))Print b&+ a&End Sub 程序運行后,單擊命令按鈕,在兩個輸入對話框中先后輸入12345和54321,程序的輸出結(jié)果是A66666 B54321 12345C1234554321 D出錯【分析】 InputBox函數(shù)的返回值是一個字符串,但由于a和b通過類型說明符被顯式地定義為長整型變量,因而在執(zhí)行InputBox函數(shù)后,所返回的字符串值被轉(zhuǎn)換為長整型值,它實際上相當(dāng)于執(zhí)行一次類型轉(zhuǎn)換,即:a&=CLng(InputBox(請輸入第一個數(shù))b&=CLng(InputBox(請輸入第二個數(shù))這樣,當(dāng)執(zhí)行Print方法時

26、,將計算并輸出算術(shù)表達(dá)式b&+a&的值?!敬鸢浮?A例4假定程序中有如下語句:answer=MsgBox(第一個字符串,vbAbortRetryIgnore_Or vbCritical_Or vbDefaultButton3,_第二個字符串)執(zhí)行該語句后,將顯示一個信息框,此時如果按回車鍵,則answer的值為A第二個字符串” B5 C3 D7【分析】 MsgBox函數(shù)的返回值是一個整數(shù),這個整數(shù)與所選擇的按鈕有關(guān)。本例的第二個參數(shù)由三部分組成,其中vbAbortRetryIgnore用來在信息框中顯示3個按鈕,分別為“終止”、“重試”和“忽略”;vbCritical用來在信息框中顯示Crit

27、ical Message圖標(biāo);而vbDefaultButton3把信息框的第三個按鈕(即“忽略”)指定為默認(rèn)按鈕。執(zhí)行該語句后,在信息框中顯示3個按鈕,并把第三個按鈕作為默認(rèn)按鈕,此時如果按回車鍵,則返回值是該按鈕所對應(yīng)的值。由于“忽略”按鈕對應(yīng)的值是5,因此變量answer的值為5?!敬鸢浮?B例5執(zhí)行下列語句后,顯示輸入對話框,此時如果單擊“確定”按鈕,則變量strinput的內(nèi)容是_。strinput=InputBox(“請輸入字符串”,“字符串對話框”,“字符串”) 【分析】 在執(zhí)行InputBox函數(shù)時,會產(chǎn)生一個輸入對話框,該函數(shù)有7個參數(shù),前三個參數(shù)都是字符串。其中第一個參數(shù)用來

28、在輸入對話框內(nèi)顯示一個提示用戶輸入的字符串,第二個參數(shù)是對話框的標(biāo)題,第三個參數(shù)是輸入的默認(rèn)信息。也就是說,在執(zhí)行InputBox函數(shù)后,如果用戶沒有輸入任何信息,則可用此默認(rèn)字符串作為輸入值。如果不想用這個默認(rèn)字符串作為輸入值,則可在輸入?yún)^(qū)直接鍵入數(shù)據(jù),以取代默認(rèn)值。在該例中,顯示對話框后直接單擊“確定”按鈕,因此第三個參數(shù)就是默認(rèn)的輸入值?!敬鸢浮?字符串例6閱讀程序:Private Sub Form_Click()msg1$=繼續(xù)嗎?msg2$=操作對話框r=MsgBox(msg1$,vbYesNo OrvbDefaultButton2,msg2$)End Sub程序運行后,單擊窗體,將

29、產(chǎn)生一個信息框。此時如果直接按回車鍵,則相當(dāng)于用鼠標(biāo)單擊信息框中的_ 按鈕。 【分析】 本例用MsgBox函數(shù)產(chǎn)生信息框,該函數(shù)的第一個參數(shù)在信息框內(nèi)顯示,第二個參數(shù)分為兩部分,其中前一部分(即vbYesNo)用來在信息框中產(chǎn)生兩個按鈕,分別為“是”和“否”,后一部分(即vbDefaultButton2)把第二個按鈕(即“否”)設(shè)置為默認(rèn)按鈕;第三個參數(shù)是信息框的標(biāo)題。程序運行后,單擊窗體,所產(chǎn)生的信息框的標(biāo)題為“操作對話框”,在信息框內(nèi)顯示的內(nèi)容是“繼續(xù)嗎?”,兩個按鈕分別是“是”和“否”,其中“否”是默認(rèn)按鈕。此時如果按回車鍵,則與單擊“否”按鈕效果相同?!敬鸢浮?“否” 或第二個例7設(shè)有

30、如下程序:Private Sub Form_Click()a = 32548.56Print Format(Int(a * 10 + 0.5)/10,000,000.00)End Sub程序運行后,單擊窗體,輸出結(jié)果是_?!痉治觥?本例用Format函數(shù)對數(shù)值進行格式化輸出,要輸出的數(shù)值存放在變量a中。Format函數(shù)的第一個參數(shù)對變量a進行了舍入處理,保留一位小數(shù),第二位小數(shù)四舍五入,其值為32548.6。Format函數(shù)的第二個參數(shù)是格式說明符,使用的說明符有“0”和“,”,保留兩位小數(shù),該函數(shù)的返回值為032,548.60。【答案】032,548.60例8編寫程序,計算圓的面積?!痉治觥?/p>

31、 圓面積的計算公式為:S=r2其中r是要計算面積的圓的半徑,程序運行后從鍵盤上輸入。程序如下:Private Sub Form_Click()Const PI = 3.14159Dim r As Single, S As Singler=InputBox(請輸入圓的半徑,輸入數(shù)據(jù),50)S=PI*r*rPrintS=;Format(S,#,#.#)End Sub程序運行后,單擊窗體,將顯示一個輸入對話框,在該對話框中輸入圓的半徑(默認(rèn)為50),然后單擊確定按鈕或按回車鍵,即可在窗體上輸出圓的面積。假定在對話框中輸入35,則單擊“確定”按鈕后,輸出結(jié)果為:S=3,848.45。例9從鍵盤上輸入小

32、時、分和秒,把它轉(zhuǎn)換為秒數(shù)并輸出?!痉治觥?1小時等于60分,1分鐘等于60秒。把小時數(shù)乘以60*60,把分鐘數(shù)乘以60,再加上秒數(shù),就等于總秒數(shù)。設(shè)小時數(shù)為H,分鐘數(shù)為M,秒數(shù)為S,則H小時、M分、S秒的總秒數(shù)SS為:SS=H*60*60+M*60+S程序如下:Private Sub Form_Click()H=InputBox(請輸入小時,小時)H=Val(H)M=InputBox(請輸入分,分)M=Val(M)S=InputBox(請輸入秒,秒)S=Val(S)SS=S+M*60+H*60*60PrintH;小時;M;分;S;秒=;SS;秒End Sub程序運行后,單擊窗體,將先后顯示3

33、個輸入對話框,要求輸入小時、分和秒。假定分別輸入5、45和25,則輸出結(jié)果為:5小時45分25秒=20725秒第五章 常用標(biāo)準(zhǔn)控件例題例1 在窗體上畫兩個文本框(其名稱分別為Text1和Text2)和一個命令按鈕(其名稱為Command1),然后編寫如下兩個事件過程:Private Sub Command1_Click()Text1.Text = Computer Rank ExaminationEnd SubPrivate Sub Text1_Change()Text2.Text = UCase(Text 1.Text)End Sub程序運行后,單擊命令按鈕,則在Text2文本框中顯示的內(nèi)容

34、是A Computer Rank ExaminationB computer rank examinationC COMPUTER RANK EXAMINATIOND空字符串【分析】 該例有兩個事件過程,一個是命令按鈕的Click事件過程,一個是文本框的Text1的Change事件過程,當(dāng)單擊命令按鈕時,執(zhí)行前一個事件過程,而當(dāng)在文本框Text1中輸入信息時,將執(zhí)行該文本框的Change事件過程。在命令按鈕事件過程中,為文本框Text1的Text屬性賦值,即在該文本框中顯示字符串“Computer Rank Examination”,在這種情況下,將觸發(fā)Text1文本框的Change事件,把文

35、本框Text1中的所有字母轉(zhuǎn)換為大寫字母,并在文本框Text2中顯示出來。程序運行后,如果單擊命令按鈕,則將先后觸發(fā)命令按鈕的Click事件和文本框Text1的Change事件,分別在兩個文本框中顯示由兩個事件過程所指定的內(nèi)容。【答案】 C例2在窗體上畫一個名稱為List1的列表框,一個名稱為Labell的標(biāo)簽。列表框中顯示若干城市的名稱。當(dāng)單擊列表框中的某個城市名時,在標(biāo)簽中顯示選中城市的名稱。下列能正確實現(xiàn)上述功能的程序是APrivate Sub List1_ Click() Label1 .Caption = List1.ListIndex End SubBPrivate Sub Lis

36、t1_ Click() Label1.Name = List1. ListIndex End SubCPrivate Sub List1_Click() Label 1.Name = List1.Text End SubDPrivate Sub List1_Click() Labe1 1.Caption = List1.Text End Sub【分析】 所給出的4個選擇都是列表框的Click事件過程。當(dāng)單擊列表框中的某一項時,將發(fā)生單擊事件,同時選擇一個列表項,這個列表項可以用列表框的Text屬性來表示。也就是說,List1Text就是所選擇的項目。此外,為了在標(biāo)簽中顯示所選擇的列表項,必須使

37、用列表框的標(biāo)題屬性,即Label1.Caption。因此,正確的語句應(yīng)當(dāng)是:Label1.Caption=List1.Text在Visual Basic中,不能在運行期間改變控件或窗體的名稱(Name屬性),因此B和C兩個選擇都是錯誤的;而列表框的ListIndex屬性是所選擇的列表項的位置,即列表項的標(biāo)題,不是列表項本身。【答案】 D例3在窗體上畫一個文本框、一個標(biāo)簽和一個命令按鈕,其名稱分別為Text1、Label1和Command1,然后編寫如下兩個事件過程:Private Sub Command1_Click()a=InputBox(請輸入一個字符串)Text1.Text = aEnd

38、 SubPrivate Sub Text1_Change()Label1.Caption = UCase(Mid(Text1.Text, 8)End Sub程序運行后,單擊命令按鈕,將顯示一個輸入對話框,如果在該對話框中輸入字符串“VisualBasic”,則在標(biāo)簽中顯示的內(nèi)容是Avisual basic BVISUAL BASICCbasic DBASIC分析】 該例包括兩個事件過程,其中命令按鈕事件過程通過輸入對話框來輸入一個字符串,并把這個字符串賦給文本框。而當(dāng)改變文本框的內(nèi)容時,將觸發(fā)文本框的Change事件。因此,在把輸入的字符串賦給文本框時,將執(zhí)行文本框的Change事件過程,對標(biāo)

39、簽的Caption屬性賦值,該值是:首先取出文本框中第八個字符之后的全部字符,然后把它們轉(zhuǎn)換為大寫字母。由于文本框中的字符串為“Visual Basic”,第八個字符為“B”,它之后的字符為“Basic”,執(zhí)行Ucase函數(shù)后,轉(zhuǎn)換為大寫,即“BASIC”?!敬鸢浮?D例4在窗體上畫兩個文本框(名稱分別為Text1和Text2)和一個命令按鈕(名稱為Command1),然后編寫如下事件過程:Private Sub Command1 Click()Text1.Text=InputBox(請輸入身高)Text2.Text=InputBox(請輸入體重)End Sub程序運行后,如果單擊命令按鈕,將

40、先后顯示兩個輸入對話框,在兩個輸入對話框中分別輸入1.78和75,則兩個文本框中顯示的內(nèi)容分別為_和_。【分析】 在一般情況下,通過InputBox函數(shù)輸入的數(shù)據(jù)被賦給一個變量。在本例中,沒有使用變量,而是直接把輸入對話框中的值賦給文本框的Text屬性。因此,第一個文本框接收的是身高,第二個文本框接收的是體重。【答案】 1.78 75 例5為了在運行時把“d:pic”文件夾下的圖形文件a.jpg裝入圖片框Picture1,所使用的語句為_。分析】 在運行期間,可以用LoadPicture函數(shù)把指定的圖形文件裝入窗體、圖片框或圖像框,它實際上是把圖形文件賦給對象的Picture屬性。一般格式為:

41、對象.Picture=LoadPicture(“文件名”)其中的“文件名”可以是多種格式的圖形文件,包括.bmp、.ico、.wmf、.emf、.jpg、.gif等,提供的“文件名”可以含有路徑。對于本例來說,“文件名”(包括路徑)是:d:pica.jpg,“對象”是Picture1。【答案】Picture 1.Picture=LoadPicture(d:pica.jpg)例6在窗體上畫一個列表框、一個命令按鈕和一個標(biāo)簽。程序運行后,在列表框中選擇一個項目,然后單擊命令按鈕,即可將所選擇的項目刪除,并在標(biāo)簽中顯示列表框當(dāng)前的項目數(shù),運行情況如圖6-1所示。下面是實現(xiàn)上述功能的程序,請?zhí)羁?。Pr

42、ivate Sub Form_Load()List1.AddItem AAAAAList1.AddItem BBBBBList1.AddItem CCCCCList1 .AddItem DDDDDEnd SubPrivate Sub Command1_Click()Dim L As IntegerL=_If ind = 0 ThenList1.RemoveItem_Label1.Caption = _ElseMsgBox請選擇要刪除的項目End IfEnd Sub【分析】 本例提供的程序包括兩個事件過程,其中Form Load事件過程用來向列表框中添加項目,而Command1 Click事件過

43、程刪除列表框中被選擇的項目,并在標(biāo)簽中顯示列表框當(dāng)前的項目數(shù),需要填空的代碼在這個事件過程中。為了刪除列表框中指定的項目,可以使用RemoveItem方法,其格式為:列表框.RemoveItem索引值其中的“索引值”是項目的地址,列表框中的項目從0開始計數(shù),被選擇的項目的索引值就是列表框的ListIndex屬性。為了刪除列表框中被選擇的項目,必須先確定該項目的索引值,即列表框的ListIndex屬性,然后就可以用RemoveItem方法將其刪除。本題中的第一個空是被選擇的項目的索引值,應(yīng)為List1.ListIndex,并把它賦給變量L。第二個空是RemoveItem方法的參數(shù),即“索引值”,

44、由于該值已保存在變量L中,因此應(yīng)填入L。第三個空是列表框中當(dāng)前的項目數(shù),它就是列表框的ListCount屬性?!敬鸢浮縇ist1.ListIndexLList 1.ListCount例7在窗體上畫一個圖片框、一個垂直滾動條和一個命令按鈕(標(biāo)題為“設(shè)置屬性”),通過屬性窗口在圖片框中裝入一個圖形,圖片框的寬度與圖形的寬度相同,圖片框的高度任意。編寫適當(dāng)?shù)氖录^程。程序運行后,如果單擊命令按鈕,則設(shè)置垂直滾動條的屬性如下:Min 100Max 2400LargeChange 200SmallChange 20之后就可以通過移動滾動條上的滾動框來放大或縮小圖片框。【分析】 本例要求程序?qū)崿F(xiàn)兩個方面的

45、功能,其一是當(dāng)單擊命令按鈕時設(shè)置滾動條的幾個屬性;其二是當(dāng)移動滾動條的滾動框時擴大或縮小圖片框的高度。第一個功能可以通過下面的事件過程來實現(xiàn):Private Sub Command1_Click()VScroll1.Min = 100VScroll1.Max = 2400VScroll1.LargeChange = 200VScroll1.SmallChange = 20End Sub第二個功能可以用下面的事件過程來實現(xiàn):Private Sub VScroll1_Change()Picture 1 .Height = VScroll 1.ValueEnd Sub例8在窗體上畫兩個命令按鈕和一個

46、標(biāo)簽,把兩個命令按鈕的標(biāo)題分別設(shè)置為“縮小”和“擴大”;把標(biāo)簽的AutoSize屬性設(shè)置為True,標(biāo)題設(shè)置為“計算機等級考試”。程序運行后,如果單擊第一個命令按鈕,則可使標(biāo)簽中標(biāo)題的字體大小縮小1.2倍;如果單擊第二個命令按鈕,則可使標(biāo)簽中標(biāo)題的字體大小擴大1.2倍?!痉治觥?命令按鈕和標(biāo)簽的標(biāo)題以及標(biāo)簽的AutoSize屬性可以通過屬性窗口設(shè)置,也可以在運行期間設(shè)置。程序運行后,首先執(zhí)行Form_Load事件過程,可以把設(shè)置標(biāo)題和AutoSize屬性的代碼放在該事件過程中。根據(jù)題意,當(dāng)單擊兩個命令按鈕時,分別使得標(biāo)簽中的字體縮小或擴大1.2倍,而字體的大小可以通過標(biāo)簽的FontSize屬性

47、來設(shè)置。因此,如果想使標(biāo)簽中的字體縮小1.2倍,則可執(zhí)行下面的語句: Label 1.FontSize=Label 1.FontSize1.2而如果想使標(biāo)簽中的字體擴大1.2倍,則應(yīng)執(zhí)行的語句為:Label1.FontSize = Label1.FontSize * 1.2程序如下:Private Sub Form Load()Label1.Caption=計算機等級考試Command1.Caption=縮小Command2.Caption=擴大Label1.AutoSize=TrueEnd SubPrivate Sub Command1_Click()Label1.FontSize = La

48、bel1.FontSize / 1.2End SubPrivate Sub Command2_Click()Label1.FontSize = Label1.FontSize * 1.2End Sub第六章 VB控制結(jié)構(gòu)例題例1 已知一個人出生的年、月、日分別存放在變量y0、m0、d0中,當(dāng)前日期的年、月、日分別存放在變量y1、m1、d1中,這個人的實足年齡存放在變量age中。則以下可以正確計算實足年齡的程序段是A Bage = y1-y0 age = y1-y0If m1 m0 Then If m1 m0 Or d1d0 Thenage = age -1 age = age -1ElseIf

49、 d1 d0 Then End Ifage = age-1End IfC Dage = y1-y0 age = y1-y0If m1 m0 Then If m1 m0 Thenage = age -1 age = age -1End If End IfIf m1 = m0 And d1 d0 Then If d1 d0 Thenage = age - 1 age = age - 1End If End If【分析】 所謂實足年齡,指的是實際到達(dá)的年齡,即當(dāng)前的年、月、日都分別大于或等于出生的年、月、日。例如一個人的出生日期是1964年8月23日,當(dāng)前日期為2002年8月23日,則這個人的實足年

50、齡就是38歲;如果當(dāng)前日期為2002年7月或2002年8月22日,則這個人的實足年齡就是37歲。這就是說,為了計算一個人的實足年齡,需要進行以下操作:(1)計算出y1-y0,并把結(jié)果賦給age。(2)如果m1m0,則實足年齡為age-1。(3)否則,如果m1=m0但d1d0,則實足年齡為age-1。(4)否則,如果m1=m0且d1=d0,則實足年齡為age??梢钥闯?,為了計算實足年齡,可以先計算age=y1-y0,如果m1m0,則不再考慮d1是否大于d0,實足年齡=age-1;如果m1=m0,則還要看d1是否大于等于d0,如果小于,則實足年齡=age-1,否則實足年齡=age。根據(jù)上面的分析,

51、答案A顯然是不正確的,因為在測試m1m0后,就沒有必要再測試d1是否大于d0。答案B和D類似,只單獨測試月或日,不能得到正確結(jié)果,只有答案C正確地描述了上面所分析的情況。【答案】 C例2在窗體上畫一個命令按鈕和一個文本框,然后編寫如下程序:Private Sub Command1_Click()a= 10t=旅游景點:_&IIf(a3,長城,)_&IIf(a8,故宮,)_&IIf(a7,頤和園,)Text1.Text = tEnd Sub程序運行后,單擊命令按鈕,則在文本框中顯示的內(nèi)容是A旅游景點:長城故宮 B旅游景點:長城頤和園C旅游景點:頤和園 D旅游景點:故宮【分析】 IIf函數(shù)有三個參

52、數(shù),其中第一個參數(shù)是一個Boolean值,如果該參數(shù)的值為True,則函數(shù)的返回值為第二個參數(shù);如果第一個參數(shù)的返回值為False,則函數(shù)的返回值為第三個參數(shù)。該例中變量a的值為10,在第一個IIf函數(shù)中,第一個參數(shù)為True,其返回值為第二個參數(shù),即“長城”;在第二個IIf函數(shù)中,第一個參數(shù)為False,其返回值為第三個參數(shù),即空字符串;而在第三個IIf函數(shù)中,第一個參數(shù)為True,其返回值為第二個參數(shù),即“頤和園”。變量t的值為:旅游景點:&長城&頤和園【答案】 B例3假定有下面的程序段:For i = 1 To 3For j = 1 To iFor k = j To 3Print i = ; i, j = ;j, k = ; kNext kNext jNext i這是一個三重循環(huán)程序,在這個程序中,外層、中層和內(nèi)層循環(huán)的循環(huán)次數(shù)是A3、6和14 B3、8和16C3、4和12 D3、9和18【分析】 在多重循環(huán)中,外層循環(huán)變化一次,內(nèi)層循環(huán)從頭到尾執(zhí)行一遍。該題是一個三重循環(huán),而且中層循環(huán)變量的終值和內(nèi)層循環(huán)變量的初值是隨上一層循環(huán)的循環(huán)變量的變化而變化的,因此需要逐層加以計算后累加出各層的循環(huán)次數(shù)。模擬計算機的計算過程,計算各層的循環(huán)次數(shù)如下:(1)外層循環(huán):i=1 To 3,循環(huán)次數(shù)為3(2)中層循環(huán):當(dāng)i=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論