




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第三章VB語言基礎(chǔ)3/24/20231本章的目標(biāo):掌握編碼基本規(guī)則掌握標(biāo)準(zhǔn)數(shù)據(jù)類型和自定義數(shù)據(jù)類型掌握變量和常量的含義及聲明方法掌握常見內(nèi)部函數(shù)及其用法掌握運(yùn)算符和表達(dá)式的書寫及應(yīng)用掌握基本語句3/24/202323.1VB編碼基本規(guī)則1.注釋語句規(guī)則
注釋所起的作用是讓某些語句不參與系統(tǒng)程序的編譯。在VB中,注釋語句有兩種方式:1)用“Rem”關(guān)鍵字做開頭; 2)用“'”號(hào)開頭。2.編碼字符大小寫不區(qū)分在進(jìn)行VB編碼時(shí),所用英文字符大小寫不區(qū)分,在運(yùn)行過程中系統(tǒng)自動(dòng)給以轉(zhuǎn)換,其轉(zhuǎn)換規(guī)則如下:(1)VB中的關(guān)鍵字,首字母被轉(zhuǎn)換為大寫,其余字母被轉(zhuǎn)換為小寫,且代碼顏色一般為藍(lán)色。(2)用戶自定義的變量、過程名,VB以第一次定義為準(zhǔn),以后輸入的自動(dòng)向首次定義的轉(zhuǎn)換。3/24/202333.2數(shù)據(jù)類型數(shù)據(jù)是信息的物理表示形式,是程序處理的對(duì)象。在使用計(jì)算機(jī)來處理數(shù)據(jù)時(shí),會(huì)遇到各種不同類型的數(shù)據(jù)。例如,一個(gè)人的姓名是由一串文本(字符)組成,成績(jī)、年齡和體重都是一個(gè)數(shù)值,而是否大學(xué)畢業(yè)則是一個(gè)邏輯值,等等。為了更好地處理各種各樣的數(shù)據(jù),VB定義了多種數(shù)據(jù)類型。在計(jì)算機(jī)中確定數(shù)據(jù)類型的作用有兩個(gè):一是在生成數(shù)據(jù)時(shí),它指出應(yīng)為數(shù)據(jù)分配多大的存儲(chǔ)空間;二是它規(guī)定了數(shù)據(jù)所能進(jìn)行的操作。3/24/20235使用“Type”語句來定義。其格式為:Type自定義數(shù)據(jù)類型名 元素名1[(下標(biāo))]As類型名 元素名2[(下標(biāo))]As類型名 …… 元素名n[(下標(biāo))]As類型名EndType3.2.2用戶自定義的數(shù)據(jù)類型3/24/20237說明:元素名:自定義類型中的一個(gè)成員。下標(biāo):如果不省略表示的是數(shù)組。類型名:為3.2.1中所講的標(biāo)準(zhǔn)數(shù)據(jù)類型。一旦定義好了類型,就可以在變量的聲明時(shí)使用該類型。使用的方式是:Dim變量名AS自定義數(shù)據(jù)類型名變量名.元素名X[(下標(biāo))]注意:自定義類型須在標(biāo)準(zhǔn)模塊(.bas)中定義,默認(rèn)類型為Public。自定義類型中的元素類型可以是字符串,但必須是定長(zhǎng)的字符串。例3.2
自定義數(shù)據(jù)類型的定義和應(yīng)用。3/24/20238變量:是在程序運(yùn)行中其值可以發(fā)生變化的量。在使用變量前先聲明變量名和類型,從而決定系統(tǒng)為它分配的存儲(chǔ)單元(地址和大?。T赩B中變量的聲明分為顯式聲明和隱式聲明兩種:3.3.2變量聲明3/24/2023101、顯式聲明 顯式聲明就是對(duì)變量先聲明后使用,有以下幾種形式: Dim變量名[As類型] Private變量名[As類型] Public變量名[As類型] Static變量名[As類型]‘來聲明靜態(tài)變量注意:靜態(tài)變量聲明不能放在通用聲明部分中聲明。[As類型]:表示該部分可省略。缺省“As類型”部分,則所創(chuàng)建的變量默認(rèn)為變體類型。[As類型]可用在變量名后加類型符來表示,此時(shí)變量名與類型符之間不能有空格。例如:DimintAasinteger,intBasinteger,dblCasdouble等價(jià)于:DimintA%,intB%,dblC#3/24/2023112、隱式聲明 在VB中,隱式聲明指變量未進(jìn)行聲明而直接使用,所有的隱式聲明的變量都是Variant類型的。PrivateSubCommand1_Click()a=50’變量a未經(jīng)聲明而直接引用PrintaEndSub
使用隱式聲明易出錯(cuò),在VB中提供了強(qiáng)制聲明的方法,即在窗體或模塊的通用聲明部分中加上一條如下語句: OptionExplicit 這個(gè)語句使編譯器要求檢查每個(gè)變量的聲明,如果用的變量沒有聲明,則發(fā)出一個(gè)錯(cuò)誤信息。3/24/202313有時(shí)在實(shí)際的應(yīng)用中,需要將變量的數(shù)據(jù)類型轉(zhuǎn)換為另一種數(shù)據(jù)類型,這樣變量的數(shù)據(jù)類型就發(fā)生了改變。表3.2列出了進(jìn)行變量類型強(qiáng)制轉(zhuǎn)換的函數(shù)。函數(shù)返回類型例子例子返回值CBoolBooleanCbool(23)TrueCByteByteCbyte(23)23CIntIntegerCint(200070.10024)200070CLngLong略CDblDouble略CSngSingle略CStrStringCStr(2006011100.11)2006011100.11CDateDateCdate(“2007-10-17”)2007-10-17CCurCurrencyCcur(233.33345)233.3334CVarVariant略CVErrErrorCVErr(100)錯(cuò)誤100表3.2數(shù)據(jù)類型強(qiáng)制轉(zhuǎn)換函數(shù)3/24/2023141、用戶自定義常量
用Const語句來自定義常量,其格式為:[Public︱Private]Const<常量名>[As<數(shù)據(jù)類型>]=表達(dá)式或:Const常量名=表達(dá)式
[例]:Constpi=3.1415926PrivateConstconName="Beijing(String)"PublicConstmaxASInteger=50
3/24/202316定義符號(hào)常量時(shí),也可以在常量名后面加上類型說明符,例如:
Const
pi#=3.1415926 ‘定義pi為雙精度型
Const
g!=9.8 ‘定義g為單精度型注意:
一般可以把常量的定義放在窗體的通用過程當(dāng)中。3/24/2023173.4常用內(nèi)部函數(shù)函數(shù)名功能說明舉例結(jié)果Mid$(C,N1,N2)從字符串C的N1位開始向右載取N2個(gè)字符Mid$(“ABCDEFG”,2,4)“BCDE”Left$(C,N)截取字符串C左邊N個(gè)字符Left$(“abcde”,3)“abc”Right$(C,N)截取字符串C右邊N個(gè)字符Right$(“abcde”,3)“cde”String$(N,C)產(chǎn)生由C串中第一個(gè)字符組成的N個(gè)字符String$(2,“ABCD”)“AA”Len(C)字符串C的長(zhǎng)度Len(“ABCDE”)5Ltrim$(C)去掉字符串左邊的空格Ltrim$(“abc”)“abc”Rtrim$(C)去掉字符串右邊的空格Ltrim$(“abc”)“abc”Space$(N)產(chǎn)生N個(gè)空格Space(3)“
”InStr([N1,]C1,C2,[N])在C1中從N1開始找C2首次出現(xiàn)的位置,N=0區(qū)分大小寫;N=1,不區(qū)分大小寫InStr(2,“ABCDASF”,“A”)5StrComp(C1,C2,[N])字符串比較,C1大為1,C1小為-1,相等為0。N=0區(qū)分大小寫,N=1不區(qū)分大小寫StrComp("as","AS",0)1表3.4常用字符串函數(shù)表1.字符串函數(shù)及字符串編碼3/24/202319字符串編碼VB6.0中采用Unicode編碼來存儲(chǔ)和操作字符串,可是在Windows系統(tǒng)中用DBCS(DoubleByteCharacterSet)來存儲(chǔ)和操作字符串。
Unicode編碼是一種用兩個(gè)字節(jié)表示一個(gè)字符的字符集.DBCS編碼(DoubleByteCharacterSet)是在Windows系統(tǒng)中對(duì)字符采用的編碼方式,是一套單字節(jié)與雙字節(jié)的混合編碼,其中西文與ASCII編碼一樣,使用單字節(jié)編碼,東亞文字使用雙字節(jié)編碼。3/24/202320例3.3
建立包含一個(gè)窗體的工程,在Form_Click()中填寫如下代碼,運(yùn)行結(jié)果見圖3.2。Dims1AsString,s2AsStrings1="只要你努力,你一定可以學(xué)好VISUALBASIC"PrintPrint"用Unicode編碼時(shí)len(s1)=";Len(s1)Print"用Unicode編碼時(shí)lenb(s1)=";LenB(s1)PrintPrint"轉(zhuǎn)換后:"Prints2=StrConv(s1,vbFromUnicode)'將s1進(jìn)行用Unicode編碼字符串轉(zhuǎn)換并賦值給s2Print"用DBCS編碼時(shí)len(s2)=";Len(s2)Print"用DBCS編碼時(shí)lenB(s2)=";LenB(s2)3/24/2023212.轉(zhuǎn)換函數(shù)轉(zhuǎn)換函數(shù)是將各種不同數(shù)據(jù)類型的值相互之間進(jìn)行轉(zhuǎn)換的函數(shù)。函數(shù)名功能說明舉例結(jié)果Val(C)數(shù)字字符串轉(zhuǎn)換為數(shù)值Val(“123ABC”)123Asc(C)字符轉(zhuǎn)換成ASCII碼值A(chǔ)sc(“a”)97Chr$(N)ASCII碼值轉(zhuǎn)換成字符Chr$(65)“A”Lcase$(C)大寫轉(zhuǎn)換成小寫Lcase$(“ABC”)“abc”Ucase$(C)小寫轉(zhuǎn)換成大寫Ucase$(“abc”)“ABC”Fix(N)取整數(shù)部分Fix(-3.6)-3Hex[$](N)十進(jìn)制轉(zhuǎn)換成十六進(jìn)制Hex(100)64Int(N)取不大于N的最大整數(shù)Int(-3.6)Int(3.6)-43Oct[$](N)十進(jìn)制轉(zhuǎn)換成八進(jìn)制Oct$(100)“144”Str$(N)數(shù)值轉(zhuǎn)換成字符串Str$(123.45)“123.45”表3.5常用轉(zhuǎn)換函數(shù)表3/24/2023223.數(shù)學(xué)函數(shù)表3.6常用數(shù)學(xué)函數(shù)表函數(shù)名功能說明舉例結(jié)果Abs(n)取絕對(duì)值A(chǔ)bs(-5.6)5.6Cos(n)余弦函數(shù)Cos(0)1Sin(n)正弦函數(shù)Sin(0)0Atn(n)反正切函數(shù)Atn(0)0Tan(n)正切函數(shù)Tan(0)0Exp(n)e為底的指數(shù)函數(shù)eNExp(6)403.428793Log(n)e為底的自然對(duì)數(shù)Log(8)2.07944Rnd[(n)]產(chǎn)生隨機(jī)數(shù)Rnd取值區(qū)間[0,1)Sgn(n)符號(hào)函數(shù):n>0,sgn(n)=+1,n<0,sgn(n)=-1,n=0,sgn(n)=0Sgn(-6)-1Sqr(n)平方根Sqr(16)43/24/202324注意:(1)三角函數(shù)的參數(shù)n以弧度表示。
1度=π/180=3.14159/180(弧度)如:求的正弦值,應(yīng)寫為Sin(67*3.14156/180)(2)Sqr的參數(shù)必須大于或者等于0。(3)隨機(jī)函數(shù)Rnd可以模擬自然界中各種隨機(jī)現(xiàn)象。它可產(chǎn)生一個(gè)
[0,1)的隨機(jī)數(shù);
使用Randomize語句可以為隨機(jī)數(shù)生成器指定不同的初值或者稱為隨機(jī)數(shù)序列的“種子”,這樣可以得到不同的隨機(jī)數(shù)序列。Rnd通常與Int函數(shù)配合使用
生成[a,b]區(qū)間范圍內(nèi)的隨機(jī)整數(shù),可以采用
Int((b-a+1)*Rnd)+a例如:Int(4*Rnd+1)可以產(chǎn)生[1,4]之間的隨機(jī)整數(shù);Int(rnd*28)+10,則產(chǎn)生[10,37]之間的隨機(jī)數(shù)。例3.4
產(chǎn)生1個(gè)隨機(jī)二位整數(shù),在文本框中輸出。PrivateSubCommand1_Click()RandomizeText1=Int(Rnd*90+10)EndSub3/24/2023254.日期函數(shù)表3.7常用日期函數(shù)表函數(shù)名功能說明例結(jié)果Day(C|N)返回日期代號(hào)(1~31)Day(“07,05,26”)6MonthName(N)返回月份代號(hào)(1~12)MonthName(5)五月Now返回月份名Now2007/11/1421:09:26Time[$][()]返回系統(tǒng)日期和時(shí)間Time21:09:50WeekDay(C|N)返回星期代號(hào)(1~7)WeekDay(“07,11,14”)4即星期三WeekDayName(N)返回星期代號(hào)所轉(zhuǎn)換為的星期名稱WeekDayName(6)星期五Year(C|N)返回年代號(hào)(1753~2078)Year(1361)1903DateDiff函數(shù)形式:DateDiff(要間隔日期形式,增減量,要增減的日期變量)作用:兩個(gè)指定的日期按日期形式求相差的日期。要間隔的日期形式見表3.8。DateAdd增減日期函數(shù)形式:DateAdd(要增減日期形式,增減量,要增減的日期變量)作用:對(duì)要增減的日期變量按日期形式做增減。要間隔日期形式見表3.8。例如:DateAdd(“WW”,2,#11/14/2007#)返回值是在指定的日期上加2周,所以函數(shù)的結(jié)果為:#11/28/2007#。3/24/202326表3.8日期形式表注意:y、d、w在DateAdd函數(shù)中作用相同。日期形式snhwwwdymqyyyy意義秒分時(shí)星期一周的日數(shù)日一年的天數(shù)月季年5.格式輸出函數(shù)格式輸出函數(shù)用Format函數(shù)來實(shí)現(xiàn),其格式如下:Format(表達(dá)式[,格式字符串])其中,表達(dá)式是要格式化的數(shù)值、日期和字符串類型表達(dá)式。格式字符串是表示按其指定的格式輸出表達(dá)式的值。格式字符串有三類:數(shù)值格式、日期格式和字符串格式。格式字符串要加引號(hào)。
3/24/202327
符號(hào)“0”或“#”二者的比較:
同:若要顯示數(shù)值表達(dá)式的整數(shù)部分位數(shù)多于格式字符串的位數(shù),按實(shí)際數(shù)值顯示;若小數(shù)部分的位數(shù)多于格式字符串的位數(shù),按四舍五入顯示。
異:“0”按其規(guī)定的位數(shù)顯示,“#”對(duì)于整數(shù)前的0或小數(shù)后的0不顯示。
例3.5
格式符應(yīng)用舉例。運(yùn)行界面如圖3.4所示。PrivateSubCommand1_Click()a=789.45678b=56PrintFormat(a,"0.00"),Format(b,"-0.00")PrintFormat(a,"#.##"),Format(b,"-#.##")EndSub3/24/202329日期和時(shí)間格式化:將日期類型表達(dá)式的值和或數(shù)值表達(dá)式的值按指定的格式輸出
表3.10常用日期和時(shí)間格式符表符號(hào)作用符號(hào)作用m顯示月份(1~12),個(gè)位前不加0mm顯示月份(01~12),個(gè)位前加0mmm顯示月份縮寫(Jan~Dec)mmmm月份全名(January~December)d顯示日期(1-31),個(gè)位前不加0dd顯示日期(01~31),個(gè)位前加0ddd顯示星期縮寫(Sun-Sat)dddd顯示星期全名(Sunday~Saturday)dddd顯示完整日期(yy/mm/dd)ddddd顯示完整長(zhǎng)日期(yyyy年m月d日)h顯示小時(shí)(0~23),個(gè)位數(shù)前不加0hh顯示小時(shí)(00~23),個(gè)位前加0m在h后顯示分(0~59),個(gè)位前不加0mm在h后顯示分(00~59),個(gè)位前加0s顯示秒(0~59),個(gè)位前不加0ss顯示秒(00~59),個(gè)位前加0y顯示一年中的天(1~366)yy兩位數(shù)顯示年份(00~99)yyyy四位數(shù)顯示年份(0100~9999)q季度數(shù)(1~4)w星期為數(shù)字(1~7,1是星期日)ww一年中的星期數(shù)(1~53)tttt顯示完整時(shí)間(小時(shí)、分和秒),默認(rèn)的格式為hh:mm:ssAM/PMam/pm12小時(shí)的時(shí)鐘,午前為AM或am,午后為PM或pmA/P,a/p12小時(shí)的時(shí)鐘,中午前A或a,中午后P或p3/24/202330例3.6
應(yīng)用Format()函數(shù)顯示有關(guān)的日期和時(shí)間。運(yùn)行界面如圖3.5所示。建立相應(yīng)的對(duì)象(一個(gè)窗體)并編寫代碼。PrivateSubForm_Click()FontSize=15MyTime=#10:21:30PM#MyDate=#8/21/2007#PrintTab(2);Format(Date,"dddd,mmmm,dd,yyyy")'顯示系統(tǒng)當(dāng)前日期PrintTab(2);Format(Now,"yyyy年m月dd日hh:mm")'顯示系統(tǒng)當(dāng)前日期和時(shí)間PrintFormatDateTime(Now)'vb6.0新提供的函數(shù)PrintTab(2);Format(MyDate,"m/d/yy")PrintTab(2);Format(MyDate,"mmmm-yy")PrintTab(2);Format(MyTime,"h-m-sAM/PM")PrintTab(2);Format(MyTime,"hh:mm:ssA/P")EndSub圖3.Format函數(shù)示例3/24/202331字符串格式化是將字符串按指定的格式進(jìn)行如大小寫轉(zhuǎn)換顯示等
表3.11常用字符串格式符及舉例符號(hào)作用舉例結(jié)果@字符由右向左填充,當(dāng)實(shí)際字符位數(shù)小于符號(hào)位數(shù)的時(shí)候,字符前面要加空格做補(bǔ)充。Format("DDE","@@@@@")DDE&字符由右向左填充,當(dāng)實(shí)際字符位數(shù)小于符號(hào)位數(shù)的時(shí)候,字符前面不加空格做補(bǔ)充。Format("DDE","&&&&&")DDE<強(qiáng)制小寫,實(shí)現(xiàn)所有字符按小寫的格式顯示。Format(”NIkE”,”<@@@@”)nike>強(qiáng)制大寫,實(shí)現(xiàn)所有字符按大寫的格式顯示。Format(”niKe”,”>@@@@”)NIKE!強(qiáng)制由左而右填充字符占位符。默認(rèn)值是由右而左填充字符占位符。Format(”DDE”,”!@@@@”)DDE變換變量類型函數(shù):這里所提到的變換變量類型函數(shù)是指實(shí)現(xiàn)不同數(shù)據(jù)類型間變量類型的強(qiáng)制轉(zhuǎn)換3/24/202332Shell函數(shù)為了調(diào)用各種應(yīng)用程序,VB提供了一個(gè)函數(shù)來實(shí)現(xiàn),即通過shell函數(shù)來實(shí)現(xiàn)。Shell函數(shù)格式如下:Shell(命令字符串[,窗口類型])對(duì)Shell函數(shù)的說明:命令字符串:要執(zhí)行的應(yīng)用程序名,包括路徑,應(yīng)用程序必須是可執(zhí)行文件(即程序擴(kuò)展名為.COM、.EXE、.BAT)。其中命令字符串路徑有兩種表達(dá)方式:1、用絕對(duì)路徑;2、用start方式。窗口類型:表示執(zhí)行應(yīng)用程序的窗口大小,一般取1。函數(shù)成功調(diào)用的返回值為一個(gè)任務(wù)標(biāo)識(shí)ID,它是運(yùn)行程序的唯一標(biāo)識(shí)。圖3.6shell函數(shù)調(diào)用錄音機(jī)程序例3.7應(yīng)用shell函數(shù)調(diào)用Windows系統(tǒng)自帶的錄音機(jī)應(yīng)用程序。用兩種方式來實(shí)現(xiàn),代碼如下: 方法一:i=Shell("c:\windows\system32\ndrec32.exe",1) 方法二:j=Shell(start&"ndrec32.exe",1)運(yùn)行結(jié)果如圖3.6所示.。3/24/2023333.5運(yùn)算符
在VB中,運(yùn)算符可分為算術(shù)運(yùn)算符、比較運(yùn)算符、邏輯運(yùn)算符和字符串運(yùn)算符四類。1.算術(shù)運(yùn)算符
(優(yōu)先順序從高到低)運(yùn)算含義運(yùn)算符優(yōu)先級(jí)別例子結(jié)果乘方^14^216取負(fù)值-2-4-4乘*34*416除/310/42.5整除\410\42取余數(shù)Mod510mod42加+610+414減-610-46表3.12算術(shù)運(yùn)算符3/24/202334注意:30-True‘結(jié)果是31,邏輯量True轉(zhuǎn)為數(shù)值-1,F(xiàn)alse轉(zhuǎn)為0False+10+”4”‘結(jié)果是147.7\4等于2‘整除之前先將小數(shù)部分四舍五入17/5等于3.420Mod5等于0,1Mod3等于13/24/202335運(yùn)算符及其優(yōu)先級(jí):^(乘方)→-(求負(fù))→*/→\→Mod→+-示例:5*x^10+x/6–x^(1/3)
15Mod63/24/202336
根據(jù)運(yùn)算符的優(yōu)先級(jí),該表達(dá)式的計(jì)算步驟如下:①計(jì)算乘除,得到:2+12.8Mod17.52\2.16②計(jì)算整除(\),得到:2+12.8Mod9(17.52和2.16兩數(shù)先四舍五入為18和2)③求余運(yùn)算(Mod),得到:2+4(12.8先四舍五入為13)。④求和運(yùn)算,得到表達(dá)式的最后結(jié)果為:6例計(jì)算2+3.2*4Mod17.52\4.32/2的值3/24/2023371+2*14Mod17\6/2=?求出下列表達(dá)式的值想一想1.按運(yùn)算符的優(yōu)先級(jí)分成若干運(yùn)算步驟
先乘除,再整除\和求Mod,后加運(yùn)算2.根據(jù)運(yùn)算符的運(yùn)算功能求出各步驟的結(jié)果思考題
1+28Mod5結(jié)果為43/24/2023382.比較運(yùn)算符比較運(yùn)算是比較兩個(gè)對(duì)象的大小或者匹配情況,其中對(duì)象可以是字符、數(shù)字等。比較運(yùn)算符是雙目運(yùn)算符,比較的結(jié)果有True和False兩種表3.13VB比較運(yùn)算符含義運(yùn)算符例子結(jié)果不等于<>"ABW"<>"ABV"True等于="AE"="ABV"False大于>"AE">"ABV"True大于等于>="ABW">="ABV"True小于<56<89True小于等于<="67"<="67"True字符串匹配Like"ABWGHJ“l(fā)ike"BW"True對(duì)象引用比較Is3/24/202339在比較運(yùn)算中,比較規(guī)則如下: 兩個(gè)操作對(duì)象是數(shù)值型,按其大小進(jìn)行比較; 兩個(gè)操作對(duì)象是字符型,按字符的ASCII碼值從左到右一一進(jìn)行比較,即首先比較兩個(gè)字符串的第1個(gè)字符,其中ASCII碼值大的字符串大,如果第1個(gè)字符相同,則比較第2個(gè)字符,以此類推,直到出現(xiàn)不同字符為止,如果全等則兩個(gè)字符相等。 兩個(gè)操作對(duì)象是漢字,先將漢字轉(zhuǎn)換為相對(duì)應(yīng)的漢語拼音字符,然后再進(jìn)行比較。如“男”和“女”比較,首先轉(zhuǎn)換為“nan”和“nv”,因?yàn)榈谝粋€(gè)字符相同,因此比較第二個(gè)字符,而“a”小于“v”,因此“男”小于“女”。 在VB6.0中,增加了“Like”運(yùn)算符,與通配符“?”、“*”、“#”、[范圍]、[!范圍]結(jié)合使用,在SQL(結(jié)構(gòu)化查詢語句:StructureQueryLanguage)語句中經(jīng)常使用,用于模糊查詢。新增的“Is”關(guān)系運(yùn)算符用于對(duì)兩個(gè)對(duì)象變量引用進(jìn)行比較3/24/2023403.邏輯運(yùn)算符(優(yōu)先順序從高到低)邏輯運(yùn)算是對(duì)判斷的邏輯值True和False進(jìn)行操作的運(yùn)算,是將操作數(shù)進(jìn)行邏輯運(yùn)算,結(jié)果依然是邏輯型數(shù)值。邏輯運(yùn)算符除Not是單目運(yùn)算符外,其余都是雙目運(yùn)算符。表3.14VB中邏輯運(yùn)算符含義運(yùn)算符優(yōu)先級(jí)說明例結(jié)果取反Not1當(dāng)操作數(shù)是假時(shí),結(jié)果為真NotFT與And2兩個(gè)操作數(shù)均為真時(shí),結(jié)果為真TandFTandTFT或Or3兩個(gè)操作數(shù)中有一個(gè)為真時(shí),結(jié)果為真TorFForFTF等價(jià)Eqv4兩個(gè)操作數(shù)相同時(shí),結(jié)果為真TEqvFFEqvFFT異或Xor3兩個(gè)操作數(shù)一真一假時(shí),結(jié)果為真TXorFTXorTTF蘊(yùn)含Imp5第一個(gè)操作數(shù)為真,第二個(gè)操作數(shù)為假,結(jié)果才為假,其余為真TImpFTImpTFT3/24/2023414.字符串連接運(yùn)算符+&舉例結(jié)果舉例結(jié)果“100”+123223“100”&123“100123”“100”+“123”“100123”“100”&“123”“100123”“abc”+123出錯(cuò)“abc”&“123”“abc123”“abc”&123“abc123”使用運(yùn)算符“&”時(shí),在變量和運(yùn)算符“&”之間需加一個(gè)空格。注意:使用運(yùn)算符“+”,得到的不一定為字符串。3/24/202342“+”的運(yùn)算規(guī)則:連接運(yùn)算符兩邊的運(yùn)算對(duì)象應(yīng)為字符型;若均為數(shù)值型則進(jìn)行算術(shù)加運(yùn)算;若一個(gè)為字符型,另一個(gè)為數(shù)值型則出錯(cuò)?!?”的運(yùn)算規(guī)則:不論連接運(yùn)算符兩邊的運(yùn)算對(duì)象是字符型還是數(shù)值型,進(jìn)行連接時(shí)系統(tǒng)先將運(yùn)算對(duì)象轉(zhuǎn)換成字符型,然后再連接。3/24/2023433.6表達(dá)式
VisualBasic表達(dá)式由常數(shù)、變量、函數(shù)、運(yùn)算符以及圓括號(hào)按一定的規(guī)則組成。3/24/2023443.6.1表達(dá)式的書寫規(guī)則 例如:已知數(shù)學(xué)表達(dá)式寫成VB表達(dá)式為:sin(sqr((5*a+b)-c))/(a*b)^8(1)運(yùn)算符不能相鄰。(2)圓括號(hào)要成對(duì)。(3)乘號(hào)為*,不能省略。(4)表達(dá)式從左到右并排書寫,不能出現(xiàn)上下標(biāo)。(5)要注意各種運(yùn)算符的優(yōu)先級(jí)別,可根據(jù)需要適當(dāng)添加括號(hào)()改變運(yùn)算順序。3/24/2023453.6.2表達(dá)式中不同數(shù)據(jù)類型的轉(zhuǎn)換在算術(shù)運(yùn)算中,如果操作數(shù)具有不同的數(shù)據(jù)精度,則VB規(guī)定運(yùn)算結(jié)果的數(shù)據(jù)類型采用精度高的數(shù)據(jù)類型。即:
Integer<Long<Single<Double<Currency其實(shí)數(shù)據(jù)類型的轉(zhuǎn)化就好比在現(xiàn)實(shí)生活中容器對(duì)象的相互包容(因?yàn)閿?shù)據(jù)類型精度高的數(shù)據(jù)存儲(chǔ)需要更大的空間,見表3.1的各種類型的數(shù)據(jù)占字節(jié)數(shù)),大的容器對(duì)象可以放下小的容器對(duì)象,而小的則無法包容大的容器對(duì)象(否則會(huì)失真)。3.6.3表達(dá)式中各個(gè)運(yùn)算符的優(yōu)先級(jí)運(yùn)算符的優(yōu)先級(jí)如下:
算術(shù)運(yùn)算符>字符運(yùn)算符>關(guān)系運(yùn)算符>邏輯運(yùn)算符當(dāng)用戶在對(duì)多種運(yùn)算符并存的表達(dá)式中改變運(yùn)算符號(hào)的順序時(shí),可以增加圓括號(hào)來改變優(yōu)先級(jí)或使表達(dá)式更清晰。3/24/2023463.7基本約定和語句3.7.1命令格式中常見符號(hào)約定 。符號(hào)含義[]為可選參數(shù)表示符。方括號(hào)中的內(nèi)容選與不選由用戶根據(jù)具體情況決定,且都不影響語句本身的功能。如省略,則為缺省值。|為多個(gè)中取一表示符,含義為“或者選擇”。豎線分隔多個(gè)選擇項(xiàng),必須選擇其中之一。{}包含多中取一的各項(xiàng)。,…表示同類項(xiàng)目的重復(fù)出現(xiàn)。…表示省略了在當(dāng)時(shí)敘述中不涉及的部分。3.7.2基本語句1.賦值語句 在前面的例子中,已經(jīng)在代碼中使用了一個(gè)最基本的命令語句——賦值語句,比如對(duì)屬性的賦值,賦值語句是將指定的值賦給某個(gè)變量或?qū)ο蟮哪硞€(gè)屬性。表3.15VB常見約定的符號(hào)及含義3/24/202347賦值語句的一般格式為:[Let]名稱=表達(dá)式說明: Let是可選項(xiàng),完成賦值功能只需“=”(賦值號(hào)); “名稱”是變量或變量屬性的名稱; “表達(dá)式”計(jì)算所得的值將賦給“=”左邊各個(gè)變量或?qū)ο蟮膶傩裕仨氉⒁猓嘿x值號(hào)兩邊的數(shù)據(jù)類型必須一致,否則會(huì)出現(xiàn)“類型不匹配”錯(cuò)誤。 賦值號(hào)不是數(shù)學(xué)上的判斷等號(hào)?!癮=5”應(yīng)讀作“將數(shù)值5賦給變量a”或是“使變量a的值等于5”。 賦值語句是先計(jì)算“表達(dá)式”的值,然后再賦值。初學(xué)者一定要注意賦值語句的賦值方向問題,它時(shí)將賦值號(hào)(“=”)右邊的內(nèi)容賦值給賦值號(hào)左邊的變量。例3.8交換兩變量中的數(shù)據(jù)。DimaAsIntegerDimbAsIntegerDimcAsIntegerPrivateSubCommand1_Click()Print"交換前:"&a,bEndSub圖3-7兩數(shù)交換運(yùn)行結(jié)果P
溫馨提示
- 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. 人人文庫網(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-2030年中國隧道工程行業(yè)發(fā)展趨勢(shì)規(guī)劃研究報(bào)告
- 2025-2030年中國鍛壓機(jī)械制造行業(yè)運(yùn)行現(xiàn)狀及未來投資發(fā)展研究報(bào)告
- 2025-2030年中國金屬鎂產(chǎn)業(yè)十三五規(guī)劃及發(fā)展趨勢(shì)分析報(bào)告
- 2025-2030年中國金屬天花產(chǎn)業(yè)運(yùn)營趨勢(shì)及投資戰(zhàn)略研究報(bào)告
- 2025-2030年中國醋酸仲丁酯市場(chǎng)十三五規(guī)劃與投資風(fēng)險(xiǎn)評(píng)估報(bào)告
- 2025-2030年中國裙帶菜行業(yè)市場(chǎng)運(yùn)行態(tài)勢(shì)及發(fā)展戰(zhàn)略分析報(bào)告
- 2025-2030年中國蔬菜飲料市場(chǎng)運(yùn)行動(dòng)態(tài)與營銷策略研究報(bào)告
- 2025-2030年中國花園式住宅行業(yè)競(jìng)爭(zhēng)格局及發(fā)展可行性分析報(bào)告
- 2025-2030年中國職業(yè)裝市場(chǎng)十三五規(guī)劃與未來發(fā)展前景預(yù)測(cè)報(bào)告
- 2025-2030年中國磚瓦行業(yè)競(jìng)爭(zhēng)態(tài)勢(shì)與營銷策略研究報(bào)告
- 病原生物與免疫學(xué)-課件
- 初中語文期末考試試卷分析
- 聽胎心音操作評(píng)分標(biāo)準(zhǔn)
- HWSD數(shù)據(jù)庫土壤中文名稱
- 地產(chǎn)集團(tuán)地產(chǎn)體系員工職業(yè)序列及職業(yè)等級(jí)管理規(guī)定
- 安徽華星化工有限公司殺蟲單廢鹽資源化處理項(xiàng)目環(huán)境影響報(bào)告書
- 平安健康文明主題班會(huì)
- 消防工程管理辦法附流程圖
- 雨水管道中粗砂回填
- 金庸群俠傳x最完整攻略(實(shí)用排版)
- 團(tuán)意操作流程詳解課件
評(píng)論
0/150
提交評(píng)論