![vb程序設(shè)計(jì)同步學(xué)習(xí)指導(dǎo)習(xí)題_第1頁(yè)](http://file4.renrendoc.com/view/65b0d1f33dbfe6b23dcef3118fc632cd/65b0d1f33dbfe6b23dcef3118fc632cd1.gif)
![vb程序設(shè)計(jì)同步學(xué)習(xí)指導(dǎo)習(xí)題_第2頁(yè)](http://file4.renrendoc.com/view/65b0d1f33dbfe6b23dcef3118fc632cd/65b0d1f33dbfe6b23dcef3118fc632cd2.gif)
![vb程序設(shè)計(jì)同步學(xué)習(xí)指導(dǎo)習(xí)題_第3頁(yè)](http://file4.renrendoc.com/view/65b0d1f33dbfe6b23dcef3118fc632cd/65b0d1f33dbfe6b23dcef3118fc632cd3.gif)
![vb程序設(shè)計(jì)同步學(xué)習(xí)指導(dǎo)習(xí)題_第4頁(yè)](http://file4.renrendoc.com/view/65b0d1f33dbfe6b23dcef3118fc632cd/65b0d1f33dbfe6b23dcef3118fc632cd4.gif)
![vb程序設(shè)計(jì)同步學(xué)習(xí)指導(dǎo)習(xí)題_第5頁(yè)](http://file4.renrendoc.com/view/65b0d1f33dbfe6b23dcef3118fc632cd/65b0d1f33dbfe6b23dcef3118fc632cd5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第一章VisualBasic概述
1.1知識(shí)點(diǎn)歸納
1.VB的特點(diǎn)
(1)面向?qū)ο蟮目梢暬幊獭?/p>
把程序和數(shù)據(jù)“封裝”起來(lái)成為個(gè)對(duì)象;每個(gè)對(duì)象都是可視的;從VB工具箱中選用
控件(即現(xiàn)成部件,如文本框、命令按鈕等),構(gòu)成應(yīng)用程序的用戶界面。
(2)事件驅(qū)動(dòng)的編程機(jī)制。
傳統(tǒng)的程序設(shè)計(jì)語(yǔ)言面向過(guò)程,VB語(yǔ)言面向?qū)ο笸ㄟ^(guò)事件來(lái)觸發(fā)執(zhí)行相應(yīng)的事件過(guò)
程(“事件驅(qū)動(dòng)”),從而執(zhí)行對(duì)象的操作,達(dá)到運(yùn)算、處理的目的。
(3)結(jié)構(gòu)化的設(shè)計(jì)語(yǔ)言。
(4)友好的VB集成開(kāi)發(fā)環(huán)境。
2.VB中對(duì)象的基本概念
(1)類和對(duì)象
類:一組用來(lái)定義對(duì)象的相關(guān)屬性和數(shù)據(jù)的集合。類是創(chuàng)建對(duì)象的模型,對(duì)象則是按模
型生產(chǎn)出來(lái)的成品。例如,人可以稱之為類,而每一個(gè)人,卻只能看做是對(duì)象。對(duì)象是VB
系統(tǒng)中的基本運(yùn)行實(shí)體,是一組程序代碼和數(shù)據(jù)的集合。
(2)對(duì)象的三要素
對(duì)象的三要素包括:屬性、方法和事件。
①屬性:對(duì)象的外部特征,即用來(lái)描述和反映對(duì)象特征的參數(shù)。不同的對(duì)象有不同的
屬性。每一個(gè)對(duì)象都有一組特定的屬性,可以通過(guò)屬性窗口或代碼窗口對(duì)對(duì)象的屬性進(jìn)行設(shè)
置。
②方法:是對(duì)象能夠執(zhí)行的動(dòng)作。它是對(duì)象本身內(nèi)含的一些特殊函數(shù)或過(guò)程,用于完成
某種特定的功能,供用戶直接調(diào)用。
③事件:由系統(tǒng)預(yù)先設(shè)置好的、能被對(duì)象識(shí)別的動(dòng)作。?個(gè)對(duì)象可以識(shí)別響應(yīng)多個(gè)不同
的事件。
3.事件、事件過(guò)程及事件驅(qū)動(dòng)
①事件:由系統(tǒng)預(yù)先設(shè)置好的、能被對(duì)象識(shí)別的動(dòng)作。發(fā)生在用戶與應(yīng)用程序交互時(shí)。
如單擊控件、鼠標(biāo)移動(dòng)、鍵盤按下等。
②事件過(guò)程:指附在對(duì)象上的用戶編寫的程序代碼,是事件的處理程序。由事件控制
整個(gè)程序的執(zhí)行流程,當(dāng)某個(gè)事件(一般由用戶操作來(lái)觸發(fā))發(fā)生時(shí),系統(tǒng)就會(huì)自動(dòng)執(zhí)行此
事件的事件過(guò)程。
③事件驅(qū)動(dòng)方式:是圖形用戶界面的本質(zhì),由用戶控制而代碼作出響應(yīng)。即事件過(guò)程
要經(jīng)過(guò)事件的觸發(fā)才能被執(zhí)行,這種工作模式稱為事件驅(qū)動(dòng)方式。
4.設(shè)計(jì)VB應(yīng)用程序的步驟
VB應(yīng)用程序的開(kāi)發(fā),大致分為兩大部分的工作:設(shè)計(jì)用戶界面和編寫程序代碼。即先
要確定對(duì)象,然后針對(duì)這些對(duì)象編寫代碼?;静襟E如下:
(1)建立工程;
(2)設(shè)計(jì)用戶界面;
(3)設(shè)置對(duì)象的屬性值;
(4)編寫程序代碼,建立事件過(guò)程;
(5)保存應(yīng)用程序;
(6)運(yùn)行和調(diào)試應(yīng)用程序;
(7)生成可執(zhí)行文件。
5.控件
控件是建立VB應(yīng)用程序的基本元素,是VB中預(yù)先定義好的、編程能直接使用的對(duì)象,
可視化設(shè)計(jì)就是通過(guò)控件實(shí)現(xiàn)的。利用控件創(chuàng)建對(duì)象是VB編程的一項(xiàng)重要工作。VB中的
控件一般可分為三大類:內(nèi)部控件、ActiveX控件和可插入的對(duì)象控件(也叫插件):
(1)內(nèi)部控件(也稱標(biāo)準(zhǔn)控件):包含在VB系統(tǒng)中,默認(rèn)狀態(tài)下在工具箱中以圖形的
形式顯示,這些控件既不能添加,也不能刪除。如:文本框、標(biāo)簽、命令按鈕等。
(2)ActiveX控件:存放于擴(kuò)展名為QCX的獨(dú)立文件中,其中包括VB各種版本提供的
控件和僅在專業(yè)版和企業(yè)版中提供的控件,另外還有許多第三方提供的ActiveX控件。
(3)可插入的對(duì)象控件:是指能夠添加到工具箱中的對(duì)象,添加的方法是選擇“工程I
部件”菜單選項(xiàng)打開(kāi)部件窗口,在“可插入對(duì)象”選項(xiàng)卡選擇相應(yīng)文件,添加到工具箱中。
每個(gè)控件都有自己的屬性、方法和能夠識(shí)別響應(yīng)的事件。
6.VB的工作模式
VB是一個(gè)集成編輯、編譯與運(yùn)行于一起的集成開(kāi)發(fā)系統(tǒng)。在程序設(shè)計(jì)過(guò)程中其工作狀
態(tài)可分為3中模式:設(shè)計(jì)模式、運(yùn)行模式和中斷模式。為了調(diào)試程序,用戶必須知道系統(tǒng)當(dāng)
前所處的工作模式及其能實(shí)施的相關(guān)操作。
(1)設(shè)計(jì)模式:用于用戶基本界面的設(shè)計(jì)、相關(guān)控件的屬性設(shè)置和程序代碼編制。
(2)運(yùn)行模式:用于在編輯代碼過(guò)程中編譯執(zhí)行應(yīng)用程序,以觀察運(yùn)行效果或進(jìn)行代碼
調(diào)試。在該模式下,不能對(duì)程序界面及代碼進(jìn)行編輯。
(3)中斷模式:用于程序運(yùn)行過(guò)程中的暫時(shí)中斷,這時(shí)可以編輯程序代碼,并可在“立
即窗口”中顯示變量值、中間結(jié)果或運(yùn)行其他命令,但不可編輯界面。該模式主要用作程序
代碼的調(diào)試和中間結(jié)果的檢查。在此模式下,選擇''運(yùn)行”菜單下的“繼續(xù)”選項(xiàng)可以繼續(xù)
運(yùn)行程序,選擇“結(jié)束”選項(xiàng)可以中止程序的運(yùn)行。
7.VB常見(jiàn)的錯(cuò)誤類型
(1)編輯錯(cuò)誤:在編輯代碼時(shí),VB會(huì)對(duì)鍵入的代碼直接進(jìn)行語(yǔ)法檢查。當(dāng)發(fā)現(xiàn)代碼存
在打字錯(cuò)誤,遺漏關(guān)鍵字或標(biāo)點(diǎn)符等語(yǔ)法錯(cuò)誤,VB在Form窗口中彈出一個(gè)子窗口,提示
出錯(cuò)信息,出錯(cuò)的那一行變成紅色。這時(shí),用戶必須單擊“確定”按鈕,關(guān)閉出錯(cuò)提示窗,
然后對(duì)出錯(cuò)行進(jìn)行修改。
(2)編譯錯(cuò)誤:指按了“啟動(dòng)”按鈕,VB開(kāi)始運(yùn)行程序前,先編譯執(zhí)行的程序段時(shí),
產(chǎn)生的錯(cuò)誤。此類錯(cuò)誤由于用戶未定義變量、遺漏關(guān)鍵字等原因產(chǎn)生。這時(shí),VisualBasic
也彈出一個(gè)子窗U,提示出錯(cuò)信息,出錯(cuò)的那一行被高亮度顯示。
(3)運(yùn)行錯(cuò)誤:指VB在編譯通過(guò)后,運(yùn)行代碼時(shí)發(fā)生的錯(cuò)誤。這類錯(cuò)誤往往是指令
代碼執(zhí)行了一非法操作引起的。例如類型不匹配、試圖打開(kāi)一個(gè)不存在的文件等。
(4)邏輯錯(cuò)誤:程序運(yùn)行后,得不到所期望的結(jié)果,這說(shuō)明程序存在邏輯錯(cuò)誤。這類
錯(cuò)誤往往是程序存在邏輯上的缺陷所引起。例如,運(yùn)算符使用不正確、語(yǔ)句的次序不對(duì)、循
環(huán)語(yǔ)句的起始、終值不正確等。通常,邏輯錯(cuò)誤不會(huì)產(chǎn)生錯(cuò)誤提示信息,故錯(cuò)誤較難排除,
需要程序員仔細(xì)地閱讀分析程序以及設(shè)置斷點(diǎn)進(jìn)行調(diào)試。
8.VB程序的調(diào)試
測(cè)試、調(diào)試程序的過(guò)程是查找、排除和修改程序中錯(cuò)誤的過(guò)程。VB中可通過(guò)如下方式
調(diào)試程序:
(1)進(jìn)入中斷模式
通常系統(tǒng)在中斷模式下,用戶可查看各變量及屬性的當(dāng)前值,觀察界面狀況,從而了解
程序執(zhí)行是否正常,并且可以修改程序代碼、修改變量及屬性值等。
在程序調(diào)試時(shí),使系統(tǒng)進(jìn)入中斷模式的方法有以下幾種:
①程序運(yùn)行時(shí)發(fā)生錯(cuò)誤,被系統(tǒng)檢測(cè)到而中斷。
②程序運(yùn)行中,按組合鍵“Ctrl+Break”,也可以單擊調(diào)試工具欄中“中斷”按鈕,或選
擇“運(yùn)行/中斷”菜單項(xiàng),就會(huì)產(chǎn)生中斷。
③在程序代碼中設(shè)置斷點(diǎn),當(dāng)程序運(yùn)行到斷點(diǎn)處就會(huì)產(chǎn)生中斷。
④采用逐語(yǔ)句或逐過(guò)程運(yùn)行,每執(zhí)行一行語(yǔ)句或一個(gè)過(guò)程就會(huì)產(chǎn)生中斷。
⑤在程序代碼中使用Stop語(yǔ)句,每執(zhí)行到Stop語(yǔ)句時(shí),也會(huì)產(chǎn)生中斷。
在中斷模式下,最便捷的查看程序中變量或?qū)傩缘姆椒ㄊ菍⑹髽?biāo)指針停留在要查看的變
量上,系統(tǒng)就會(huì)在隨后彈出的一個(gè)小方框中顯示指針?biāo)傅淖兞炕驅(qū)傩缘漠?dāng)前值。
當(dāng)在中斷模式下調(diào)試完畢后,退出中斷模式的方法有:
①如果要退出并繼續(xù)運(yùn)行程序,則可選擇“運(yùn)行/繼續(xù)”菜單項(xiàng),或單擊調(diào)試工具欄中
“繼續(xù)”按鈕。
②如要結(jié)束運(yùn)行,則可選擇“運(yùn)行/結(jié)束”菜單項(xiàng),或單擊調(diào)試工具欄中的“結(jié)束”按
鈕。
(2)控制程序的運(yùn)行。
①逐語(yǔ)句運(yùn)行。即單擊運(yùn)行,每次只執(zhí)行一條語(yǔ)句,之后運(yùn)行中斷,按F8快捷鍵或選
擇“調(diào)試/逐語(yǔ)句”菜單項(xiàng)執(zhí)行下一條語(yǔ)句。這樣可逐個(gè)語(yǔ)句地檢查每條語(yǔ)句的執(zhí)行情況。
②逐過(guò)程運(yùn)行。當(dāng)程序運(yùn)行到調(diào)用過(guò)程時(shí),逐過(guò)程運(yùn)行可將整個(gè)被調(diào)用過(guò)程作為整體來(lái)
執(zhí)行。按Shift+F8快捷鍵或選擇“調(diào)試/逐過(guò)程”菜單項(xiàng)均可實(shí)現(xiàn)逐過(guò)程運(yùn)行。
(3)設(shè)置斷點(diǎn)調(diào)試。找出程序代碼中能反映程序執(zhí)行狀況的關(guān)鍵代碼行,單擊其左邊的邊
框位置,設(shè)置斷點(diǎn)。程序運(yùn)行到斷點(diǎn)設(shè)置的代碼行自動(dòng)停止執(zhí)行,并進(jìn)入中斷模式,觀察運(yùn)
行情況。
(4)立即窗口。立即窗口用于顯示在程序運(yùn)行過(guò)程中與當(dāng)前過(guò)程有關(guān)的信息,可以顯示某
個(gè)變量或?qū)傩灾担驁?zhí)行單個(gè)過(guò)程或表達(dá)式。在立即窗口中可以實(shí)現(xiàn)以下功能:
①用Debug.Print方法輸出信息。調(diào)試程序時(shí)可在程序代碼中添加Debug.Printn等語(yǔ)句,
將變量或表達(dá)式的值輸出到立即窗口中。程序調(diào)試完成后,應(yīng)將Debug.Print語(yǔ)句刪除。
②在設(shè)計(jì)時(shí)用來(lái)測(cè)試表達(dá)式。在設(shè)計(jì)模式下,可以在立即窗口中使用Print方法或?直
接輸出一些表達(dá)式的結(jié)果。例如:在立即窗口中輸入:?Int(Rnd*5),按Enter鍵立即顯示
一個(gè)隨機(jī)產(chǎn)生的整數(shù)。
③直接從立即窗口打印。在中斷模式下,通過(guò)使用Print方法或?可在立即窗口中檢查
變量或表達(dá)式的值。例如:在立即窗口中輸入:?i,j,i*j
④從“立即”窗口編輯變量或?qū)傩灾怠T谥袛嗄J较?,可在立即窗口中設(shè)置變量或?qū)傩?/p>
的值。例如:當(dāng)程序中斷時(shí),在立即窗口中給屬性重新賦值:Textl.ForeColor-vbRed,當(dāng)程
序繼續(xù)運(yùn)行時(shí),文本框中字體的顏色就可變成紅色。
⑤從立即窗U中測(cè)試過(guò)程。從立即窗口可以通過(guò)指定參數(shù)值來(lái)調(diào)用過(guò)程,以測(cè)試程序程
序的正確性。例如:使用新參數(shù)來(lái)計(jì)算調(diào)用函數(shù)fac()的結(jié)果:n=5:?fac(n)
9.VB應(yīng)用程序的結(jié)構(gòu)
在VB中,一個(gè)VB應(yīng)用程序就是一個(gè)工程,以*.vbp工程文件的形式保存,一個(gè)工程
通常包含多種類型的文件模塊,其中最常見(jiàn)的有:
①窗體模塊(*.frm):是創(chuàng)建應(yīng)用程序的基礎(chǔ)。在窗體模塊中包含窗體及其控件的屬
性設(shè)置值,同時(shí)還包含在該窗體的代碼窗口中編寫的對(duì)常量、變量、類型和外部過(guò)程的聲明
以及sub和function過(guò)程。
②標(biāo)準(zhǔn)模塊(*.bas):存放與窗口或控件無(wú)關(guān)的代碼,通常是其他模塊共同使用的聲
明和過(guò)程代碼。
③類模塊文件(*.cls):用來(lái)定義類,并可用它創(chuàng)建能被應(yīng)用程序中的過(guò)程所調(diào)用的對(duì)
象。
④*.frx二進(jìn)制文件:系統(tǒng)自動(dòng)產(chǎn)生,包含屬性窗口裝入的圖片等信息。
⑤資源文件(.res):是指將在程序運(yùn)行時(shí)用到的資源集中在一起的一個(gè)文件。一個(gè)資
源文件可以包括文字(TEXT)、位圖(BITMAP)、圖標(biāo)(ICON)等。并且在程序中調(diào)用時(shí)
不用指明路徑,這就簡(jiǎn)化了程序的編寫并減少了發(fā)生錯(cuò)誤的可能。
1.2常見(jiàn)錯(cuò)誤和難點(diǎn)分析
1.對(duì)象名稱(Name)屬性輸入錯(cuò)誤
在窗體上創(chuàng)建的每個(gè)控件對(duì)象都有一個(gè)唯一標(biāo)識(shí)它的默認(rèn)名稱。用戶也可以在屬性列表
窗口中修改對(duì)象名。在編寫代碼時(shí)引用該對(duì)象的屬性或方法時(shí)需要指明對(duì)象名。當(dāng)程序中的
對(duì)象名錯(cuò)誤時(shí),系統(tǒng)會(huì)顯示“要求對(duì)象”的信息。
2.對(duì)象的屬性名、方法名輸入錯(cuò)誤
當(dāng)對(duì)象的屬性名或方法名輸入出錯(cuò),編譯時(shí)系統(tǒng)會(huì)顯示“方法或數(shù)據(jù)成員未找到”的提
示信息。編寫代碼忖盡量使用自動(dòng)列出成員功能。即當(dāng)用戶在輸入控件對(duì)象名和句點(diǎn)后,系
統(tǒng)自動(dòng)列出該控件對(duì)象在運(yùn)行模式下允許使用的屬性和方法,用戶可通過(guò)按空格鍵或雙擊鼠
標(biāo)左鍵選擇,以防止此類錯(cuò)誤的出現(xiàn)。正確的系統(tǒng)按規(guī)定的大小寫表示。
3.混淆控件的Name屬性和Caption屬性
Name屬性的值用于在程序中唯一的標(biāo)識(shí)該控件對(duì)象,在窗體上不可見(jiàn);而Caption屬
性的值是在窗體上顯示的內(nèi)容。
4.混淆使用文本框的text屬性和標(biāo)簽的Caption屬性
文本框的Text屬性和Caption屬性都可以用于表示控件在窗體上顯示的內(nèi)容的,但兩個(gè)
屬性屬于不同的控件,文本框除了用于顯示信息以外,還可以用于輸入信息。
5.在編譯程序時(shí)出現(xiàn)“無(wú)效字符”錯(cuò)誤提示,對(duì)應(yīng)行以紅色字顯示。
在VB中要注意英文環(huán)境下的半角符號(hào)和中文環(huán)境下全角符號(hào)的使用。VB只允許使用
英文環(huán)境下的半角符號(hào)。最常見(jiàn)的如:逗號(hào),與,雙引號(hào)"”與句號(hào).與。的區(qū)別。
6.字母和數(shù)字形狀相似
輸入代碼時(shí)注意小寫字母“1”和數(shù)字“1”形式相同、小寫字母“?!迸c數(shù)字“0”。
7.添加多個(gè)相同類型的控件時(shí),無(wú)意形成控件數(shù)組
在添加多個(gè)相同類型的控件時(shí),可在窗體匕先添加一個(gè)控件,然后“復(fù)制”一“粘貼”,
此時(shí)會(huì)出現(xiàn)對(duì)話框詢問(wèn)是否創(chuàng)建控件數(shù)組,單擊“否”按鈕,在窗體上添加同類型不同名稱
的控件。如果單擊“是”則形成控件數(shù)組。
8.語(yǔ)句書(shū)寫位置錯(cuò)誤。
在VB中,除了在“通用聲明”段使用Dim等變量聲明、Option語(yǔ)句外,任何其他語(yǔ)
句都應(yīng)放在事件過(guò)程中,否則程序運(yùn)行時(shí)會(huì)顯示“無(wú)效外部過(guò)程”的提示信息。
9.打開(kāi)工程時(shí)找不到對(duì)應(yīng)的文件
?個(gè)最簡(jiǎn)單的VB應(yīng)用程序至少也應(yīng)包括一個(gè)工程文件.vbp和一個(gè)窗體文件.fan組成。
工程文件記錄該工程內(nèi)所有文件包括窗體文件.frm、標(biāo)準(zhǔn)模塊文件.bas、類模塊文件.cis等的
名稱和存放路徑。若用戶在上機(jī)結(jié)束后,把文件保存到磁盤上,而又遺漏了某個(gè)文件,下次
打開(kāi)工程時(shí)就會(huì)顯示“文件未找到”的提示信息。或者在磁盤上對(duì)某個(gè)文件進(jìn)行重命名,這
樣也會(huì)造成打開(kāi)工程時(shí)顯示“文件未找到”的提示信息。建議用戶在編保存一個(gè)工程時(shí),將
該工程包含的所有文件保存在同一個(gè)文件夾中,通常將該工程作為一個(gè)整體復(fù)制或移動(dòng)。
10.誤用“文件”菜單中的“添加工程”選項(xiàng),形成工程組。
用戶誤選“文件I添加工程”菜單選項(xiàng),無(wú)意形成一個(gè)工程組?!拔募辈藛沃械摹肮こ?/p>
另存為”選項(xiàng),現(xiàn)在變成“工程組另存為”選項(xiàng)。解決的辦法:在工程資源管理器窗口,選
中不需要的工程,單擊鼠標(biāo)右鍵打開(kāi)快捷菜單,選“移除工程”選項(xiàng),刪除工程文件夾下的
工程組文件*.vbg,再重新打開(kāi)工程就可以了。
1.3習(xí)題
一、選擇題
1.VB是一種面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,構(gòu)成對(duì)象的三要素是
(A)屬性、控件和方法(B)屬性、事件和方法
(C)窗體、控件和過(guò)程(D)控件、過(guò)程和模塊
2.窗體編輯器的主要功能是。
(A)設(shè)計(jì)窗體的外觀(B)編寫源程序代碼
(C)建立用戶界面(D)設(shè)置對(duì)象屬性
3.在代碼窗口中,當(dāng)從對(duì)象列表框中選定了某一對(duì)象后,在______中會(huì)列出適用該
對(duì)象的事件。
(A)過(guò)程框(B)屬性窗口(C)事件列表框(D工具欄
4.要設(shè)置窗體上個(gè)控件的屬性,可在_____中進(jìn)行。
(A)窗體布局窗口(B)工程資源管理器窗口
(C)屬性窗口(D)窗體窗口
5.某-一窗體的name屬性為myForm,它的Load事件過(guò)程名稱為。
(A)MyForm_Load(B)Me_Load(C)Form_Load(D)Forml_load
6.要在窗體Forml內(nèi)顯示字符串"MyForm”,可以使用的語(yǔ)句是。
(A)Form.Caption="MyForm"(B)Forml.Caption="MyForm”
(C)Forml.PrintwMyForm"(D)Form.PrintMMyForm”
7.以下不能在"工程資源管理器”窗口中列出的文件類型是.
(A).bas(B).res(C).frm(D).ocx
8.設(shè)窗體上有一個(gè)文本框,名稱為textl,程序運(yùn)行后,要求該文本框只能顯示信息,
不能接受輸入的信息,以下能實(shí)現(xiàn)該操作的語(yǔ)句是。
(A)Text1.MaxLength=O(B)Textl.Enabled=Flase
(C)Textl.Visible=Flase(D)Textl.Width=O
9.以下能在窗體Forml的標(biāo)題欄中顯示"VisualBasic窗體"的語(yǔ)句是。
(A)Forml.Name="VisualBasic窗體"(B)Forml.Title="VisualBasic窗體”
(C)Form1.Caption="VisualBasic窗體"(D)Form1.Text="VisualBasic窗體”
10.添加?個(gè)命令按鈕“開(kāi)始”。若要為命令按鈕設(shè)置快捷鍵鍵,即按下Alt及字母S
時(shí),能夠執(zhí)行"開(kāi)始"命令按鈕的事件過(guò)程,方法是:。
(A)把Caption屬性設(shè)置為&Start(B)把Caption屬性設(shè)置為S&Start
(C)把Name屬性設(shè)置為&Start(D)把Name屬性設(shè)置為S&tart
11.以下敘述中錯(cuò)誤的是o
(A)事件過(guò)程是響應(yīng)特定事件的一段程序(B)不同的對(duì)象可以具有相同名稱的方
法
(C)對(duì)象的方法是執(zhí)行指定操作的過(guò)程(D)對(duì)象事件的名稱可以由編程者指定
12.下列關(guān)于VisualBasic6.0的控件的敘述中,正確的是。
(A)VisualBasic6.0的控件分為3類:內(nèi)部控件、標(biāo)準(zhǔn)控件和ActivateX控件
(B)標(biāo)準(zhǔn)控件可以添加,但不能刪除
(C)啟動(dòng)VisualBasic6.0后,ActivateX控件就出現(xiàn)在工具箱
(D)ActivateX控件是擴(kuò)展名為.ocx的獨(dú)立文件
13.下列說(shuō)法錯(cuò)誤的是。
(A)窗體文件的擴(kuò)展名為.frm
(B)一個(gè)窗體對(duì)應(yīng)一個(gè)窗體文件
(C)VisualBasic中■個(gè)工程只包含?個(gè)窗體文件
(D)VisualBasic中的一個(gè)工程最多可包含255個(gè)窗體
14.以下關(guān)于VisualBasic特點(diǎn)的敘述中,錯(cuò)誤的是()
(A)VisualBasic是采用事件驅(qū)動(dòng)編程機(jī)制的語(yǔ)言
(B)VisualBasic程序既可以編譯運(yùn)行,也可以解釋運(yùn)行
(C)構(gòu)成VisualBasic程序的多個(gè)過(guò)程沒(méi)有固定的執(zhí)行順序
(D)VisualBasic程序不是結(jié)構(gòu)化程序,不具備結(jié)構(gòu)化程序的三種基本結(jié)構(gòu)
15.VB6.0集成開(kāi)發(fā)環(huán)境中不能完成的功能是。
(A)編輯源程序(B)編譯生成可執(zhí)行文件
(C)調(diào)試運(yùn)行程序(D)自動(dòng)查找并改正程序中的語(yǔ)法錯(cuò)誤
16.確定一個(gè)控件在窗體上的位置的屬性是。
(A)Width和Height(B)Width或Height
(C)Top和Left(D)Top或Left
17.若要使標(biāo)簽空間顯示時(shí)不覆蓋其背景內(nèi)容,要進(jìn)行設(shè)置的屬性是o
(A)BackColor(B)BackStyle(C)ForeColor(D)BordStyle
18.若要使某一文本框控件在程序運(yùn)行過(guò)程中能用鼠標(biāo)單擊獲得輸入焦點(diǎn),但不能用按
下Tab鍵的方式獲得輸入焦點(diǎn),則應(yīng)o
(A)將其Enabled屬性設(shè)置為False,且其TabStop屬性設(shè)置為False
(B)將其Enabled屬性設(shè)置為True,且其TabStop屬性設(shè)置為False
(C)將其Enabled屬性設(shè)置為False,且其TabStop屬性設(shè)置為True
(D)將其Enabled屬性設(shè)置為True,且其TabStop屬性設(shè)置為True
19.以下可以產(chǎn)生工程組文件(.vbg)的情況是。
(A)當(dāng)一個(gè)程序中包含了兩個(gè)以上的窗體時(shí)
(B)當(dāng)一個(gè)程序中包含了兩個(gè)以上的標(biāo)準(zhǔn)模塊時(shí)
(C)當(dāng)一個(gè)程序中包含了兩個(gè)以上的工程時(shí)
(D)當(dāng)一個(gè)程序中包含了兩個(gè)以上的類模塊時(shí)。
20.當(dāng)窗體上的文字或圖形被覆蓋或窗體最小化后能恢復(fù)原貌,需要將窗體的
屬性設(shè)置為True。
(A)Visible(B)AutoRedraw(C)Paint(D)Resize
二、填空題
1.與傳統(tǒng)的程序設(shè)計(jì)語(yǔ)言相比,VB最突出的特點(diǎn)是采用編程機(jī)制。
2.VB提供兩種控制程序運(yùn)行的方式,一種是方式,另一種是
方式。
3.VisualBasic6.0有3中工作模式,即,和。
4.如果要在單擊命令按鈕Command1時(shí)執(zhí)行一段程序代碼,則應(yīng)將這段代碼寫在
事件過(guò)程中。
5.在窗體上已經(jīng)建立了多個(gè)控件如label1、Label2、Text1和Command1,要使程序一
運(yùn)行時(shí)焦點(diǎn)就定位在Command1控件上,應(yīng)對(duì)Command1控件設(shè)置屬性的值為
6.要清除一個(gè)文本框Textl中的文字,則在程序代碼中應(yīng)書(shū)寫的語(yǔ)句是
三、編程題
I.編寫一個(gè)簡(jiǎn)單的程序,在窗體上有兩個(gè)命令按鈕(“顯示”與“隱藏”)和一個(gè)標(biāo)簽
(標(biāo)題為“歡迎使用”),單擊“顯示”按鈕時(shí),將標(biāo)簽顯示出來(lái),單擊“隱藏”按鈕時(shí),將
標(biāo)簽隱藏起來(lái)。
2.窗體上含有兩個(gè)標(biāo)簽、兩個(gè)文本框和兩個(gè)命令按鈕,兩個(gè)標(biāo)簽分別用于顯示文字“邊
長(zhǎng)”和“面積”,兩個(gè)文本框用于輸入數(shù)據(jù)和顯示計(jì)算結(jié)果。運(yùn)行時(shí),用戶在“邊長(zhǎng)”文本
框中輸入某一個(gè)正整數(shù),當(dāng)單擊“計(jì)算”按鈕時(shí),則在“面積”文本框中顯示該數(shù)的平方數(shù)。
單擊“結(jié)束”按鈕,則結(jié)束程序的運(yùn)行。
1.4參考答案
一、選擇題
12345678910
BCACCCDBCA
11121314151617181920
DDCDDCBBCB
二、填空題
i.事件驅(qū)動(dòng)
2.逐語(yǔ)句,逐過(guò)程
3.設(shè)計(jì)模式,運(yùn)行模式,中斷模式
4.Commandl_Click
5.Tabindex,0
6.Textl.Text=,,v
三、編程題
LPrivateSubCommand1_Click()
Label1.Visible=True
EndSub
PrivateSubCommand2_Click()
Label1.Visible=False
EndSub
2.PrivateSubCommandl_Click()
DimxAsSingle
x=Vai(Textl.Text)
Text2.Text=x*x
EndSub
PrivateSubCommand2_Click()
End
EndSub
第二章順序結(jié)構(gòu)的程序設(shè)計(jì)
2.1知識(shí)點(diǎn)歸納
1.VB提供的數(shù)據(jù)類型
數(shù)據(jù)是程序處理的對(duì)象。為了更好地處理各種各樣的數(shù)據(jù),VB定義了多種數(shù)據(jù)類型,
不同類型的數(shù)據(jù),所占的存儲(chǔ)空間不一樣。VB提供的數(shù)據(jù)類型主要分為:
①標(biāo)準(zhǔn)數(shù)據(jù)類型:整型(Integer)、長(zhǎng)整型(Long)、字節(jié)型(Byte)、單精度型(Single)、雙精
度型(Double)、貨幣型(Currency)、字符串型(String)、邏輯型(Boolean)、日期型(Dale)和變體
型(Variant)。
②用戶自定義類型:可以用Type…EndTypy語(yǔ)句創(chuàng)建用戶定義的類型。
③枚舉類型:可以用Enum…EndEnum語(yǔ)句來(lái)定義相關(guān)的命名常數(shù)集合。
2.變量和常量
(1)變量的定義和作用域
①用類型說(shuō)明符來(lái)標(biāo)識(shí),常用類型說(shuō)明符有:?jiǎn)尉雀↑c(diǎn)數(shù)!、雙精度浮點(diǎn)數(shù)#、整型
數(shù)據(jù)%、長(zhǎng)整型數(shù)據(jù)&、貨幣型數(shù)據(jù)@、字符串型數(shù)據(jù)$。
②在定義變量時(shí)指定類型,其格式如下:
[PublicIPrivateIStatic]Dim變量名As數(shù)據(jù)類型
③變量的作用域指的是變量的有效范圍。根據(jù)定義位置和使用的變量定義語(yǔ)句的不同,
分為3種:
?局部變量:是在過(guò)程(事件過(guò)程或通用過(guò)程)內(nèi)定義的變量,其作用域是其所在的過(guò)
程。局部變量在過(guò)程內(nèi)用Dim或Static聲明。
?模塊變量:包括窗體變量和標(biāo)準(zhǔn)模塊變量,其作用于窗體內(nèi)的所有過(guò)程。模塊變量用
Private或Dim聲明。
?全局變量:作用域最大,在工程中的每一模塊和窗體都能訪問(wèn)的變量。全局變量用
Public或Global聲明。當(dāng)局部變量和全部變量同名時(shí),在局部變量所在過(guò)程中該變量為局部
變量,離開(kāi)此過(guò)程為全局變量。
變量名必須以字母或漢字開(kāi)頭,由字母、數(shù)字或下劃線組成,長(zhǎng)度小于等于255個(gè)字符;
不能使用VB中的關(guān)鍵字、過(guò)程名、符號(hào)常量名和函數(shù)名;在為變量命名時(shí)應(yīng)見(jiàn)名知義,盡
可能簡(jiǎn)單明了,盡量采用VisualBasic建議的變量名前綴或后綴的約定來(lái)命名,以便區(qū)分變
量的類型,在同一個(gè)范圍內(nèi)變量名必須是唯一的。
(2)在VB中,常量分三類,分別為:
①一般常量:在程序代碼中直接給出的數(shù)據(jù)。包括字符串常量(用雙引號(hào)括起來(lái)的一系
列字符)、數(shù)值常量(包括整型常量、長(zhǎng)整型常量、單精度常量、雙精度常量)、布爾常量(只
有True和False兩個(gè)值)、日期常量(用一對(duì)##括起來(lái))。
②用戶自定義常量——聲明常量的語(yǔ)法為:
[PublicIPrivate]Const常量名[As數(shù)據(jù)類型]=<表達(dá)式>
通常,為區(qū)分明顯,用戶定義的常量名用大寫字母;常量名在程序中智能引用,不能重
新賦值。
③VB提供的系統(tǒng)常量——系統(tǒng)定義好的常量位于對(duì)象庫(kù)中,在“對(duì)象瀏覽器”中的
VisualBasic(VB)^VisualBasicforApplications(VBA)等對(duì)象庫(kù)中列舉了VB的系統(tǒng)常量。
如:VbOkonly、VbYesno
3.運(yùn)算符與表達(dá)式
①算術(shù)運(yùn)算符:八(乘方)、*、/(除法)、\(整除)、mod(求余)+、優(yōu)先級(jí)從
左到右依次降低。
②字符串運(yùn)算符有兩個(gè):&和+,區(qū)別是“+”兩邊必須是字符串,“&”不一定。
③關(guān)系運(yùn)算符:=、>、>=、<、<=、<>,運(yùn)算結(jié)果為邏輯值。
④邏輯運(yùn)算符:Not、And、Or、Xor、Eqv(相等)和Imp(蘊(yùn)含),其運(yùn)算結(jié)果為邏輯
值。
⑤日期運(yùn)算符:+、一。注意:兩個(gè)日期可以相減,但不能相加。日期運(yùn)算的結(jié)果可能
是日期,也可能是相隔的天數(shù)。
⑥優(yōu)先級(jí):當(dāng)一個(gè)表達(dá)式中存在多種運(yùn)算符是時(shí),按如下優(yōu)先級(jí)的先后順序進(jìn)行運(yùn)算:
函數(shù)一>算術(shù)運(yùn)算(乘方一>取負(fù)一>乘法/除法一>整除一>求余一>加/減)一>字符串運(yùn)
算符一>關(guān)系運(yùn)算符一〉邏輯運(yùn)算符(Not—>And—>0r),同級(jí)從左到右,有括號(hào)時(shí)括號(hào)內(nèi)優(yōu)
先。
4.常用內(nèi)部函數(shù)
VB提供了大量的內(nèi)部函數(shù)供用戶在編程時(shí)調(diào)用。內(nèi)部函數(shù)按其功能可分為:數(shù)學(xué)函數(shù)、
轉(zhuǎn)換函數(shù)、字符串函數(shù)、日期函數(shù)和格式輸出函數(shù)等。
函數(shù)的一般調(diào)用格式:
〈函數(shù)名乂[〈參數(shù)表>])
說(shuō)明:參數(shù)表可以是一個(gè)參數(shù)或用逗號(hào)分隔開(kāi)的多個(gè)參數(shù);參數(shù)可以是變量、常量、表
達(dá)式,也可以是函數(shù)。
5.賦值語(yǔ)句
格式:[Let]<變量>=<表達(dá)式>或:[Let][對(duì)象名.]<屬性名>=<表達(dá)式>
功能:將等號(hào)右邊表達(dá)式的值,賦值給等號(hào)左邊的變量或?qū)傩浴?/p>
說(shuō)明:
(1)關(guān)鍵字Let可以省略。
(2)向?qū)ο筚x值時(shí),應(yīng)指明對(duì)象名和屬性名,系統(tǒng)默認(rèn)的對(duì)象是當(dāng)前窗口。
(3)等號(hào)在這里稱為賦值號(hào)。
(4)變量和對(duì)象一旦被賦值,新值將代替舊值。
(5)賦值語(yǔ)句具有計(jì)算和賦值的雙重功能。
(6)等號(hào)右邊的變量(對(duì)象)必須和等號(hào)右邊的數(shù)據(jù)類型一致。
注意:在代碼中區(qū)分賦值語(yǔ)句“=”與關(guān)系運(yùn)算符“=:
6.程序的基本構(gòu)成。
程序通常由若干條語(yǔ)句共同協(xié)作完成?個(gè)完整的功能,一般情況下,一個(gè)完整的程序應(yīng)
該包含4個(gè)部分:
①說(shuō)明部分:說(shuō)明程序中使用的變量的類型、初始值、特性等。
②輸入部分:輸入程序中需要處理的原始數(shù)據(jù)。
③加工部分:對(duì)程序中的數(shù)據(jù)按需要進(jìn)行加工和處理。
④輸出部分:將結(jié)果以某種形式進(jìn)行輸出。
7.VB程序的書(shū)寫規(guī)則
在編寫程序代碼時(shí),要遵守一定的規(guī)則。不能超越其規(guī)定來(lái)自由發(fā)揮。
(1)一行可寫多條語(yǔ)句,語(yǔ)句間用冒號(hào)":"分隔,一行最多可有255個(gè)字符。
(2)一條語(yǔ)句可分成多行書(shū)寫。在VB中?般是一行寫一條語(yǔ)句,但若單行語(yǔ)句太長(zhǎng),
也可以分若干行書(shū)寫,但在行末須加入續(xù)行符(一個(gè)空格緊跟一個(gè)下劃線
(3)VB代碼中不區(qū)分大小寫字母,自動(dòng)將關(guān)鍵字的首字母轉(zhuǎn)換成大寫。
(4)各關(guān)鍵字之間,關(guān)鍵字和變量名、常量名、過(guò)程名之間一定要有空格分隔。
(5)使用縮進(jìn)格式。為了便于閱讀,編寫程序代碼時(shí),可以使用縮進(jìn)來(lái)反映代碼的邏輯
結(jié)構(gòu)和嵌套關(guān)系。
(6)嚴(yán)格按照VB規(guī)定的格式和符號(hào)編寫程序。與其他高級(jí)語(yǔ)言一樣,在VB中使用的分
號(hào)、引號(hào)、括號(hào)等符號(hào)都是英文狀態(tài)下的半角符號(hào),而不能使用中文狀態(tài)下的全角符號(hào)。
(7)程序中可使用注釋,注釋以Rem開(kāi)頭或用撇號(hào)引導(dǎo)注釋內(nèi)容,用撇號(hào)“
引導(dǎo)的注釋內(nèi)容,可直接出現(xiàn)在語(yǔ)句的后面。
8.數(shù)據(jù)的輸入輸出
一個(gè)完整的VB應(yīng)用程序,應(yīng)包括數(shù)據(jù)輸入、數(shù)據(jù)處理和數(shù)據(jù)輸出3個(gè)部分。通過(guò)數(shù)據(jù)
輸入和數(shù)據(jù)輸出實(shí)現(xiàn)應(yīng)用程序與用戶交互的功能。
①數(shù)據(jù)輸入除了利用賦值語(yǔ)句“=”為變量和對(duì)象屬性設(shè)置新值(在程序運(yùn)行前的編
碼階段輸入數(shù)據(jù)),或利用文本框控件供用戶在程序運(yùn)行過(guò)程中輸入數(shù)據(jù)外,還可以使用
InputBox。函數(shù)在程序運(yùn)行過(guò)程中從鍵盤輸入數(shù)據(jù)。
<變量名>=InputBox(<提示信息>[,標(biāo)題]L默認(rèn)內(nèi)容])
說(shuō)明:運(yùn)行InputBox。函數(shù)可以屏幕上產(chǎn)生一個(gè)對(duì)話框供用戶輸入數(shù)據(jù),并將其輸入的
內(nèi)容作為函數(shù)返回值向變量賦值。
②數(shù)據(jù)輸出除了可以在窗體、標(biāo)簽等標(biāo)準(zhǔn)控件上顯示信息以外,還可以使用MsgBox
過(guò)程或MsgBox()函數(shù)彈出對(duì)話框顯示信息。
MsgBox〈提示信息>[,按鈕圖標(biāo)][,標(biāo)題]
說(shuō)明:彈出一個(gè)MsgBox對(duì)話框,顯示提示信息,只有一個(gè)按鈕,無(wú)返回值。
或〈變量名>=MsgBox(<提示信息>[,按鈕圖標(biāo)][,標(biāo)題])
說(shuō)明:彈出MsgBox對(duì)話框,提示用戶選擇按鈕,將用戶選擇按鈕的結(jié)果返回,控制程
序的流向。
9.Print方法
Print方法可以在窗體匕或其它圖形對(duì)象上以及打印機(jī)上輸出信息,而信息輸出的位置
非常關(guān)鍵。
(1)Print方法的格式
[對(duì)象名.[Print[表達(dá)式列表][,I;]
表達(dá)式表可以是一個(gè)或多個(gè)表達(dá)式,可以是數(shù)值表達(dá)式,也可以是字符串。對(duì)于數(shù)值表
達(dá)式,打印表達(dá)式的值(即:Print語(yǔ)句具有計(jì)算和輸出雙重功能,先計(jì)算后打印);而字符
串則原樣輸出。當(dāng)輸出多個(gè)表達(dá)式或字符串時(shí),各表達(dá)式之間要用分隔符隔開(kāi)(,或;):
①若用,分隔,則按標(biāo)準(zhǔn)格式顯示數(shù)據(jù)項(xiàng)(以14個(gè)字符為一區(qū)段);
②若用;分隔,則按緊湊格式輸出數(shù)據(jù)項(xiàng)(字符之間無(wú)空格);
③若表達(dá)式結(jié)尾無(wú)標(biāo)點(diǎn)符號(hào),則執(zhí)行完該語(yǔ)句后,自動(dòng)換行;
④若Print語(yǔ)句中無(wú)表達(dá)式列表,則輸出空行。
(2)用Tab()和Spc()函數(shù)定位
①Tab。函數(shù)
格式:Tab(<n>)
功能:使用在Print語(yǔ)句中,把光標(biāo)移動(dòng)到由參數(shù)n指定的位置,并從該位置開(kāi)始輸出
數(shù)據(jù)。
說(shuō)明:要輸出的內(nèi)容放在Tab函數(shù)后,并用;號(hào)隔開(kāi)。在一個(gè)Print方法中有多個(gè)Tab
函數(shù)時(shí),每?個(gè)Tab函數(shù)對(duì)應(yīng)一個(gè)輸出項(xiàng),之間用:號(hào)分隔。參數(shù)n可以是數(shù)值表達(dá)式,
但其值是一整數(shù)。
②Spc()函數(shù)
格式:Spc(<n>)
功能:在Print輸出中,用Spc()函數(shù)可以跳過(guò)n個(gè)空格。
說(shuō)明:Spc函數(shù)和輸出項(xiàng)之間用;號(hào)分隔,其作用和Tab函數(shù)類似,可以相互替代。
但Tab函數(shù)是從對(duì)象的左端開(kāi)始記數(shù),而Spc()函數(shù)只是表示兩輸出項(xiàng)之間的間隔。
2.2常見(jiàn)錯(cuò)誤和難點(diǎn)分析
i.變量名使用系統(tǒng)關(guān)鍵字、系統(tǒng)常量、函數(shù)名等。
如:DimdateAsInteger這里Date是日期函數(shù)名。
2.無(wú)意聲明了變體型的變量。
如:Dima,b,cAsInteger這里聲明的a和b為變體型變量,正確的應(yīng)該是:
DimaAsInteger,bAsInteger,cAsInteger
3.賦值號(hào)“=”兩邊的表達(dá)式數(shù)據(jù)類型不匹配
如:a為整型變量,文本框Textl中輸入的內(nèi)容是welcome,代碼a=Textl.Text運(yùn)行過(guò)
程中提示“類型不匹配”。
4.同時(shí)給多個(gè)變量賦值,造成邏輯錯(cuò)誤。
要給多個(gè)變量a、b、c賦值,有的用戶寫成a=b=c=5,這條語(yǔ)句在C語(yǔ)言中是正確的,
但在VB中由于賦值號(hào)與邏輯等號(hào)書(shū)寫相同,所以此語(yǔ)句中b和c之間、c和5之間的“=”
系統(tǒng)會(huì)認(rèn)為是邏輯等號(hào),所以不會(huì)出現(xiàn)語(yǔ)法錯(cuò)誤,而形成邏輯錯(cuò)誤。
5.漏掉乘法運(yùn)算符,
在VB中書(shū)寫S=ab數(shù)學(xué)表達(dá)式時(shí),習(xí)慣性的省略了乘法運(yùn)算符,系統(tǒng)會(huì)認(rèn)為是ab是一
個(gè)變量,不會(huì)認(rèn)為是求a乘以b,導(dǎo)致邏輯錯(cuò)誤。
6.算術(shù)運(yùn)算符/和\的使用混淆。
在VB中,/是除法運(yùn)算符,\是整除運(yùn)算符,有的用戶混淆了這兩個(gè)運(yùn)算符,在求3
除以2的結(jié)果時(shí),寫成s=3\2,結(jié)果只有商的整數(shù)部分。
7.字符串連接運(yùn)算出錯(cuò)。
字符串的連接運(yùn)算賦有&和+兩種,在編寫代碼過(guò)程中,有的用戶會(huì)寫出這樣的代碼:
DimsasString,nasInteger
s=”計(jì)算的結(jié)果為:"+n
系統(tǒng)提示錯(cuò)誤信息“類型不匹配”。在進(jìn)行字符串連接運(yùn)算時(shí),如果使用+進(jìn)行連接運(yùn)
算,連接符兩邊應(yīng)全為字符型,在使用&連接運(yùn)算符進(jìn)行運(yùn)算時(shí),可以不全是字符型,系統(tǒng)
會(huì)自動(dòng)轉(zhuǎn)換。所以這里換用&運(yùn)算符或用str(n)進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換。
8.邏輯表達(dá)式書(shū)寫錯(cuò)誤,編譯時(shí)沒(méi)有造成語(yǔ)法錯(cuò)而形成邏輯錯(cuò)。
要在VB中表示數(shù)學(xué)表達(dá)式0<=x<l,有的用戶寫成:0<=x<l,編譯時(shí)沒(méi)有造成語(yǔ)法錯(cuò)
誤而形成邏輯錯(cuò)。因?yàn)檫@里x的值不管是多少,這個(gè)邏輯表達(dá)式的結(jié)果都是True。
在VB中,當(dāng)兩個(gè)不同類型的變量或常量參加運(yùn)算時(shí),有自動(dòng)向精度高的類型轉(zhuǎn)換的功
能。如邏輯常量True轉(zhuǎn)換為數(shù)值型的值為一1,False為0;反之?dāng)?shù)值非0轉(zhuǎn)換為邏輯型的值
為True,0為False?表達(dá)式0<=x<1的計(jì)算過(guò)程為:先計(jì)算0<=x,結(jié)果為true(-l)或False(O);
不管是哪個(gè)結(jié)果,始終是<1的,表達(dá)式結(jié)果永遠(yuǎn)都是True。正確的書(shū)寫應(yīng)該是:x>=0And
X<1o
9.數(shù)據(jù)溢出錯(cuò)誤。
有的用戶在編寫代碼求解s=10!時(shí),定義一個(gè)整型變量s(DimsAsInteger)來(lái)表示10!
的結(jié)果,編譯提示錯(cuò)誤信息“溢出二在VB定義了多種數(shù)據(jù)類型,不同類型的數(shù)據(jù),所占
的存儲(chǔ)空間不一樣。整型變量2個(gè)字節(jié)的存儲(chǔ)空間無(wú)法滿足10!結(jié)果的需要,發(fā)生溢出。解
決的辦法是:DimsasLong,長(zhǎng)整型數(shù)據(jù)有4個(gè)字節(jié)的存儲(chǔ)空間。另外對(duì)于浮點(diǎn)型數(shù)據(jù)也要
根據(jù)實(shí)際的數(shù)據(jù)值來(lái)決定聲明為單精度型(Single)還是雙精度型(Double)。
10.標(biāo)準(zhǔn)函數(shù)名輸入錯(cuò)誤
VB提供了很多事先定義好具有特定功能的內(nèi)部函數(shù),供用戶使用。當(dāng)函數(shù)名寫錯(cuò)時(shí),
運(yùn)行程序,系統(tǒng)顯示錯(cuò)誤提示信息“子程序或函數(shù)未定義”,單擊“確定”按鈕,在指示位
置檢查函數(shù)名是否輸入正確。
11.聲明局部變量和窗體級(jí)變量的問(wèn)題。
在VB程序中,需要用變量用來(lái)暫時(shí)存放一些中間結(jié)果,這些變量在使用前需要聲明。
變量一般在過(guò)程內(nèi)部聲明使用,稱為局部變量。但當(dāng)多個(gè)過(guò)程需要用到同個(gè)變量的值時(shí),
該變量必須放在所有代碼的最前面即“通用聲明”段聲明,稱為窗體級(jí)變量。
12.在Form_Load事件過(guò)程中print和set_focus方法不起作用
Form_Load過(guò)程即系統(tǒng)在窗體裝入內(nèi)存時(shí)無(wú)法同步地用Print、SetFocus方法顯示或定
位控件的焦點(diǎn)。解決方法:
①Print顯示信息:
方法一、在屬性窗口將窗體AutoRedraw屬性設(shè)置為True。
方法二、在Form_Load事件過(guò)程第一行添加Show語(yǔ)句
②SetFocus方法定位焦點(diǎn):在屬性窗口中對(duì)要定位焦點(diǎn)的控件的Tabindex屬性值設(shè)置
為0。
13.在使用計(jì)時(shí)器控件實(shí)現(xiàn)簡(jiǎn)單的動(dòng)畫(huà)時(shí),計(jì)時(shí)器不工作。
一個(gè)計(jì)時(shí)器兩個(gè)屬性(Enabled和Interval)一個(gè)事件(Timer):只有在保證給計(jì)時(shí)器的
Enabled屬性賦值True,Interval屬性值非0,timer事件過(guò)程編寫正確的情況下,計(jì)時(shí)器正
常工作。
2.3習(xí)題
一、選擇題
i.在一個(gè)語(yǔ)句行內(nèi)寫多條語(yǔ)句,語(yǔ)句之間應(yīng)該用來(lái)分隔。
(A)逗號(hào)(B)分號(hào)(C)頓號(hào)(D)冒號(hào)
2.以下可以作為VisualBasic變量名的是。
(A)Fl.l(B)Int(C)F2A(D)2FA
3.當(dāng)標(biāo)簽的標(biāo)題內(nèi)容太長(zhǎng),需要根據(jù)題目自動(dòng)調(diào)整標(biāo)簽的大小時(shí),應(yīng)設(shè)置標(biāo)簽的屬性
為True。
(A)AutoSize(B)Wordwrap(C)Enabled(D)Visible
4.在窗體上已經(jīng)建立了多個(gè)控件,如Textl,Label1,Command1o若要程序開(kāi)始運(yùn)行時(shí)焦
點(diǎn)定位在Textl上,應(yīng)將Textl的Tabindex屬性設(shè)置為
(A)0(B)1(C)2(D)3
5.在程序中將變量i,t,s,d分別定義為Integer類型,Boolean類型,String類型和Date類型,
下來(lái)賦值語(yǔ)句正確的是o
(A)s=5+”abc”(B)t=#True#(C)i="354"+“613”(D)d=#10/05/04#
6.下列語(yǔ)句中錯(cuò)誤的是o
(A)A$="abc"(B)x=5+6(C)print“abc”(D)printx=a+b
7.VisualBasic認(rèn)為下面_____組變量是同一個(gè)變量。
(A)A1和al(B)Sum和Summary
(C).Aver和Average(D)Al和A_1
8.表達(dá)式5Mod3+3\5*2的值是。
(A)0(B)2(04(D)6
9.設(shè)x=4,y=8,z=7,以下表達(dá)式x>zOrz<y的值是。
(A)1(B)-1(C)True(D)False
10.\、/、Mod、*、四個(gè)算術(shù)運(yùn)算符中,優(yōu)先級(jí)最低的是
(A)\(B)/(C)Mod(D)*
11.設(shè)A、B、C表示三角形的三條邊,表示條件“任意兩邊之和大于第三邊”的布爾表達(dá)
式正確的是________。
(A)A+B>=CORA+C>=BORB+C>=A
(B)Not(A+Bv=CANDA+Cv=BANDB+C<=A)
(C)A+B<CORA+C<BORB+C<A
(D)A+B>CANDA+C>BANDB+C>A
12.表達(dá)式(7\3+1)*(18\5-l)的值是。
(A)8.67(B)7.8(C)6(D)6.67
13.代數(shù)式X]-|a|+lnlO+sin(x2+2TT)/cos(57°)對(duì)應(yīng)的VisualBasic表達(dá)式是
(A)XI-Abs(A)+Log(l0)+Sin(X2+2*3.14)/Cos(57*3.14/180)
(B)XI-Abs(A)+Log(IO)+Sin(X2+2*^)/Cos(57*3.14/180)
(C)XI-Abs(A)+Log(10)+Sin(X2+2*3.14)/Cos(57)
(D)XI-Abs(A)+Log(l0)+Sin(X2+2*n)/Cos(57)
14.求一個(gè)三位正整數(shù)N的十位數(shù)的正確方法是o
(A)Int(N/10)-Int(N/100)*10
(B)Int(N/10)-Int(N/100)
(C)N-Int(N/100)*100
(D)Int(N-Int(N/100)*100)
15.表達(dá)式Left(“asdf”,2)+UCase(“as")的值為。
(A)asas(B)ASAS(C)dfas(D)asAS
16.下列日期型常量表達(dá)正確的是______o
(A)”2/1/02"(B)2/1/02(C)#2/1/02#(D){2/1/02}
17.設(shè)A="12345678”,則表達(dá)式Val(Left(A,4)+Mid(A,4,2))的值為_(kāi)_____。
(A)123456(B)123445(C)8(D)6
18.代數(shù)式,一對(duì)應(yīng)的VisualBasic表達(dá)式是______。
,c
b+—
d
(A)a/b+c/d(B)a/(b+c)/d(C)(a/b+c)/d(D)a/(b+c/d)
19.函數(shù)Len(Str(Val(“123.4")))的值為。
(A)11(B)5(C)6(D)8
20.下列表達(dá)式計(jì)算的結(jié)果不是“1234”的是。
(A)“12“+“34“(B)“12"&“34”(C)12+34(D)12&34
21.Int(100*Rnd())+l產(chǎn)生的隨機(jī)整數(shù)的閉區(qū)間是。
(A)[0,99](B)[1,100]
(C)[0,100](D)[1,99]
22.如果X是一個(gè)正的實(shí)數(shù),將千分位四舍五入,保留兩位小數(shù)的表達(dá)式是—
(A)0.01*Int(X+0.05)(B)0.01*Int(100(X+0.005))
(C)0.01*Int(100*(X+0.05))(D)0.01*Int(X+0.005)
23.執(zhí)行如下兩條語(yǔ)句,窗體上顯示的是。
a=9.8596
PrintFormat(a,"$0,000.00")
(A)0,009.86(B)$9.86(C)9.86(D)$0,009.86
24.在窗體中添加一個(gè)命令按鈕(名稱為Commandl)和一個(gè)文本框(名稱為Textl),并編
寫如下程序代碼:
PrivateSubCommand1_Click()
DimxAsInteger,yAsIntegerzAsInteger
x=1:y=2:z=3
x=y:y=z:z=x
Textl.Text=CStr(z)
EndSub
程序運(yùn)行過(guò)程中,用戶單擊命令按鈕Commandl后,文本框Textl中顯示。
(A)0(B)1(C)2(D)3
25.以下關(guān)系表達(dá)式中,其值為False的是。
(A"'ABC">''AbC"⑻"the'O'they"
(C)ttVISUAL,,=UCase(4tVisuaF,)(D)'Tnteger">“Int”
二、填空題
1.產(chǎn)生[10,40]之間的隨機(jī)整數(shù)的VB表達(dá)式是
2.利用文本框1輸入數(shù)值,將其作為一個(gè)圓半徑,分別用文本框2及文本框3輸出顯示圓
周長(zhǎng)、圓面積。
PrivateSubCommand1_C1ick()
DimrAsSingle,1AsSingle,sAsSingle
ConstPIAsSingle=3.14159
1=2*PI*r
s=pi*r、2
Text2.Text=1
Text3.Text=s
EndSub
3.利用InputBoxO輸入框函數(shù)從鍵盤上輸入一個(gè)單詞,用標(biāo)準(zhǔn)格式在一個(gè)輸出行內(nèi)重復(fù)顯
示3遍。
PrivateSubCommandl_Click()
DimaAsString,msgAsString
msg=〃請(qǐng)輸入一個(gè)單詞〃
s=________________________
EndSub
4.用消息框語(yǔ)句顯示變量a和lb之和。
PrivateSubCommandl_Click()
DimaAsSingle,bAsSingle
a=InputBox("請(qǐng)輸入a的值〃)
b=InputBox(“請(qǐng)輸入b的值")
EndSub
5.請(qǐng)完善下面程序,程序運(yùn)行,用戶通過(guò)輸入框輸入姓名,然后彈出消息框中顯示“XX
先生:祝您馬到成功!”
PrivateSubForm_Load()
DimxAsString
x=InputBox(〃輸入您的姓名〃,〃您叫什么名?〃)
EndSub
6.寫出下列函數(shù)的值:
(1)Int(-3.14159)=(2)sqr(sqr(64))=_______________________
(3)fix(-3.1415926)=(4)int(abs(99-l00)/2)=
(5)sgn(7*3+2)=___________________(6)Lcase(4tHello,,)=______________________
(7)Left(t4Hello,,,2)=(8)val(4416year^)=________________________
(9)str(-459.65)=___________________(10)Len(4tHello,,)=_______________________
7.寫出代數(shù)式對(duì)應(yīng)的VisualBasic表達(dá)式。
(i)代數(shù)式(-獷+(,+-
對(duì)應(yīng)的VisualBasic表達(dá)式為
心一y)
(2)代數(shù)式y(tǒng)la2-2abcosa對(duì)應(yīng)的VisualBasic表達(dá)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025項(xiàng)目法律服務(wù)合同
- 2023八年級(jí)英語(yǔ)下冊(cè) Unit 4 Why don't you talk to your parents Section A 第1課時(shí)(1a-2d)說(shuō)課稿 (新版)人教新目標(biāo)版
- 7多元文化 多樣魅力《多彩的世界文化》(說(shuō)課稿)-統(tǒng)編版道德與法治六年級(jí)下冊(cè)
- 2025合同模板承包合同書(shū)(車輛)范本
- 2025中外合資公司勞動(dòng)合同協(xié)議書(shū)
- 直飲水施工方案
- 食堂餐廳售賣設(shè)備施工方案
- 2024年春七年級(jí)語(yǔ)文下冊(cè) 第4單元 13 葉圣陶先生二三事說(shuō)課稿 新人教版
- 《1 信息并不神秘》說(shuō)課稿-2023-2024學(xué)年華中師大版信息技術(shù)三年級(jí)上冊(cè)
- Unit 2 Expressing yourself Part A Lets spell(說(shuō)課稿)-2024-2025學(xué)年人教PEP版(2024)英語(yǔ)三年級(jí)下冊(cè)001
- SWITCH塞爾達(dá)傳說(shuō)曠野之息-1.6金手指127項(xiàng)修改使用說(shuō)明教程
- 2022-2023學(xué)年廣東省佛山市順德區(qū)高三(下)模擬英語(yǔ)試卷
- 節(jié)后復(fù)工培訓(xùn)內(nèi)容五篇
- GB/T 33322-2016橡膠增塑劑芳香基礦物油
- GA 1051-2013槍支彈藥專用保險(xiǎn)柜
- 某水毀公路維修工程施工方案
- 家庭病房工作制度和人員職責(zé)
- 建設(shè)工程監(jiān)理合同示范文本GF-2018-0202
- 2022質(zhì)檢年終工作總結(jié)5篇
- 江蘇省中等職業(yè)學(xué)校學(xué)業(yè)水平考試商務(wù)營(yíng)銷類(營(yíng)銷方向)技能考試測(cè)試題
- 國(guó)際商務(wù)談判雙語(yǔ)版課件(完整版)
評(píng)論
0/150
提交評(píng)論