《VB程序设计基础全套课件VB教程第2章教案.ppt》由会员分享,可在线阅读,更多相关《VB程序设计基础全套课件VB教程第2章教案.ppt(25页珍藏版)》请在金锄头文库上搜索。
1、主页主页 常量、变量、函数及表常量、变量、函数及表达式是构成达式是构成VBVB应用程序的基本应用程序的基本元素,也是程序设计的重要基元素,也是程序设计的重要基础知识。学习和熟悉掌握这些础知识。学习和熟悉掌握这些元素,对以后的程序设计是十元素,对以后的程序设计是十分重要的。分重要的。主页主页第第2 2章章 程序设计基础程序设计基础 程序中的大部分实际工作是采用程序代码来处理的程序中的大部分实际工作是采用程序代码来处理的 任何一门程序设计语言都有一套严格的编程规定任何一门程序设计语言都有一套严格的编程规定 本章主要内容本章主要内容 退出退出数据类型数据类型常量与变量常量与变量表达式表达式常用内部函
2、数常用内部函数主页主页 2.12.1 数据类型数据类型 在在使使用用计计算算机机来来处处理理数数据据时时,会会遇遇到到各各种种不不同同类类型型的的数数据据。例例如如,一一个个人人的的姓姓名名是是由由一一串串文文本本( (字字符符) )组组成成,成成绩绩、年年龄龄和和体体重都是一个数值,而是否大学毕业则是一个逻辑值,等等。重都是一个数值,而是否大学毕业则是一个逻辑值,等等。 为了更好地处理各种各样的数据,为了更好地处理各种各样的数据,VBVB定义了多种数据类型定义了多种数据类型 数值型数值型 数据类型数据类型 字符型字符型 逻辑型逻辑型 日期型日期型 对象型对象型 变体型变体型整数整数: 整型整
3、型/长整型长整型字节型字节型浮点型浮点型: 单单/双精度双精度货币型货币型主页主页 数值型数据数值型数据 (1) (1) 整型整型(Integer)(Integer)和长整型和长整型(Long)(Long) 不带小数部分的数,表示正整数、负整数和零不带小数部分的数,表示正整数、负整数和零 整型数整型数: : -32768-327683276732767 长整型数:长整型数:-2147483648-214748364821474836472147483647 (2) (2) 字节型字节型(Byte)(Byte) 字节型数可以表示无符号的整数字节型数可以表示无符号的整数 0 0255255(3)
4、(3) 单精度型单精度型(Single)(Single)和双精度型和双精度型(Double)(Double) 浮点数。表示带有小数部分的数浮点数。表示带有小数部分的数 表示数的范围大,但有误差。表示数的范围大,但有误差。 如超出某个表示范围,则用科学记数法如超出某个表示范围,则用科学记数法 例如:例如:4.53E8(4.534.53E8(4.5310108 8) ),8.173E-148.173E-14,3.14D233.14D23(4) (4) 货币型货币型(Currency)(Currency) 专门为处理货币而设计的数据类型专门为处理货币而设计的数据类型 它可最多保留小数点右边它可最多保
5、留小数点右边4 4位和小数点左边位和小数点左边1515位位主页主页其他类型数据其他类型数据 (1) 字符型是用双引号括起来的一串字符。字符型是用双引号括起来的一串字符。 例如例如: “Canton”、”1+2=?”、”GoodMorning”等等 “”称为起止界限符。称为起止界限符。 字符串长度。字符串长度。 分为分为: : 变长字符串变长字符串( (长度不固定长度不固定) ) 定长字符串定长字符串( (长度固定长度固定) ) 例如:例如: Dim a As String a是是不定长字符串不定长字符串 Dim b As String*4 b是是定长字符串定长字符串(4个字符个字符) a =
6、“VB” a的值为的值为2个字符个字符“VB” a = “Visual Basic” a的值为的值为12个字符个字符“Visual Basic” b = “VB” b的值为的值为4个字符个字符“VB ” (后面有后面有2个空个空格格) b = “Visual Basic” b的值为的值为4个字符个字符“Visu” 主页主页其他类型数据其他类型数据 (2) 逻辑型数据只有逻辑型数据只有True(真真)和和False(假假)两个值两个值 (3)日期型数据用两个日期型数据用两个“#”符号把日期和时间的值括起来符号把日期和时间的值括起来 如:如:#08/20/2001#、#2001-08-20# (4
7、) 变体型变体型(Variant)数据是一种可变的数据类型,可以存放数据是一种可变的数据类型,可以存放任何类型的数据,任何类型的数据,VB会自动完成必要的转换会自动完成必要的转换 不特别说明时,不特别说明时,VB会自动将该变量默认为会自动将该变量默认为Variant型变量型变量 例:例: Temp=“22” 字符串字符串 Temp=Temp-1 数值数值 Temp=#01/01/2002# 日期日期主页主页 2.2 2.2 常量与变量常量与变量 2.2.1 2.2.1 常量常量 在程序运行期间其值始终保持不变的量在程序运行期间其值始终保持不变的量 一般常量一般常量:在程序代码中直接给出的数据。
8、:在程序代码中直接给出的数据。 例如:例如:123,-263, ”Visual Basic” , ”12.57”等等 符号常量:符号常量:在程序中用符号表示的常量。在程序中用符号表示的常量。 格式:格式: PublicPrivate Const 常量名常量名 As 数据类型数据类型=表达式表达式 例如:例如: Const PI=3.14159 As Single主页主页 2.2.22.2.2 变量变量 变量是在程序运行期间其值可以发生变化的量变量是在程序运行期间其值可以发生变化的量 1. 变量的命名规则变量的命名规则 应遵守一些规则应遵守一些规则 2. 变量的声明变量的声明 (1) 声明变量声
9、明变量(显式声明显式声明) 用用Dim、Public、Private或或Static语句来声明变量语句来声明变量 例如:例如:Dim sum As Integer 把把sum定义为整型变量定义为整型变量 (2)隐式声明隐式声明 不加说明就直接使用变量,此时默认的变量类型为变体型不加说明就直接使用变量,此时默认的变量类型为变体型 也允许使用类型符来声明变量的类型,如也允许使用类型符来声明变量的类型,如Num%,Sum!主页主页 (1) “值可变值可变”:当将某个数据存放到一个变量时,就把变量当将某个数据存放到一个变量时,就把变量中原有的值中原有的值“冲冲”掉,换成新的值。掉,换成新的值。 例如,
10、以下例如,以下2个赋值语句:个赋值语句: a = 3 a = 8 同一变量在不同时刻可以取不同的值同一变量在不同时刻可以取不同的值 (2)“取之不尽取之不尽”:在运算过程中,如果没有改变该变量的值,:在运算过程中,如果没有改变该变量的值,那么,不管使用变量的值进行多少次运算,其值始终保持不变。那么,不管使用变量的值进行多少次运算,其值始终保持不变。 例如例如 x = 5 a = 3 + x x的值始终保持为的值始终保持为5 b = x*x 4*x 3.3.变量的两个重要特点变量的两个重要特点主页主页 五类表达式:五类表达式:算术表达式算术表达式、字符串表达式字符串表达式、日期表达式日期表达式、
11、关关系表达式系表达式和和逻辑表达式逻辑表达式 1. 算术表达式:算术表达式: 运算符及其优先级:运算符及其优先级: (乘方乘方) -(求负求负) */ Mod +- 示例:示例:5*x10 + x/6 x(1/3) 15 Mod 6 2. 字符串表达式:字符串表达式:运算符有两个:运算符有两个:&和和+ ”计算机计算机” & ”网络网络” 结果为结果为 ”计算机网络计算机网络” 3. 日期表达式日期表达式: #8/8/2001# - #6/3/2001# 结果为结果为 66 #12/1/2000# - 32 结果为结果为 #10/30/2000# 2.3 2.3 表达式表达式结果?结果?主页主
12、页 1 + 2 * 14 Mod 17 6 / 2 = ? 求出下列表达式的值求出下列表达式的值想一想想一想 1. 按运算符的优先级分成若干运算步骤按运算符的优先级分成若干运算步骤 先乘除,再整除先乘除,再整除 和求和求Mod,后加运算,后加运算 2. 根据运算符的运算功能求出各步骤的结果根据运算符的运算功能求出各步骤的结果思考题思考题 1 + 28 Mod 5 结果为结果为 4主页主页 内部函数是由内部函数是由VB系统提供系统提供 函数调用的一般格式为:函数调用的一般格式为: 函数名函数名(参数参数1,参数,参数2,) 返回函数值返回函数值 例如:例如: y=Sqr(289) Sqr是内部函
13、数名,是内部函数名,289为参数,运行时该语句调用内部为参数,运行时该语句调用内部函数函数Sqr来求来求289的平方根,其计算结果由系统返回给变量的平方根,其计算结果由系统返回给变量y VB的内部函数大体上分为四大类:数学函数,字符串函的内部函数大体上分为四大类:数学函数,字符串函数,日期与时间函数和转换函数。数,日期与时间函数和转换函数。2.4 2.4 常用内部函数常用内部函数主页主页 说明说明: 函数函数Int(x)是求小于或等于是求小于或等于x的最大整数。的最大整数。 例如例如 Int(2)=2, Int(-2.5)=-3, Int(-3)=-3 利用利用Int函数可以对数据进行四舍五入
14、。例如,对一个正数函数可以对数据进行四舍五入。例如,对一个正数x舍去小数位时进行四舍五入,可采用如下式子:舍去小数位时进行四舍五入,可采用如下式子: Int(x+0.5) 当当x=9.4时,时,Int(9.4 + 0.5)=9 当当x=9.5时,时,Int(9.5 + 0.5)=102.4.1 2.4.1 数学函数数学函数 主页主页 随机函数随机函数Rnd可以模拟自然界中各种随机现象。它可产生可以模拟自然界中各种随机现象。它可产生一个一个(0,1)的随机数。在的随机数。在VB中,有一个称为中,有一个称为随机数生成器随机数生成器的随机的随机数生成程序,能产生一个随机数序列,用户每次调用数生成程序
15、,能产生一个随机数序列,用户每次调用Rnd即可得即可得到这个随机数序列中的一个。到这个随机数序列中的一个。 使用使用Randomize语句可以为语句可以为随机数生成器随机数生成器指定不同的初值或指定不同的初值或者称为随机数序列的者称为随机数序列的“种子种子”,这样可以得到不同的随机数序列。,这样可以得到不同的随机数序列。 Rnd通常与通常与Int函数配合使用函数配合使用 生成生成a, b区间范围内的随机整数,可以采用区间范围内的随机整数,可以采用 Int(b-a+1)*Rnd + a) 例如例如 Int(4*Rnd+1)可以产生可以产生14之间之间(含含1和和4)的随机整数。的随机整数。可以是
16、可以是1,2,3或或4,这由,这由VB运行时随机给定。运行时随机给定。主页主页编写的窗体单击事件过程代码如下:编写的窗体单击事件过程代码如下: Private Sub Form_Click() Dim x As Integer, a As Integer Dim b As Integer, c As Integer x = 36 a = Int(x / 10) 求十位数求十位数 b = x Mod 10 求个位数求个位数 c = b * 10 + a 生成新的数生成新的数 Print 处理后的数处理后的数: ; c End Sub运行程序后单击窗体,输出结果是:运行程序后单击窗体,输出结果是:
17、 处理后的数:处理后的数:63例例2.1 给定一个两位数给定一个两位数(如如36),交换个位数和十位数的位,交换个位数和十位数的位置,把处理后的数显示在窗体上置,把处理后的数显示在窗体上例例2.1主页主页编写的窗体单击事件过程代码如下:编写的窗体单击事件过程代码如下: Private Sub Form_Click() Dim a As Integer, b As Integer, c As Integer Randomize 初始化随机数生成器初始化随机数生成器 a = Int(90 * Rnd + 10) 产生产生10,99区间内的随机整数区间内的随机整数 b = Int(90 * Rnd
18、+ 10) c = a + b 求两数之和求两数之和 Print 产生的两个随机数产生的两个随机数: ; a, b Print 和数和数: ; c End Sub运行程序后单击窗体,输出结果是:运行程序后单击窗体,输出结果是: 产生的两个随机数:产生的两个随机数:56 71 和数:和数:127例例2.2 通过随机函数产生通过随机函数产生2个两位正整数,求这个两位正整数,求这2个数个数 之和并显示出来之和并显示出来 再次运行程序,单击窗体后输再次运行程序,单击窗体后输出另一组结果是:出另一组结果是: 产生的两个随机数:产生的两个随机数:18 37 和数:和数:55例例2.2主页主页 用于进行字符
19、串处理用于进行字符串处理 说明:说明:(1) 函数函数Mid(字符串,字符串,p,n) 从第从第P个开始取个开始取n个字符个字符 示例:示例:Mid(“ABCDEG”,3,2) 的结果为的结果为 ”CD” 若省略若省略n,则得到的是从则得到的是从P开始的往后所有字符,如开始的往后所有字符,如 Mid(“ABCDE”,2) 的结果为的结果为 “BCDE” (2)插入字符串语句插入字符串语句Mid (3) (3)在函数在函数InstrInstr中,中,f f和和k k均为可选参数,均为可选参数,f f表示开始搜索的位表示开始搜索的位置置( (默认值为默认值为1)1),k k表示比较方式,若表示比较
20、方式,若k k为为0(0(默认默认) ),表示区分大小,表示区分大小写;若写;若k k为为1 1,则不分大小写。,则不分大小写。 格式:格式: Instr(fInstr(f, , 字符串字符串1,1,字符串字符串2,k)2,k) 例如例如 Instr(3, Instr(3, ”A12a34A56A12a34A56”, ”A A”) ) 的结果为的结果为 7 7 Instr(3, Instr(3, ”A12a34A56A12a34A56”, , ”A A”, 1, 1) ) 的结果为的结果为 4 4 Instr( Instr(”A12a34A56A12a34A56”, ”A A”) ) 的结果为
21、的结果为 1 12.4.22.4.2 字符串函数字符串函数主页主页 先从字符串先从字符串a中找出某个指定字符中找出某个指定字符(本例为空格本例为空格),再以此,再以此字符为界拆分成两个字符串。编写的窗体单击过程代码如下:字符为界拆分成两个字符串。编写的窗体单击过程代码如下: Private Sub Form_Click() Dim a As String, b As String, c As String, n As Integer a = VisualBasic 表示空格表示空格 n = InStr(a, ) 查找空格位置查找空格位置 b = Left(a, n - 1) 取左边部分取左边部
22、分 c = Mid(a, n + 1) 取右边部分取右边部分 Print b 显示左边部分显示左边部分 Print c 显示右边部分显示右边部分 End Sub 程序运行后单击窗体,输出结果是:程序运行后单击窗体,输出结果是: Visual Basic例例2.32.3 使用字符串函数示例使用字符串函数示例例例2.3主页主页 Private Sub Form_Click() Dim a As String, b As String, c As String, n As Integer a = “VisualBasic” 表示空格表示空格 n = InStr(a, “”) 查找空格位置查找空格位置
23、 b = Left(a, n - 1) 取左边部分取左边部分 c = Right( _, _ ) 取右边部分取右边部分 Print b 显示左边部分显示左边部分 Print c 显示右边部分显示右边部分 End Sub 程序运行后单击窗体,输出结果是:程序运行后单击窗体,输出结果是: Visual Basic 若用若用 RightRight函数来代替函数来代替 MidMid函数函数, 应如何改动?应如何改动?想一想想一想思考题思考题A.(1) a (2) n B.(1) a (2) Len(a)-n 主页主页 日期日期/时间函数用于进行日期和时间处理时间函数用于进行日期和时间处理 例如:例如:
24、 函数函数Date返回系统日期,如返回日期为返回系统日期,如返回日期为 #11/03/2001# 函数函数Time返回系统时间,如返回时间为返回系统时间,如返回时间为 #7:03:28#2.4.3 2.4.3 日期与时间函数日期与时间函数主页主页 转换函数用于数据类型的转换转换函数用于数据类型的转换 说明:说明:Val函数将数字字符串转换为数值型数字时,会自动将字符串中函数将数字字符串转换为数值型数字时,会自动将字符串中的空格去掉,并依据字符串中排列在前面的数值常量来定值,例如:的空格去掉,并依据字符串中排列在前面的数值常量来定值,例如: Val(A12) 的值为的值为 0 Val(12A12
25、) 的值为的值为 12 Val(1.2e2) 的值为的值为 120 使用转换函数的示例使用转换函数的示例 Private Sub Form_Click() x = 123 y = 123 a = Chr(Asc(x) + 5) b = Str(Val(x) + 5) c = Val(Str(y) + 5) Print a,b, c End Sub 运行程序后单击窗体,输出结果是什么运行程序后单击窗体,输出结果是什么 ? ? 2.4.42.4.4 类型转换函数类型转换函数想一想想一想6 128 1235转换函数例转换函数例思考题思考题主页主页 在编写程序代码时,要遵守一定的规则。不能超越其规定在
26、编写程序代码时,要遵守一定的规则。不能超越其规定来自由发挥。来自由发挥。 (1) 一行写多条语句一行写多条语句。冒号分隔。冒号分隔 Sum=Sum+x : Count=Count+1 (2) 一条语句写成多行一条语句写成多行 使用续行符使用续行符(一个空格后面跟随一个下划线一个空格后面跟随一个下划线“_”),将长,将长语句分成多行。例如:语句分成多行。例如: Print Text1.Text & Text2.Text & Text4.Text &_ & Left(Text3.Text,3) (3)不区分大小写字母不区分大小写字母 VB不区分应用程序代码字母的大小写不区分应用程序代码字母的大小写
27、 。 2.5.22.5.2 代码书写规则代码书写规则主页主页 (4) 各关键字之间,关键字和变量名、常量名、各关键字之间,关键字和变量名、常量名、过程名之间一定要有空格分隔。过程名之间一定要有空格分隔。 示例:示例: Private Sub Form_Click() (5)使用缩进使用缩进 在编写程序代码时,可以使用缩进来反映代码的逻辑结在编写程序代码时,可以使用缩进来反映代码的逻辑结构和嵌套关系。构和嵌套关系。例如:例如: Private Sub Form_Click() x=4 If x1 Then Print x=1 End If End Sub主页主页 (6)严格按照严格按照VB规定的
28、格式和符号编写程序。规定的格式和符号编写程序。 与其他高级语言一样,在与其他高级语言一样,在VB中使用的分号、引号、括号中使用的分号、引号、括号等符号都是英文状态下的半角符号,而不能使用中文状态下等符号都是英文状态下的半角符号,而不能使用中文状态下的全角符号。的全角符号。 许多程序错误都是由此而起许多程序错误都是由此而起! 例如:例如: If a5 Then x=10 Print x=; x 不能写成不能写成 If a 5 Then x=10 Print “x=”;x全角符号全角符号全角符号全角符号主页主页 VBVB支持结构化的程序设计方法支持结构化的程序设计方法 其程序结构清晰,可读性好,也易于查错和修改其程序结构清晰,可读性好,也易于查错和修改 结构化程序设计方法有三种基本控制结构:结构化程序设计方法有三种基本控制结构: 顺序结构、选择结构和循环结构顺序结构、选择结构和循环结构 具有具有单入口,单出口单入口,单出口的特点的特点 (a) (b) (c) 顺序结构顺序结构 选择结构选择结构 循环结构循环结构AB假假真真L E真真假假AB E2.5.32.5.3 结构化程序的基本结构结构化程序的基本结构