VB程序设计基础

上传人:lx****y 文档编号:242973938 上传时间:2024-09-13 格式:PPT 页数:63 大小:450.50KB
返回 下载 相关 举报
VB程序设计基础_第1页
第1页 / 共63页
VB程序设计基础_第2页
第2页 / 共63页
VB程序设计基础_第3页
第3页 / 共63页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,3,章,VB,程序设计基础,VB,的基本数据类型,常量与变量,运算符与表达式,常用内部函数,1,VB,的基本数据类型,若要使用计算机处理数据,就必须首先将这些数据存储在计算机的内存中。为了便于处理和存储,程序设计语言将各种数据规格化,并划分成,不同的数据类型,,以便根据各种数据类型的特点,分别采用不同的,存储方式,和,处理技术,。,2,数值数据类型,Byte,: 8,位,,0 255,之间无符号数(非负),Integer,: 16,位,,-3276832767,,,%,Long,:,32,位,,-2147483648 2147483647,,,&,Single,:,32,位,,(3.410,-38,3.410,38,),,,!,Double,:,64,位,,(1.710,-308,1.710,308,),#,Currency,:货币型,64,位,15,位整,4,位小数,,各种数据的类型符号见,P39,3,举例,:,32 567,32.0 567.0,56789,(越界),程序中处理的每个对象或数值都必须属于一种数据类型;,数据类型决定了对象或数值的取值范围、存储方式及可以实施的运算。,4,String,型变量用于存储字符串。,例如:,Dim S1$,Dim S2 As String*10,S1 = Database,S2 = Database“,S1,是一个可变长度的,String,变量,随着对其,赋予新数据,它的长度可增可减。,S2,则是具有固定长度,String,型变量。,String,数据类型, $,5,Boolean,数据类型,Boolean,是逻辑型变量,其值只能是,True,、,False,。,Boolean,的缺省值为,False,。,例如窗体的如下属性:,Enabled,、,Visible,、,MaxButton,最大化,:,Form1. Enabled = True,Form1. Visible = False,6,Date,数据类型,用于存储,Date,和,Time,值。,例如:,Dim SomeDate As Date,SomeDate = #1980-03-16#,SomeDate = #3-16-93 13:20#,7,Variant,数据类型,Variant,型是,Visual Basic,的缺省数据类型,能够存储所有类型的数据。,例如:,Dim SomeValue,SomeValue = 17,SomeValue = SomeValue - 15,SomeValue = U & SomeValue,8,标识符,程序中,常量、变量、数组、过程、函数都需要名字,以方便引用。这些名字就叫,标识符,。,标识符的,命名规则,如下:,1,、标识符由字母、汉字、数字、或下划线组成,必须由字母或汉字开头。,2,、长度不能超过,255,个字符。,3,、定义的标识符不能和,VB,中的运算符、语句, 以及系统已有的函数、过程名等关键字同名。,9,以下那些是合法标识符?,1,、,A,2,、,%istrue,3,、,Qwer_yty,4,、,1weryty,5,、,key3,6,、,PRE&key,7,、,美,joy,8,、,-joy,9,、,y_h_r,10,、,y.45,11,、,Y_,阳,12,、,Charclass,10,注意,=,有一部分标识符,已经为它们赋予了特定的,含义,我们将其称为,保留字,(,关键字,),。,因此,用户自定义标识符时,不要与它们相同。,例如,:,End,、,Sub,、,Private,、,for,、,while,、,Dim,、,If,Else,、,Then,、,Function,、,Const,、,As,11,在程序运行过程中,其值,不能被改变,的量称为常量。,分以下三种:,1,、直接常量,2,、用户声明的符号常量,3,、系统常量,常量,12,【,直接常量,】,直接书写的各种数据类型的值。,整型和实型:,23,、,-900.0,、,3.1415926,字符串:“,Hello world”,13,格式:,【,符号常量,】,:,用一个标识符命名一个常量值。,保留字,常量名称,数据类型,常量值,Const,PI,As,Double,=,3.14,保留字,14,例如:,Const,PI,As Double = 3.149,Const,R,As Integer = 4,Const,Max_length,As Integer = 9999,圆的面积,=,PI,*,R,*,R,15,例如:,Text1.ForeColor =,【,系统常量,】,:,使用常量可以提高程序的可读性和可维护性,&H000000FF&,vbRed,这里的,vbRed,就是系统常量。这比直接使用,16,进制数来设置要直观得多。,16,变量,在,Visual Basic,中执行应用程序期间,用变量临时存储数据。变量有,名字,(变量标识符)和,数据类型,(确定变量能够存储的数据的种类)。,可以把变量看作内存中存放未知值的所在处。,17,声明变量,声明变量就是事先将变量通知程序,由此使变量的使用合法。,显示声明:,Dim/ Static,变量名,As,数据类型,例如:,Dim I As Integer,Static Test , Amount , J As Integer,18,Private Sub Form_Click(),Dim Sum%,Static Click_Time,as Integer,Sum = Sum + 1,Click_Time = Click_Time + 1,Print Sum,;,Click_Time ;,End Sub,显式声明变量,Sum,显式声明静态变量,Dim,声明的变量在每次调用过程时将被初始化,而静态,Static,变量将保留原值。,例,1,:,01.vbp,19,Private Sub Command1_Click(),Dim Sum,As Integer,Sum = Sum + 1,Command1.FontSize = 28,Command1.Caption = Sum,End Sub,Private Sub Command2_Click(),Static Click_Time,As Integer,Click_Time = Click_Time + 1,Command2.FontSize = 28,Command2.Caption = Click_Time,End Sub,【,例,02.vbp,】,静态变量,20,Private Sub Form_Click(),Sum = 0,a = 10: b = 20,Sum = a + b,Print Sum=; Sum,End Sub,变量所属数据类型决定了该变量的,取值范围,、,允许参加的运算,和,存储方式,。,隐式声明变量,b,赋值号“,=”,计算“,=”,右侧的表达式,并将结果赋给左侧的变量。,【,例,03.vbp,】,21,运算符与表达式,VB,提供了丰富的运算符类别,主要包括,算术运算符、关系运算符、逻辑运算符、赋值运算符、字符串运算符,等。,22,【,算术运算符,】,:,例:,a = 7 : b = 2,a 2 =,/,幂运算,a / b =,/,除法运算,a b =,/,整除运算无四舍五入,a Mod b =,/,取模运算,-15 Mod 30 =,-12.839 Mod 15 =,+,、,-,、*、,/,、,、,Mod,、,?,?,?,49,3.5,3,?,?,?,1,-15,-13,VB,中浮点数也可以进行取模操作,23,对于给定的三位正整数,分离出各位数字。,如:,618,分离,个,位数字:,618 Mod 10,分离,十,位数字:,61810 Mod 10,分离,百,位数字:,618100,例:,24,【,关系运算符,】,:,关系运算符用来比较两个运算量之间的关系,若关系成立,结果为,True;,若关系不成立,结果为,False,。,、,=,、,=,、,-100,100,0,value,例:,value,的范围怎么表示?,(1) -100Value100 ?,(2) -100 = Value = -100),And,(x 0,0x 100,x,能被,3,或,5,整除,x,能被,3,整除且能被,5,整除,由,a,、,b,、,c,是否可以构成一个三角形?,x0,(0=x) And (xc) And (a+cb) And,(b+ca),34,【,举例,】,:,已知:,a=2,、,b=3,、,c=4,求下列表达式的值。,1,、,a b c,=,2,、,a = b = c,=,?,?,a b c,true, 4,- 1, 4,true,a = b = c,false,= 4,0 = 4, false,1,、,2,、,逻辑数据转换成整数时,,True,转换为,-1,,,False,转换为,0,。,35,【,举例,】,:,已知:,a=2,、,b=3,、,c=4,判断下列是否是正确的,VB,表达式。,1,、,a += b,2,、,a+,1,2,36,乘号不能省略,如:,a,乘以,b,,应写为,a*b,,不能写为,ab,。,括号必须成对出现,均使用圆括号。,通常,表达式的运算是,从左到右,进行的。,且表达式在同一个基准行上书写,无高低、上下区分。,如果算术表达式中的操作数具有不同的数据类型,,则运算结果采用精度高的数据类型。即:,IntegerLongSingleDouble,字符运算符,关系运算符,逻辑运算符,使用圆括号可改变优先级或使表达式结构更清晰,例如:,毕业的条件是修满,72,学分,大学英语通过,四级且无纪律处分或欠缴学费的同学。,学分,=72 And CET4=60 And Not,处分,Or Not,欠费,以上表达式对吗?为什么?,38,常用内部函数,内部函数是指,VB,已经定义好的函数。编程时可以在程序中直接调用,不必声明。,VB,提供了大量的内部函数供用户调用,可以完成很多的常用任务。,内部函数的一般调用格式:,函数名(,参数表,),说明:参数表可以有一个参数或逗号隔开的多个参数,多数参数都可以使用表达式。函数一般作为表达式的组成部分调用。,39,【,数学函数,】,VB,提供了大量的数学函数。常用数学函数有三角函数、算术平方根函数、对数函数、指数函数及绝对值函数等。,Sin(N),、,Sqr(N),、,Rnd(N),、,Int(N),。,例如,:,1,度,=/180=3.14159/180,弧度,0,sin(30 ),=sin(3.14159/180*30),三角函数的参数是弧度,弧度与角度的转换如下,:,40,常用数学函数,:,Abs(N):,取绝对值。,Exp(N): e,为底的指数函数,,e,。,Log(N): e,为底的自然对数。,Sqr(N):,平方根,,N,不能为负。,Sgn(N):,取符号。,Rnd(N):,产生随机数。,以下,N,表示弧度:,Sin(N):,正弦。,Cos(N):,余弦。,Tan(N):,正切。,Atn(N) :,反正切。,N,Abs(-33.3) =,Exp(2) =,Log(10) =,Sqr(9) =,Sgn(-4.2) =,Sgn(0) =,Sgn(4) =,Sin(0) =,Cos(0) =,Tan(0) =,?,?,?,?,?,?,?,?,?,?,33.3,7.389,2.3,3,-1,0,1,0,1,0,41,Rnd,(N),函数返回,0 - 1,(包括,0,和不包括,1,)之间的双精度随机数。,例如,:,若要产生,1-100,的随机整数,则:,Int(Rnd *100)+1,42,问,:,怎样产生,N,,,M,区间的随机整数?,Int(Rnd *,40,) + 20 ?,Int(Rnd *,41,) + 20 ?,例如,:,假设要产生大于等于,20,,小于等于,60,的数,以下哪个表达式正确?,20,,,59,20,,,60,Int(Rnd * (M-N+1) + N,43,【,转换函数,】,转换函数用于各种类型数据之间的转换。,注意:,(,1,)要区别两个取整函数,Int(),和,Fix(),。,Fix(N),为截断取整,即去掉小数后的数。,Int(N),不大于,N,的最大整数。,例如:,Fix(9.59) = 9 Int(9.59) = 9,Fix(-9.59) = -9 Int(-9.59) = -10,44,(,3,),Asc(C),字符转换为,Asc,。,Asc(“Abcd”),值为:65,(,只取首字母的,Asc ,值,),(,4,),Chr(N) Asc,码值转换为字符。,Chr(97),为小写,a,Chr(65),为大写,A,。,Asc(C),、,Chr(N),互为反函数。,怎样实现四舍五入?,(,2,),Round(N),实现四舍五入取整。,例如:,Round( 3.5 ) = 4,Round( -3.5 ) = -4,45,(,5,),Val(C),数字字符串转换为数值。,Val(“abc123”),值为:,0,Val(“1.2sa10”),值为:,1.2,注意,:,Val( ),函数只将最前面的数字字符转换为数值。,(,6,),Str(N),数值转换为字符串。,Str(123),值为:“,123”,Str(-123),值为:“,-123”,注意,:,将非负数值转化为字符串后,会在转换后的字符串左边加,1,个空格,即数值符号位。,46,(,7,),Lcase(C),大写字母转换为小写字母。,例如:,Lcase(“SGH”)=“sgh”,(,8,),Ucase(C),小写字母转换为大写字母。,例如:,Ucase(“hello”)=“HELLO”,47,常用的字符串函数有:,InStr,(,起始位置,字符串,1,字符串,2,),字符串,2,在字符串,1,中第一次出现的位置,(,找子串,),。,例如:,InStr(2,”EFABCDEFG”,”EF”)=7,起始位置,省略则从头开始找,找不到为,0,。,2. Trim(,字符串,) ,去掉字符串的左右空格 。,例如:,Trim(“ ABCD ”) =“ABCD”,【,字符串函数,】,48,3. Mid(,字符串,起始位置,,个数,) :,取字符串由,起始位置开始的指定个数的字符,(取子串),。,例如:,Mid(“ABCDEFG”,3,3)=“CDE”,Mid(“ABCDEFG”,3)=“CDEFG”,4. Len(,字符串或字符变量,),计算字符长度 。,5. String(N,,,C),返回,C,中首字符组成的,N,个字符串 。,例如:,String(4, “DRGTH”)=“DDDD”,49,6. Left(C,,,N) :,取字符串左边,N,个字符。,例如:,Left(“ABCDEFG”,3)=“ABC”,7. Right(C,N) :,取字符串右边,N,个字符。,例如:,Right(“ABCDEFG”,3)=“EFG”,8. Ltrim(C):,去掉字符串左边空格,9. Rtrim(C):,去掉字符串左边空格,例如:,Ltrim(“ DRG ”)=“DRG ”,R,trim(“ DRG ”)=“ DRG”,50,10. Space(N) :,产生,N,个空格的字符串。,例如:,Space(4)=“ ”,11. StrReverse(C) :,求字符串的反串。,例如:,StrReverse(“ABCDE”)=“EDCBA”,12. Replace(C,C1,C2,N1,N2):,将字符串,C,中的子串,C1,从,N1,位置,处开始,用,C2,替代,,,替代,N2,次,,返回替代后的,从,N1,开始,向右的子串。,例如:,Replace(“abcdecfgc”,”c”,”77”,2,2)=“b77de77fgc”,51,1.,IsArray(,变量名,),判断变量是否为数组。,2.,IsDate(,表达式,),判断表达式是否为日期。,3.,IsNumeric(,表达式,),判断表达式是否为数字型。,4.,IIf(,表达式,真部分,假部分,),计算真假两部分的值,再计算表达式的值。若表达式为,True,,返回,真部分,的值;否则, 返回,假部分,的值。,例如:,intx=10 : inty=11,IIf(intxinty,1,10),返回值为,10,【,判断函数,】,52,1.,Date(),返回系统当前日期。,如:,2005-9-21,2.,Day(C|N),返回日期代号(,1-31,)。,3.,Hour(C|N),返回小时(,0-24,)。,4.,Minute(C|N),返回分钟(,0-59,)。,5.,Year(C|N),返回年代号(,1753-2078,)。,6.,Month(C|N),返回月份代号(,1-12,)。,7.,Second(C|N),返回秒(,0-59,)。,8.,Now,返回系统日期和时间。,如:,2005/9/21 8,:,30,:,53 AM,9.Time(),返回系统时间。,如:,8,:,30,:,53 AM,注意:,C|N,表示可以是数字或字符串,数字则表示相对于,1899,年,12,月,31,日后的天数。,【,日期函数,】,53,格式:,Format (,表达式,,格式字符串,),其中:,表达式:要格式化输出的数值、日期或字符串表达式。,格式字符串:表示按其指定的格式输出表达式。,【,格式输出函数,】,例如:,(1),print Format,(,344.123, “,0000.0000,” ),表达式,格式字符串,54,例如:,(1) print Format ( 344.123, ”0000.0000” ),(2),print Format ( 344, ”0000.0000” ),(3) print Format ( 123.567, ”#.#%” ),(4) print Format ( “HELLO” , ” ),结果:,(1)0344.1230 (2)0344.0000 (3)12356.7%,(4) hello (5)ABC,55,Private Sub Command1_Click(),If (,(Text1.Text Mod 4 = 0),And,( Text1.Text Mod 100 _, 0),Or,( Text1.Text Mod 400 = 0),) Then,Text2.Visible = True,Text2.Text = Text1.Text + ,是闰年,Else,Text2.Visible = True,Text2.Text = Text1.Text + ,不是闰年,End If,End Sub,【,计算闰年,】,56,Dim a, b, c, x1, x2 As,Integer,Private Sub Command1_Click(),a = Text1.Text : b=text2.Text : c=text3.Text,If,b 2 - 4 * a * c 0 And a 0,Then,Label10 = ,无解,Else,x1 = (-b) + Sqr(b 2 - 4 * a * c) /,2 * a,x2 = (-b) - Sqr(b 2 - 4 * a * c) / 2 * a,Label7 = x1,Label9 = x2,End If,End Sub,【,一元二次方程求解,】,错,2,错,3,错,1,57,Private Sub Command1_Click(),If,(,b 2 - 4 * a * c 0 And a = 0 And a 0) Then,X1 = (-b + Sqr(deta) / (2 * a),X2 = (-b - Sqr(deta) / (2 * a),Label1.Visible = True,Label1.Caption = X1=,& Format,(X1, 0.00),&, X2=,&,_,Format,(X2, 0.00),Else,Label1.Visible = True,Label1.Caption = ,参数不正确,End If,End Sub,【,一元二次方程求解,】,59,作业用数学作业纸,下节课交,2.1 VB,定义了哪几种数据类型?变量有哪几种数据类型?常量有哪几种数据类型?,2.2,下列哪个符号不能作为,VB,中的变量名?,(1) ABCDEFG(2) P000000,(3) 89TWDDFF(4) xyz,2.3,下列符号哪一个是,VB,中的合法变量名?,(1) AB7(2) 7AB(3) IF(4) AB7,2.4,如果希望使用变量,x,来存放数据,765432.123456,,应该将变量,x,声明为何种类型?,60,2.5,下列数据哪些是变量?哪些是常量?是什么类型的常量?,(1) name(2) name(3) False(4) ff,(5) 11/16/99“ (6) cj(7) 120(8) n,(9) #11/16/1999# (10) 12.345,2.6 VB,共有几种表达式?根据什么确定表达式的类型?,2.7,在,VB,中,对于没赋值的变量,系统默认值是什么?,2.8,表达式,2 *32 + 2 * 8 / 4 + 32,的值为,(1) 64 (2) 31 (3) 49 (4) 22,2.9,把,VB,算术表达式,a / (b + c / (d + e / Sqr(f),写成数学表达式。,61,2.10,写出下列表达式的值。,(1) ( 2 + 8 * 3 ) / 2(2) 32 + 8 (3) #11/22/99# 10,(4) ZYX & 123 & ABC“,2.11,设,A = 7,,,B = 3,,,C = 4,,求下列表达式的值。,(1) A + 3 * C (2) A2 / 6,(3) A / 2 * 3 / 2 (4) A Mod 3 +B3 / C 5,2.12,函数,Int(Rnd(0) * 10),是在哪个范围内的整数?,(1) ( 0 , 1 ) (2) ( 1 , 10 ) (3) ( 0 , 10 ) (4) ( 1 , 9 ),2.13,如果,x,是一个正实数,对,x,的第,3,位小数四舍五入的表达式是,(1) 0.01 * Int(x + 0.005) (2) 0.01*Int(100 * (x + 0.005),(3) 0.01 * Int(100 * (x + 0.05) (4) 0.01 * Int(x + 0.05),62,2.14,写出下列函数的值。,(1) Int(3.14159) (2) Sqr(Sqr(64),(3) Fix(3.1415926) (4) Int(Abs(99100)/2),(5) Sgn(7*3+2) (6) Lcase(Hello“),(7) Left(Hello,2) (8) Val(16 Year“),(9) Str(459.65) (10) Len(Hello“),2.15,数学式子,sin25,写成,VB,表达式是,(1) Sin25 (2) Sin(25),(3) SIN(25) (4) Sin(25*3.14/180),三角函数的参数是弧度:,弧度与角度的转换:,1,度,=/180=3.14159/180,弧度,63,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!