版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Visual Basic程序設(shè)計(jì)基礎(chǔ)知識(shí)要點(diǎn)(概念分析篇)知識(shí)點(diǎn)1:(1)在工程資源管理器窗口中可以包含:工程文件、窗體模塊文件、 標(biāo)準(zhǔn)模塊文件和類(lèi)模塊文件(其中可以包含許多各種文件類(lèi)型)(2)Visual Basic 應(yīng)用程序可以以解釋方式執(zhí)行和編譯方式執(zhí)行。 例題:(1)以下敘述中錯(cuò)誤的是_jAA .在工程資源管理器窗口中只能包含一個(gè)工程文件及屬于該工 程的其他文件。B .以.bas為擴(kuò)展名的文件是標(biāo)準(zhǔn)模塊文件。C .窗體文件包含該窗體及其控件的屬性。D .一個(gè)工程中可以有多個(gè)標(biāo)準(zhǔn)模塊文件。(2)以下敘述中錯(cuò)誤的是_CA .打開(kāi)一個(gè)工程文件時(shí),系統(tǒng)自動(dòng)裝入與該工程有關(guān)的窗體、 標(biāo)準(zhǔn)模塊等文
2、件。B .保存Visual Basic 程序時(shí),應(yīng)分別保存窗體文件及工程文 件。C . Visual Basic 應(yīng)用程序只能以解釋方式執(zhí)行。D .事件可以由用戶(hù)引發(fā),也可以由系統(tǒng)引發(fā)。知識(shí)點(diǎn)2:(1)窗體和各種控件的名稱(chēng)(Name是唯一的,用來(lái)標(biāo)識(shí)一個(gè)窗體 或控件的。而窗體和控件的標(biāo)題是用來(lái)說(shuō)明的,是可有可無(wú)的。(2) 各種控件之間有部分相同的屬性,并不是擁有所有屬性??丶?有些屬性只能在屬性窗口中設(shè)置,但也有少數(shù)屬性只能在代碼 狀態(tài)設(shè)置。(3) Forml.Hide方法和Unload Forml方法的區(qū)別:第一個(gè)方法窗體消失并不存在于內(nèi)存中;第二個(gè)方法窗體消失但仍存在于內(nèi) 存中。例題:(1
3、)以下敘述中正確的是 AA .窗體的Names性指定窗體的名稱(chēng),用來(lái)標(biāo)識(shí)一個(gè)窗體。 B .窗體的Namei性的值是顯示在窗體標(biāo)題欄中的文本。C .可以在運(yùn)行期間改變對(duì)象的 Name!性的值。D .對(duì)象的Name!性值可以為空(2)以下敘述中錯(cuò)誤的是 CA.Visual Basic是事件驅(qū)動(dòng)型可視化編輯工具。B.Visual Basic應(yīng)用程序不具有明顯的開(kāi)始和結(jié)束語(yǔ)句。C.Visual Basic工具箱中的所有控件都具有 Width和Height屬性。D.Visual Basic中控件的某些屬性只能在運(yùn)行時(shí)設(shè)置。知識(shí)點(diǎn)3:(1)標(biāo)簽(Label1):Autosize的True屬性可以自動(dòng)調(diào)整標(biāo)
4、簽的大小,而False屬性不能(2)文本框(Textl):1、Maxiength屬性表示文本框所能容納的字符數(shù)。2、Password屬性表示口令輸入,可以是“ *”或“? ”等。 設(shè)置文本框輸入字符為“ *”: Textl.Password二” *” ,還原文本框字 符:Text1.Password= ” ,3、 ScrollBars屬性是表示文本框有垂直或水平滾動(dòng)條,但 是需要和多行屬性Multiline 結(jié)合一起使用。4、SelLe ngth屬性是表示選中文本框中字符的個(gè)數(shù):Text1.SelLength。SelStart屬性是表示選中文本框中字符或光標(biāo)之 前的字符數(shù):Text1.SelS
5、trart 。SelText屬性是表示選中文本框中 的字符:Text1. SelText 。5、文本的主要事件是Change事件:(標(biāo)簽內(nèi)容隨文本框內(nèi)容 變化而變化)Private sub Text1_Cha nge()Label1.capti on=Text1.textEnd sub6、文本框的方法只有一個(gè):Text1.SetFocus例題:(1) 能夠獲得一個(gè)文本框中被選取文本的內(nèi)容的屬性是CA . Text B. SelLength C. SelText D. SelStrart(2) 在窗體上畫(huà)一個(gè)文本框(其名稱(chēng)為T(mén)ext1)和標(biāo)簽(其名稱(chēng)為 Label1)。要求程序運(yùn)行后,如果在文本
6、框中輸入字符,則立即在標(biāo) 簽中顯示相同的內(nèi)容。以下可以實(shí)現(xiàn)上述操作的事件過(guò)程是AA Private Sub Text1_Change()B.Private SubText1_Click ()Label1.caption=Text1.TextLabel1.caption=Text1.TextEnd Sub End SubCPrivate SubLabel1_Change()D. Private SubLabel1_Click ()Label1.caption=Text1.TextLabel1.caption=Text1.TextEnd Sub( 3)命令按鈕 (Command1):1 、Defa
7、ult 屬性:當(dāng)一個(gè)命令按鈕的 Default 屬性為 True 時(shí),按回車(chē)鍵和單擊該命令按鈕的效果相同。2 、Cancel 屬性:當(dāng)一個(gè)命令按鈕的 Cancel 屬性為 True 時(shí), 按ESC鍵和單擊該命令按鈕的效果相同。( 4)單選按鈕和復(fù)選框 (Option1 和 Check1):1 、單選按鈕: Value 屬性的值是 True( 選中)和 False( 未選 中) ,Option1.Value=True 等同于 Option1.Value 用法。2 、復(fù)選框: Value 屬性的值是 0(未選中) 、1(選中)和 2(表 示暫時(shí)不可用 ) 。 Check1.Value=False
8、可以用,但 Check1.Value=True 不可用(因?yàn)?True 只能轉(zhuǎn)化數(shù)值 1而不是 1)。( 5)列表框 (List1):1 、List 屬性是一個(gè)數(shù)組型屬性: List1.List( 索引) ,索引可以是數(shù)字0、1丄istl.listindex, 變量i ( Listl.Text 等同于 List1.list(List1.listindex)。2、 MultSelect 屬性:用來(lái)設(shè)置一次可以多選表項(xiàng)數(shù)。MultSelect 屬性值為 0 時(shí),每次只能選擇一項(xiàng); MultSelect 屬性值 為 1 時(shí),可以同時(shí)選擇多個(gè)項(xiàng)目; MultSelect 屬性值為 2 時(shí),可以 用輔助
9、鍵 Shift 或 Ctrl 選擇多個(gè)項(xiàng)目。3 、常用方法: AddItem 方法表示添加的是一個(gè)項(xiàng)目,而Removeite m方法表示通過(guò)刪除索引的方式刪除項(xiàng)目。Removeitem索引 索引可以是數(shù)字0、1丄istl.listindex,變量i。( 6)組合框( Combo1):1 、 Style 屬性: Style 屬性值為 0 時(shí),表示下拉式組合框;Style 屬性值為 1 時(shí),表示下簡(jiǎn)單組合框; Style 屬性值為 2 時(shí),表 示下拉式列表框。其他功能類(lèi)似列表框 (List1) 。( 7)圖片框和圖像框 (Picture1 和 Image1):1 、圖片框 (Picture1) :
10、Authorize 屬性值為 True 時(shí),表示 圖片框大小隨圖片大小改變而改變; Authorize 屬性值為 False 時(shí), 表示圖片框只能部分顯示大圖片。2 、圖像框 (Image1):Stretch 屬性為 True 時(shí),圖片大小隨 圖像框的大小改變而改變; Stretch 屬性為 True 時(shí),圖像框的大小 隨圖片大小的改變而改變。3、兩種圖形類(lèi)型都可以按照下面這個(gè)方法加載圖片:稱(chēng).擴(kuò)展名”)Image1.picture=LoadPicture(App.Path & “ 圖片名稱(chēng). 擴(kuò)展名”)如果要清楚圖片:Picture1.picture=LoadPicture(“” )
11、Image1.picture=LoadPicture( “” )注意:如果使用App.Path方法需要先保存好窗體文件和工程 文件到考生文件夾中。(8)滾動(dòng)條(HScrolll):1、Max和Min屬性是分別表示滾動(dòng)條的最大和最小刻度,刻度值用Value屬性值來(lái)表示:HScroll1.value 。2 、LargeChange和SmallChange屬性是分別表示移動(dòng)滾動(dòng)條上的左右箭頭按鈕的移動(dòng)量和移動(dòng)滾動(dòng)條上滾動(dòng)框的移動(dòng)量。3 、Scroll和Change事件分別表示拖動(dòng)滾動(dòng)條上滾動(dòng)框的操作和單擊滾動(dòng)條上箭頭按鈕的操作。:卑擊飆產(chǎn)生: rhang已事牛,- 知陶J(rèn)idHah制重:單去魚(yú)現(xiàn)框兩
12、嵯:白旌產(chǎn)生: : :*牛稔動(dòng)::.:/:(9)計(jì)時(shí)器(Timer1):1、Enabled屬性:Enabled屬性值為T(mén)rue時(shí),表示計(jì)時(shí)器可以走動(dòng);Enabled屬性值為False時(shí),表示計(jì)時(shí)器停止走動(dòng);2 、Interval屬性:是表示計(jì)時(shí)器運(yùn)動(dòng)的時(shí)間間隔,單位為毫秒。1 秒時(shí)間:Timerl.Interval=1000 。3 、Enabled和Interval這兩個(gè)屬性一般情況下需要一起使用。 知識(shí)點(diǎn)4:(1) Visual Basic 常用函數(shù)的使用方法:1 、數(shù)學(xué)函數(shù):求平方根:Sqr( n) 求自然對(duì)數(shù) Log(n) In n log 78=log e8/log e7(注意非 e
13、為底的對(duì)數(shù)需要如此轉(zhuǎn)換)求以e為底的幕值,ex ex Exp(x)1 . n>0 Sqn(n)二 0n=0-1n<0 Rad()->X=I nt(R nd*(上界一下界+1)+下界(產(chǎn)生隨機(jī)整數(shù))2 、轉(zhuǎn)換函數(shù): Str(x) 數(shù)值 x 轉(zhuǎn)換成字符串 str(12.75)=” 12.75這樣轉(zhuǎn)換12.75之前會(huì)多出一位。如果使用 Cstr(12.75)= ”12.75 ” 這樣轉(zhuǎn)換12.75之前不會(huì)多出一位。 Val(x) 字符x轉(zhuǎn)換成數(shù)值,但x要一定是數(shù)字字符 才行,Val( “ 12.75 ”)=12.75,如果是含有其他字符 Val( “ 12.7ab ”) 將無(wú)法轉(zhuǎn)換
14、。 chr(x) 返回以x為 Asccii 代碼值的字符 chr(97)= ” a” ;Asc(x)給出字符 x 的 Asccii 代碼值 Asc( “A )=65 三種類(lèi)型ASCII代碼值轉(zhuǎn)換:Asc( “0”)Asc( “9” )-4857Asc( “ A”)Asc( “Z” )-6590Asc( “ a”)Asc( “z” )-97122特殊情況:Asc( “ ABC )=65 只求第一個(gè)字符“ A”的Ascii代碼值 Fix(x) 將數(shù)值型數(shù)據(jù)x的小數(shù)部分舍去Fix(12.8)=12 Fix(-12.5)=-12;Int(x)取小于等于x的最大整數(shù)當(dāng)x>0時(shí),用法和Fix 一樣;
15、當(dāng)x<0 時(shí),Int(-12.3)= -13;Cint(x)將數(shù)值型數(shù)據(jù)x的小數(shù)部分四舍五入Cint(12.7)=13Cin t(12.3)=12但是有特殊情況:_ x當(dāng)x是偶數(shù)Cin t(x.5)=x+1當(dāng)x是奇數(shù)3 、字符函數(shù) Left(x , n)從x字符串左邊起取n個(gè)字符Left("ABCDEFG",3)="ABC"Right(x, n) 從 x 字符串右邊起取 n 個(gè)字符Right("ABCDEFG",3)="EFG"。取n2個(gè)字符Mid(x,n)從字符串x左邊第n個(gè)位置開(kāi)始向右全部取Mid(&qu
16、ot;ABCDEFG",3,2)="CD"Mid("ABCDEFG",3)= "CDEFG" Instr(n,s1,s2) 從字符串si的第n個(gè)位置起查找s2在si中位置,如果n省略,則默認(rèn)從字符串si的第1個(gè)位置起查找s2在si中位置In str (2,"ABCDEFG","CD")=31、運(yùn)算符:算術(shù)運(yùn)算符運(yùn)算符的優(yōu)先級(jí):八 > -> (* /) > > Mod >(+ -)關(guān)系運(yùn)算符< <=>>=<> Like I
17、s運(yùn)算符優(yōu)先級(jí)相同邏輯運(yùn)算符運(yùn)算符的優(yōu)先級(jí):Not > And > Or > Xor > Eqv例題:(1) 表達(dá)式4 +5 6 * 7 / 8 Mod9 的值是 B知識(shí)點(diǎn)5:A.4B. 5 C. 6 D. 7(2) a=3 b=2 c=1 求 Print a>b>c 的結(jié)果?首先a>b的結(jié)果是true,然后再PrintTrue>c此時(shí)True需要轉(zhuǎn)換成-1再比較,Print -1>1結(jié)果是False , 所以整個(gè)輸出結(jié)果是False。知識(shí)點(diǎn)6:1、交互函數(shù)的使用: In putBox 函數(shù):A=InputBox("提示信息&qu
18、ot;,"標(biāo)題信息","默認(rèn)值或輸入框的值")例題:(1) 執(zhí)行下列語(yǔ)句后,將顯示輸入對(duì)話(huà)框,此時(shí) MsgBox 函數(shù):MsgBox“提示信息”,按鈕類(lèi)型值+圖標(biāo)類(lèi)型值+如果單擊“確定”按鈕,則變量 strl nput的內(nèi)容是 CstrI nput二 In putBox("請(qǐng)輸入字符串","字符串對(duì)話(huà)框","字符串")A."請(qǐng)輸入字符串"B."字符串對(duì)話(huà)框”C."字符串"D.空字符串默認(rèn)焦點(diǎn)值,“標(biāo)題信息”A= MsgBox“提示信息”,按鈕類(lèi)型
19、值+圖標(biāo)類(lèi)型值+默認(rèn)焦點(diǎn)值,“標(biāo)題信息”;A的值根據(jù)單擊什么按鈕有關(guān),A的 值在1,7之間取值。比如:?jiǎn)螕簟按_定”按鈕, A=1。例題:(1)以上圖形所表示的函數(shù)表達(dá)式為:MsgBox"請(qǐng)輸入查詢(xún)的學(xué)生學(xué)號(hào):",3 + 32 + 256,"學(xué)生基本信息查詢(xún)"知識(shí)點(diǎn)7:1 、選擇結(jié)構(gòu)語(yǔ)句(If條件語(yǔ)句):?jiǎn)畏种l件語(yǔ)句:格式:If 條件The n語(yǔ)句塊EndIf(稱(chēng)If塊語(yǔ)句) If 條件 The n只有一條語(yǔ)句(稱(chēng)If條語(yǔ)句)雙分支條件語(yǔ)句:格式:If 條件Then語(yǔ)句塊1Else語(yǔ)句塊2End If多分支條件語(yǔ)句If條件1 The n語(yǔ)句塊1Elsei
20、f條件2 Then語(yǔ)句塊2o o o o o oElse語(yǔ)句塊nEnd If其中,條件可以是:關(guān)系表達(dá)式(a>5)、邏輯表達(dá) 式(a>5 And c>4)、變量(i)或常數(shù)(0)。例題:(1) 下列程序段的執(zhí)行結(jié)果為 _AX=5Y=-20If Not x>0 The nx=y-3ElseY=x+3End IfPrint x-y;y-xA. -3 3 B. 5 -8 C. 3 -3 D. 25 -25以上題中的“條件”主要是邏輯表達(dá)式。(2) 下列程序段的執(zhí)行結(jié)果為BX=2Y=1If x*y<1 Then y=y-1 Else y=-1Print y-x>0A
21、. True B. False C. -1D.1以上題中的“條件”主要是關(guān)系表達(dá)式。(3) 下列程序段的執(zhí)行結(jié)果為CDim x As In tegerIf x Then Print x Else Print x-1A. 1 B. 0C.-1D.不確定以上題中的“條件”主要是變量。2、選擇結(jié)構(gòu)語(yǔ)句(Select Case 語(yǔ)句):Select Case 測(cè)試表達(dá)式Case 表達(dá)式列表1語(yǔ)句塊1Case 表達(dá)式列表2語(yǔ)句塊2O O O O O。Case Else語(yǔ)句塊nEnd Select注意:測(cè)試表達(dá)式的類(lèi)型只能是數(shù)值數(shù)據(jù)或字符型,表達(dá)式列表的值只要第一個(gè)符合測(cè)試表達(dá)式值的要求,就結(jié)束Selec
22、tCase語(yǔ)句;表達(dá)式列表可以是三種結(jié)構(gòu)或三種混合結(jié)構(gòu):、1 To 10、1,3,5,6,7,8、Is>10、1,2,5,7,ls>10例題:(1)在窗體上畫(huà)一個(gè)名稱(chēng)為 Comma nd的命令按鈕和兩個(gè)名稱(chēng)分別為T(mén)ext1和Text2的文本框,然后編寫(xiě)如下事件過(guò)程:Private Sub Comma nd1_Click()n=Text1.textSelect Case nCase 1 T10X=10Case 2,4,6X=20Case ls<10X=30Case 10X=10End SelectText2.text=xEnd Sub程序運(yùn)行后,如果在文本框Text1中輸入10
23、,然后單擊命令按鈕,則在Text2中顯示的內(nèi)容是_AA. 10B. 20C. 30D.403、選擇結(jié)構(gòu)語(yǔ)句(IIF函數(shù)):變量=IIF(條件,參數(shù)1,參數(shù)2)其中,條件可以是:關(guān)系表達(dá)式(a>5)、邏輯表達(dá)式(a>5 And c>4)、變量(i)或常數(shù)(0)。執(zhí)行過(guò)程:條件成立,變量的值就是“參數(shù)1”,否則變量的值就是“參數(shù)2”。例題:(1)設(shè)a=6,則執(zhí)行語(yǔ)句:x=IIF(a>5,-1,0) 后,x的值為DA. 5 B. 6 C. 0 D.-1For循環(huán)變量=初值To 終值Step 步長(zhǎng) 循環(huán)體If條件The n語(yǔ)句Exit ForEnd IfNext循環(huán)變量注意:循
24、環(huán)如果正常退出時(shí)(沒(méi)有執(zhí)行Exit For語(yǔ)句), 那么循環(huán)變量必須要大于終值或等于終值循環(huán)體步長(zhǎng)。 Do While 條件 Loop While 條件循環(huán)體LoopDo Un til 條件循環(huán)體Do循環(huán)體Loop Un til 條件Loop注意:左邊上下兩種循環(huán)是先判斷條件后執(zhí)行循環(huán)體,右邊上下兩種循環(huán)是不管條件成立與否都至少執(zhí)行一次;While循環(huán)是條件成立執(zhí)行循環(huán)體,Un til循環(huán)是條件不成立執(zhí)行循環(huán)體。 例題:(1)下列程序段的執(zhí)行結(jié)果為Bs=0:t=0:u=0For y=1 To x瑜 Z=y To 3 八 lj=s+1Next zNext yu=u+1Next xPrint s;
25、t;uA.3 6 14 B. 14 6 3 C. 14 3 6 D.16 4 3分析:A組語(yǔ)句和B語(yǔ)句都在X循環(huán)內(nèi),并且是并列的,所以可以先計(jì)算B組語(yǔ)句,A組語(yǔ)句暫時(shí)不算,這樣很容易求出u=u+1 語(yǔ)句循環(huán)了三次,則u=3; C組語(yǔ)句和D語(yǔ)句都在丫循環(huán)內(nèi),并且是 并列的,所以可以先計(jì)算 D組語(yǔ)句,C組語(yǔ)句暫時(shí)不算,這樣也比較 容易求出t=t+1語(yǔ)句循環(huán)了六次,則t=6 ;然后再結(jié)合答案很快就能 得出答案是選B。知識(shí)點(diǎn)9:數(shù)組的概念(三維的只需知道數(shù)組中可以存儲(chǔ)多少數(shù)據(jù)即可 )。數(shù)組的格式:a(2,3 To 7,-1 To 2),那它的存儲(chǔ)空間大小計(jì)算:每一維用上界 -下界+1 計(jì)算,例如(2-
26、0+1)*(7-3+1)*(2-(-1)+1)=3*5*4=60。數(shù)組的下標(biāo)下界是根據(jù)語(yǔ)句 Option Base n來(lái)決 定:當(dāng)n=0時(shí),數(shù)組下標(biāo)下界是從0開(kāi)始;當(dāng)n=1時(shí),數(shù)組下標(biāo)下界 是從1開(kāi)始。數(shù)組分為:固定大小數(shù)組:Dim a(10) AsIn teger動(dòng)態(tài)大小數(shù)組:Dim a() As IntegerRedim a(10) Array函數(shù)用法:為一個(gè) 變體型變量創(chuàng)建一個(gè)數(shù) 組。Dim a as Varia nta=Array(1,2,3,4,5)因 此:a(0)=1a(1)=2a(2)=3a(3)=4a(4)=5注意:如果數(shù)組被定義為一下三種類(lèi)型,(1)數(shù) 值型(2)字符型(3)
27、邏輯型,則它們初始化的數(shù)組元素?cái)?shù)值分別 為:0、空字符串和False。例題:Commanc),然后編寫(xiě)如下代碼:Private Sub Comma nd1_Click()Dim a(4,4) As In tegerFor i=1 To 4or j=1 To 4'a(i,j)=(i-1)*3+jNext jNext iFor i=3 To 4For j=3 To 4B pri nt a(j,i)Next jPrintNext iEnd Sub程序運(yùn)行后,單擊命令按鈕,其輸出結(jié)果為D。A. 6 9 B. 7 10 C. 87 108 1191210 13分析:對(duì)循環(huán)和數(shù)組結(jié)合的問(wèn)題,往往要
28、先看 B組語(yǔ)句輸出結(jié)果是什么,然后根據(jù)B組語(yǔ)句輸出結(jié)果代入到A組語(yǔ)句中求結(jié)果組語(yǔ)句輸a出結(jié)果:3)a(4,4)代入A組語(yǔ)知識(shí)點(diǎn)10:句的結(jié)果:121013a(3,4)1、過(guò)程與函數(shù):過(guò)程與函數(shù)的參數(shù)類(lèi)型有:實(shí)參和形參;傳遞方式 有:值傳遞和地址傳遞。 以下程序中,x,y為實(shí)參;a,b為形參注意:實(shí)參要與形參的類(lèi)型、個(gè)數(shù)要相同。在形參a,b之前如果加上關(guān)鍵字 ByVai,那么就是值傳遞;如果加上關(guān)鍵字 ByRef或不加關(guān)鍵字,那么就是地址傳遞。過(guò)程調(diào)用方式有兩種:Call S)或S (Swap是過(guò)程'實(shí)現(xiàn)兩個(gè)數(shù)的交換功能Private Sub Commandl_C1 ick()Dim x
29、 As IntegBr, y As Integerx 二:甘二 20_Print X,y En£ SubDim t is Integera = bEndPrivate Sub StArapfk As Ititeger, As Integer)地址傳遞方式注意:只有地址傳遞方式才能實(shí)現(xiàn)交換功能,值傳遞方式x,y的值不變。當(dāng)有事件過(guò)程和通用過(guò)程一起運(yùn)行時(shí),先執(zhí)行事 件過(guò)程(Comma nd_Click)。例題:(1) 假定有如下的Sub過(guò)程:Sub S(x As Si ngle,ByVal y as Si ngle)t=xx=t/yy=t Mod yEnd Sub在窗體上畫(huà)一個(gè)命令按鈕,
30、其名稱(chēng)為Comma nd1然后編寫(xiě)如下事件過(guò)程:Private Sub Comma nd1_Click()Dim a As Sin gle, b As Si nglea=5:b=4S a,bPrint a,bEnd Sub程序運(yùn)行后,單擊命令按鈕,輸出結(jié)果為C A. 5 4 B. 1 1 C. 1.25 4 D.程序分析:因此a與x擁有一個(gè)共同存儲(chǔ)空間,圖形表示:;形參y是值傳遞方式,當(dāng)b傳遞給y時(shí),因此b與y是兩個(gè)不同存儲(chǔ)空間,圖形表示:;那么在過(guò)程S中:運(yùn)算x=t/y后,x=1.25,圖形表示;因此a的值就是1.25 ;運(yùn)算y=t Mody后,y=1,圖形表示:斗卜觀制縉y |,因?yàn)榇藭r(shí)b
31、和y存儲(chǔ)空間不同,則不影響b的值,則還是4,因此Print a,b 的結(jié)果就 是選擇C答案。知識(shí)點(diǎn)11:、菜單和鼠標(biāo)事件菜單編輯器的使用:注意:菜單中的標(biāo)題可以為空,但不論是第幾級(jí)菜單名稱(chēng)必須唯一,且不能為空 鼠標(biāo)事件(按下鼠標(biāo)鍵事件過(guò)程)主要事件有:Form_MouseDown Form_MouseUp 和 Form_MouseMove現(xiàn)在以某個(gè)為例說(shuō)明:PrivateSub Form_MouseDown(ButtonAs Integer,Shift As Integer, X As Single, Y As Single)End Sub 上述事件過(guò)程不僅使用在窗體上(Form_MouseD
32、ow n)還可以使用于大多數(shù)控件上,包括命令按鈕 (Command1_MouseDoW或)文本框(Text1_MouseDown等。以上鼠標(biāo)事件過(guò)程的參數(shù),含義如下:(1)Button 有值 1、2 和 4,分別表示按下左鍵、 右鍵和中建;(2) Shift表示 Shift 、 Ctrl 和 Alt 鍵的狀態(tài), 其值分別是 1、2 和 4;(3)X, Y 表示鼠標(biāo)光標(biāo)的坐標(biāo)位置 彈出式菜單(菜單和鼠標(biāo)事件的結(jié)合使用)PrivateSub Form_MouseDown(ButtonAs Integer,Shift As Integer, X As Single, Y As Single)If B
33、utton=1 Then按下鼠標(biāo)左鍵FilePopUpmenu通過(guò) PopUpmenu方法彈出菜單End If'File是一級(jí)菜單的名稱(chēng)End Sub運(yùn)行效果:2、公共對(duì)話(huà)框(又稱(chēng)通用對(duì)話(huà)框)通用對(duì)話(huà)框是我們考試中唯一一個(gè)控件箱中沒(méi)有的控件,需要我們自己添加的,添加的方法是在“工程”菜單的“部件”項(xiàng)中選擇“ Microsoft Com mon Dialog Co ntrol 6.0 ”后,才會(huì)在控件箱中出現(xiàn)通用對(duì)話(huà)框圖標(biāo)通用對(duì)話(huà)框圖形根據(jù)以上圖形,相應(yīng)的程序代碼如下:lJrivate Sub Cornnaiid 1_C1 i ck ()ConononDi ulogl. DialagTi
34、 tlw亍'"扌幵建用對(duì)話(huà)世一ConimorDi al ogl + Ft 1 eName 二:墊屯 l.Ft" ,* “ ,、,、CnnnnajTClizxlDgLT Hi 1 ter ="所有文件 |+T + IWardlXn件 |+ dniz I丈豐文件 CarnTDorDialogl. FllTerlndez 二 3CtnmDorDialofl, InitDlr = *D: *CulUIUulJ?! ol Dl . SJlcAMOpdi ' S'-jffiCullitHJljDi alutjl A'. '. 1 uli
35、l:遵用吐話(huà)華圭弄育岡獨(dú)打?f戀件對(duì)話(huà)框和保存文件對(duì)話(huà)獰.以上是“打開(kāi)文件對(duì)" r :理果足倔存夬件.甘話(huà)框貝j£ConuDonCi al gl. ShowOpen改掬CdinmcnDmcigl = ShowSave, '或把ComrrcinDi alziei. Action=lSfcConinonDialcgl. Action=2HP可:End Sub注意:CommonDialog.Filterlndex =索引(索引是從1開(kāi)始)知識(shí)點(diǎn)12:1、文件文件包括三種:順序文件、隨機(jī)文件和二進(jìn)制文件 順序訪問(wèn):文件中數(shù)據(jù)是以 ASCII碼存儲(chǔ)的。 隨機(jī)訪問(wèn):文件長(zhǎng)度記錄
36、是 固定不變的,數(shù)據(jù)類(lèi)型可以不同,數(shù)據(jù)以二進(jìn)制方式存儲(chǔ)在文件中,可以任意時(shí)候,任意地方訪問(wèn)。 如果源文件是字符類(lèi)型, 那么讀寫(xiě)文件如下所示:讀文件的格式:#文件號(hào) (#1)Do while Not Eof(Input #文件名 (In.txt)" For Input As 文件號(hào))文件號(hào) , 變量LoopClose #文件號(hào)寫(xiě)文件格式:OpenApp.Path & 文 件 名 (Out.txt)" ForOutput(Append) As # 文件號(hào) (#1)Print #文件號(hào) , 變量Close #文件號(hào)注意:當(dāng)寫(xiě)文件以 Output 方式時(shí), 原來(lái)的文件內(nèi)容
37、將被覆蓋;當(dāng)寫(xiě)文件以 Append 方式時(shí),新的文件內(nèi)容將被添加到文 件尾部; 如果源文件是數(shù)值類(lèi)型, 那么讀寫(xiě)文件如下所示: Dim a(10) As IntegerOpenApp.Path & 文件名 (In.txt)" For Input As#文件號(hào) (#1)For i=1 To 10In put #文件號(hào),a(i)Next iClose #文件號(hào)寫(xiě)文件格式:OpenApp.Path & 文件名(Out.txt)" ForOutput(Append) As # 文件號(hào)倂 1)For i=1 To 10Print # 文件號(hào),a(i)Next iClo
38、se #文件號(hào)例題:(1)在考生文件夾下有文件in 5.txt ,文件中有字符串 “0& 1%$s#2&3!45u6ydf7ff8|9er ”。請(qǐng)?jiān)?Forml 的窗體上畫(huà)一個(gè)文本框,名稱(chēng)為T(mén)ext1,能顯示多行;在畫(huà)一個(gè)命令按鈕,名稱(chēng)為Cl,標(biāo)題為“存盤(pán)”。編寫(xiě)適當(dāng)?shù)氖录^(guò)程,使得在加載窗體時(shí),把in5.txt文件的內(nèi)容中數(shù)字字符顯示在文本框里。然后單擊“存盤(pán)” 按鈕,把文本框中的內(nèi)容存到文件 out5.txt中。如圖所示:根據(jù)題目要求,所編寫(xiě)程序如下:Private Sub ComnandljClick 0Open App, Path & ?out.十kF For
39、Output As #2Print #2j Textl. TexiClose #2End SubPrivatE Sub 氏皿丄口胡。Dim s As StringDim n As Integer, 1 As Integer, c As String Open App. Path & "In. For Input As #1 Do While Not EOF(l)Input #1, sLoopClose #1ri - Lents)for 1 = 1 To nc = IffidG, i, 1)If c >=時(shí) And c <=分 ThenTeitl. Text 二 T
40、extl. Tett + cEnd IfHext iEnd Sub(2)在考生文件下有文件in.txt,文件有10個(gè)數(shù)據(jù):123 521 362 821 400 300 710 990 120 500. 請(qǐng)?jiān)?Forml 的窗體上 畫(huà)一個(gè)文本框,名稱(chēng)為T(mén)ext1,能顯示多行;在畫(huà)一個(gè)命令按鈕,名 稱(chēng)為Cl,標(biāo)題為“存盤(pán)”。編寫(xiě)適當(dāng)?shù)氖录^(guò)程,使得在加載窗體時(shí), 把in5.txt文件的內(nèi)容顯示在文本框里,然后統(tǒng)計(jì)10個(gè)數(shù)的最大數(shù)、 最小數(shù)和它們的和,并把最大數(shù)、最小數(shù)和它們的和寫(xiě)到“out.txt ” 文件中。如圖所示:根據(jù)題目要求,所編寫(xiě)程序如下:Dim a(10) As_Integer, m
41、ay As Integer. inirL-As Integer. 211m As Lona Private Sub Conoandl_Click()Open top. Path 風(fēng)"Wut.txT” For Output As #2Frint 吃 口氓 min, sumCLose #2£迪Private Sub Forni_Laad ()Dim l As IntegerOpen App. Path & "1口七謳十"For Input As #1For i. = 1 To 10Input #1a(i)Teiitl. Test = Textl. T
42、ext & a(i) &. Spa.ce (1)Nezt iClose #1For i = 1 Ta 10 .maz = n:min = a1-1)I£ ati) > max Thenmax - a(i)End IfIf a(i) < min The口min = a(i)End If.sum = sum + a(i)Me)ft iEnd SubVisual Basic程序設(shè)計(jì)基礎(chǔ)知識(shí)要點(diǎn)(程序設(shè)計(jì)篇)全國(guó)計(jì)算機(jī)等級(jí)考試中常用的程序編程部分:一、求最大數(shù)、最小數(shù)、求和以及求平均數(shù)二、求階層三、求最大公約數(shù)四、求素?cái)?shù)五、求水仙花數(shù)(拆數(shù)法)六、 排序(選擇排序
43、、直接插入排序和冒泡排序)七、 字符操作1、字符串取反(反向輸出字符串)2、判斷字符串中的某個(gè)字符是否為字母3、統(tǒng)計(jì)每類(lèi)字符的個(gè)數(shù)八、 矩陣求法(二維數(shù)組)九、 文件讀寫(xiě)操作1、 字符型讀寫(xiě)操作2、 數(shù)值型讀寫(xiě)操作 九大問(wèn)題具體例子分析: 一、求最大數(shù)、最小數(shù)、求和以及求平均數(shù)例題:隨機(jī)產(chǎn)生10個(gè)兩位整數(shù),并存入數(shù)據(jù)a中,然后分 別求 10 個(gè)元素中的 最大數(shù)、 最小數(shù) 、求 10 個(gè)元素之和 以及它們的 平 均數(shù)。Private Sub Command1_Click()Dima(10) As Integer, i As Integer, Max AsInteger, Min As Integ
44、erDim Sum as Integer, Avg As SingleSum=0For i= 1 To 10a(i)=Int(Rnd*90)+10'產(chǎn)生 1099 之間的隨機(jī)整數(shù)'假設(shè)最大數(shù)和'求最大數(shù)'求最小數(shù)'求和'求平均數(shù);Min; “和:”;Sum;Next iMax=a(1):Min=a(1)最小數(shù)For i= 1 To 10If Max<a(i) ThenMax=a(i)End IfIf Min>a(i) ThenMin=a(i) ThenEnd ifSum=Sum+a(i)Next iAvg=Sum/10Print“最大
45、數(shù):” ;Max; “最小數(shù):”“平均數(shù):” ;AvgEnd Sub二、求階層 例題:求 10! .Private Sub Command1_Click()Dim Sum As Long, i As Integer Sum=1For i= 1 To 10Sum=Sum*iNext iPrint“ 10!= ” ;SumEnd Sub三、求最大公約數(shù)例題:求M和N兩個(gè)數(shù)的最大公約數(shù)。Private Sub Command1_Click()DimM As Integer, N As Integer,R AsIntegerM=36:N=24DoR=M Mod NM=NN=RLoopWhile R&l
46、t;>0 ' 或LoopUntil R=0Print“M和N的最大公約數(shù)為:”;MEnd Sub四、求素?cái)?shù)例題:求 100200 之間的所有素?cái)?shù) ,并按每行 5 個(gè)元素 格式輸入所有素?cái)?shù)。Private Sub Command1_Click()Dimn As Integer,i As Integer j AsIntegerFor n =100 To 200For i = 2 To n-1' n-1 可以是 n/2,也可以是 Sqr(n) 形 式If n Mod i =0 Then Exit ForNext iIf i>n-1 Thenj=j+1 ' 統(tǒng)計(jì)素?cái)?shù)
47、個(gè)數(shù)Print n;If j Mod 5 =0 Then Print '輸出 5 個(gè)數(shù)換行End IfNext nEnd Sub五、求水仙花數(shù)(拆數(shù)法)例題:求 100999 之間的所有水仙花數(shù), 并將所有水仙花數(shù)在文本框中顯示。所謂水仙花數(shù):即153=1八3+5八3+3八3條件成立。方法 1:(數(shù)值型:使用運(yùn)算符 Mod 和 )DimPrivate Sub Command1_Click()i As Integer ,a As Integer ,b AsInteger ,c As IntegerFor i = 100 To 999a=i100'取百位數(shù)b=i10 Mod 10&
48、#39;取十位數(shù)c=i Mod 10'取個(gè)位數(shù)If i=aA3+bA3+cA3 ThenText1.Text=Text1.Text& i &Space(2)End IfNext iEnd Sub方法 2:(字符型:使用函數(shù) Mid、Val 和 CStr )Private Sub Command1_Click()Dimi As Integer ,a As Integer ,b AsInteger ,c As IntegerFor i = 100 To 999a= Val(Mid(Cstr(i),1,1)'取百位數(shù)b= Val(Mid(Cstr(i),2,1)
49、9;取十位數(shù)c= Val(Mid(Cstr(i),3,1)'取個(gè)位數(shù)If i=aA3+bA3+cA3 ThenText1.Text=Text1.TextSpace(2)End IfNext iEnd Sub六、排序問(wèn)題例題:隨機(jī)產(chǎn)生 10 個(gè) 兩位整數(shù) ,并存入數(shù)據(jù) a 中,然后將這 10個(gè)元素從小到大排序 (或從大到?。?,并將排序號(hào)的數(shù)組顯示 在文本框中。方法 1:選擇排序Private Sub Command1_Click()Dima(10) As Integer, i As Integer, j AsInteger ,temp As IntegerFor i= 1 To 10
50、a(i)=Int(Rnd*90)+10'產(chǎn)生 1099之間的隨機(jī)整數(shù)Next i'比較 n-1 輪'每一輪比較幾從大到?。篎or i= 1 To 9For j = i+1 To 10If a(i)>a(j) Thena(i)<a(j)temp=a(i)a(i)=a(j) a(j)=temp End IfNext jNext iFor i =1 To 10Text1.Text=Text1.Text & a(i) & space(2)Next iEnd Sub方法 2:直接插入排序Private Sub Command1_Click()j AsD
51、im a(10) As Integer, i As Integer, Integer ,temp As IntegerDim Pointer As Integer1099For i= 1 To 10 a(i)=Int(Rnd*90)+10 '產(chǎn)生 之間的隨機(jī)整數(shù)For i= 1 To 9Next i'比較 n-1 輪Pointer=iFor j = i+1 To 10'每一輪比較幾If a(Pointer)>a(j) Then Pointer=jNext jIf i <> Pointer Thentemp=a(i)a(i)=a(j) a(j)=temp
52、 End IfNext iFor i =1 To 10Text1.Text=Text1.Text & a(i) & space(2)Next iEnd Sub方法 1:冒泡排序Private Sub Command1_Click()j AsDim a(10) As Integer, i As Integer, Integer ,temp As Integer1099For i= 1 To 10 a(i)=Int(Rnd*90)+10 '產(chǎn)生 之間的隨機(jī)整數(shù)Next iFor i= 1 To 9'比較 n-1 輪For j = 1 To 10-i'每一輪比
53、較幾從大到?。篒f a(j)>a(j+1) Thena(i)<a(j)temp=a(j)a(j)=a(j+1)a(j+1)=tempEnd IfNext jNext iFor i =1 To 10Text1.Text=Text1.Text & a(i) & space(2)Next iEnd Sub七、字符操作1 、字符串取反例題:在文本框中輸入一個(gè)字符串,比如:ABCDEFGH然后反向輸出,結(jié)果為:HGFEDCBAPrivate Sub Command1_Click()Dim s As String ,n As Integer ,i As Integern=Len
54、(Text1.Text )For i = n To 1 Step-1For i =1 To ns = s + Mid(Text1.Text,i,1) ' s =Mid(Text1.Text,i,1) + sNext iPrint sEnd Sub2、判斷字符串中的某個(gè)字符是否為字母 例題:在文本框中輸入一個(gè)字符串,比如:A$4Ch&*Fiy%41H輸出字符串中的所有字母,結(jié)果為:AChFiyHPrivate Sub Command1_Click()Dim s As String ,n As Integer ,i As Integer ,c As Stringn=Len(Text
55、1.Text )For i = 1 To nc=Mid(Text1.Text,i,1)If c >= "A" And c<= "Z" Or c >= "a" And c<= "z" Thens = s + cEnd IfNext iPrint sEnd Sub 3、統(tǒng)計(jì)每類(lèi)字符的個(gè)數(shù)例題:在文本框中輸入一個(gè)字符串,比如:A$m4Ch&*F13iy%p41,H請(qǐng)分別統(tǒng)計(jì)出大寫(xiě)字母、小寫(xiě)字母、數(shù)字字符和其他字符的個(gè)數(shù)。Private Sub Command1_Click()Dim n As Integer ,i As Integer ,c As StringDim n1
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年房屋轉(zhuǎn)租主體變更協(xié)議
- 2024年房產(chǎn)購(gòu)置協(xié)議:開(kāi)發(fā)商與買(mǎi)家之間的合同
- 美容服務(wù)質(zhì)量協(xié)議書(shū)
- 城市取水泵站節(jié)能改造方案
- 科研機(jī)構(gòu)非盈利會(huì)計(jì)制度建設(shè)
- 外墻腳手架搭建技術(shù)方案
- 食堂疫情防控應(yīng)急演練方案
- 工業(yè)項(xiàng)目混凝土供應(yīng)合同
- 2024至2030年中國(guó)鉤針包數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2024年中國(guó)鑄鐵高溫球閥市場(chǎng)調(diào)查研究報(bào)告
- 林木種質(zhì)資源調(diào)查表(新表)
- 蔬菜出口基地備案管理課件
- 子宮異常出血的護(hù)理
- 高考英語(yǔ)單詞3500記憶短文40篇
- 《耳穴療法治療失眠》課件
- 詢(xún)盤(pán)分析及回復(fù)
- 氯化工藝安全培訓(xùn)課件
- 指導(dǎo)巡察工作精細(xì)科學(xué)
- 企業(yè)法律知識(shí)培訓(xùn)消費(fèi)者權(quán)益保護(hù)實(shí)務(wù)
- 快樂(lè)讀書(shū)吧-讀后分享課:《十萬(wàn)個(gè)為什么》教學(xué)案列
- 2024年 貴州茅臺(tái)酒股份有限公司招聘筆試參考題庫(kù)含答案解析
評(píng)論
0/150
提交評(píng)論