版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第3章VB程序設(shè)計基礎(chǔ)
3.1VB程序代碼的組織方式 3.2數(shù)據(jù)類型 3.3常量和變量 3.4常用內(nèi)部函數(shù) 3.5運(yùn)算符與表達(dá)式 3.6常用的基本語句3.1VB程序代碼的組織方式VB應(yīng)用程序通常由若干模塊組成,包括多個窗體模塊、多個標(biāo)準(zhǔn)模塊、多個類模塊。在各個模塊中,分別添加過程,在過程中編寫語句代碼。3.1.1模塊VB的代碼存儲在模塊中,模塊有三種類型:窗體模塊標(biāo)準(zhǔn)模塊類模塊窗體模塊(.frm)包含窗體及其控件的描述(屬性及其值);包含常數(shù)、變量、類型和外部過程的窗體級聲明;包含事件過程以及自定義的通用過程。3.1.1模塊VB的代碼存儲在模塊中,模塊有三種類型:窗體模塊標(biāo)準(zhǔn)模塊類模塊標(biāo)準(zhǔn)模塊(.bas)用于組織多個窗體共享的代碼,可以包含變量、常量、類型、外部過程和用戶自定義過程的全局(Public)聲明或模塊級(Private)聲明。3.1.1模塊VB的代碼存儲在模塊中,模塊有三種類型:窗體模塊標(biāo)準(zhǔn)模塊類模塊類模塊(.cls)用于創(chuàng)建新的類,包含類的屬性、方法的定義。有關(guān)類模塊的內(nèi)容,可參閱有關(guān)的VB手冊。3.1.2過程
過程就是具有特定書寫格式、具有一定功能的程序單元。過程子程序過程(Sub過程)通用過程事件過程函數(shù)過程3.1.3代碼行的書寫規(guī)則一條語句寫在多行當(dāng)一條語句比較長時,可以在行末加續(xù)行符“
_”,而分寫在多行上。例如:
DimStudent_numberAsString,Student_nameAsString
可以寫成:DimStudent_numberAsString,_
Student_nameAsString3.1.3代碼行的書寫規(guī)則一條語句寫在多行多條語句寫在一行允許將多個語句寫在同一行上,但語句之間需要用冒號“:”分隔。例如:t=x x=y y=t
可以寫成: t=x:x=y:y=t3.2數(shù)據(jù)類型數(shù)據(jù)類型基本數(shù)據(jù)類型用戶自定義的數(shù)據(jù)類型數(shù)值型字符型邏輯型日期型對象型變體型整數(shù)型長整型單精度型雙精度型貨幣型字節(jié)型3.2.1基本數(shù)據(jù)類型數(shù)值型:整數(shù)型長整型單精度型雙精度型貨幣型字節(jié)型3.2.1基本數(shù)據(jù)類型數(shù)值型:整數(shù)型長整型單精度型雙精度型貨幣型字節(jié)型類型名稱為:Integer類型符號為:%存儲空間:2B取值范圍為:
-32768~327673.2.1基本數(shù)據(jù)類型數(shù)值型:整數(shù)型長整型單精度型雙精度型貨幣型字節(jié)型類型名稱為:Long類型符號為:&存儲空間:4B取值范圍為:-231~231-13.2.1基本數(shù)據(jù)類型數(shù)值型:整數(shù)型長整型單精度型雙精度型貨幣型字節(jié)型類型名稱為:
Single類型符號為:
!存儲空間:4B取值范圍為:-3.402823E38~-1.401298E-45;1.401298E-45~3.402823E383.2.1基本數(shù)據(jù)類型數(shù)值型:整數(shù)型長整型單精度型雙精度型貨幣型字節(jié)型類型名稱為:
Double類型符號為:
#存儲空間:8B取值范圍為:-1.79769313486232E308~-4.94065645841247E-324;4.94065645841247E-324~1.79769313486232E3083.2.1基本數(shù)據(jù)類型數(shù)值型:整數(shù)型長整型單精度型雙精度型貨幣型字節(jié)型類型名稱為:
Currency類型符號為:
@存儲空間:8B取值范圍為:
-922337203685447.5808
~922337203685447.58073.2.1基本數(shù)據(jù)類型數(shù)值型:整數(shù)型長整型單精度型雙精度型貨幣型字節(jié)型類型名稱為:
Byte存儲空間:1B取值范圍為:0~28-1(0~255)3.2.1基本數(shù)據(jù)類型字符型:類型名稱為:
String類型符號為:
$存儲空間:與串長有關(guān)3.2.1基本數(shù)據(jù)類型邏輯型:類型名稱為:
Boolean存儲空間:2B取值為:True或False3.2.1基本數(shù)據(jù)類型日期型:類型名稱為:
Date存儲空間:8B取值范圍為:
100年1月1日 ~9999年12月31日3.2.1基本數(shù)據(jù)類型對象型:類型名稱為:
Object存儲空間:4B取值范圍為:任何對象引用3.2.1基本數(shù)據(jù)類型變體型:類型名稱為:
Variant存儲空間:>=16B取值范圍為:數(shù)值型可達(dá)Double型的范圍變體型是VB數(shù)據(jù)的缺省數(shù)據(jù)類型,它可以存儲各種類型的數(shù)據(jù)。3.2.2用戶自定義數(shù)據(jù)類型用戶自定義類型也稱記錄類型??稍谀K的通用聲明部分,使用Type語句來定義,格式如下:[Public|Private]Type<數(shù)據(jù)類型名> <成員1>As<類型名> <成員2>As<類型名> … <成員n>As<類型名>EndTypePrivateTypeStudentnoAsString '學(xué)號nameAsString'姓名sexAsString '性別birthAsDate '出生日期EndTypePrivateSubForm_Click()Dimstu1AsStudent,iAsIntegerstu1.no="1101122001"i=1Printstu1.no,iEndSub例如:3.3常量和變量PrivateSubCommand1_Click()ConstPiAsSingle=3.14159DimrAsSingle,sAsSingle,cAsSingle
r=10.0
c=2*Pi*r
s=Pi*r*rPrint"r=";r,"c=";c,"s=";sEndSub程序中,r、c、s為變量,
3.14159、10.0、2、“
r=”等為常量,Pi為符號常量,2*Pi*r、Pi*r*r為表達(dá)式。[引例]已知圓的半徑r,求圓的周長c和面積s。編程如下:3.3.1常量常量是在程序的運(yùn)行過程中其值保持不變的量。在VB中有三種常量,分別是:直接常量用戶聲明的符號常量系統(tǒng)提供的符號常量1.直接常量直接常量就是各種數(shù)據(jù)類型的具體值。根據(jù)數(shù)據(jù)類型劃分有:字符串常量數(shù)值常量整型常量長整型常量單精度型常量雙精度型常量邏輯型常量日期型常量用一對雙引號("")括起來的一串字符。例如:"VisualBasic""12345""12a"等都是合法的字符串常量。1.直接常量直接常量就是各種數(shù)據(jù)類型的具體值。根據(jù)數(shù)據(jù)類型劃分有:字符串常量數(shù)值常量整型常量長整型常量單精度型常量雙精度型常量邏輯型常量日期型常量一般的數(shù)值常量由正負(fù)號、數(shù)字和小數(shù)點(diǎn)組成,正數(shù)的正號可以省略。1.直接常量直接常量就是各種數(shù)據(jù)類型的具體值。根據(jù)數(shù)據(jù)類型劃分有:字符串常量數(shù)值常量整型常量長整型常量單精度型常量雙精度型常量邏輯型常量日期型常量有十進(jìn)制、八進(jìn)制和十六進(jìn)制三種形式。十進(jìn)制數(shù)由0-9數(shù)字組成八進(jìn)制數(shù)由0-7組成,前加&O十六進(jìn)制數(shù)是由0-9、A-F組成,前加&H。例如:123,&O123,&H123,-120,120%1.直接常量直接常量就是各種數(shù)據(jù)類型的具體值。根據(jù)數(shù)據(jù)類型劃分有:字符串常量數(shù)值常量整型常量長整型常量單精度型常量雙精度型常量邏輯型常量日期型常量十進(jìn)制、八進(jìn)制和十六進(jìn)制三種形式。在數(shù)后跟類型符&,說明長整型常量。八進(jìn)制數(shù)前加&O。十六進(jìn)制數(shù)前加&H。例如:120&,43210,-12345678&,&O1234&,&HFFFFF,&HF&,都是長整型常量1.直接常量直接常量就是各種數(shù)據(jù)類型的具體值。根據(jù)數(shù)據(jù)類型劃分有:字符串常量數(shù)值常量整型常量長整型常量單精度型常量雙精度型常量邏輯型常量日期型常量兩種形式:十進(jìn)制小數(shù)形式,指數(shù)形式。十進(jìn)制小數(shù)形式。例如:
31.456、123!、-12.7、.0315。指數(shù)形式格式為:
mmmEeee其中mmm是尾數(shù),eee是指數(shù),指數(shù)必須是整數(shù),可帶正號或負(fù)號。例如:1.234E5表示的是1.234×105;-8.9763E-3,表示的是-8.9763×10-3。1.直接常量直接常量就是各種數(shù)據(jù)類型的具體值。根據(jù)數(shù)據(jù)類型劃分有:字符串常量數(shù)值常量整型常量長整型常量單精度型常量雙精度型常量邏輯型常量日期型常量兩種形式:十進(jìn)制小數(shù)形式,指數(shù)形式。十進(jìn)制小數(shù)形式。例如:31.456#、-12.7#、.0315#,123#。指數(shù)形式格式為:
mmmDeee其中mmm是尾數(shù),eee是指數(shù),指數(shù)必須是整數(shù),可帶正號或負(fù)號。例如:
1.234D5,表示的是1.234×105;-8.9763D-3,表示的是-8.9763×10-3。1.直接常量直接常量就是各種數(shù)據(jù)類型的具體值。根據(jù)數(shù)據(jù)類型劃分有:字符串常量數(shù)值常量整型常量長整型常量單精度型常量雙精度型常量邏輯型常量日期型常量兩個取值:True
False1.直接常量直接常量就是各種數(shù)據(jù)類型的具體值。根據(jù)數(shù)據(jù)類型劃分有:字符串常量數(shù)值常量整型常量長整型常量單精度型常量雙精度型常量邏輯型常量日期型常量日期型常數(shù)表示形式為:#mm/dd/yyyy#例如:#6/15/2012#表示2012年6月15日#Jan1,2013#表示2013年1月1日2.用戶聲明的符號常量聲明格式為:
[Public|Private]Const<常量名>[As類型]=<表達(dá)式>Public在標(biāo)準(zhǔn)模塊中聲明全局性的符號常量。Private在標(biāo)準(zhǔn)或窗體模塊中,聲明模塊私有的符號常量。省略時,默認(rèn)為Private。常量名命名規(guī)則與變量相同。習(xí)慣大寫字母表示。[As類型]指定數(shù)據(jù)類型。也可以用數(shù)據(jù)類型符。
<表達(dá)式>為常量表達(dá)式,其中不能出現(xiàn)變量。在一行中可聲明多個符號常量,用逗號分隔。例如:PublicConstPIAsSingle=3.14,G!=9.83.系統(tǒng)提供的符號常量VB定義了許多符號常量,以“vb”開頭,如:
vbRed、vbCrLf等在VB編程時可以直接使用,例如:Text1.ForeColor=vbRed3.3.2變量變量的命名規(guī)則變量的聲明變量作用域1.變量的命名規(guī)則變量名必須是以字母或漢字開頭的,由字母、漢字、數(shù)字、下劃線組成的串,長度≤255個字符。不能取關(guān)鍵字作為變量名。變量名不區(qū)分字母的大小寫。例如:re,工資,intSum,Stu1,為合法變量名。
mydata,re.er,8re,Integer,非法變量名。2.變量的聲明(1)顯示聲明變量,格式:
Public|Private|Dim|Static變量名[As類型]…PrivatekAsInteger,dAsDoublePublicnAsInteger PrivateSubForm_Load()StaticiAsInteger
DimxAsSingle,yAsSingle
k=3:i=2Printk,d,n,i,x,yEndSubPrivateSubCommand1_Click()Printk+1EndSub示例:2.變量的聲明(1)顯示聲明變量,格式:
Public|Private|Dim|Static
變量名[As類型]…關(guān)鍵字聲明位置變量級別作用范圍Dim或Static在過程內(nèi)局部變量當(dāng)前過程Private或Dim在窗體或模塊的聲明處模塊級變量當(dāng)前窗體或模塊的所有過程Public在窗體或模塊的聲明處全局變量工程內(nèi)的所有過程2.變量的聲明(1)顯示聲明變量,格式:
Public|Private|Dim|Static變量名[As類型]…
[As類型]用于聲明變量的數(shù)據(jù)類型,其中類型可以是VB的基本數(shù)據(jù)類型,也可以是用戶定義的數(shù)據(jù)類型。缺省時為變體型。可以在變量名后緊跟一個類型說明符(%、&、!、#、@、$之一),來替代As<類型>。2.變量的聲明(1)顯示聲明變量,格式:
Public|Private|Dim|Static變量名[As類型]…變長字符串變量用String作為數(shù)據(jù)類型進(jìn)行聲明,存儲的字符串可長可短。變長字符串最多可包含231(大約
20億)個字符。定長字符串變量用String*size作為數(shù)據(jù)類型進(jìn)行聲明,size取值范圍為1-216
。DimS1AsString,S2AsString*6
2.變量的聲明(1)顯示聲明變量,格式:
Public|Private|Dim|Static變量名[As類型]…一條聲明變量的語句可聲明多個變量,各變量之間以逗號隔開。聲明變量時,系統(tǒng)將自動為變量賦一個初始值。數(shù)值型變量,初始值為0;變長字符串變量,初始值為空字符串(“”);定長字符串變量(定長n),則初始值為n個空白字符的串;邏輯型變量的初始值為False。2.變量的聲明(2)隱式聲明變量
在VB中,允許不顯式聲明而直接使用變量,這種方式稱為隱式聲明,此時VB會把該變量指定為變體(Variant)數(shù)據(jù)類型,并默認(rèn)為局部變量。(3)OptionExplicit語句強(qiáng)制顯式聲明變量在模塊的通用聲明處,輸入OptionExplicit語句,編譯時系統(tǒng)將檢查并通告模塊中隱式聲明的變量,強(qiáng)制要求顯式聲明變量。3.變量作用域
按照變量聲明使用的關(guān)鍵詞,以及聲明語句的位置,可以將變量分為:局部變量模塊級變量全局變量3.變量作用域
按照變量聲明使用的關(guān)鍵詞,以及聲明語句的位置,可以將變量分為:局部變量模塊級變量全局變量又稱為過程級變量,是在過程中使用Dim或Static聲明的變量,其作用域僅限于聲明變量的過程,通常用于過程中保存臨時數(shù)據(jù)。3.變量作用域
按照變量聲明使用的關(guān)鍵詞,以及聲明語句的位置,可以將變量分為:局部變量模塊級變量全局變量在窗體模塊或標(biāo)準(zhǔn)模塊的通用聲明部分,使用Private或Dim聲明的變量稱為模塊級變量。模塊級變量可被模塊中的任何過程訪問,通常用于存放模塊中各過程公用的一些數(shù)據(jù)。3.變量作用域
按照變量聲明使用的關(guān)鍵詞,以及聲明語句的位置,可以將變量分為:局部變量模塊級變量全局變量用Public關(guān)鍵詞聲明的變量,其作用域?yàn)檎麄€應(yīng)用程序,可以供所有模塊、所有過程使用,通常用于存放整個應(yīng)用程序公用的數(shù)據(jù)。3.4常用內(nèi)部函數(shù)3.4.1數(shù)學(xué)(Math)函數(shù)3.4.2日期(DateTime)函數(shù)3.4.3字符串(Strings)函數(shù)3.4.4轉(zhuǎn)換(Conversion)函數(shù)3.4.1數(shù)學(xué)函數(shù)函數(shù)函數(shù)類型功能示例函數(shù)值Sqr(x)Double求x的平方根(x≥0)Sqr(4)2Log(x)Double求自然對數(shù)lnxLog(4)1.38629436111989Exp(x)Double指數(shù)函數(shù)exExp(2)7.38905609893065Abs(x)與x相同返回x的絕對值A(chǔ)bs(-26)26Sgn(x)Integer符號函數(shù):當(dāng)x>0時,返回1;當(dāng)x=0時,返回0;當(dāng)x<0時,返回-1Sgn(20)Sgn(0)Sgn(-20)10-1Sin(x)Double正弦函數(shù)Sin(30*3.14/180)0.499770102643102Cos(x)Double余弦函數(shù)Cos(30*3.14/180)0.866158094405463Tan(x)Double正切函數(shù)Tan(30*3.14/180)0.576996400392873Atn(x)Double反正切函數(shù)Atn(30*3.14/180)0.4821395564077623.4.2
日期函數(shù)函數(shù)函數(shù)類型功能示例結(jié)果Now[()]Variant當(dāng)前日期時間Now5/12/20128:20:24Date[()]Variant當(dāng)前日期Date5/12/2012Time[()]Variant當(dāng)前時間Time8:20:24Hour(Now)整數(shù)0~23當(dāng)前的時Hour(Now)8Minute(Now)整數(shù)0~59當(dāng)前的分Minute(Now)20Second(Now)整數(shù)0~59當(dāng)前的秒Second(Now)24Year(Now)年份整數(shù)當(dāng)前的年Year(Now)2012Month(Now)月份整數(shù)當(dāng)前的月Month(Now)5Day(Now)日的整數(shù)當(dāng)前的日Day(Now)123.4.3字符函數(shù)函數(shù)功能示例結(jié)果Len(s)求s長度Len("VB程序設(shè)計")6LenB(s)求s的字節(jié)個數(shù)LenB("VB程序設(shè)計")12Left(s,n)取s左邊的n個字符Left("VisualBasic",6)"Visual"Right(s,n)取s右邊的n個字符Right("VisualBasic",5)"Basic"Mid(s,n1[,n2])取s的n1開始n2個字符Mid("VisualBasic",3,2)"su"UCase(s)將s中的小寫字符改大寫UCase(s)("Visual")"VISUAL"LCase(s)將s中的大寫字符改小寫LCase(s)("Visual")"visual"LTrim(s)去掉s左邊的空格LTrim("abcd")"abcd"RTrim(s)去掉s右邊的空格RTrim("abcd")"abcd"Trim(s)去掉s兩邊的空格Trim("abcd")"abcd"InStr([n,]s,s1)從s的n位置起找s1出現(xiàn)的位置,找不到為0,缺省n從頭開始找InStr("ABaBac","Ba")InStr(3,"ABaBac","Ba")24String(n,s)返回由s的首字符構(gòu)成的長度為n的新字符串String(4,"*")"****"Space(n)返回n個空格的字符串Space(5)""IsNumeric(e)判斷表達(dá)式的結(jié)果是否為數(shù)IsNumeric("12abcd")IsNumeric("12")FalseTrue注:在VB6.0中,字符用Unicode編碼,英文字符和漢字均用兩個字節(jié)存儲。3.4.3字符函數(shù)
4.轉(zhuǎn)換函數(shù)函數(shù)名函數(shù)類型功能示例結(jié)果Int(x)Variant取小于等于x的最大整數(shù)Int(3.6)Int(-5.49)3-6Fix(x)Variant返回x的整數(shù)部分Fix(3.6)Fix(-5.49)3-5Str(x)String將x轉(zhuǎn)換成字符串(含符號位,+表示為空格)Str(2)Str(-2)“2”"-2"Val(x)Double將數(shù)字字符串x轉(zhuǎn)換成數(shù)值Val("289")289Chr(x)String返回以x為ASCII代碼的字符Chr(65)"A"Asc(x)Integer返回字符串x首字符的ASCII碼Asc("B")66CInt(x)Integer將x轉(zhuǎn)換成整數(shù),當(dāng)小數(shù)部分恰好為0.5時,取最接近x的偶數(shù),否則,小數(shù)部分四舍五入CInt(2.6)CInt(2.5)32
4.轉(zhuǎn)換函數(shù)函數(shù)名函數(shù)類型功能示例結(jié)果CStr(x)Stringx轉(zhuǎn)換成字符串,不留正數(shù)符號位CStr(2)CStr(-2)"2""-2"CLng(x)Longx轉(zhuǎn)成長整數(shù),小數(shù)為0.5,取x最近的偶數(shù),否則,四舍五入CLng(23.46)23CCur(x)Currency將數(shù)值x轉(zhuǎn)換成貨幣型數(shù)據(jù)CCur(2.55555)2.5556CSng(x)Single將數(shù)值x轉(zhuǎn)換成單精度數(shù)據(jù)CSng(37.4597812)37.45978CDbl(x)Double將數(shù)值x轉(zhuǎn)換成雙精度數(shù)據(jù)CDbl(37.4597812)37.4597812Hex(x)String返回CInt(x)的十六進(jìn)制數(shù)值的字符串Hex(10)"A"Oct(x)String返回CInt(x)的八進(jìn)制數(shù)值的字符串Oct(9)"11"5.其他常用函數(shù)(1)隨機(jī)函數(shù)(2)Format(格式)函數(shù)(1)隨機(jī)函數(shù)①Rnd隨機(jī)函數(shù)--生成[0,1)范圍內(nèi)的單精度隨機(jī)數(shù)。
格式:Rnd[(x)]
其中:x是可選的單精度參數(shù)。當(dāng)x>0時或省略x時,用上一次調(diào)用Rnd產(chǎn)生的隨機(jī)數(shù)作種子,生成隨機(jī)數(shù);第一次調(diào)用Rnd生成隨機(jī)數(shù)時,則直接用初始給定的種子生成隨機(jī)數(shù)。當(dāng)x=0時,則重復(fù)生成最近生成的隨機(jī)數(shù)。當(dāng)x<0時,則使用x作為種子生成隨機(jī)數(shù)。
說明:Rnd函數(shù)通常與Int函數(shù)配合使用,生成[m,n]范圍內(nèi)的隨機(jī)整數(shù),公式如下。Int(Rnd*(n–m+1)+m)(1)隨機(jī)函數(shù)②Randomize語句格式:
Randomize[數(shù)值表達(dá)式]功能:用“數(shù)值表達(dá)式”的值,對
Rnd
函數(shù)的隨機(jī)數(shù)生成器初始化,給隨機(jī)數(shù)生成器一個新的種子值。如果省略“數(shù)值表達(dá)式”,則用系統(tǒng)計時器Timer的返回值作為新的種子值。Timer返回值為從午夜開始到現(xiàn)在經(jīng)過的秒數(shù),是一動態(tài)數(shù)據(jù)。(2)
Format(格式)函數(shù)格式:
Format(表達(dá)式,格式字符串)說明:①省略“格式字符串”,F(xiàn)ormat函數(shù)功能與Cstr函數(shù)相同。②“格式字符串”由格式控制字符組成,常用格式控制字符有如下幾種。
#
0
.
,
%
$
E+
其中,“#”、“0”是數(shù)位控制符;“.”、“,”是標(biāo)點(diǎn)控制符;“E+”是指數(shù)輸出控制符;其它為符號控制符?!案袷阶址笨梢允且粋€字符串型的常量或變量,其值為由格式控制字符組成的字符串。(2)
Format(格式)函數(shù)示例:PrivateSubCommand1_Click()PrintFormat(1234.567,"00000.0000")PrintFormat(1234.567,"#####.####")PrintFormat(1234.567,"##,###.##")PrintFormat(0.567,"#####.##%")PrintFormat(1234.567,"$#####.##")PrintFormat(1234.567,"0.00E+00")EndSub結(jié)果:3.5運(yùn)算符與表達(dá)式3.5.1算術(shù)運(yùn)算符與算術(shù)表達(dá)式3.5.2字符串連接符與字符串表達(dá)式3.5.3
關(guān)系運(yùn)算符與關(guān)系表達(dá)式3.5.4邏輯運(yùn)算符與邏輯表達(dá)式3.5.5表達(dá)式的計算1.算術(shù)運(yùn)算符與算術(shù)表達(dá)式運(yùn)算符功能示例優(yōu)先級表達(dá)式值^乘方2^38高
低-負(fù)號-3+2-1*和/乘和除1+7/2+3*416.5\整除9\42Mod求余數(shù)5Mod32+和-加和減2+3-7-2說明:(1)負(fù)號“-”為單目運(yùn)算符;其余都是雙目運(yùn)算符。(2)算術(shù)運(yùn)算符左、右兩邊的操作數(shù)應(yīng)該是數(shù)值型數(shù)據(jù),若是數(shù)字字符串或邏輯數(shù)據(jù),則需先轉(zhuǎn)換成數(shù)值數(shù)據(jù)(True→-1,F(xiàn)alse→0),然后再進(jìn)行算術(shù)運(yùn)算。例如,123*"1"的值為123,325+True的值為324。(3)對于
+、-、*,如果兩操作數(shù)類型相同,運(yùn)算結(jié)果也將是同一類型。否則,結(jié)果類型為兩個操作數(shù)中存儲長度較長的那個數(shù)據(jù)類型。對于^和/運(yùn)算,不論兩個操作數(shù)類型是否相同,運(yùn)算結(jié)果是雙精度數(shù)。1.算術(shù)運(yùn)算符與算術(shù)表達(dá)式說明:(5)對于\、Mod運(yùn)算符,左、右兩邊的操作數(shù)先取整再運(yùn)算(相當(dāng)于Cint)。\運(yùn)算返回兩操作數(shù)的整除結(jié)果;Mod運(yùn)算返回兩操作數(shù)相除的余數(shù),所得余數(shù)的符號與第一個操作數(shù)的符號相同。兩者返回值都為整數(shù)。(6)對于/、\、Mod運(yùn)算,除數(shù)不能為零,否則出現(xiàn)運(yùn)行錯誤——除數(shù)為零。(7)在進(jìn)行算術(shù)運(yùn)算時,不要超出數(shù)據(jù)取值范圍。例如,Print32765+3就會出現(xiàn)“溢出”錯誤。1.算術(shù)運(yùn)算符與算術(shù)表達(dá)式算術(shù)表達(dá)式就是由算術(shù)運(yùn)算符、圓括號和操作數(shù)構(gòu)成的表達(dá)式,操作數(shù)可以是常量、變量和函數(shù)。計算時,根據(jù)運(yùn)算符的優(yōu)先級順序進(jìn)行計算,同一優(yōu)先級時,從左到右進(jìn)行運(yùn)算。1.算術(shù)運(yùn)算符與算術(shù)表達(dá)式書寫算術(shù)表達(dá)式時應(yīng)注意:(1)VB表達(dá)式必須表示在同一行上。例如,23要寫成2^3;要寫成a/b的形式。(2)乘號不能省略。例如,應(yīng)寫成a*b/c。(3)表達(dá)式中所有的括號一律用圓括號,并且括號左右必須配對,圓括號可以嵌套。例如,可寫成a*b/(2*(c+d))。(4)數(shù)學(xué)中表示特定含義的符號要寫成具體的數(shù)值。例如:(2πr+e-5)lnx,可寫成
(2*3.1415926*r+Exp(-5))*Log(x)1.算術(shù)運(yùn)算符與算術(shù)表達(dá)式2.字符串連接符與字符串表達(dá)式字符串連接符:&和
+。&強(qiáng)制將兩個操作數(shù)作為字符串連接起來。+既可作字符串連接操作,又可進(jìn)行加法運(yùn)算。示例:組合情況表達(dá)式及其值表達(dá)式及其值操作數(shù)都是字符串類型"123"+"3"→"1233""123"&"3"→"1233"操作數(shù)都是數(shù)值類型123+3→126123&3→"1233"一個是數(shù)值類型,另一個是可以轉(zhuǎn)換為數(shù)值的字符串"123"+3→126"123"&3→"1233"一個是數(shù)值類型,另一個是不能轉(zhuǎn)換為數(shù)值的字符串"123a"+3→出錯"123a"&3→“123a3"3.關(guān)系運(yùn)算符與關(guān)系表達(dá)式6種關(guān)系運(yùn)算符的優(yōu)先級相同。關(guān)系表達(dá)式——關(guān)系運(yùn)算符和操作數(shù)組成的式子。運(yùn)算時對兩邊的操作數(shù)進(jìn)行大小比較,成立則返回True,否則返回False。運(yùn)算符<<=>>=<>=功能小于小于等于大于大于等于不等于等于(1)數(shù)值型數(shù)據(jù)的比較——比較其大小。例如:123<35,結(jié)果為False。(2)字符型數(shù)據(jù)的比較①單個字符比較,則比較單個的字符ASCII碼。②比較兩個字符串,則從左到右逐個字符進(jìn)行比較,遇大則大,長大短小,完全相同,才是相等。例如,“ABC”>“Abc”,值為False3.關(guān)系運(yùn)算符與關(guān)系表達(dá)式4.邏輯運(yùn)算符與邏輯表達(dá)式運(yùn)算符NotAndOrXor功能邏輯非邏輯與邏輯或邏輯異或優(yōu)先級高
低ABNotAAAndBAOrBAXorBTrueTrueFalseTrueTrueFalseTrueFalseFalseFalseTrueTrueFalseTrueTrueFalseTrueTrueFalseFalseTrueFalseFalseFalse邏輯運(yùn)算符的運(yùn)算規(guī)則
邏輯運(yùn)算符
5.表達(dá)式的計算(1)進(jìn)行函數(shù)運(yùn)算。(2)表達(dá)式中有括號,則先做括號內(nèi)的運(yùn)算。(3)有多種運(yùn)算符時,按運(yùn)算符的優(yōu)先級順序進(jìn)行運(yùn)算。(4)同一優(yōu)先級的運(yùn)算,按從左到右的順序進(jìn)行。當(dāng)一個表達(dá)式中包含多種運(yùn)算符時,表達(dá)式的執(zhí)行順序如下。運(yùn)算符的優(yōu)先級:優(yōu)先級高
低優(yōu)先級算術(shù)^→-→(*,/)→\→MOD→(+,-)高
低連接(&,+)比較(>,<,>=,<=,<>,=,Is)邏輯Not→And→Or→
Xor
3.6常用的基本語句3.6.1賦值語句3.6.2數(shù)據(jù)的輸入3.6.3數(shù)據(jù)的輸出3.6.4注釋語句3.6.5Stop語句與End語句3.6.1賦值語句語法格式:
<變量名>=<表達(dá)式> [對象名.]屬性名=<表達(dá)式>功能:計算賦值操作符“=”右側(cè)表達(dá)式的值,然后把該值保存到左側(cè)的變量或?qū)傩灾?。例如:g!=9.8
Label1.Caption="歡迎使用VisualBasic6.0"說明:(1)“=”稱賦值號,與數(shù)學(xué)中的等號意義不同。VB系統(tǒng)會自動根據(jù)“=”的位置,判斷是賦值號,還是“等于”運(yùn)算符。(2)賦值號“=”左側(cè)必須是變量或?qū)ο蟮膶傩?,不能是常量、表達(dá)式。(3)當(dāng)賦值號“=”左側(cè)變量或?qū)ο髮傩缘臄?shù)據(jù)類型與右側(cè)表達(dá)式的數(shù)據(jù)類型不一致時,以左側(cè)為準(zhǔn),將右側(cè)值轉(zhuǎn)換成左側(cè)的數(shù)據(jù)類型,轉(zhuǎn)換可行則進(jìn)行賦值,不可行則報錯。3.6.1賦值語句(1)使用TextBox輸入數(shù)據(jù)PrivateSubCommand1_Click()DimSnameAsString,ageAsInteger
Sname=Text1.Textage=Val(Text2.Text)Text3=Sname&"的年齡"&ageEndSub3.6.2數(shù)據(jù)的輸入
設(shè)計程序,單擊“面積計算”按鈕,產(chǎn)生InputBox對話框,輸入圓的半徑,計算并輸出圓的面積。PrivateSubCommand1_Click()DimrAsSingle,sAsSingler=InputBox("請輸入半徑:","輸入框",10)s=3.14*r*rPrint"圓的面積是:";sEndSub(2)使用InputBox函數(shù)輸入數(shù)據(jù)3.6.2數(shù)據(jù)的輸入使用格式:
v=InputBox(Prompt[,Title][,Default][,x,y][,Helpfile,Context])(2)使用InputBox函數(shù)輸入數(shù)據(jù)3.6.2數(shù)據(jù)的輸入例:設(shè)置一個輸入框:
提示用戶輸入要查的學(xué)號。提示:若提示內(nèi)容中需要換行顯示:在換行處加chr(13)和chr(10)
各項(xiàng)參數(shù)位置必須一一對應(yīng)InputBox函數(shù)功能:打開一個對話框,等待用戶輸入內(nèi)容。單擊確定,返回輸入值(字符型數(shù)據(jù))1.使用TextBox和Label輸出數(shù)據(jù)可以把數(shù)據(jù)處理結(jié)果賦給文本框的Text屬性,實(shí)現(xiàn)在文本框中輸出數(shù)據(jù)。也可以把數(shù)據(jù)處理結(jié)果賦給Label控件的Caption屬性,實(shí)現(xiàn)在Label控件上輸出數(shù)據(jù)。3.6.3數(shù)據(jù)的輸出PrivateSubCommand1_Click()DimSnameAsString,ageAsInteger
Sname=Text1.Textage=Val(Text2.Text)
Text3=Sname&"的年齡"&ageLabel3.Caption=Sname&"的年齡"&ageEndSubMsgBox函數(shù)的格式:MsgBox(Prompt[,Buttons][,Title][,Helpfile,Context])示例:A=MsgBox("確認(rèn)提示",
vbOKCancel+vbInformation,"標(biāo)題欄屬性")2.通過MsgBox函數(shù)輸出消息對話框3.6.3數(shù)據(jù)的輸出MsgBox函數(shù)的格式:MsgBox(Prompt[,Buttons][,Title][,Helpfile,Context])示例:A=MsgBox("確認(rèn)提示",
vbOKCancel+vbInformation,"標(biāo)題欄屬性")說明:2.通過MsgBox函數(shù)輸出消息對話框3.6.3數(shù)據(jù)的輸出(1)Prompt——需要顯示的消息,長度<1024,必選,vbCrLf。(2)Title——標(biāo)題欄顯示內(nèi)容,省略時為工程名。MsgBox函數(shù)的格式:MsgBox(Prompt[,Buttons][,Title][,Helpfile,Context])示例:A=MsgBox("確認(rèn)提示",
vbOKCancel+vbInformation,"標(biāo)題欄屬性")說明:2.通過MsgBox函數(shù)輸出消息對話框3.6.3數(shù)據(jù)的輸出(3)Helpfile、Context——幫助文件名及幫助主題號。選用該選項(xiàng)時,在信息框中自動增加一個幫助按鈕。MsgBox函數(shù)的格式:MsgBox(Prompt[,Buttons][,Title][,Helpfile,Context])示例:A=MsgBox("確認(rèn)提示",
vbOKCancel+vbInformation,"標(biāo)題欄屬性")說明:2.通過MsgBox函數(shù)輸出消息對話框3.6.3數(shù)據(jù)的輸出(4)Buttons參數(shù)的設(shè)置Buttons=C1+C2+C3+C4值按鈕的設(shè)置對應(yīng)按鈕名稱
0
vbOKOnly---------------確定
1vbOKCancel-------------確定、取消
2vbAbortRetryIgnore---終止、重試、忽略
3
vbYesNoCancel---------是、否、取消
4vbYesNo------------------是、否
5vbRetryCancel----------重試、取消(4)Buttons參數(shù)的設(shè)置①按鈕的類型和數(shù)目的設(shè)置
Buttons=C1按鈕形式+C2圖標(biāo)樣式+C3缺省按鈕+C4強(qiáng)制回應(yīng)Buttons參數(shù)值=1或vbOKCancel對應(yīng)值符號常量出現(xiàn)的圖標(biāo)②圖標(biāo)的樣式
Buttons=C1按鈕形式+C2圖標(biāo)樣式+C3缺省按鈕+C4強(qiáng)制回應(yīng)16vbCritical--------------------32vbQuestion--------------------48vbExclamation--------------64vbInformation---------------Buttons參數(shù)值=1+64或vbOKCancel+vbInformationButtons參數(shù)的設(shè)置對應(yīng)值符號常量缺省的活動按鈕③說明哪一個是缺省按鈕
Buttons=C1按鈕形式+C2圖標(biāo)樣式+C3缺省按鈕+C4強(qiáng)制回應(yīng)
0VbDefaultButton1256VbDefaultButton2512VbDefaultButton3Buttons參數(shù)值=65(1+64+0)
或vbOKCancel+vbInformation+VbDefaultButton1Buttons參數(shù)的設(shè)置
符號常量返回值對應(yīng)按鈕
(5)MsgBox函數(shù)值
——根據(jù)用戶單擊的按鈕返回不同的函數(shù)值vbOK1--------------------確認(rèn)vbCancel2--------------------取消vbNo7-------------------否(N)vbAbort3-------------------終止(A)vbRetry4--------------------重試(R)vbIgnore5--------------------忽略(I)vbYes6-------------------是(Y)MsgBox(Prompt[,Buttons][,Title][,Helpfile,Context])設(shè)計一個如下所示的提示框:
A=MsgBox("非法數(shù)據(jù)!"+Chr(13)+Chr(10)+"是否繼續(xù)?",vbYesNo+vbCritical,"提示信息")練習(xí)使用信息框練習(xí)編制一個帳號與密碼的檢驗(yàn)程序:要求:①帳號ntdxxs,密碼為VB6,密碼框中不顯示實(shí)際字符②輸入帳號不正確時,提示有關(guān)信息,并清除原內(nèi)容,得到焦點(diǎn),再輸入③密碼不正確時,單擊“重試”,密碼框清空,得到焦點(diǎn)重新輸入,若單擊“取消”,停止運(yùn)行方法一:作為表達(dá)式的組成部分,例如,a=MsgBox("非法數(shù)據(jù)",48,"提示信息")方法二:以語句形式使用MsgBox函數(shù),例如,
MsgBox"非法數(shù)據(jù)",48,"提示信息"MsgBox函數(shù)的使用:Print方法語
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年智能杯墊合作協(xié)議書
- 2025年家電制造設(shè)備合作協(xié)議書
- 2025年固態(tài)地振動強(qiáng)度記錄儀合作協(xié)議書
- 一年級上冊語文期末試題(15篇)
- 護(hù)理心電圖知識專項(xiàng)考核試題
- 2025年個人獨(dú)資轉(zhuǎn)讓合同(2篇)
- 2025年個人項(xiàng)目投資合作協(xié)議經(jīng)典版(2篇)
- 2025年產(chǎn)品購買合同參考樣本(2篇)
- 2025年個人房屋抵押貸款合同(4篇)
- 2025年書面離婚合同協(xié)議范文(2篇)
- 市政標(biāo)化工地檢查評分表
- 招聘技巧培訓(xùn)課件模板
- 《汽車裝調(diào)工培訓(xùn)》課件
- 物聯(lián)網(wǎng)協(xié)議與標(biāo)準(zhǔn)化
- 員工提前辭工管理制度
- 環(huán)衛(wèi)一體化運(yùn)營方案
- 《基于PPT課件的高中英語閱讀策略探究》
- 普通話測試培訓(xùn)課件2:讀單音節(jié)字詞
- 科技進(jìn)步類現(xiàn)代軌道交通綜合體設(shè)計理論與關(guān)鍵技術(shù)公
- 不同課型的課堂教學(xué)基本范式
- 損失物品清單
評論
0/150
提交評論