vb程序設計同步學習指導_第1頁
vb程序設計同步學習指導_第2頁
vb程序設計同步學習指導_第3頁
vb程序設計同步學習指導_第4頁
vb程序設計同步學習指導_第5頁
已閱讀5頁,還剩139頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第一章VisualBasic概述

1.1知識點歸納

1.VB的特點

(1)面向對象的可視化編程。

把程序和數(shù)據(jù)“封裝”起來成為??個對象;每個對象都是可視的;從VB工具箱中選用控

件(即現(xiàn)成部件,如文本框、命令按鈕等),構成應用程序的用戶界面。

(2)事件驅動的編程機制。

傳統(tǒng)的程序設計語言面向過程,VB語言面向對象通過事件來觸發(fā)執(zhí)行相應的事件過程

(“事件驅動”),從而執(zhí)行對象的操作,達到運算、處理的目的。

(3)結構化的設計語言。

(4)友好的VB集成開發(fā)環(huán)境。

2.VB中對象的基本概念

(1)類和對象

類:?組用來定義對象的相關屬性和數(shù)據(jù)的集合。類是創(chuàng)建對象的模型,對象則是按模

型生產出來的成品。例如,人可以稱之為類,而每一個人,卻只能看做是對象。對象是VB

系統(tǒng)中的基本運行實體,是組程序代碼和數(shù)據(jù)的集合。

(2)對象的三要素

對象的三要素包括:屬性、方法和事件。

①屬性:對象的外部特征,即用來描述和反映對象特征的參數(shù)。不同的對象有不同的屬

性。每個對象都有一組特定的屬性,可以通過屬性窗口或代碼窗口對對象的屬性進行設置。

②方法:是對象能夠執(zhí)行的動作。它是對象本身內含的一些特殊函數(shù)或過程,用于完成

某種特定的功能,供用戶直接調用。

③事件:山系統(tǒng)預先設置好的、能被對象識別的動作。一個對象可以識別響應多個不同

的事件。

3.事件、事件過程及事件驅動

①事件:由系統(tǒng)預先設置好的、能被對象識別的動作。發(fā)生在用戶與應用程序交互時。

如單擊控件、鼠標移動、鍵盤按下等。

②事件過程:指附在對象上的用戶編寫的程序代碼,是事件的處理程序。由事件控制整

個程序的執(zhí)行流程,當某個事件(一般由用戶操作來觸發(fā))發(fā)生時,系統(tǒng)就會自動執(zhí)行此事件

的事件過程。

③事件驅動方式:是圖形用戶界面的本質,由用戶控制而代碼作出響應。即事件過程

要經(jīng)過事件的觸發(fā)才能被執(zhí)行,這種工作模式稱為事件驅動方式。

4.設計VB應用程序的步驟

VB應用程序的開發(fā),大致分為兩大部分的工作:設計用戶界面和編寫程序代碼。即先要

確定對象,然后針對這些對象編寫代碼?;静襟E如下:

(1)建立工程;

(2)設計用戶界面;

(3)設置對象的屬性值;

(4)編寫程序代碼,建立事件過程;

(5)保存應用程序;

(6)運行和調試應用程序;

(7)生成可執(zhí)行文件。

5.控件

控件是建立VB應用程序的基本元素,是VB中預先定義好的、編程能直接使用的對象,

可視化設計就是通過控件實現(xiàn)的。利用控件創(chuàng)建對象是VB編程的?項重要工作。VB中的控

件一般可分為三大類:內部控件、ActiveX控件和可插入的對象控件(也叫插件):

(1)內部控件(也稱標準控件):包含在VB系統(tǒng)中,默認狀態(tài)下在工具箱中以圖形的形

式顯示,這些控件既不能添加,也不能刪除。如:文本框、標簽、命令按鈕等。

(2)ActiveX控件:存放于擴展名為.ocx的獨立文件中,其中包括VB各種版本提供的控

件和僅在專業(yè)版和企業(yè)版中提供的控件,另外還有許多第三方提供的ActiveX控件。

(3)可插入的對象控件:是指能夠添加到工具箱中的對象,添加的方法是選擇“工程|部

件”菜單選項打開部件窗口,在“可插入對象”選項卡選擇相應文件,添加到工具箱中。

每個控件都有自己的屬性、方法和能夠識別響應的事件。

6.VB的工作模式

VB是一個集成編輯、編譯與運行于一起的集成開發(fā)系統(tǒng)。在程序設計過程中其工作狀態(tài)

可分為3中模式:設計模式、運行模式和中斷模式。為了調試程序,用戶必須知道系統(tǒng)當前

所處的工作模式及其能實施的相關操作。

(1)設計模式:用于用戶基本界面的設計、相關控件的屬性設置和程序代碼編制。

(2)運行模式:用于在編輯代碼過程中編譯執(zhí)行應用程序,以觀察運行效果或進行代碼調

試。在該模式下,不能對程序界面及代碼進行編輯。

(3)中斷模式:用于程序運行過程中的暫時中斷,這時可以編輯程序代碼,并可在“立即

窗口”中顯示變量值、中間結果或運行其他命令,但不可編輯界面。該模式主要用作程序代

碼的調試和中間結果的檢查。在此模式下,選擇“運行”菜單下的“繼續(xù)”選項可以繼續(xù)運

行程序,選擇“結束”選項可以中止程序的運行。

7.VB常見的錯誤類型

(1)編輯錯誤:在編輯代碼時,VB會對鍵入的代碼直接進行語法檢查。當發(fā)現(xiàn)代碼存在

打字錯誤,遺漏關鍵字或標點符等語法錯誤,VB在Form窗口中彈出一個子窗口,提示出錯

信息,出錯的那?行變成紅色。這時,用戶必須單擊“確定”按鈕,關閉出錯提示窗,然后

對出錯行進行修改。

(2)編譯錯誤:指按了“啟動”按鈕,VB開始運行程序前,先編譯執(zhí)行的程序段時,產

生的錯誤。此類錯誤由于用戶未定義變量、遺漏關鍵字等原因產生。這時,VisualBasic也彈

出一個子窗口,提示出錯信息,出錯的那一行被高亮度顯示。

(3)運行錯誤:指VB在編譯通過后,運行代碼時發(fā)生的錯誤。這類錯誤往往是指令代

碼執(zhí)行了一非法操作引起的。例如類型不匹配、試圖打開一個不存在的文件等。

(4)邏輯錯誤:程序運行后,得不到所期望的結果,這說明程序存在邏輯錯誤。這類錯

誤往往是程序存在邏輯上的缺陷所引起。例如,運算符使用不正確、語句的次序不對、循環(huán)

語句的起始、終值不正確等。通常,邏輯錯誤不會產生錯誤提示信息,故錯誤較難排除,需

要程序員仔細地閱讀分析程序以及設置斷點進行調試。

8.VB程序的調試

測試、調試程序的過程是查找、排除和修改程序中錯誤的過程。VB中可通過如下方式調

試程序:

(1)進入中斷模式

通常系統(tǒng)在中斷模式下,用戶可查看各變量及屬性的當前值,觀察界面狀況,從而了解

程序執(zhí)行是否正常,并且可以修改程序代碼、修改變量及屬性值等。

在程序調試時,使系統(tǒng)進入中斷模式的方法有以下幾種:

①程序運行時發(fā)生錯誤,被系統(tǒng)檢測到而中斷。

②程序運行中,按組合鍵“Ctrl+Break”,也可以單擊調試工具欄中“中斷”按鈕,或選

擇“運行/中斷”菜單項,就會產生中斷。

③在程序代碼中設置斷點,當程序運行到斷點處就會產生中斷。

④采用逐語句或逐過程運行,每執(zhí)行?行語句或一個過程就會產生中斷。

⑤在程序代碼中使用Stop語句,每執(zhí)行到Stop語句時,也會產生中斷。

在中斷模式下,最便捷的查看程序中變量或屬性的方法是將鼠標指針停留在要查看的變

量上,系統(tǒng)就會在隨后彈出的一個小方框中顯示指針所指的變量或屬性的當前值。

當在中斷模式下調試完畢后,退出中斷模式的方法有:

①如果要退出并繼續(xù)運行程序,則可選擇''運行/繼續(xù)”菜單項,或單擊調試工具欄中“繼

續(xù)”按鈕。

②如要結束運行,則可選擇“運行/結束”菜單項,或單擊調試工具欄中的“結束”按鈕。

(2)控制程序的運行。

①逐語句運行。即單擊運行,每次只執(zhí)行一條語句,之后運行中斷,按F8快捷鍵或選擇

“調試/逐語句”菜單項執(zhí)行下一條語句。這樣可逐個語句地檢查每條語句的執(zhí)行情況。

②逐過程運行。當程序運行到調用過程時,逐過程運行可將整個被調用過程作為整體來

執(zhí)行。按ShifHF8快捷鍵或選擇“調試/逐過程”菜單項均可實現(xiàn)逐過程運行。

(3)設置斷點調試。找出程序代碼中能反映程序執(zhí)行狀況的關鍵代碼行,單擊其左邊的邊框

位置,設置斷點。程序運行到斷點設置的代碼行自動停止執(zhí)行,并進入中斷模式,觀察運行

情況。

(4)立即窗口。立即窗口用于顯示在程序運行過程中與當前過程有關的信息,可以顯示某個

變量或屬性值,或執(zhí)行單個過程或表達式。在立即窗口中可以實現(xiàn)以下功能:

①用Dcbug.Print方法輸出信息。調試程序時可在程序代碼中添加Dcbug.Printn等語句,

將變量或表達式的值輸出到立即窗口中。程序調試完成后,應將Debug.Print語句刪除。

②在設計時用來測試表達式。在設計模式下,可以在立即窗口中使用Print方法或?直接

輸出一些表達式的結果。例如:在立即窗口中輸入:?Int(Rnd*5),按Enter鍵立即顯示一個

隨機產生的整數(shù)。

③直接從立即窗口打印。在中斷模式下,通過使用Print方法或?可在立即窗口中檢查變

量或表達式的值。例如:在立即窗口中輸入:?i,j,i*j

④從“立即”窗口編輯變量或屬性值。在中斷模式下,可在立即窗口中設置變量或屬性

的值。例如:當程序中斷時,在立即窗口中給屬性重新賦值:Textl.ForeColor=vbRcd,當程序

繼續(xù)運行時,文本框中字體的顏色就可變成紅色。

⑤從立即窗口中測試過程。從立即窗口可以通過指定參數(shù)值來調用過程,以測試程序程

序的正確性。例如:使用新參數(shù)來計算調用函數(shù)自c()的結果:n=5:?fac(n)

9.VB應用程序的結構

在VB中,一個VB應用程序就是一個工程,以*.vbp工程文件的形式保存,一個工程通

常包含多種類型的文件模塊,其中最常見的有:

①窗體模塊(*.frm):是創(chuàng)建應用程序的基礎。在窗體模塊中包含窗體及其控件的屬性

設置值,同時還包含在該窗體的代碼窗口中編寫的對常量、變量、類型和外部過程的聲明以

及sub和function過程。

②標準模塊(*.bas):存放與窗U或控件無關的代碼,通常是其他模塊共同使用的聲明

和過程代碼。

③類模塊文件(*.cls):用來定義類,并可用它創(chuàng)建能被應用程序中的過程所調用的對象。

④*.frx二進制文件:系統(tǒng)自動產生,包含屬性窗口裝入的圖片等信息。

⑤資源文件(.res):是指將在程序運行時用到的資源集中在一起的一個文件。一個資源

文件可以包括文字(TEXT)、位圖(BITMAP)、圖標(ICON)等。并且在程序中調用時不用

指明路徑,這就簡化了程序的編寫并減少了發(fā)生錯誤的可能。

1.2常見錯誤和難點分析

1.對象名稱(Name)屬性輸入錯誤

在窗體上創(chuàng)建的每個控件對象都有一個唯一標識它的默認名稱。用戶也可以在屬性列表

窗口中修改對象名。在編寫代碼時引用該對象的屬性或方法時需要指明對象名。當程序中的

對象名錯誤時,系統(tǒng)會顯示“要求對象”的信息。

2.對象的屬性名、方法名輸入錯誤

當對象的屬性名或方法名輸入出錯,編譯時系統(tǒng)會顯示“方法或數(shù)據(jù)成員未找到”的提

示信息。編寫代碼時盡量使用自動列出成員功能。即當用戶在輸入控件對象名和句點后,系

統(tǒng)自動列出該控件對象在運行模式下允許使用的屬性和方法,用戶可通過按空格鍵或雙擊鼠

標左鍵選擇,以防止此類錯誤的出現(xiàn)。正確的系統(tǒng)按規(guī)定的大小寫表示。

3.混淆控件的Name屬性和Caption屬性

Name屬性的值用于在程序中唯一的標識該控件對象,在窗體上不可見;而C叩tion屬性

的值是在窗體上顯示的內容。

4.混淆使用文本框的text屬性和標簽的Caption屬性

文本框的Text屬性和Caption屬性都可以用于表示控件在窗體上顯示的內容的,但兩個屬

性屬于不同的控件,文本框除了用于顯示信息以外,還可以用于輸入信息。

5.在編譯程序時出現(xiàn)“無效字符”錯誤提示,對應行以紅色字顯示。

在VB中要注意英文環(huán)境下的半角符號和中文環(huán)境下全角符號的使用。VB只允許使用英

文環(huán)境下的半角符號。最常見的如:逗號,與,雙引號與句號.與。的區(qū)別。

6.字母和數(shù)字形狀相似

輸入代碼時注意小寫字母“1”和數(shù)字“1”形式相同、小寫字母“?!迸c數(shù)字“0”。

7.添加多個相同類型的控件時,無意形成控件數(shù)組

在添加多個相同類型的控件時,可在窗體上先添加一個控件,然后“復制”一“粘貼”,

此時會出現(xiàn)對話框詢問是否創(chuàng)建控件數(shù)組,單擊“否”按鈕,在窗體上添加同類型不同名稱

的控件。如果單擊“是”則形成控件數(shù)組。

8.語句書寫位置錯誤。

在VB中,除了在“通用聲明”段使用Dim等變量聲明、Option語句外,任何其他語句

都應放在事件過程中,否則程序運行時會顯示“無效外部過程”的提示信息。

9.打開工程時找不到對應的文件

一個最簡單的VB應用程序至少也應包括一個工程文件.vbp和一個窗體文件.fhn組成。工

程文件記錄該工程內所有文件包括窗體文件.frm、標準模塊文件.bas、類模塊文件.cis等的名稱

和存放路徑。若用戶在上機結束后,把文件保存到磁盤上,而又遺漏了某個文件,下次打開

工程時就會顯示“文件未找到”的提示信息?;蛘咴诖疟P上對某個文件進行重命名,這樣也

會造成打開工程時顯示“文件未找到”的提示信息。建議用戶在編保存一個工程時,將該工

程包含的所有文件保存在同?個文件夾中,通常將該工程作為?個整體復制或移動。

10.誤用“文件”菜單中的“添加工程”選項,形成工程組。

用戶誤選“文件|添加工程”菜單選項,無意形成一個工程組?!拔募辈藛沃械摹肮こ塘?/p>

存為”選項,現(xiàn)在變成“工程組另存為”選項。解決的辦法:在工程資源管理器窗口,選中

不需要的工程,單擊鼠標右鍵打開快捷菜單,選“移除工程”選項,刪除工程文件夾下的工

程組文件*.vbg,再重新打開工程就可以了。

1.3習題

一、選擇題

1.VB是一種面向對象的程序設計語言,構成對象的三要素是

(A)屬性、控件和方法(B)屬性、事件和方法

(C)窗體、控件和過程(D)控件、過程和模塊

2.窗體編輯器的主要功能是。

(A)設計窗體的外觀(B)編寫源程序代碼

(C)建立用戶界面(D)設置對象屬性

3.在代碼窗口中,當從對象列表框中選定了某?對象后,在中會列出適用該對

象的事件。

(A)過程框(B)屬性窗口(C)事件列表框(D工具欄

4.要設置窗體上個控件的屬性,可在中進行。

(A)窗體布局窗口(B)工程資源管理器窗口

(C)屬性窗口(D)窗體窗口

5.某一窗體的name屬性為myForm,它的Load事件過程名稱為。

(A)MyFormLoad(B)Me_Load(C)Form_Load(D)Forml_load

6.要在窗體Forml內顯示字符串"MyForm",可以使用的語句是。

(A)Form.Caption=''MyForm"(B)Fonnl.Caption=>,MyFormn

(C)Forml.PrintMMyForm"(D)Form.Print”MyForm”

7.以下不能在"工程資源管理器”窗口中列出的文件類型是。

(A).bas(B).res(C).frm(D).ocx

8.設窗體上有一個文本框,名稱為textl,程序運行后,要求該文本框只能顯示信息,不

能接受輸入的信息,以下能實現(xiàn)該操作的語句是。

(A)Textl.MaxLength=O(B)Text1.Enabled=Flase

(C)Textl.Visible=Flase(D)Textl.Width=O

9.以下能在窗體Forml的標題欄中顯示"VisualBasic窗體"的語句是。

(A)Forml.Name="VisualBasic窗體"(B)Forml.Title="VisualBasic窗體"

(C)Fomil.Caption="VisualBasic窗體"(D)Forml.Text="VisualBasic窗體”

10.添加一個命令按鈕“開始”。若要為命令按鈕設置快捷鍵鍵,即按下Alt及字母S時,

能夠執(zhí)行"開始"命令按鈕的事件過程,方法是:。

(A)把Caption屬性設置為&Start(B)把Caption屬性設置為S&Start

(C)把Name屬性設置為&Start(D)把Name屬性設置為S&tart

11.以下敘述中錯誤的是o

(A)事件過程是響應特定事件的一段程序(B)不同的對象可以具有相同名稱的方法

(C)對象的方法是執(zhí)行指定操作的過程(D)對象事件的名稱可以由編程者指定

12.下列關于VisualBasic6.0的控件的敘述中,正確的是。

(A)VisualBasic6.0的控件分為3類:內部控件、標準控件和ActivateX控件

(B)標準控件可以添加,但不能刪除

(C)啟動VisualBasic6.0后,ActivateX控件就出現(xiàn)在工具箱

(D)ActivateX控件是擴展名為.ocx的獨立文件

13.下列說法錯誤的是。

(A)窗體文件的擴展名為.frm

(B)一個窗體對應--個窗體文件

(C)VisualBasic中一個工程只包含一個窗體文件

(D)VisualBasic中的一個工程最多可包含255個窗體

14.以下關于VisualBasic特點的敘述中,錯誤的是()

(A)VisualBasic是采用事件驅動編程機制的語言

(B)VisualBasic程序既可以編譯運行,也可以解釋運行

(C)構成VisualBasic程序的多個過程沒有固定的執(zhí)行順序

(D)VisualBasic程序不是結構化程序,不具備結構化程序的三種基本結構

15.VB6.0集成開發(fā)環(huán)境中不能完成的功能是o

(A)編輯源程序(B)編譯生成可執(zhí)行文件

(C)調試運行程序(D)自動查找并改正程序中的語法錯誤

16.確定一個控件在窗體上的位置的屬性是。

(A)Width和Height(B)Width或Height

(C)Top和Left(D)Top或LeR

17.若要使標簽空間顯示時不覆蓋其背景內容,要進行設置的屬性是。

(A)BackColor(B)BackStyle(C)ForeColor(D)BordStyle

18.若要使某一文本框控件在程序運行過程中能用鼠標單擊獲得輸入焦點,但不能用按

下Tab鍵的方式獲得輸入焦點,則應。

(A)將其Enabled屬性設置為False,且其TabStop屬性設置為False

(B)將其Enabled屬性設置為True,且其TabStop屬性設置為False

(C)將其Enabled屬性設置為False,且其TabStop屬性設置為True

(D)將其Enabled屬性設置為True,且其TabStop屬性設置為True

19.以下可以產生工程組文件(.vbg)的情況是。

(A)當?個程序中包含了兩個以上的窗體時

(B)當一個程序中包含了兩個以上的標準模塊時

(C)當一個程序中包含了兩個以上的工程時

(D)當一個程序中包含了兩個以上的類模塊時。

20.當窗體上的文字或圖形被覆蓋或窗體最小化后能恢復原貌,需要將窗體的屬

性設置為True。

(A)Visible(B)AutoRedraw(C)Paint(D)Resize

二、填空題

1.與傳統(tǒng)的程序設計語言相比,VB最突出的特點是采用編程機制。

2.VB提供兩種捽制程序運行的方式,一種是方式,另一種是

方式。

3.VisualBasic6.0有3中工作模式,即,和。

4.如果要在單擊命令按鈕Command1時執(zhí)行一段程序代碼,則應將這段代碼寫在

事件過程中。

5.在窗體上已經(jīng)建立了多個控件如labell、Label2、Text1和Command1,要使程序一運

行時焦點就定位在Command1控件上,應對Command1控件設置屬性的值為

6.要清除一個文本框Textl中的文字,則在程序代碼中應書寫的語句是。

三、編程題

1.編寫一個簡單的程序,在窗體上有兩個命令按鈕(“顯示”與“隱藏”)和一個標簽(標

題為“歡迎使用”),單擊“顯示”按鈕時,將標簽顯示出來,單擊“隱藏”按鈕時,將標簽

隱藏起來。

2.窗體上含有兩個標簽、兩個文本框和兩個命令按鈕,兩個標簽分別用于顯示文字“邊

長”和“面積”,兩個文本框用于輸入數(shù)據(jù)和顯示計算結果。運行時,用戶在“邊長”文本框

中輸入某一個正整數(shù),當單擊“計算”按鈕時,則在“面積”文本框中顯示該數(shù)的平方數(shù)。

單擊“結束”按鈕,則結束程序的運行。

1.4參考答案

一、選擇題

12345678910

BCACCCDBCA

11121314151617181920

DDCDDCBBCB

二、填空題

I.事件驅動

2.逐語句,逐過程

3.設計模式,運行模式,中斷模式

4.Commandl_Click

5.TabIndex,0

6.Textl.Text=,M,

三、編程題

1.PrivateSubCommandl_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

第二章順序結構的程序設計

2.1知識點歸納

1.VB提供的數(shù)據(jù)類型

數(shù)據(jù)是程序處理的對象。為了更好地處理各種各樣的數(shù)據(jù),VB定義了多種數(shù)據(jù)類型,

不同類型的數(shù)據(jù),所占的存儲空間不一樣。VB提供的數(shù)據(jù)類型主要分為:

①標準數(shù)據(jù)類型:整型(Integer)、長整型(Long)、字節(jié)型(Byte)、單精度型(Single)、雙精

度型(Double)、貨幣型(Currency)、字符串型(String)、邏輯型(Boolean)、日期型(Date)和變體型

(Variant)o

②用戶自定義類型:可以用Type…EndTypy語句創(chuàng)建用戶定義的類型。

③枚舉類型:可以用Enum…EndEnum語句來定義相關的命名常數(shù)集合。

2.變量和常量

(1)變量的定義和作用域

①用類型說明符來標識,常用類型說明符有:單精度浮點數(shù)!、雙精度浮點數(shù)#、整型

數(shù)據(jù)%、長整型數(shù)據(jù)&、貨幣型數(shù)據(jù)@、字符串型數(shù)據(jù)$。

②在定義變量時指定類型,其格式如下:

[PublicIPrivateIStatic]Dim變量名As數(shù)據(jù)類型

③變量的作用域指的是變量的有效范圍。根據(jù)定義位置和使用的變量定義語句的不同,

分為3種:

?局部變量:是在過程(事件過程或通用過程)內定義的變量,其作用域是其所在的過

程。局部變量在過程內用Dim或Static聲明。

?模塊變量:包括窗體變量和標準模塊變量,其作用于窗體內的所有過程。模塊變量用

Private或Dim聲明。

?全局變量:作用域最大,在工程中的每一模塊和窗體都能訪問的變量。全局變量用Public

或Global聲明。當局部變量和全部變量同名時,在局部變量所在過程中該變量為局部變量,

離開此過程為全局變量。

變量名必須以字母或漢字開頭,由字母、數(shù)字或下劃線組成,長度小于等于255個字符;

不能使用VB中的關鍵字、過程名、符號常量名和函數(shù)名;在為變量命名時應見名知義,盡可

能簡單明了,盡量采用VisualBasic建議的變量名前綴或后綴的約定來命名,以便區(qū)分變量的

類型,在同一個范圍內變量名必須是唯一的。

(2)在VB中,常量分三類,分別為:

①一般常量:在程序代碼中直接給出的數(shù)據(jù)。包括字符串常量(用雙引號括起來的一系

列字符)、數(shù)值常量(包括整型常量、長整型常量、單精度常量、雙精度常量)、布爾常量(只

有True和False兩個值)、日期常量(用一對##括起來)。

②用戶自定義常量——聲明常量的語法為:

[PublicIPrivate]Const常量名[As數(shù)據(jù)類型]=<:表達式〉

通常,為區(qū)分明顯,用戶定義的常量名用大寫字母;常量名在程序中智能引用,不能重

新賦值。

③VB提供的系統(tǒng)常量——系統(tǒng)定義好的常量位于對象庫中,在“對象瀏覽器”中的Visual

Basic(VB)、VisualBasicforApplications(VBA)等對象庫中列舉了VB的系統(tǒng)常量。如:

VbOkonly、VbYesno

3.運算符與表達式

①算術運算符:人(乘方)、*、/(除法)、\(整除)、mod(求余)+、優(yōu)先級從左

到右依次降低。

②字符串運算符有兩個:&和+,區(qū)別是“+”兩邊必須是字符串,“&”不一定。

③關系運算符:=、>、>=、<、<=、o,運算結果為邏輯值。

④邏輯運算符:Not、And、Or、Xor、Eqv(相等)和Imp(蘊含),其運算結果為邏輯值。

⑤日期運算符:+、一。注意:兩個日期可以相減,但不能相加。日期運算的結果可能

是日期,也可能是相隔的天數(shù)。

⑥優(yōu)先級:當一個表達式中存在多種運算符是時,按如下優(yōu)先級的先后順序進行運算:

函數(shù)一>算術運算(乘方一〉取負一〉乘法/除法一>整除一>求余一>加/減)一>字符串運算

符一>關系運算符一>邏輯運算符(Not—>And—>0r),同級從左到右,有括號時括號內優(yōu)先。

4.常用內部函數(shù)

VB提供了大量的內部函數(shù)供用戶在編程時調用。內部函數(shù)按其功能可分為:數(shù)學函數(shù)、

轉換函數(shù)、字符串函數(shù)、日期函數(shù)和格式輸出函數(shù)等。

函數(shù)的一般調用格式:

〈函數(shù)名>([<參數(shù)表>])

說明:參數(shù)表可以是一個參數(shù)或用逗號分隔開的多個參數(shù);參數(shù)可以是變量、常量、表

達式,也可以是函數(shù)。

5.賦值語句

格式:[Let]<變量>=<表達式>或:[Let][對象名.]<屬性名>=<表達式>

功能:將等號右邊表達式的值,賦值給等號左邊的變量或屬性。

說明:

(1)關鍵字Let可以省略。

(2)向對象賦值時,應指明對象名和屬性名,系統(tǒng)默認的對象是當前窗口。

(3)等號在這里稱為賦值號。

(4)變量和對象一旦被賦值,新值將代替舊值。

(5)賦值語句具有計算和賦值的雙重功能。

(6)等號右邊的變量(對象)必須和等號右邊的數(shù)據(jù)類型一致。

注意:在代碼中區(qū)分賦值語句“=”與關系運算符“=:

6.程序的基本構成。

程序通常由若干條語句共同協(xié)作完成一個完整的功能,一般情況下,一個完整的程序應

該包含4個部分:

①說明部分:說明程序中使用的變量的類型、初始值、特性等。

②輸入部分:輸入程序中需要處理的原始數(shù)據(jù)。

③加工部分:對程序中的數(shù)據(jù)按需要進行加工和處理。

④輸出部分:將結果以某種形式進行輸出。

7.VB程序的書寫規(guī)則

在編寫程序代碼時,要遵守一定的規(guī)則。不能超越其規(guī)定來自由發(fā)揮。

(1)一行可寫多條語句,語句間用冒號":"分隔,一行最多可有255個字符。

(2)一條語句可分成多行書寫。在VB中一般是一行寫一條語句,但若單行語句太長,也

可以分若干行書寫,但在行末須加入續(xù)行符(一個空格緊跟一個下劃線

(3)VB代碼中不區(qū)分大小寫字母,自動將關鍵字的首字母轉換成大寫。

(4)各關鍵字之間,關鍵字和變量名、常量名、過程名之間一定要有空格分隔。

(5)使用縮進格式。為了便于閱讀,編寫程序代碼時,可以使用縮進來反映代碼的邏輯結

構和嵌套關系。

(6)嚴格按照VB規(guī)定的格式和符號編寫程序。與其他高級語言一樣,在VB中使用的分號、

引號、括號等符號都是英文狀態(tài)下的半角符號,而不能使用中文狀態(tài)下的全角符號。

(7)程序中可使用注釋,注釋以Rem開頭或用撇號引導注釋內容,用撇號“引

導的注釋內容,可直接出現(xiàn)在語句的后面。

8.數(shù)據(jù)的輸入輸出

一個完整的VB應用程序,應包括數(shù)據(jù)輸入、數(shù)據(jù)處理和數(shù)據(jù)輸出3個部分。通過數(shù)據(jù)輸

入和數(shù)據(jù)輸出實現(xiàn)應用程序與用戶交互的功能。

①數(shù)據(jù)輸入除了利用賦值語句“=”為變量和對象屬性設置新值(在程序運行前的編碼

階段輸入數(shù)據(jù)),或利用文本框控件供用戶在程序運行過程中輸入數(shù)據(jù)外,還可以使用

InputBox()函數(shù)在程序運行過程中從鍵盤輸入數(shù)據(jù)。

<變量名>=InputBox(<提示信息乂標題北,默認內容D

說明:運行InputBox。函數(shù)可以屏幕上產生一個對話框供用戶輸入數(shù)據(jù),并將其輸入的內

容作為函數(shù)返回值向變量賦值。

②數(shù)據(jù)輸出除了可以在窗體、標簽等標準控件上顯示信息以外,還可以使用MsgBox過

程或MsgBox。函數(shù)彈出對話框顯示信息。

MsgBox(提示信息〉[,按鈕圖標][,標題]

說明:彈出一個MsgBox對話框,顯示提示信息,只有一個按鈕,無返回值。

或〈變量g>=MsgBox(〈提示信息>[,按鈕圖標][,標題D

說明:彈出MsgBox對話框,提示用戶選擇按鈕,符用戶選擇按鈕的結果返回,控制程序

的流向。

9.Print方法

Print方法可以在窗體上或其它圖形對象上以及打印機上輸出信息,而信息輸出的位置非

常關鍵。

(1)Print方法的格式

[對象名.]Print[表達式列表][,|;]

表達式表可以是個或多個表達式,可以是數(shù)值表達式,也可以是字符串。對于數(shù)值表

達式,打印表達式的值(即:Print語句具有計算和輸出雙重功能,先計算后打印);而字符串

則原樣輸出。當輸出多個表達式或字符串時,各表達式之間要用分隔符隔開(,或;):

①若用,分隔,則按標準格式顯示數(shù)據(jù)項(以14個字符為一區(qū)段);

②若用;分隔,則按緊湊格式輸出數(shù)據(jù)項(字符之間無空格);

③若表達式結尾無標點符號,則執(zhí)行完該語句后,自動換行;

④若Print語句中無表達式列表,則輸出空行。

(2)用Tab()和Spc()函數(shù)定位

①Tab。函數(shù)

格式:Tab(<n>)

功能:使用在Print語句中,把光標移動到由參數(shù)n指定的位置,并從該位置開始輸出數(shù)

據(jù)。

說明:要輸出的內容放在Tab函數(shù)后,并用;號隔開。在一個Print方法中有多個Tab

函數(shù)時,每一個Tab函數(shù)對應一個輸出項,之間用;號分隔。參數(shù)n可以是數(shù)值表達式,但

其值是一整數(shù)。

②Spc()函數(shù)

格式:Spc(<n>)

功能:在Print輸出中,用Spc()函數(shù)可以跳過n個空格。

說明:Spc函數(shù)和輸出項之間用;號分隔,其作用和Tab函數(shù)類似,可以相互替代。但

Tab函數(shù)是從對象的左端開始記數(shù),而Spc()函數(shù)只是表示兩輸出項之間的間隔。

2.2常見錯誤和難點分析

i.變量名使用系統(tǒng)關鍵字、系統(tǒng)常量、函數(shù)名等。

如:DimdateAsInteger這里Date是日期函數(shù)名。

2.無意聲明了變體型的變量。

如:Dima,b,cAsInteger這里聲明的a和b為變體型變量,正確的應該是:

DimaAsInteger,bAsInteger,cAsInteger

3.賦值號“=”兩邊的表達式數(shù)據(jù)類型不匹配

如:a為整型變量,文本框Textl中輸入的內容是welcome,代碼a=Textl.Text運行過程

中提示“類型不匹配”。

4.同時給多個變量賦值,造成邏輯錯誤。

要給多個變量a、b、c賦值,有的用戶寫成a=b=c=5,這條語句在C語言中是正確的,

但在VB中由于賦值號與邏輯等號書寫相同,所以此語句中b和c之間、c和5之間的

系統(tǒng)會認為是邏輯等號,所以不會出現(xiàn)語法錯誤,而形成邏輯錯誤。

5.漏掉乘法運算符*

在VB中書寫S=ab數(shù)學表達式時,習慣性的省略了乘法運算符,系統(tǒng)會認為是ab是一個

變量,不會認為是求a乘以b,導致邏輯錯誤。

6.算術運算符/和\的使用混淆。

在VB中,/是除法運算符,'是整除運算符,有的用戶混淆了這兩個運算符,在求3除

以2的結果時,寫成s=3\2,結果只有商的整數(shù)部分。

7.字符串連接運算出錯。

字符串的連接運算賦有&和+兩種,在編寫代碼過程中,有的用戶會寫出這樣的代碼:

DimsasString,nasInteger

s=”計算的結果為:"+n

系統(tǒng)提示錯誤信息“類型不匹配”。在進行字符串連接運算時,如果使用+進行連接運算,

連接符兩邊應全為字符型,在使用&連接運算符進行運算時,可以不全是字符型,系統(tǒng)會自動

轉換。所以這里換用&運算符或用str(n)進行數(shù)據(jù)類型轉換。

8.邏輯表達式書寫錯誤,編譯時沒有造成語法錯而形成邏輯錯。

要在VB中表示數(shù)學表達式0<=x<l,有的用戶寫成:0<=x<l,編譯時沒有造成語法錯誤

而形成邏輯錯。因為這里x的值不管是多少,這個邏輯表達式的結果都是True。

在VB中,當兩個不同類型的變量或常量參加運算時,有自動向精度高的類型轉換的功能。

如邏輯常量True轉換為數(shù)值型的值為一1,False為0;反之數(shù)值非0轉換為邏輯型的值為True,

0為Falseo表達式0<=x<l的計算過程為:先計算0<=x,結果為true(-l)或False(O);不管是

哪個結果,始終是<1的,表達式結果永遠都是True。正確的書寫應該是:x>=0Andx<l?

9.數(shù)據(jù)溢出錯誤。

有的用戶在編寫代碼求解s=10!時,定義一個整型變量s(DimsAsInteger)來表示10!

的結果,編譯提示錯誤信息“溢出”。在VB定義了多種數(shù)據(jù)類型,不同類型的數(shù)據(jù),所占的

存儲空間不一樣。整型變量2個字節(jié)的存儲空間無法滿足10!結果的需要,發(fā)生溢出。解決的

辦法是:DimsasLong,長整型數(shù)據(jù)有4個字節(jié)的存儲空間。另外對于浮點型數(shù)據(jù)也要根據(jù)實

際的數(shù)據(jù)值來決定聲明為單精度型(Single)還是雙精度型(Double)。

10.標準函數(shù)名輸入錯誤

VB提供了很多事先定義好具有特定功能的內部函數(shù),供用戶使用。當函數(shù)名寫錯時,運

行程序,系統(tǒng)顯示錯誤提示信息“子程序或函數(shù)未定義”,單擊“確定”按鈕,在指示位置檢

查函數(shù)名是否輸入正確。

11.聲明局部變量和窗體級變量的問題。

在VB程序中,需要用變量用來暫時存放一些中間結果,這些變量在使用前需要聲明。變

量一般在過程內部聲明使用,稱為局部變量。但當多個過程需要用到同一個變量的值時,該

變量必須放在所有代碼的最前面即“通用聲明”段聲明,稱為窗體級變量。

12.在Form_Load事件過程中print和set_focus方法不起作用

Form_Load過程即系統(tǒng)在窗體裝入內存時無法同步地用Print、SetFocus方法顯示或定位

控件的焦點。解決方法:

①Print顯示信息:

方法一、在屬性窗口將窗體AutoRedraw屬性設置為True。

方法二、在FormLoad事件過程第一行添加Show語句

②SetFocus方法定位焦點:在屬性窗口中對要定位焦點的控件的Tabindex屬性值設置為0。

13.在使用計時器控件實現(xiàn)簡單的動畫時,計時器不工作。

一個計時器兩個屬性(Enabled和Interval)一個事件(Timer):只有在保證給計時器的

Enabled屬性賦值True,Interval屬性值非0,timer事件過程編寫正確的情況下,計時器正常

工作。

2.3習題

一、選擇題

i.在一個語句行內寫多條語句,語句之間應該用來分隔。

(A)逗號(B)分號(C)頓號(D)冒號

2.以下可以作為VisualBasic變量名的是。

(A)Fl.l(B)Int(C)F2A(D)2FA

3.當標簽的標題內容太長,需要根據(jù)題目自動調整標簽的大小時,應設置標簽的屬性

為True。

(A)AutoSize(B)Wordwrap(C)Enabled(D)Visible

4.在窗體匕已經(jīng)建立了多個控件,如Textl,Label1,Command1o若要程序開始運行時焦點

定位在Textl上,應將Textl的Tabindex屬性設置為。

(A)0(B)1(C)2(D)3

5.在程序中將變量i,t,s,d分別定義為Integer類型,Boolean類型,String類型和Date類型,

下來賦值語句正確的是。

(A)s=5+"abc"(B)t=#True#(C)i="354”+“613”(D)d=#10/05/04#

6.下列語句中錯誤的是o

(A)A$="abc"(B)x=5+6(C)print“abc”(D)printx=a+b

7.VisualBasic認為下面組變量是同一個變量。

(A)A1和a1(B)Sum和Summary

(C).Aver和Average(D)Al和A_1

8.表達式5Mod3+3\5*2的值是。

(A)0(B)2(C)4(D)6

9.設x=4,y=8,z=7,以下表達式x>zOrz<y的值是?

(A)1(B)-1(C)True(D)False

10.\、/、Mod、*、四個算術運算符中,優(yōu)先級最低的是___

(A)\(B)/(C)Mod(D)*

11.設A、B、C表示三角形的三條邊,表示條件“任意兩邊之和大于第三邊”的布爾表達

式正確的是。

(A)A+B>=CORA+C>=BORB+C>=A

(B)Not(A+B<=CANDA+C<=BANDB+C<=A)

(C)A+B<CORA+C<BORB+C<A

(D)A+B>CANDA+OBANDB+OA

12.表達式(7\3+l)*(18\5-l)的值是。

(A)8.67(B)7.8(C)6(D)6.67

13.代數(shù)式X[-\a\+lnl0+sin(x2+2^)/cos(57°)對應的VisualBasic表達式是—

(A)XI-Abs(A)+Log(10)+Sin(X2+2*3.14)/Cos(57*3.14/180)

(B)XI-Abs(A)+Log(10)+Sin(X2+2*7t)/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.求一個三位正整數(shù)N的十位數(shù)的正確方法是。

(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.表達式Left(“asdf",2)+UCase(“as")的值為。

(A)asas(B)ASAS(C)dfas(D)asAS

16.下列日期型常量表達正確的是。

(A)”2/1/02"(B)2/1/02(C)#2/1/02#(D){2/1/02}

17.設A="12345678”,則表達式Val(Lefit(A,4)+Mid(A,4,2))的值為。

(A)123456(B)123445(C)8(D)6

18.代數(shù)式一--對應的VisualBasic表達式是

h+-

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.下列表達式計算的結果不是”1234”的是______°

(A)''12"+"34''(B)(C)12+34(D)12&34

21.Int(100*Rnd())+l產生的隨機整數(shù)的閉區(qū)間是。

(A)[0,99](B)[1,100]

(C)[0,100](D)[1,99]

22.如果X是一個正的實數(shù),將千分位四舍五入,保留兩位小數(shù)的表達式是—

(A)0.01*lnt(X+0.05)(B)0.01*Int(l00(X+0.005))

(C)0.01*Int(l00*(X+0.05))(D)0.01*Int(X+0.005)

23.執(zhí)行如下兩條語句,窗體上顯示的是______o

a=9.8596

PrintFormat(a,”$0,000.00”)

(A)0,009.86(B)$9.86(C)9.86(D)$0,009.86

24.在窗體中添加一個命令按鈕(名稱為Commandl)和一個文本框(名稱為Textl),并編寫

如下程序代碼:

PrivateSubCommand1_Click()

DimxAsInteger,yAsIntegerzAsInteger

x=1:y=2:z=3

x=y:y=z:z=x

Textl.Text=CStr(z)

EndSub

程序運行過程中,用戶單擊命令按鈕Commandl后,文本框Textl中顯示。

(A)0(B)1(C)2(D)3

25.以下關系表達式中,其值為False的是。

(A)“ABCWAbC”(B)"the'9''they”

(C)“VISUAL''=UCase("Visual")(D)t<Integer,,>,,Inf,

二、填空題

1.產生[10,40]之間的隨機整數(shù)的VB表達式是

2.利用文本框1輸入數(shù)值,將其作為一個圓半徑,分別用文本框2及文本框3輸出顯示圓周

長、圓面積。

PrivateSubCommandlClick()

DimrAsSingle,1AsSingle,sAsSingle

ConstPIAsSingle=3.14159

1=2*PI*r

s=PI*r-2

Text2.Text=1

Text3.Text=s

EndSub

3.利用InputBoxO輸入框函數(shù)從鍵盤上輸入一個單詞,用標準格式在一個輸出行內重復顯示

3遍。

PrivateSubCommandIClickO

DimaAsString,msgAsString

msg=〃請輸入一個單詞〃

s=________________________

Print______________________

EndSub

4.用消息框語句顯示變量a和b之和。

PrivateSubCommandl_Click()

DimaAsSingle,bAsSingle

a=InputBox("請輸入a的值〃)

b=InputBox(〃請輸入b的值")

EndSub

5.請完善下面程序,程序運行,用戶通過輸入框輸入姓名,然后彈出消息框中顯示“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-100)/2)=

(5)sgn(7*3+2)=__________________(6)Lcase(uHello,,)=______________________

(7)Left(t€Hello,,,2)=(8)val(“16year”尸__________________________

(9)str(-459.65)=___________________(10)LenCtHello,,)=_______________________

7.寫出代數(shù)式對應的VisualBasic表達式。

(1)代數(shù)式,+)')+0+")對應的VisualBasic表達式為_________________________________

t(x-y)

(2)代數(shù)式Ja*+〃°—2abcosa對應的VisualBasic表達式為

(3)代數(shù)式------------對應的Visual

溫馨提示

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

最新文檔

評論

0/150

提交評論