大学vb课件自学VisualBasic非计算机专业3、.ppt

上传人:牧羊曲112 文档编号:6266299 上传时间:2023-10-11 格式:PPT 页数:43 大小:444KB
返回 下载 相关 举报
大学vb课件自学VisualBasic非计算机专业3、.ppt_第1页
第1页 / 共43页
大学vb课件自学VisualBasic非计算机专业3、.ppt_第2页
第2页 / 共43页
大学vb课件自学VisualBasic非计算机专业3、.ppt_第3页
第3页 / 共43页
大学vb课件自学VisualBasic非计算机专业3、.ppt_第4页
第4页 / 共43页
大学vb课件自学VisualBasic非计算机专业3、.ppt_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《大学vb课件自学VisualBasic非计算机专业3、.ppt》由会员分享,可在线阅读,更多相关《大学vb课件自学VisualBasic非计算机专业3、.ppt(43页珍藏版)》请在三一办公上搜索。

1、第四章 Visual Basic 语言基础,4.1 VB程序代码的组织方式,VB应用程序,.,4.1.1 过程,为简化程序设计,将程序分割成较小的逻辑部件,称这些部件为过程。根据执行的方式,可把“过程”分为“事件过程”和“通用过程”。,1.事件过程,2.通用过程,一个应用程序中多个窗体可以共享的或一个窗体内不同的事件过程可共享的程序代码,称为“通用过程”。,为窗体及窗体上的各种对象编写的,用来响应由用户或系统引发的各种事件的程序代码,称为“事件过程”。,事件过程由VB中的事件调用。,如:如果希望在单击一个名为CmdStart的命令按钮后,会调用事件过程,则要使用CmdStart_Click过程

2、。,通用过程是由事件过程或其它通用过程调用而执行的。,VB为将不同类型过程代码组织到一起而提供的一种结构。(VB的代码存储在模块中),4.1.2 模块,1.窗体模块(文件扩展名为.FRM),2.标准模块(文件扩展名为.BAS),3.类模块,包含 用于处理发生在窗体中的各个对象的事件过程,窗体及窗体中各个控件对象的属性设置及相关的说明。,类模块包含用于创建新的对象类的属性、方法的定义。,VB应用程序中的每个窗体都有一个相对应的窗体模块。,标准模块中的过程都是通用过程。,包含可被多个窗体所共享的代码。,4.2 VB程序的书写规则,1.语句:是构成VB程序的最基本成分,将长语句分成多行:在行的末尾用

3、续行符(-)将长语句分成多行。将多个语句合并到同一行上:在一个代码行上写入多个语句,在 语句中用冒号“:”分隔。,2.书写规范,3.程序注释,用来说明程序中某些语句的功能和作用,增加程序的可读性,在VB中用“”和Rem来标识。,语句输入时,可不区分大小写。,VB程序中注释过的语句会自动变为绿色。,4.3 VB 数据类型,3.3.1 数据类型,VB提供了11种基本的数据类型。变体型数是VB的缺省数据类型,不论是常量或变量,如果不加说明,系统均按变体型数据处理。,4.3.2 常量,1.数值常量一般的数值常量由正负号、数字和小数点组成。,2.字符常量把一串字符用引号括起来,就构成一个字符常量。,P4

4、3.表4-1,在程序中取值始终保持不变的数据,4.日期常量,日期型常量的一般表示形式:mm/dd/yyyy。,如2001年9月20日可表示为:#9/20/2001#,5.符号常量:以符号形式表示的常量。,自定义符号常量形式:Public|Private Const As Type=,如:Const Pi=3.1415926,3.逻辑型常量,逻辑型(布尔型)常量只有两个取值:True、False。,4.3.3 变量,变量名的命名规则:a.必须以字母开头;b.长度小于等于255个字符;c.在作用域内必须唯一;d.作为变量名的字符串内不能包括点号和用于类型说 明的字符%、&、!、#、$。.,1.变量

5、名及类型说明,为了增加程序的可读性,可在变量前加一个缩写的前缀来表明该变量的数据类型。,P46.表4-2,以符号形式出现在程序中,且取值可以发生变化的数据,2.变量作用域及变量说明语句,变量的作用域:分为局部变量、窗体/模块级变量、全局变量。局部变量在过程内用dim(static)定义,只在本过程内 有效。窗体/模块级变量在过程外用dim 或private,在本窗体/模块内所有过程都有效。全局变量在标准模块的过程外用Public,在整个 应用程序中有效。,变量说明语句(1).在变量前用关键字Dim、Static、Private、Public声明变量。例如:Dim as,例子程序1,(2).在变

6、量名后面加上类型说明的后缀(隐式说明).,符号 数据类型 举例$String strName$%Integer ITerm%,var%&Long colorValue&!Single distance!#Double ExactDistance#,Currency cSalaries,Option Explicit语句 在模块中使用Option Explicit语句,系统将检查模块中所有未加显式说明的变量。,4.4运算符和表达式,VB中的运算符和表达式可分为算术运算符与算术表达式、关系运算符和关系表达式、逻辑运算符和逻辑表达式。,算术运算符与算术表达式,1.算术运算符+、-、*、/、mod、&

7、,10 3=10/4=11 4=(-5)3=10 mod 3=10 mod 5=Hello&”World”=,3,1,0,2,2.5,-125,Hello World,2.算术表达式 把常量、变量等运算元素用算术运算符连接起来的式子称为“算术表达式”。可以使用圆括号来改变运算次序。,算术运算符的运算次序为:、-(负号)、*、/、mod、+、-、&,关系运算符与关系表达式,关系运算用于对两个数据进行比较,比较结果为逻辑值“True”或“False”。,1.关系运算符、=、=、Is,2.关系表达式 用关系运算符把两个比较对象连接起来的式子。,3.关系表达式的运算,求下列表达式的值:14/2 3 3

8、,False,True,逻辑运算符与逻辑表达式,逻辑运算是对逻辑值进行的运算。,1.逻辑运算符 Not、And、Or、Xor,Not 运算,False,True,And 运算,True,False,False,False,Or 运算,True,True,True,False,Xor 运算,False,True,True,False,逻辑运算符的优先次序为:Not And Or Xor,2.逻辑表达式 用逻辑运算符把逻辑变量连接起来的句子。,4.4.4 各种运算符间的优先顺序,算术运算符关系运算符逻辑运算符,dim a,b,c a=8:b=10:c=6 Not(a-1b)ab+3 And bc

9、ab Or bc,False,True,True,4.6 VB 公共函数,公共函数(内部函数)是由系统提供的,可在任何一个VB程序中随时使用的程序段。每个程序段用于进行某个特定的运算或处理。每个函数都有系统规定的函数名。,使用函数称为函数调用。函数调用形式如下:,(p1,p2,),P1,p2是调用函数时的自变量序列,自变量个数、排列次序和数据类型,应和函数规定的参数相同。,P52.表4-6、表4-7、表4-8、表4-9,4.6.1 算术函数4.6.2 字符函数4.6.3 转换函数4.6.4 日期与时间函数,Left(x,n)从x字符串左边起取n个字符。,Dim AnyString,MyStrA

10、nyString=Hello World 定义字符串。MyStr=Left(AnyString,1)返回 H。MyStr=Left(AnyString,7)返回 Hello W。MyStr=Left(AnyString,20)返回 Hello World。,Mid(x,n1,n2)从x字符串左边第n1个位置起向右取n2个字符。,Dim y,y1,y2,y3y=Mid Function Demo 建立一个字符串。y1=Mid(y,1,3)返回 Mid。y2=Mid(y,14,4)返回 Demo。y3=Mid(y,5)返回 Funcion Demo。,Ltrim(x)去掉x左边的空格。Rtrim(

11、x)去掉x右边的空格。Trim(x)去掉x两边的空格。,Dim y,TrimStringy=Test Demo 设置字符串初值。TrimString=LTrim(y)TrimString=Test Demo。TrimString=RTrim(y)TrimString=Test Demo。TrimString=LTrim(RTrim(y)TrimString=Test Demo。只使用 Trim 函数也同样将两头空格去除。TrimString=Trim(y)TrimString=”Test Demo。,Chr(x)返回以x为ASCII代码值的字符。ASC(x)给出字符x的ASCII代码值(十进制

12、数)。,Dim MyChar MyChar=Chr(65)返回 A。MyChar=Chr(97)返回 a。MyChar=Chr(62)返回。MyNumber=Asc(A)返回 65。MyNumber=Asc(a)返回 97。,CInt(x):将数值型数据X的小数部分四舍五入取整。Int(x):取小于等于X的最大整数。Fix(x):将数值型数据X的小数部分舍去。,Dim yy=CInt(4.5)y=CInt(4.6)y=Int(4.5)y=Fix(4.5)y=CInt(-4.5)y=Int(-4.5)y=Fix(-4.5),4,5,4,4,-4,-5,-4,计算下列代数式所对应的VB表达式:(1

13、)(2)(3),(12*X+5*Y-Sqr(Abs(d3-m3)/(Exp(-X)*Sin(X),X2*EXP(X)/COS(ABS(X+Y),Sqr(X+Y)/Log(X)-ABS(X)+EXP(X+Y),Date:返回系统日期。,4.6.5 格式化函数Format$,(0)数字占位符。显示一位数字或是零。如果表达式在格式字符串中 0 的位置上有一位数字存在,那么就显示出来;否则,就以零显示。,Format 函数 设置文本的输出格式。语法Format(expression,format),MyStr=Format(5459.4,”00000.00“)返回”05459.40。MyStr=For

14、mat(5459.4,“#.#”)返回“5459.4”。MyStr=Format(5459.56,“#.#”)返回“5459.6”。MyStr=Format(5459.4,#,#0.00)返回 5,459.40。MyStr=Format(334.9,#0.00)返回 334.90。MyStr=Format(5,0.00%)返回 500.00%。,(#)数字占位符。显示一位数字或什么都不显示。如果表达式在格式字符串中“#”的位置上有数字存在,那么就显示出来;否则,该位置就什么都不显示。,(.)小数点占位符。用来决定在小数点左右可显示多少位数。,(%)百分比符号占位符。表达式乘以 100。而百分比

15、字符(%)会插入到格式字符串中出现的位置上。,(,)千分位符号占位符。千位符号主要是把数值小数点左边超过四位数以上分出千位。,赋值语句,赋值语句的一般形式是:Var=,Var可以是变量名或属性名。,如:x=“NanJing”Label1.caption=“工作单位:”,使用赋值语句还可获取对象返回的当前属性值:Var=Object.Property,如:x=text1.text,4.7赋值语句及InputBox、MsgBox函数,不同数据类型数据的赋值:P51,InputBox函数,InputBox函数用来接受用户通过键盘输入的数据。它的使用形式是:,V=InputBox(prompt,tit

16、le,default,xpos,ypos,helpfile,context),Prompt 必需的。作为对话框消息出现的字符串表达式。,Title 可选的。显示对话框标题栏中的字符串表达式。,Default 可选的。显示文本框中的字符串表达式,在没有其它输入时作为缺省值。如果省略 default,则文本框为空。,X、y 可选的。成对出现,指定对话框在屏幕上显示时的位置。,V 可以是变体变量或字符串型变量、数值型变量。,Helpfiel、Context 帮助文件名及帮助主题号。,InputBox 函数示例,InputBox 例,MsgBox函数,MsgBox函数用来向用户发布提示消息,并要求用户

17、作出必要的响应。它的使用形式是:,MsgBox(prompt,buttons,title,helpfile,context),Prompt 必需的。字符串表达式,作为显示在对话框中的消息。,Buttons 可选的。由4个数值常量组成的式子,指定显示按钮的数目及形式,使用的图标样式,缺省按钮是什么以及消息框的强制回应等。如果 省略,则 buttons 的缺省值为 0。,Title 可选的。在对话框标题栏中显示的字符串表达式。,MsgBox 例,5.1 分支结构与分支结构语句,1.If-Then-Else-End If 结构语句,此结构语句的一般形式是:,If e Then A组语句Else B组

18、语句End If,A,B,True,False,此种算法结构,还有多种变形:,P63.例5-1,第五章 选择分支与循环,If e Then A组语句End If,A,True,False,当A组语句仅有一个时,上图结构还可简化为:,If e Then A语句,A1,True,False,If e1 Then A1组语句ElseIf e2 Then A2组语句.End If,A2,A3,.,True,True,False,False,例.5-2,Select Case e Case c1 A组语句 Case c2 B组语句.Case Else n组语句End Select,Select-Case

19、-End Select 结构语句,此结构语句提供了实现多分支结构的另一种方法,它的一般形式是:,e为测试表达式,可以是算术表达式或字符表达式。,c1、c2是测试项:可取:1、具体数值。2、连续的数据范围3、满足某个判决条件,执行方式:先求测试表达式e的值,接着逐个检查每个Case语句的测试项,如果测试表达式e的值满足某个测试项,系统就执行该Case语句下的那组语句;如果没有一个测试项满足要求,就执行Case Else 下的语句。如果有一个以上的测试项满足要求,则只有第一个匹配后面的语句会被执行。,Select Case 例,5.2 循环结构与循环结构语句,1.Do-Loop循环结构语句,Do-

20、Loop循环结构语句有四种形式:,Do While e.Exit Do.Loop,Do.Exit Do.Loop While e,Do Until e.Exit Do.Loop,Do.Exit Do.Loop Until e,在Do语句和Loop语句之间的语句即为循环体语句。在循环体中,可以包括一条或多条Exit Do语句,如果程序执行到Exit Do语句时,就会直接退出循环,执行Loop语句的下一条语句。,Sum=0 I=1 Do While I=100 Sum=Sum+I I=I+1 Loop,Do While e.Exit Do.Loop,A,True,False,如:求sum=1+2+

21、100,A.当型循环:,A,False,True,Do.Exit Do.Loop While e,Sum=0 I=1 Do Sum=Sum+I I=I+1 Loop While I=100,上述两当型循环结构的区别:当第一次执行循环语句条件不成立时,第一种不执行循环体,而第二种要执行一次。,B.直到型循环:,Do Until e.Exit Do.Loop,Sum=0 I=1 Do Until I100 Sum=Sum+I I=I+1 Loop,A,False,True,Do.Exit Do.Loop Until e,Sum=0 I=1 Do Sum=Sum+I I=I+1 Loop Until

22、 I100,上述两直到型循环结构的区别:当第一次执行循环语句条件成立时,第一种不执行循环体,而第二种要执行一次。,A,True,False,P.67 例5-3,5.2.2.For-Next循环结构语句,如果事先已知循环次数,则可使用For-Next循环结构语句,它的一般形式是:,For v=e1 To e2 Step e3.Exit Do.Next v,V=v+e3,True,False,计算e1,e2,e3,V=e1,循环体,V为循环控制变量,e1、e2、e3是控制循环的参数,e1为初值,e2为终值,e3为步长,for next 例1,例5-4,例5-5,5.2.3.循环嵌套,Do-Loop

23、循环和For-Next循环都可以在大循环中套小循环.,.72 九九乘法表,(1)外循环必须完全包含内循环,不能交叉内;(2)循环变量与外循环变量不能同名。,Rnd(x)产生一个在(0,1)区间均匀分布的随机数。为了生成某个范围内的随机整数,可使用以下公式:Int(upperbound-lowerbound+1)*Rnd+lowerbound)这里,upperbound 是随机数范围的上限,而 lowerbound 则是随机数范围的下限。,如:随机生成一个两位的整数,可用下式:Int(99-10+1)*Rnd+10)即 Int(90*Rnd+10),.72 例5-6,.77 例5-9,.78 例

24、5-10,.80 例5-11,例:已知x,y,z三个数,比较它们的大小并排列,使得xyz。,1.语法错误(Syntax Error):由于违反了语言有关语句形式或使用规则而产生的错误。如拼写错误,关键字遗漏,标点不符等错误。VB5.0能自动发现,并以高亮度红色出现。,第五章 程序调试,5.1 Visual Basic 的错误类型,2.运行错误(Run Time Error):由于试图执行一个不可进行的操作而引起的。如除0、文件不存在、磁盘未插入软驱等。VB将弹出一个子窗口,提示出错信息。,3.逻辑错误(Logic Error):程序的运行结果与预期不一致。由于算法不正确,变量使用错误或程序控制

25、结构不当都会产生逻辑错误。这种错误是致命的,不容易发现,也难以排除。VB的调试工具正是用来帮助程序员发现程序中的逻辑错误。,(运行错误)例,VB提供了三种调试窗口用于了解程序运行时变量和界面的变化。,5.2调试工具及其功能,使用VB的调试工具,可便捷有效地检查逻辑错误产生的地点和原因。,P.84 表5-1 调试工具栏中的各个按钮的功能。,“本地”窗口,显示当前过程中所有局部变量的值,以及窗体的属性值。使用时代码中必须有断点,或在中断模式运行。,“监视”窗口,显示指定的监视表达式的值,这些表达式是在“添加监视”窗口中加入的。该窗口可在“调试”菜单中打开。,“立即”窗口,显示代码中正在调试的语句所产生的信息,如Debug.Print的结果。也可以得到直接键入命令所产生的结果。,5.3 程序调试的基本方法,1.设置断点:在设计模式时的“代码”窗口中,在需要设置或取消断点的那一行鼠标左键即可。当程序运行到句,就暂停执行,自动进入中断模式。,2.在三种调试窗口:()直接观察表达式的值()用DebugPrint语句把调试信息直接输出到立即窗口()在立即窗口中输入指令(每次一行),用Print显示表达式的值,3.单步调试:采用F8键逐条语句跟踪,或Shift+F8逐过程跟踪,查看代码的具体执行情况。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号