数据、表达式与简单程序设计.ppt_第1页
数据、表达式与简单程序设计.ppt_第2页
数据、表达式与简单程序设计.ppt_第3页
数据、表达式与简单程序设计.ppt_第4页
数据、表达式与简单程序设计.ppt_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

第4章 数据、表达式与简单程序设计,4.1 程序代码的组织方式 4.2 代码的书写规则 4.3 VB的数据 4.4 运算符与表达式 4.5 赋值语句 4.6 VB的公共函数 4.7 InputBox函数与MsgBox函数,引 言,任何编程语言(包括VB在内),都是以 数据结构 算法 作为语言的基础。 数据结构描述数据存放方式,而算法则是操作数据的代码。 本章为VB语言基础,主要了解过程、模块、变量、函数、 语句、算法等基本概念。,4.1 过程与模块,VB程序由窗体界面和程序代码组成。 程序代码将窗体界面的各个对象以及应用中的其他元素联系在一起。 程序代码部分由若干个被称为“过程”的代码行以及向系统提供某些信息的说明组成。 过程以及说明被组织在“模块” 之中。 程序代码的目标,就是将设计的过程及相关说明合理地组织到不同的模块之中,形成所需要的实际代码的结构。这一目标的实施,也是创建VB应用程序的第一步。,一、过程 所谓“过程”,就是具有特定书写格式,包含若干可被作为一个整体执行的代码行的一个代码组。 根据执行的方式,“过程”可以分为“事件过程”和“通用过程”两类。,1事件过程 VB程序同Windows下的其他应用程序一样,都是由事件驱动的 事件过程是VB程序中最基本的过程。 事件过程存储在“窗体模块”文件中(扩展名为.frm),缺省情 况下是“私有的”(Private)。即缺省时,事件过程仅在该窗体内有效。 VB系统自动提供事件过程的代码框架。 2通用过程 “通用过程”由可被共享的代码构成。 通用过程是由事件过程或其他通用过程调用而执行的。 通用过程在缺省情况下,是“公有的”(Public),通用过程可以被所有窗体共享。 例:过程例题中的示例1,二、模块 模块是VB用于将不同类型过程代码组织到一起而提供 的一种结构。 VB具有三种类型的模块: 窗体模块 标准模块 类模块,1窗体模块 应用程序的每个窗体都有一个对应的窗体模块。 窗体模块扩展名为.frm。 2标准模块 标准模块中存放可被应用程序中多个窗体共享的代码。 标准模块文件的扩展名是.bas。 标准模块中保存的过程都是通用模块。 3类模块 类模块包含用于创建新的对象类的属性、方法的定义等。 类模块扩展名为.cls。,1.语句 语句是组成VB程序的最基本成分。 (1) 语句的一般形式: 语句体,4.2 代码的书写规则,规定语句的功能; 有些语句没有该部分,提供具体说明或具体操作,例如:Dim a as Integer a20,一条语句作用:向系统提供必要的信息或规定系统执行某些操作。,(2) 书写注意 1) 代码不区分字母的大小写,如:Ab 与AB等效; 2) 系统对用户程序代码进行自动转换; 对于关键字,首字母被转换成大写,其余转换成小写 对于用户定义的变量、过程名,以首次定义为准进行转换,2.语句书写规则 (1) 续行:(空格下划线字符“_”) (2) 同一行上书写多条语句,语句间用冒号“:”分隔 (3) 一行允许多达1023个字符 (4) 注释行 以 Rem开头,注释整行 ; 以注释符“”引导 注释内容从注释符开始直到该行结束 利用“编辑”工具栏的 “设置注释块”、“解除注释块”来 设置/取消多行注释。,例如: Form1.Print “学好VB“ _ & “要多学多练“ Form1.Hide: Form2.Show Form1.Hide 将Form1隐藏 Print &HF, &O17,4.2 代码的书写规则,4.3 VB的数据类型,变量/常量命名规则,变量,常量,常量,数据类型,Integer; Long ; Single; Double; Currency; Byte,1.数值数据类型,4.3.1 数据类型, Integer:整型(占2字节) 表数范围:-215 215-1,即32768 32767 表示形式: n 或n%, Long :长整型(占4字节) 表数范围:-231 231-1 表示形式:n&,例如:-120,120 &,120, 120%, 43210&,-12345678 &, Byte :字节型(占1字节) 表数范围:0255(无符号整数),Integer; Long ; Single; Double; Currency; Byte,4.3.1 数据类型, Single:单精度(4字节)- 7个有效位 表示形式:带小数点数 指数符号用(E)表示 数字后面加“!”, Double:双精度(8字节) - 15个有效位 表示形式:指数符号用(D)表示 数字后面加“# ”,例: -1E2 ,1.2E2 120.0 ,120! +12345678.0,例: -1D2 ,1.2D2 120#, Currency :货币型(8字节) -19个有效位(小数点 固定在倒数第四位) 表示形式:数字后面加“ ”,例:120,1.数值数据类型,Integer; Long ; Single; Double; Currency; Byte,1.数值数据类型,4.3.1 数据类型,2.Boolean型:,3.String型(字符串/定长与不定长):,表示形式:用双引号括起来或变量名后加“$” 如:“Basic”、“1234” Dim em as string *5(标准模块中的定长字符串变量 可说明为public或private。在窗体和类模块中,则 必须将定长字符串变量说明为private),注意: “”与“ ”的区别(空格也是有效字符) 字符串123“abc的表示: “123“abc“,Integer; Long ; Single; Double; Currency; Byte,1.数值数据类型,4.3.1 数据类型,4.Date型:-占用8个字节 表示形式:用#号括起来 如:#2-14-04 6:10:00#,2.Boolean型:,3.String型:,表示形式:用双引号括起来或变量名后加“$”,5.Variant型:万能型 是一种通用的、可变的数据类型,隐含变量的类型,6.Object型: 用于保存任何对象的引用,5.声明符号常数: 格式:Public|PrivateConst 常量名 As 类型=表达式,常数和表达式组成,1.数值常量: 为具体的常数值。其数值直接反映了类型,注意: 在程序中,常量比变量运行速度快 常量只能出现在赋值号的右边,常量:在程序运行期间值不能改变的量,6.系统自定义符号常量: 应用程序和控件提供的系统定义的常量 例:vbRed代表“红色”,VBCrlf表达回车换行等,例如:+120,120 ,1.2E2, 1.36D3,4.3.2 常 量,在一行中可放置多个常数说明,可用逗号分隔,例: Private Const Pi As Single = 3.14159, str$ = “VB“,2.字符常量 3.逻辑型常量 4.日期常量,举例: re, my data, re.er,8re,工资,Integer IntSum,变量:在程序的运行过程中其值可以变化的量 程序中的变量在任何一个时刻都有一个固定的值,规则: 变量或符号常量名必须以字母开头; 由字母、数字、下划线组成; 长度不超过255个字符; 在VB中变量名的字母不区分大小写,且在作用域内必须唯一; 不要与系统保留字(如语句中的关键字、公共函数名、窗体与控件对象的属性名、方法名等)同名 变量名的字符串内不得包括点号和用于类型说明的字符%、&、!、#、$. (7)为了提高程序的可读性,可在变量名前加上一个约定的前缀,用于表示变量的数据类型 Int、lng、sng、dbl、bln、cur、dt、str、vnt、byt,4.3.2常量/变量的命名规则,例2: Dim A As String Dim B As String * 5 A=“Visual Basic” B=“Visual Basic” Print A , B,声明变量的目的:根据声明的类型决定系统为它分配的存储单元。,1.显式声明变量:,例1: Dim A Dim B As Long Dim C As Single Dim D As Integer,Public|Private|Dim|Static 变量名 AS 数据类型,4.3.3 变量,变量:在程序的运行过程中其值可以变化的量,等同于: Dim A, B As Long , C As Single , D As Integer 或 : Dim A, B& , C! , D %,数值型 字符型 布尔型 对象型 万能型,Private Sub Form_Click() Dim a As Integer, b As Long Dim c As Single, d As Double a = 327699999 b = 327699999 Print a, b c = 100 / 3 d = 200/ 3 Print c, d End Sub,Private Sub Form_Click() Dim a As Boolean, b As Boolean Dim e, f As Date a = True 注意与a = “True” 的区别 b = False Print a, b e = #3/1/99 9:12:02 # f = 1.5 Print e, f End Sub,注意: (1)在VB中一个汉字与一个西文字符视为一样,算一个字 (2)在窗体和类模块中,不能用Public定义定长字符串变量,例:Private sub command1_click() Dim i as integer Static j as integer i=i+1 j=j+1 Print i,j end sub,连续3次单击command1 ,分析输出结果,生命变量的目的:根据声明的类型决定分配的存储单元。,1.显式声明变量,Public|Private|Dim|Static 变量名 AS 数据类型,4.3.3 变量,变量:在程序的运行过程中其值可以变化的量,2.变量作用域 (有效作用范围),是指使用的变量未用声明语句进行声明而直接使用 未声明直接使用的变量均默认为Variant型 也可在变量名后加一个规定数据类型的说明符加以说明,(1)作用:强制显式声明变量。 即使用任何一个变量必须“先声明,后使用” (2)增加Option Explicit语句的方法: 在代码编辑器的通用/声明部分输入:Option Explicit “工具|选项”“编辑器”选“要求变量声明”项,3. 隐式声明变量:,例:Dim Str1 As String Str1 = “计算机程序设计“ Str2 = “计算机程序设计“ Str3% 123 Print Str1, Str2, Str3,4.3.3 变量,例:Dim T001 As String T001 = “计算机程序设计“ Print T00l 观察该程序段的输出结果 结果:无输出结果,4. Option Explicit语句,4.4 运算符和表达式,运算符,表达式,常量,1.算术运算符,包括:(乘方)、-(负号)、/、 * 、(整除)、 MOD、+、 & 表达式: (-5) 2 + 5 Mod 3,2.字符串运算符,包括:+ 、 & 表达式:“123”+“3”,A B A+B A& B “123” “3” “1233” “1233” “123” 3 126 “1233” 123 3 126 “1233” “123a” 3 出错 “123a3”,3.关系运算符,包括: , = , , =,Like,Is,表达式: 15+23 54,4.4.1 运算符,注意: 若操作数为字符型,按ASCII码比较 汉字字符西文字符,运算结果是逻辑值=False,1.算术运算符,包括:(乘方)、-(负号)、/ * 、(整除)、 MOD、+ -,表达式: (-5) 2 + 5 Mod 3,2.字符串运算符,包括:+ 、 &,表达式:“123”+“3”,3.关系运算符,包括: , = , , =,Like,Is,4.逻辑运算符,包括:And 、Or、Not、Xor,.,表达式: 15+234*8,表达式:,AND: 逻辑与,两边的值均为真时,结果为真;否则为假 OR : 逻辑或,两边的值至少有一个真,结果为真;否则为假 NOT: 逻辑反.只有一个参数 XOR: 逻辑异或,两边的值不同时,结果为真;否则为假,A B Not A A And B A Or B A Xor B T T F T T F T F F F T T F T T F T T F F T F F F,4.4.1 运算符,写出逻辑表达式: 选拔优秀生的条件:三门功课英语(C1)、数学(C2)、计算机(C3),总分至少265分,或C2、C3分别大于90分且C1不低于80分。,C1+C2+C3 =265 OR (C180 and C290 and C390),优先级的比较 1.几大类比较,优先级: 高-低,2.算术运算符,3.比较运算符,4.逻辑运算符,算术、 关系、逻辑, ,- ,(* /), ,MOD,(+ -),同一级,Not、 And 、Or、Xor、,4.4.1 运算符,括号优先级别最高,如果表达式包含有括号时,最内 层的括号将最优先处理,1.表达式组成,包含:变量、常量、运算符、函数和小括号 表达式结果: 与数据和运算符有关,2.书写规则,乘号不能省略 括号必须成对出现(只能是小括号) 一个表达式在同一行上书写,没有高低、大小区分,3.同一表达式中的数据的类型转换,操作数的数据类型应该符合要求,不同的数据应该转换成同一类型。 在算术运算中,如果操作数的数据精度不同,VB规定运算结果采用精度较高的数据类型(即内存长度较长的那个)。 注意:除法运算例外,不论除数与被除数如何,结果总为双精度,4.4.1 运算符,4.5 赋值语句,赋值语句的一般形式 Var= 不同数据类型数据的赋值,4.5 赋值语句,Boolean 数值型 True为-1;False为0 Boolean 数值型 非0为True;0为False,例: Dim v As Integer Dim book As String*8 Dim sum As Double Dim Bool As Boolean v=26 v=v+12.3 sum=v*123.4+56.7 v=“126” sum=“123ab” v=True sum=False Bool=123 Bool=0,注意: (1) 右边表达式的值强制转 换成左边变量的精度,(2) 若不能实现类型转换,出现“类型不匹配”错,4.5 赋值语句,注意: (1) 右边表达式的值强制转 换成左边变量的精度,(2) 若不能实现类型转换,出现“类型不匹配”错误,例: Dim X As Single Dim Y As Single Dim Sum As Single X=26 Sin(X)=X+Y 5=Sqr(X)+Y X+Y=126 X=Y=Sum=1 Sum=Sum+1,(3) 赋值号左侧只能出现变量,(4) 一条赋值语句不能同时给 多个变量赋值,(5) 正确理解加1语句,(6) 正确理解赋值号与等号,4.6 VB公共函数,公共函数:由系统提供的,可在任何一个VB程序中 随时使用的程序段(每个函数都有特 定的功能,实现特定的运算或处理) 程序的调用形式: (P1,P2,) 其中P1,P2,是调用函数时的自变量序列,自变量的个数、排列次序和数据类型应和函数规定的参数相同。 注:在一个包含有函数的表达式中进行运算时,系统将优先进行函数调用。,4.6 常用内部函数,1.数学函数,绝对值: Abs(N) e为底的指数:Exp(N) 自然对数: Log(N) 产生随机数: Rnd(N) 符号函数: Sgn(N) 平方根: Sqr(N) 三角函数Sin(N)、Cos(N)、Tan(N):其中的N必须是弧度值,|-3| Abs(-3) e2 Exp(2) Ln(10) Log(10) Rnd 产生一个小于1但大于或等于0的小数 求2.4的符号 Sgn(2.4)(返回1) 求16的平方根 Sqr(16) Sin(30o) Sin(4.14/6),4.6 常用内部函数,2.字符串函数,求字串长度: Len(C) LenB(C) 取子串:Left(C,N) Right(C,N) Mid(C,n1,n2) 查找子串:InStr(N1,C1,C2) 去掉首或尾空格: LTrim (C)、RTrim(C)、Trim(C) 生成字串:string(n,”字符”) 生成空格串:space(n),Left(“计算机基础”,2) Right (“计算机基础”,2) Mid (“计算机基础”,2,4),Len(“VB程序设计”) LenB (“VB程序设计”),Str=” AB CDE ” LTrim (str)、RTrim(str)、Trim(str),InStr(4,”abdbcdef”,”d”),String(6,”A”),Space(10),字符转换成ASCII码:Asc(C) ASCII码转换成字符:Chr(N) 转换成小写字母: Lcase(C) 转换成大写字母: Ucase(C) 转换成字符: Str(N) 转换成数字: Val(C) 取整:直接取整、四舍五入取整、取N的最大整数 Fix(N) Cint(N) Int(N),Fix( 3.5) Cint( 3.5) Int( 3.5),4.6 常用内部函数,3.转换函数,Asc(“B”) 66 Chr(97) “a” LCase(“Abc“) ”abc” UCase(“Abc“) “ABC” Str(234) ”234” Val(”234”) 234,- - -,3 4 3,-3 -4 -4,Fix( 4.5) Cint( 4.5) Int( 4.5) 4,4.6 常用内部函数,4.日期函数,获取系统当前日期:Date 获取系统当前时间: Time 获取系统当前日期和时间: Now 获取指定日期年、月、日的值:Year(D)、Month(D)、Day(D) 获取指定日期是一个星期的第几天:Weekday(D,n),如:Print date,Print Time$,Print Now,Print Year(Now),Month(Now),Day(Now),Print Weekday(Now,2),5.格式输出函数,Format(算术表达式,格式字符串),专门用于将数值、日期和时间按指定格式输出的函数,即将算术表达式按指定字符串格式输出,千分位标示符放在小数点左边除了头部和尾部的所有位置,日期时间格式符: 字符串格式符: 和 ,数值格式符: 0: 显示一数字,若此位置没有数字则补0 #: 显示一数字,若此位置没有数字则不显示 , - + $ ( ) :原样打出,4.6 常用内部函数,如:Print Format(12.345, “+000.00“) Print Format(12000.345, “#,#.#“),如:Format(“ABcd”,”)、 Format(“ABcd”,”),注意:Format函数仅用于控制数据的外部输出格式,不会改变数据在计算机内部的存储形式,例:x = 123456.78 Print Format(x, “00000000.000“) Print Format(x, “#“) Print Format(x, “#,#,#.#“) Print Format(x, “#%“),4.7 InputBox函数与MsgBox函数,4.7.1 InputBox函数,作用: 打开一个对话框,等待用户输入内容。 单击确定,返回输入值(字符型数据) 格式: 变量名 = InputBox ( 提示,标题,默认值,X,Y),例:设置一个输入框: 提示用户输入查询学号。,提示: 若提示内容中需要换行显示:在换行处加chr(13)和chr(10) 或 vbCrLf 各项参数位置必须一一对应,4.7 InputBox函数与MsgBox函数,4.7.2 MsgBox函数,按 钮: 可选。整型表达式,缺省值为 0 指定信息框中按钮数目、类型、图标类型, 缺省按钮等,变量 = MsgBox(提示内容,按钮,标题) MsgBox 提示内容 , 按钮 , 标题,提示内容:必要。字符表达式,即显示在对话框中的信息,2.MsgBox 函数的常用参数的说明,= 1024 个字符, 如果文字超过一行,可用Chr(13) + Chr(10) 换行,标 题: 可选。在对话框标题栏中显示的内容。 省略此项,则将应用程序名放在标题栏中,1.语法,值 按钮的设置 对应按钮名称 0 vbOKOnly-确定 1 vbOKCancel-确定、取消 2 vbAbortRetryIgnore-终止、重试、忽略 3 vbYesNoCancel-是、否、取消 4 vbYesNo-是、否 5 vbRetryCancel-重试、取消,Buttons参数的设置,1.按钮的类型和数目的设置 Buttons=(按钮设置值 + 图标设置值 + 缺省按钮值)的和,Buttons参数值= 1 或 vbOKCancel,2.图标的样式 Buttons的和=按钮设置值+图标设置值+缺省按钮值,16 vbCritical -,32 vbQuestion -,48 vbExclamation -,64 vbInformation -,Buttons参数值= 1+64 或 vbOKCancel+ vbInformation,Buttons参数的设置,3.说明哪一个是缺省按钮 Buttons的和=按钮设置值+图标设置值+缺省按钮值,0 VbDefaultButton1,256 VbDefaultButton2,512 VbDefaultButton3,Buttons参数值=65 ( 1+64+0) 或 vbOKCancel+ vbInformation+VbDefaultButton1,Buttons参数的设置,设计一个如下所示的提示框:,练习使用信息框,符号常量 返回值 对应按钮,4.Msgbox的函数返回值 用于确定用户选择对话框的哪一个按钮,以作出不同的响应。,vbOK 1-确认,vbCancel 2-取消,vbNo 7 - 否(N),vbAbort 3 -终止(A),vbRetry 4-重试(R),vbIgnore 5-忽略(I),vbYes 6 - 是(Y),信息框的返回值:,练习,编制一个帐号与密码的检验程序: 要求: 帐号为“123456”,密码4个字符(设密码为VB60) 帐号(如:非数字)不正确时,提示有关信息, 并清除原内容,得到焦点,再输入 密码不正确时,单击“重试”,密码框清空,得到焦 点重新输入,若单击“取消”,停止运行,总 结,变量的命名规则,变量的声明,Public|Private|Dim|Static 变量名 AS 类型,数据类型及其表示符,数值(整、长整、单精、双精、货币、字节) 逻辑、日期、字符、万能、对象,显式声明与隐式声明,常量的声明 运算符的种类与优先级 表达式的书写 常用函数,Public|Private Const 常量名 AS 类型表达式,算术运算符 字符运算符 关系运算符逻辑运算符,1.下列语句运行时系统给出错误提示的是。 .Print -32000+769 .Print “IE2”+8 .Print “AB”&128 .Print 3=2=4 2.下面所列四组数据中,全部是正确的VB常数是 。 A.32768,1.3

温馨提示

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

评论

0/150

提交评论