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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

5、quot;Form Test"用來設(shè)置窗體的標(biāo)題,F(xiàn)orm1.Name="FormTest"用來設(shè)置窗體的名稱,F(xiàn)orm1.MaxButton=False用來隱藏窗體的最大化按鈕,F(xiàn)orm1.MinButton=False用來隱藏窗體的最小化按鈕。從語法格式上來看,似乎沒有什么問題,在輸入時(shí)也不會(huì)產(chǎn)生錯(cuò)誤。但是,窗體的Name屬性是一個(gè)“只讀”屬性,在運(yùn)行時(shí)不能改變,因此,程序運(yùn)行后,當(dāng)執(zhí)行到Form1.Name="FormTest"語句時(shí)將會(huì)出錯(cuò)?!敬鸢浮?B 例3下列不能打開屬性窗口的操作是A執(zhí)行“視圖”菜單中的“屬性窗口”命令B按F4鍵C

6、按Ctrl+T鍵D單擊工具欄上的“屬性窗口”按鈕【分析】 在上面選擇中,Ctrl+T鍵用來執(zhí)行“工程”菜單中的“部件”命令,打開的是“部件”窗口,不是屬性窗口,其他3個(gè)選項(xiàng)都可以打開屬性窗口?!敬鸢浮?C 例4為了對(duì)多個(gè)控件執(zhí)行操作,必須選擇這些控件。下列不能選擇多個(gè)控件的操作是A按住Alt鍵,不要松開,然后單擊每個(gè)要選擇的控件B按住Shift鍵,不要松開,然后單擊每個(gè)要選擇的控件C按住Ctrl鍵,不要松開,然后單擊每個(gè)要選擇的控件D拖動(dòng)鼠標(biāo)畫出一個(gè)虛線矩形,使所選擇的控件位于這個(gè)矩形內(nèi)【分析】 教程中介紹了選擇控件的兩種方法,即按住Shift鍵單擊每個(gè)要選擇的控件和拖動(dòng)鼠標(biāo)畫虛線矩形。除這兩

7、種方法外,按住Ctrl鍵單擊每個(gè)要選擇的控件也可實(shí)現(xiàn)選擇控件的操作,但按住Alt鍵單擊每個(gè)要選擇的控件不能達(dá)到目的?!敬鸢浮?A 例5為了在運(yùn)行時(shí)把窗體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 = "Tes

8、t Program"或 Caption = "Test Program" 例6當(dāng)選擇了多個(gè)控件后,其中有一個(gè)控件是“基準(zhǔn)控件”,設(shè)置“基準(zhǔn)控件”的方法是【分析】 在一般情況下,如果選擇了窗體上的多個(gè)控件,則其中有一個(gè)控件自動(dòng)成為“基準(zhǔn)控件”。選擇方法不同,“自動(dòng)基準(zhǔn)控件”也不一樣。如果按住Ctrl或Shift鍵選擇多個(gè)控件,則最后單擊的控件為“基準(zhǔn)控件”;如果用拖動(dòng)鼠標(biāo)的方法選擇控件,則最后畫到窗體上的控件是“基準(zhǔn)控件”。如果想用其他某個(gè)控件作為“基準(zhǔn)控件”,可以在選擇多個(gè)控件后,單擊該控件。【答案】 選擇多個(gè)控件后,單擊其中的某個(gè)控件,即可把該控件設(shè)置為“基準(zhǔn)控

9、件”。第三章 VB程序設(shè)計(jì)基礎(chǔ)例1 在設(shè)計(jì)階段,當(dāng)雙擊窗體上的某個(gè)控件時(shí),所打開的窗口是A工程資源管理器窗口 B工具箱窗口C代碼窗口 D屬性窗口 【分析】 Visual Basic集成開發(fā)環(huán)境下的窗口(包括代碼窗口)基本上都可以通過執(zhí)行“視圖”菜單中相應(yīng)的菜單命令打開。在設(shè)計(jì)階段,如果單擊窗體上的某個(gè)控件,則只能打開代碼窗口?!敬鸢浮?C 例2下列打開“代碼窗口”的操作中不正確的是A按F4鍵B單擊“工程資源管理器”窗口中“查看代碼”按鈕C雙擊已建立好的控件D執(zhí)行“視圖”菜單中“代碼窗口”命令【分析】 在所給出的選擇中,按F4鍵可以打開屬性窗口,不可能用來打開代碼窗口,而其他3個(gè)選項(xiàng)都可以用來打

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

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

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

13、C”?!敬鸢浮?CCCCC 例6 編寫程序,用來設(shè)置窗體的位置和大小。要求:程序運(yùn)行后,窗體的初始位置為(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

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

15、e Sub, Form_Click()Form1.Top = 1500Form1.Left = 1500Form1.Width = 2500Form1.Height = 2500End Sub則程序運(yùn)行后,無論單擊多少次窗體,窗體的位置和大小都是原來的一半。該程序用到了窗體的4個(gè)屬性,即Top、Left、Width和Height。在設(shè)置這幾個(gè)屬性時(shí),窗體名稱(Form1)可以有,也可以沒有,也可以換成關(guān)鍵字Me。 例7 在Visual Basic中,下列優(yōu)先級(jí)最高的運(yùn)算符是A* B C DNot【分析】 Visual Basic提供了3類運(yùn)算符,即算術(shù)運(yùn)算符、關(guān)系運(yùn)算符和邏輯運(yùn)算符。在3類運(yùn)算

16、符中,算術(shù)運(yùn)算的優(yōu)先級(jí)最高,其次是關(guān)系運(yùn)算,最后是邏輯運(yùn)算。在該例中,C和D分別為關(guān)系運(yùn)算符和邏輯運(yùn)算符,A和B是算術(shù)運(yùn)算符,A和B的優(yōu)先級(jí)比C和D高。而對(duì)于A和B來說,乘法(*)的優(yōu)先級(jí)比整除()的優(yōu)先級(jí)高。因此,優(yōu)先級(jí)最高的應(yīng)當(dāng)是乘法運(yùn)算符(*)?!敬鸢浮?A 例8以下關(guān)系表達(dá)式中,其值為False的是A "XYZ" "XYz"B "VisualBasic" = "visualbasic"C "the" "there"D "Integer" "

17、;Int"【分析】 該例通過關(guān)系表達(dá)式對(duì)字符串進(jìn)行比較。在Visual Basic中,字符串?dāng)?shù)據(jù)按其ASCII碼值進(jìn)行比較。在比較兩個(gè)字符串時(shí),首先比較兩個(gè)字符串的第一個(gè)字符,其中ASCII碼值較大的字符所在的字符串大。如果第一個(gè)字符相同,則比較第二個(gè)依次類推。在該例的4個(gè)選擇中,A、C、D的值均為True;B中的兩個(gè)字符串基本相同,但第一個(gè)字符串的第一個(gè)字母是大寫字母,而第二個(gè)字符串的第一個(gè)字母是小寫字母,第一個(gè)字符串小于第二個(gè)字符串,即兩個(gè)字符串不相等,因此"VisualBasic"="visualbasic"的值為假,即False?!敬鸢?/p>

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

19、在所給出的選擇中,A、C、D都是不正確的。【答案】 B例10為了建立窗體的Click事件過程,即Form_Click,應(yīng)先在代碼窗口的_欄中選擇Form,然后在_欄中選擇Click?!痉治觥?代碼窗口的頂部(標(biāo)題欄的下面)分為左右兩欄,左邊一欄是“對(duì)象”欄,右邊一欄是“過程”欄。在“對(duì)象”欄的下拉列表中可以選擇窗體或控件的名稱,在“過程”欄中可以選擇事件的名稱。因此,為了建立事件過程Form_Click,應(yīng)在“對(duì)象”欄中選擇Form,然后在“過程”欄中選擇Click。【答案】 第一個(gè)空:“對(duì)象” 或 對(duì)象 第二個(gè)空:“過程” 或 過程 例11假定窗體的名稱為Form1,對(duì)該窗體編寫如下代碼:P

20、rivate Sub Form_Load()Form1.Caption = "AAAAA"Me.Caption= "BBBBB"Caption = "CCCCC"End Sub程序運(yùn)行后,窗體的標(biāo)題是_。【分析】 Form Load是程序運(yùn)行后首先要執(zhí)行的事件過程。在上面的事件過程中,有3個(gè)賦值語句,這3個(gè)語句都用來對(duì)對(duì)象賦值,即對(duì)對(duì)象的Caption屬性賦值,它們都可以設(shè)置窗體的標(biāo)題。第一個(gè)語句把窗體的標(biāo)題設(shè)置為“AAAAA”,執(zhí)行第二個(gè)語句后,窗體的標(biāo)題變?yōu)椤癇BBBB”,而執(zhí)行第三個(gè)語句后,窗體的標(biāo)題變?yōu)椤癈CCCC”。【答案】

21、 CCCCC例12 編寫程序,用來設(shè)置窗體的位置和大小。要求:程序運(yùn)行后,窗體的初始位置為(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 = 5000

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

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

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

25、 =" 10 + 20C Print "a" = "10 + 20" D Print a =; 10 + 20 【分析】Print方法的輸出項(xiàng)是一個(gè)表達(dá)式,包括算術(shù)表達(dá)式(字符串表達(dá)式)、關(guān)系表達(dá)式和邏輯表達(dá)式。在所給出的選擇中,A是用Print方法輸出一個(gè)關(guān)系表達(dá)式的值,比較兩個(gè)算術(shù)表達(dá)式的值是否相等;B是用Print輸出一個(gè)字符串和一個(gè)算術(shù)表達(dá)式的值,其中字符串照原樣輸出,然后計(jì)算并輸出算術(shù)表達(dá)式的值;C是用Print方法輸出一個(gè)關(guān)系表達(dá)式的值,比較兩個(gè)字符串是否相等,這幾個(gè)語句都是正確的,可以輸出正確的結(jié)果,而D會(huì)產(chǎn)生語法錯(cuò)誤?!敬鸢浮?

26、D例3在窗體上畫一個(gè)命令按鈕,然后編寫如下代碼:Private Sub Command1_Click()a&=InputBox("請(qǐng)輸入第一個(gè)數(shù)")b&=InputBox("請(qǐng)輸入第二個(gè)數(shù)")Print b&+ a&End Sub 程序運(yùn)行后,單擊命令按鈕,在兩個(gè)輸入對(duì)話框中先后輸入12345和54321,程序的輸出結(jié)果是A66666 B54321 12345C D出錯(cuò)【分析】 InputBox函數(shù)的返回值是一個(gè)字符串,但由于a和b通過類型說明符被顯式地定義為長(zhǎng)整型變量,因而在執(zhí)行InputBox函數(shù)后,所返回的字符串值被

27、轉(zhuǎn)換為長(zhǎng)整型值,它實(shí)際上相當(dāng)于執(zhí)行一次類型轉(zhuǎn)換,即:a&=CLng(InputBox("請(qǐng)輸入第一個(gè)數(shù)")b&=CLng(InputBox("請(qǐng)輸入第二個(gè)數(shù)")這樣,當(dāng)執(zhí)行Print方法時(shí),將計(jì)算并輸出算術(shù)表達(dá)式b&+a&的值。【答案】 A例4假定程序中有如下語句:answer=MsgBox("第一個(gè)字符串",vbAbortRetryIgnore_Or vbCritical_Or vbDefaultButton3,_"第二個(gè)字符串")執(zhí)行該語句后,將顯示一個(gè)信息框,此時(shí)如果按回車鍵,

28、則answer的值為A"第二個(gè)字符串” B5 C3 D7【分析】 MsgBox函數(shù)的返回值是一個(gè)整數(shù),這個(gè)整數(shù)與所選擇的按鈕有關(guān)。本例的第二個(gè)參數(shù)由三部分組成,其中vbAbortRetryIgnore用來在信息框中顯示3個(gè)按鈕,分別為“終止”、“重試”和“忽略”;vbCritical用來在信息框中顯示Critical Message圖標(biāo);而vbDefaultButton3把信息框的第三個(gè)按鈕(即“忽略”)指定為默認(rèn)按鈕。執(zhí)行該語句后,在信息框中顯示3個(gè)按鈕,并把第三個(gè)按鈕作為默認(rèn)按鈕,此時(shí)如果按回車鍵,則返回值是該按鈕所對(duì)應(yīng)的值。由于“忽略”按鈕對(duì)應(yīng)的值是5,因此變量answer的值

29、為5。【答案】 B例5執(zhí)行下列語句后,顯示輸入對(duì)話框,此時(shí)如果單擊“確定”按鈕,則變量strinput的內(nèi)容是_。strinput=InputBox(“請(qǐng)輸入字符串”,“字符串對(duì)話框”,“字符串”) 【分析】 在執(zhí)行InputBox函數(shù)時(shí),會(huì)產(chǎn)生一個(gè)輸入對(duì)話框,該函數(shù)有7個(gè)參數(shù),前三個(gè)參數(shù)都是字符串。其中第一個(gè)參數(shù)用來在輸入對(duì)話框內(nèi)顯示一個(gè)提示用戶輸入的字符串,第二個(gè)參數(shù)是對(duì)話框的標(biāo)題,第三個(gè)參數(shù)是輸入的默認(rèn)信息。也就是說,在執(zhí)行InputBox函數(shù)后,如果用戶沒有輸入任何信息,則可用此默認(rèn)字符串作為輸入值。如果不想用這個(gè)默認(rèn)字符串作為輸入值,則可在輸入?yún)^(qū)直接鍵入數(shù)據(jù),以取代默認(rèn)值。在該例中,

30、顯示對(duì)話框后直接單擊“確定”按鈕,因此第三個(gè)參數(shù)就是默認(rèn)的輸入值。【答案】 字符串例6閱讀程序:Private Sub Form_Click()msg1$="繼續(xù)嗎?"msg2$="操作對(duì)話框"r=MsgBox(msg1$,vbYesNo OrvbDefaultButton2,msg2$)End Sub程序運(yùn)行后,單擊窗體,將產(chǎn)生一個(gè)信息框。此時(shí)如果直接按回車鍵,則相當(dāng)于用鼠標(biāo)單擊信息框中的_ 按鈕。 【分析】 本例用MsgBox函數(shù)產(chǎn)生信息框,該函數(shù)的第一個(gè)參數(shù)在信息框內(nèi)顯示,第二個(gè)參數(shù)分為兩部分,其中前一部分(即vbYesNo)用來在信息框中產(chǎn)生兩個(gè)

31、按鈕,分別為“是”和“否”,后一部分(即vbDefaultButton2)把第二個(gè)按鈕(即“否”)設(shè)置為默認(rèn)按鈕;第三個(gè)參數(shù)是信息框的標(biāo)題。程序運(yùn)行后,單擊窗體,所產(chǎn)生的信息框的標(biāo)題為“操作對(duì)話框”,在信息框內(nèi)顯示的內(nèi)容是“繼續(xù)嗎?”,兩個(gè)按鈕分別是“是”和“否”,其中“否”是默認(rèn)按鈕。此時(shí)如果按回車鍵,則與單擊“否”按鈕效果相同?!敬鸢浮?“否” 或第二個(gè)例7設(shè)有如下程序:Private Sub Form_Click()a = 32548.56Print Format(Int(a * 10 + 0.5)/10,"000,000.00")End Sub程序運(yùn)行后,單擊窗體,

32、輸出結(jié)果是_。【分析】 本例用Format函數(shù)對(duì)數(shù)值進(jìn)行格式化輸出,要輸出的數(shù)值存放在變量a中。Format函數(shù)的第一個(gè)參數(shù)對(duì)變量a進(jìn)行了舍入處理,保留一位小數(shù),第二位小數(shù)四舍五入,其值為32548.6。Format函數(shù)的第二個(gè)參數(shù)是格式說明符,使用的說明符有“0”和“,”,保留兩位小數(shù),該函數(shù)的返回值為032,548.60?!敬鸢浮?32,548.60例8編寫程序,計(jì)算圓的面積?!痉治觥?圓面積的計(jì)算公式為:S=r2其中r是要計(jì)算面積的圓的半徑,程序運(yùn)行后從鍵盤上輸入。程序如下:Private Sub Form_Click()Const PI = 3.14159Dim r As Single

33、, S As Singler=InputBox("請(qǐng)輸入圓的半徑","輸入數(shù)據(jù)","50")S=PI*r*rPrint"S="Format(S,"#,#.#")End Sub程序運(yùn)行后,單擊窗體,將顯示一個(gè)輸入對(duì)話框,在該對(duì)話框中輸入圓的半徑(默認(rèn)為50),然后單擊確定按鈕或按回車鍵,即可在窗體上輸出圓的面積。假定在對(duì)話框中輸入35,則單擊“確定”按鈕后,輸出結(jié)果為:S=3,848.45。例9從鍵盤上輸入小時(shí)、分和秒,把它轉(zhuǎn)換為秒數(shù)并輸出?!痉治觥?1小時(shí)等于60分,1分鐘等于60秒。把小時(shí)數(shù)乘

34、以60*60,把分鐘數(shù)乘以60,再加上秒數(shù),就等于總秒數(shù)。設(shè)小時(shí)數(shù)為H,分鐘數(shù)為M,秒數(shù)為S,則H小時(shí)、M分、S秒的總秒數(shù)SS為:SS=H*60*60+M*60+S程序如下:Private Sub Form_Click()H=InputBox("請(qǐng)輸入小時(shí)","小時(shí)")H=Val(H)M=InputBox("請(qǐng)輸入分","分")M=Val(M)S=InputBox("請(qǐng)輸入秒","秒")S=Val(S)SS=S+M*60+H*60*60PrintH;"小時(shí)"

35、;M;"分"S;"秒="SS;"秒"End Sub程序運(yùn)行后,單擊窗體,將先后顯示3個(gè)輸入對(duì)話框,要求輸入小時(shí)、分和秒。假定分別輸入5、45和25,則輸出結(jié)果為:5小時(shí)45分25秒=20725秒第五章 常用標(biāo)準(zhǔn)控件例題例1 在窗體上畫兩個(gè)文本框(其名稱分別為Text1和Text2)和一個(gè)命令按鈕(其名稱為Command1),然后編寫如下兩個(gè)事件過程:Private Sub Command1_Click()Text1.Text = "Computer Rank Examination"End SubPrivate S

36、ub Text1_Change()Text2.Text = UCase(Text 1.Text)End Sub程序運(yùn)行后,單擊命令按鈕,則在Text2文本框中顯示的內(nèi)容是A Computer Rank ExaminationB computer rank examinationC COMPUTER RANK EXAMINATIOND空字符串【分析】 該例有兩個(gè)事件過程,一個(gè)是命令按鈕的Click事件過程,一個(gè)是文本框的Text1的Change事件過程,當(dāng)單擊命令按鈕時(shí),執(zhí)行前一個(gè)事件過程,而當(dāng)在文本框Text1中輸入信息時(shí),將執(zhí)行該文本框的Change事件過程。在命令按鈕事件過程中,為文本框T

37、ext1的Text屬性賦值,即在該文本框中顯示字符串“Computer Rank Examination”,在這種情況下,將觸發(fā)Text1文本框的Change事件,把文本框Text1中的所有字母轉(zhuǎn)換為大寫字母,并在文本框Text2中顯示出來。程序運(yùn)行后,如果單擊命令按鈕,則將先后觸發(fā)命令按鈕的Click事件和文本框Text1的Change事件,分別在兩個(gè)文本框中顯示由兩個(gè)事件過程所指定的內(nèi)容?!敬鸢浮?C例2在窗體上畫一個(gè)名稱為L(zhǎng)ist1的列表框,一個(gè)名稱為L(zhǎng)abell的標(biāo)簽。列表框中顯示若干城市的名稱。當(dāng)單擊列表框中的某個(gè)城市名時(shí),在標(biāo)簽中顯示選中城市的名稱。下列能正確實(shí)現(xiàn)上述功能的程序是A

38、Private Sub List1_ Click() Label1 .Caption = List1.ListIndex End SubBPrivate Sub List1_ 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個(gè)選擇都是列表框的Click事件過程。當(dāng)單擊列表框中的某一項(xiàng)時(shí),將

39、發(fā)生單擊事件,同時(shí)選擇一個(gè)列表項(xiàng),這個(gè)列表項(xiàng)可以用列表框的Text屬性來表示。也就是說,List1Text就是所選擇的項(xiàng)目。此外,為了在標(biāo)簽中顯示所選擇的列表項(xiàng),必須使用列表框的標(biāo)題屬性,即Label1.Caption。因此,正確的語句應(yīng)當(dāng)是:Label1.Caption=List1.Text在Visual Basic中,不能在運(yùn)行期間改變控件或窗體的名稱(Name屬性),因此B和C兩個(gè)選擇都是錯(cuò)誤的;而列表框的ListIndex屬性是所選擇的列表項(xiàng)的位置,即列表項(xiàng)的標(biāo)題,不是列表項(xiàng)本身?!敬鸢浮?D例3在窗體上畫一個(gè)文本框、一個(gè)標(biāo)簽和一個(gè)命令按鈕,其名稱分別為Text1、Label1和Com

40、mand1,然后編寫如下兩個(gè)事件過程:Private Sub Command1_Click()a=InputBox("請(qǐng)輸入一個(gè)字符串")Text1.Text = aEnd SubPrivate Sub Text1_Change()Label1.Caption = UCase(Mid(Text1.Text, 8)End Sub程序運(yùn)行后,單擊命令按鈕,將顯示一個(gè)輸入對(duì)話框,如果在該對(duì)話框中輸入字符串“VisualBasic”,則在標(biāo)簽中顯示的內(nèi)容是Avisual basic BVISUAL BASICCbasic DBASIC分析】 該例包括兩個(gè)事件過程,其中命令按鈕事件過

41、程通過輸入對(duì)話框來輸入一個(gè)字符串,并把這個(gè)字符串賦給文本框。而當(dāng)改變文本框的內(nèi)容時(shí),將觸發(fā)文本框的Change事件。因此,在把輸入的字符串賦給文本框時(shí),將執(zhí)行文本框的Change事件過程,對(duì)標(biāo)簽的Caption屬性賦值,該值是:首先取出文本框中第八個(gè)字符之后的全部字符,然后把它們轉(zhuǎn)換為大寫字母。由于文本框中的字符串為“Visual Basic”,第八個(gè)字符為“B”,它之后的字符為“Basic”,執(zhí)行Ucase函數(shù)后,轉(zhuǎn)換為大寫,即“BASIC”?!敬鸢浮?D例4在窗體上畫兩個(gè)文本框(名稱分別為Text1和Text2)和一個(gè)命令按鈕(名稱為Command1),然后編寫如下事件過程:Private

42、 Sub Command1 Click()Text1.Text=InputBox("請(qǐng)輸入身高")Text2.Text=InputBox("請(qǐng)輸入體重")End Sub程序運(yùn)行后,如果單擊命令按鈕,將先后顯示兩個(gè)輸入對(duì)話框,在兩個(gè)輸入對(duì)話框中分別輸入1.78和75,則兩個(gè)文本框中顯示的內(nèi)容分別為_和_?!痉治觥?在一般情況下,通過InputBox函數(shù)輸入的數(shù)據(jù)被賦給一個(gè)變量。在本例中,沒有使用變量,而是直接把輸入對(duì)話框中的值賦給文本框的Text屬性。因此,第一個(gè)文本框接收的是身高,第二個(gè)文本框接收的是體重?!敬鸢浮?1.78 75 例5為了在運(yùn)行時(shí)把“d

43、:pic”文件夾下的圖形文件a.jpg裝入圖片框Picture1,所使用的語句為_。分析】 在運(yùn)行期間,可以用LoadPicture函數(shù)把指定的圖形文件裝入窗體、圖片框或圖像框,它實(shí)際上是把圖形文件賦給對(duì)象的Picture屬性。一般格式為:對(duì)象.Picture=LoadPicture(“文件名”)其中的“文件名”可以是多種格式的圖形文件,包括.bmp、.ico、.wmf、.emf、.jpg、.gif等,提供的“文件名”可以含有路徑。對(duì)于本例來說,“文件名”(包括路徑)是:d:pica.jpg,“對(duì)象”是Picture1?!敬鸢浮縋icture 1.Picture=LoadPicture(&qu

44、ot;d:pica.jpg")例6在窗體上畫一個(gè)列表框、一個(gè)命令按鈕和一個(gè)標(biāo)簽。程序運(yùn)行后,在列表框中選擇一個(gè)項(xiàng)目,然后單擊命令按鈕,即可將所選擇的項(xiàng)目刪除,并在標(biāo)簽中顯示列表框當(dāng)前的項(xiàng)目數(shù),運(yùn)行情況如圖6-1所示。下面是實(shí)現(xiàn)上述功能的程序,請(qǐng)?zhí)羁?。Private Sub Form_Load()List1.AddItem "AAAAA"List1.AddItem "BBBBB"List1.AddItem "CCCCC"List1 .AddItem "DDDDD"End SubPrivate Sub Com

45、mand1_Click()Dim L As IntegerL=_If ind = 0 ThenList1.RemoveItem_Label1.Caption = _ElseMsgBox"請(qǐng)選擇要?jiǎng)h除的項(xiàng)目"End IfEnd Sub【分析】 本例提供的程序包括兩個(gè)事件過程,其中Form Load事件過程用來向列表框中添加項(xiàng)目,而Command1 Click事件過程刪除列表框中被選擇的項(xiàng)目,并在標(biāo)簽中顯示列表框當(dāng)前的項(xiàng)目數(shù),需要填空的代碼在這個(gè)事件過程中。為了刪除列表框中指定的項(xiàng)目,可以使用RemoveItem方法,其格式為:列表框.RemoveItem索引值其中的“索引值”

46、是項(xiàng)目的地址,列表框中的項(xiàng)目從0開始計(jì)數(shù),被選擇的項(xiàng)目的索引值就是列表框的ListIndex屬性。為了刪除列表框中被選擇的項(xiàng)目,必須先確定該項(xiàng)目的索引值,即列表框的ListIndex屬性,然后就可以用RemoveItem方法將其刪除。本題中的第一個(gè)空是被選擇的項(xiàng)目的索引值,應(yīng)為L(zhǎng)ist1.ListIndex,并把它賦給變量L。第二個(gè)空是RemoveItem方法的參數(shù),即“索引值”,由于該值已保存在變量L中,因此應(yīng)填入L。第三個(gè)空是列表框中當(dāng)前的項(xiàng)目數(shù),它就是列表框的ListCount屬性?!敬鸢浮縇ist1.ListIndexLList 1.ListCount例7在窗體上畫一個(gè)圖片框、一個(gè)垂直

47、滾動(dòng)條和一個(gè)命令按鈕(標(biāo)題為“設(shè)置屬性”),通過屬性窗口在圖片框中裝入一個(gè)圖形,圖片框的寬度與圖形的寬度相同,圖片框的高度任意。編寫適當(dāng)?shù)氖录^程。程序運(yùn)行后,如果單擊命令按鈕,則設(shè)置垂直滾動(dòng)條的屬性如下:Min 100Max 2400LargeChange 200SmallChange 20之后就可以通過移動(dòng)滾動(dòng)條上的滾動(dòng)框來放大或縮小圖片框。【分析】 本例要求程序?qū)崿F(xiàn)兩個(gè)方面的功能,其一是當(dāng)單擊命令按鈕時(shí)設(shè)置滾動(dòng)條的幾個(gè)屬性;其二是當(dāng)移動(dòng)滾動(dòng)條的滾動(dòng)框時(shí)擴(kuò)大或縮小圖片框的高度。第一個(gè)功能可以通過下面的事件過程來實(shí)現(xiàn):Private Sub Command1_Click()VScroll1.

48、Min = 100VScroll1.Max = 2400VScroll1.LargeChange = 200VScroll1.SmallChange = 20End Sub第二個(gè)功能可以用下面的事件過程來實(shí)現(xiàn):Private Sub VScroll1_Change()Picture 1 .Height = VScroll 1.ValueEnd Sub例8在窗體上畫兩個(gè)命令按鈕和一個(gè)標(biāo)簽,把兩個(gè)命令按鈕的標(biāo)題分別設(shè)置為“縮小”和“擴(kuò)大”;把標(biāo)簽的AutoSize屬性設(shè)置為True,標(biāo)題設(shè)置為“計(jì)算機(jī)等級(jí)考試”。程序運(yùn)行后,如果單擊第一個(gè)命令按鈕,則可使標(biāo)簽中標(biāo)題的字體大小縮小1.2倍;如果單擊第

49、二個(gè)命令按鈕,則可使標(biāo)簽中標(biāo)題的字體大小擴(kuò)大1.2倍。【分析】 命令按鈕和標(biāo)簽的標(biāo)題以及標(biāo)簽的AutoSize屬性可以通過屬性窗口設(shè)置,也可以在運(yùn)行期間設(shè)置。程序運(yùn)行后,首先執(zhí)行Form_Load事件過程,可以把設(shè)置標(biāo)題和AutoSize屬性的代碼放在該事件過程中。根據(jù)題意,當(dāng)單擊兩個(gè)命令按鈕時(shí),分別使得標(biāo)簽中的字體縮小或擴(kuò)大1.2倍,而字體的大小可以通過標(biāo)簽的FontSize屬性來設(shè)置。因此,如果想使標(biāo)簽中的字體縮小1.2倍,則可執(zhí)行下面的語句: Label 1.FontSize=Label 1.FontSize1.2而如果想使標(biāo)簽中的字體擴(kuò)大1.2倍,則應(yīng)執(zhí)行的語句為:Label1.Fon

50、tSize = Label1.FontSize * 1.2程序如下:Private Sub Form Load()Label1.Caption="計(jì)算機(jī)等級(jí)考試"Command1.Caption="縮小"Command2.Caption="擴(kuò)大"Label1.AutoSize=TrueEnd SubPrivate Sub Command1_Click()Label1.FontSize = Label1.FontSize / 1.2End SubPrivate Sub Command2_Click()Label1.FontSize =

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

52、en 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【分析】 所謂實(shí)足年齡,指的是實(shí)際到達(dá)的年齡,即當(dāng)前的年、月、日都分別大于或等于出生的年、月、日。例如一個(gè)人的出生日期是1964年8月23日,當(dāng)前日期為2002年8月23日,則這個(gè)人的實(shí)足年齡就是38歲;如果當(dāng)前日期為2002年7月或2002年8月22日,則這個(gè)人的實(shí)足年齡就是37歲。這就是說,為了計(jì)算一個(gè)人的實(shí)足年齡,需要進(jìn)行以下

53、操作:(1)計(jì)算出y1-y0,并把結(jié)果賦給age。(2)如果m1m0,則實(shí)足年齡為age-1。(3)否則,如果m1=m0但d1d0,則實(shí)足年齡為age-1。(4)否則,如果m1=m0且d1=d0,則實(shí)足年齡為age??梢钥闯?,為了計(jì)算實(shí)足年齡,可以先計(jì)算age=y1-y0,如果m1m0,則不再考慮d1是否大于d0,實(shí)足年齡=age-1;如果m1=m0,則還要看d1是否大于等于d0,如果小于,則實(shí)足年齡=age-1,否則實(shí)足年齡=age。根據(jù)上面的分析,答案A顯然是不正確的,因?yàn)樵跍y(cè)試m1m0后,就沒有必要再測(cè)試d1是否大于d0。答案B和D類似,只單獨(dú)測(cè)試月或日,不能得到正確結(jié)果,只有答案C正確

54、地描述了上面所分析的情況。【答案】 C例2在窗體上畫一個(gè)命令按鈕和一個(gè)文本框,然后編寫如下程序:Private Sub Command1_Click()a= 10t="旅游景點(diǎn):"_&IIf(a3,"長(zhǎng)城","")_&IIf(a8,"故宮","")_&IIf(a7,"頤和園","")Text1.Text = tEnd Sub程序運(yùn)行后,單擊命令按鈕,則在文本框中顯示的內(nèi)容是A旅游景點(diǎn):長(zhǎng)城故宮 B旅游景點(diǎn):長(zhǎng)城頤和園C旅游景點(diǎn):頤和

55、園 D旅游景點(diǎn):故宮【分析】 IIf函數(shù)有三個(gè)參數(shù),其中第一個(gè)參數(shù)是一個(gè)Boolean值,如果該參數(shù)的值為True,則函數(shù)的返回值為第二個(gè)參數(shù);如果第一個(gè)參數(shù)的返回值為False,則函數(shù)的返回值為第三個(gè)參數(shù)。該例中變量a的值為10,在第一個(gè)IIf函數(shù)中,第一個(gè)參數(shù)為True,其返回值為第二個(gè)參數(shù),即“長(zhǎng)城”;在第二個(gè)IIf函數(shù)中,第一個(gè)參數(shù)為False,其返回值為第三個(gè)參數(shù),即空字符串;而在第三個(gè)IIf函數(shù)中,第一個(gè)參數(shù)為True,其返回值為第二個(gè)參數(shù),即“頤和園”。變量t的值為:"旅游景點(diǎn):"&"長(zhǎng)城"&"頤和園"【答案】 B例3假定有下面的程序段:For i = 1 To 3For j = 1 To iFor k = j To 3Print "i = " i, "j = "j, "k = " kNext kNext jNext i這是一個(gè)三重循環(huán)程序,在這個(gè)程序中,外層、中層和內(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í)行一遍。該題是一個(gè)三重循環(huán),而且中層循環(huán)變量的終值和內(nèi)層循環(huán)變量的初值是隨上一層循環(huán)的循環(huán)變

溫馨提示

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

評(píng)論

0/150

提交評(píng)論