第3章VB程序设计代码基础_第1页
第3章VB程序设计代码基础_第2页
第3章VB程序设计代码基础_第3页
第3章VB程序设计代码基础_第4页
第3章VB程序设计代码基础_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章VisualBasic程序设计代码基础▲本章要点:字符集数据类型常量、变量常用内部函数运算符与表达式13.1字符集1.字符集使用Unicode字符集,其基本字符集包括:数字:0~9英文字母:a~z,A~Z特殊字符:空格!"#$%&'()*+-/\^,.:;<=>?@[]_{}|~等。2.关键字关键字又称为保留字

VB自动将关键字的首字母转换为大写字母例如:PRINT5+6

转换成Print5+6

23.2数据类型基本数据类型:数值型字符串型布尔型日期型用户自定义的数据类型基本数据类型分为33.2.1数值型数据Integer(整型)Long(长整型)Single(单精度浮点型)Double(双精度浮点型)Currency(货币型)Byte(字节型)41.整数类型(1)整型(Integer)以2个字节存储十进制表示:由+-号,0~9组成范围:-32768~32767八进制表示:以&O开头,由0~7组成范围:&O0~&O177777十六进制表示:以&H开头,由0~9,A~F组成范围:&H0~&HFFFF例:-325056+100

&O456&O36

&H1AC&H38&H25(2)长整型(Long)以4个字节存储十进制表示:由+-号,0~9组成范围:-2147483648~+2147483647八进制表示:以&O开头,以&结束范围:&O0&~&O37777777777&十六进制表示:以&H开头,以&结束范围:&H0&~&HFFFFFFFF&例:453466-34568+1000000

&O456&

&O36&

&H1AC&

&H38&

&H2&62.实数类型浮点数采用IEEE格式,由尾数及指数组成:

[±]...[....][E|D][±](1)单精度浮点型(Single)以4个字节存储,可以精确到7位十进制数例:3.234E+2表示3.234102-28E9表示-281094.56E-17表示4.5610-17(2)双精度浮点型(Double)以8个字节存储,可以精确到16位3.234D+2表示3.234102-28D9表示-281094.56D-17表示4.5610-17尾数部分指数部分e|d7(3)货币型(Currency)以8个字节存储用于表示定点数,其小数点左边有15位数字,右边有4位数字。3.字节型(Byte)用于存储二进制数据,其取值范围为0~255。83.2.2字符串型数据(String)由""括起来的一串符号例:"abc""ABC""计算机""12.34""3+2"""(空串)

如果字符串本身包括双引号,可用连续两个双引号表示。例:要打印以下字符串:

"Youmuststudyhard",hesaid.在程序中需要将该字符串表示成:"""Youmuststudyhard"",hesaid."3.2.3布尔型数据(Boolean)用于进行逻辑判断,只有True和False两个值93.2.4日期型数据(Date)用于表示日期和时间格式:#……#VB接受许多种日期时间格式例:下面的Date/Time值全部有效。

#3-6-9313:20#

#March27,19931:20am#

#Apr-2-93#

#14April1993#

#12/18/1999#3.2.5对象型数据(Object)以4个字节存储,用于引用程序中的对象。3.2.6可变类型数据(Variant)可以包含任何类型的数据。可以包含Empty、Error、及Null等特殊值10*3.2.7枚举类型(自学)3.2.8用户自定义类型是用户自己定义的类型,这种类型可以包含多个基本类型。例如,可以定义一个Students数据类型,该类型中的每一个数又包含了学生的班级、学号、姓名、成绩信息。定义格式为:

PrivateTypeStudents

ClassAsString'班级

NoAsString'学号

NameAsString'姓名

ScoreAsInteger'成绩EndType113.3常量指在程序运行期间其值不发生变化的量。两种形式:直接常量;符号常量3.3.1直接常量例:"欢迎使用VisualBasic"字符串常量12345数值型常量True布尔型常量#11/10/2001#日期型常量3.3.2用户自定义符号常量

格式:Const<常量名>[As

<类型>]=<表达式>

类型:

IntegerLongSingleDoubleStringString*nBooleanDateCurrencyByteVariant12例:ConstPi=3.14159ConstMaxAsInteger=9ConstBirthDate=#1/1/01#ConstMyString="friend"

'用逗号分隔多个常量声明ConstPi=3.14,Max=9,MyStr="Hello"

'用先前定义过的常量定义新常量ConstPi2=Pi*2使用:在程序中引用如:AREA=Pi*R^2在程序中不可修改如:Pi=3.1413VB内部已定义,可以直接使用的常量查看内部常量:视图→对象浏览器→选择库、类、成员如:库VBRUN

类ColorConstants

ShapeConstants

成员Vbred

vbShapeCircle

例:PrivateSubForm_Activate()ConstAAsString="各种常量的使用"

Form1.BackColor=vbGreenForm1.ForeColor=vbRedForm1.FontSize=14PrintAEndSub3.3.3系统定义符号常量143.4变量程序执行期间,用变量临时存储数值。变量的值可以发生变化。每个变量都有名称和数据类型。2.变量的命名规则第一个字符必须是字母

长度不超过255个字符不可以包含小数点或者内嵌的类型声明字符

不能使用关键字不能与过程名或符号常量同名例:intMax

strNameStudent1MyName

不区分大小写;变量名应便于识别、记忆……5A1.什么是变量?

一个有名称的内存单元称为变量。153.变量的声明(1)声明变量格式:Dim|Private|Public|Static<变量名>[As<类型>]Dim:在窗体模块、标准模块或过程中声明变量。Private:在窗体模块或标准模块中声明变量,使变量仅在该模块中有效。Public:在标准模块中声明全局变量,使变量在整个应用程序中有效。Static:在过程中定义静态变量,即使该过程结束,也仍然保留变量的值。16例:DimSumAsLongDimAddressAsStringDimNoAsString*8PrivatebAsIntegerDimNum,TotalAsInteger'Num为可变类型PublicAverageAsSingle

StaticAAsLong(2)隐式声明可变类型。易出错、浪费空间(3)强制显式声明在模块的声明段中使用语句:OptionExplicit如果设置:工具→选项→编辑器→要求变量声明则在后续模块中自动插入OptionExplicit17例:窗体模块和过程中使用Dim语句的区别。设在窗体中放置按钮Command1和Command2

DimaAsIntegerPrivateSubCommand1_Click()

a=a+10PrintaEndSubPrivateSubCommand2_Click()

a=a+15PrintaEndSub观察程序运行结果将DimaAsInteger放到过程内,观察运行结果。18例:Staic的作用。设在窗体中放置按钮C1PrivateSubC1_Click()StaticaAsIntegera=a+10PrintaEndSubPrivateSubC1_Click()DimaAsIntegera=a+10PrintaEndSub运行时,多次单击命令按钮C1,比较以上两个事件过程的执行效果193.5常用内部函数函数形式:函数名[(<参数表>]参数:常量、变量或表达式。若有多个参数,参数之间以逗号分隔。函数值:也叫“返回值”函数的使用:函数在表达式中被调用。函数分类内部函数用户自定义函数20例:Fix(45.67)结果为45Int(45.67)结果为45Fix(-2.89)结果为-2Int(-2.89)结果为-3Abs(-4)结果为4Log(10)结果为2.30258509299405Sgn(3)结果为1Sgn(-6)结果为-1Sgn(0)结果为0例:求sin300

Sin(a*3.14/180)3.5.1数学函数21例:判断一个整数Y能否被另一个整数X整除如果INT(Y/X)=Y/X则整除例:常用对数log10X的求法用换底公式log10X=Ln(X)/Ln(10)

即LOG(X)/LOG(10)例:求e3

正确:EXP(3)

错误:e^3(错)22例:LTrim("∪∪∪ABC")结果为"ABC"表示空格RTrim("ABC∪∪∪")结果为"ABC"Trim("∪∪∪ABC∪∪∪")结果为"ABC"Left("ABCDE",2)结果为"AB"Right("ABCDE",2)结果为"DE"Mid("ABCDE",2,3)结果为"BCD"Mid("ABCDE",2,6)结果为"BCDE"Len("ABCDE")结果为5String(3,"ABC")结果为"AAA"String(3,65)结果为"AAA"InStr("ABCDECDE","DE")结果为4InStr(5,"ABCDECDE","DE")结果为7UCase("Abc")结果为"ABC"LCase("ABc")结果为"abc"3.5.2字符串函数231.随机函数

Rnd[(x)]

产生[0,1)之间的单精度随机数。

x<0:每次使用x作为随机数种子得到相同的结果。

x>0:以上一个随机数作种子,产生序列中的下一个随机数。

x=0:产生与最近生成的随机数相同的数。省略x:同x>02.Randomize语句初始化随机数发生器,格式:

Randomize[n]

n:种子,省略时以系统时间作为种子3.5.3随机函数24生成[a,b]范围内的随机整数Int((b-a+1)*Rnd+a)例:生成[1,99]之间的随机整数的表达式为:Int(99*Rnd+1)例:生成(1,99)之间的随机整数的表达式为:Int(97*Rnd+2)25例:Asc("A")结果为65Asc("ABC")结果为65Chr(65)结果为"A"Str(123)结果为"∪123"Str(-123)结果为"-123"Val("123")结果为123Val("123AB")结果为123Val(".123AB")结果为.123Val("a123AB")结果为0Val("12E2ABC")结果为12003.5.5日期和时间函数自学:P503.5.4转换函数26例:Format(123.45,"0000.000")结果为"0123.450"Format(123.45,"0.0")结果为"123.5"Format(123.45,"####.###")结果为"123.45"Format(123.45,"#.#")结果为"123.5"Format(0.123,".##")结果为".12"Format(0.123,"0.##")结果为"0.12"Format("HELLO","<")结果为"hello"Format("Thisisit",">")结果为"THISISIT"注:经Format函数格式化后的结果为字符串类型例:

Format(123)+Format(456)结果为"123456"区别:

Str(123)+Str(456)结果为"∪123∪456"3.5.6格式输出函数27Shell函数用于调用Windows下的应用程序。格式:Shell(pathname[,windowstyle])pathname:要执行的可执行文件名,包含路径。windowstyle:决定程序运行时窗口的样式。如果省略,则程序以具有焦点的最小化窗口执行。取值见P51表3-1。3.5.7Shell函数例:运行时单击窗体,打开计算器:

PrivateSubForm_Click()

Shell"c:\winnt\system32\calc.exe",vbNormalFocusEndSub这里Shell函数以语句形式出现,没有返回值。283.6运算符与表达式操作数:常量、变量、函数、对象运算符:圆括号算术运算符(算术表达式)字符串运算符(字符串表达式)关系运算符(关系表达式)布尔运算符(布尔表达式)293.6.1算术运算符与算术表达式优先级运算符运算示例1^乘方3^22-取负-93*乘法3*53/浮点除法10/34\整数除法10/35Mod取模10mod36+加法2+36-减法2-3书写:一条线、无[]、无{}30例:将以下表达式写成VB合法的表达式(xy)za1+a2a-b+a(-b)a1+a2a^(-b)+a*(-b)(x^y)^z

a^(1/n)

y/(-x)+x/(-y)A/(4+(8/(3+B))311.乘方运算例:10^210的平方,结果为10010^(-2)10的平方的倒数,结果为0.012^2^3运算顺序从左到右,结果为64(-8)^(-1/3)错误,当底数为负时,指数应为整数2.整数除法例:10\4结果为225.68\6.99先四舍五入再整除,结果为33.取模运算例:10Mod4结果为225.68Mod6.99先四舍五入再求余数,结果为511Mod–4结果为3-11Mod5结果为-1-11Mod-3结果为-2结果符号同第一个操作数32字符串运算符有两个:&+例:"Hello"&"World"结果为"HelloWorld""Check"&123结果为"Check123"123&456结果为"123456""123"&456结果为"123456"&:自动将两侧的操作数作为字符处理

123+456

结果为579

"123"+456

结果为579

"123"+"456"

结果为"123456"

"Check"+123

错误+:仅当两侧操作数都为字符串时才做字符串连接3.6.2字符串运算符与字符串表达式331.比较运算符<(小于)<=(小于或等于)>(大于)>=(大于或等于)=(等于)<>(不等于)2.表达式:<表达式1><比较运算符><表达式2>3.如何比较数值比较:按数值大小单字符比较:缺省情况下按字符的内部二进制表示比较,典型的二进制排序顺序如下:

""<"0"<"1"<……<"9"<"A"<"B"<……<"Z"<"a"<"b"<……<"z"

字符串比较:从左开始逐个比较3.6.3关系运算符与关系表达式344.比较结果:TrueFalse例:45<35结果为False45=45结果为True4<>3结果为True

"abc">"cdf"结果为False

"for"<"fortran"结果为True例:要判断两个单精度型变量A和B的值是否相等,可以用下式判断:

Abs(A-B)<ε例如:要判断1除以3是否等于0.3333,可以写成:

Abs(1/3-0.3333)<10E-5351.布尔运算符:NotAndOr2.布尔表达式:

<关系表达式1><布尔运算符><关系表达式2>3.优先级:Not→And→Or例:A=10:B=8:C=6。Not(A>B)结果为FalseNot(B>A)结果为TrueA>BAndB>C结果为TrueB>AAndB>C结果为FalseA>BOrB>C结果为TrueB>AOrB>C结果为TrueA<BOrB=C结果为False3.6.4布尔运算符与布尔表达式36例:将以下条件写成VB布尔表达式1.m1-n1≤j≤m1+n12.X<-5或X>53.M和N之一为5,但不能同时为54.-100<k<100,且K为偶数的定义域5.1.(J>=M1-N1)And(J<=M1+N1)2.(X<-5.0)Or(X>5.0)3.((M=5)And(N<>5))Or((M<>5)And(N=5))4.(K>-100)And(K<100)And(KMod2=0)5.(X<>0)And((X-1.0)*(X-2.0)>=0.0)37()→函数运算→算术

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论