VB语言基础第2章 Visual Basic语言基础教学课件_第1页
VB语言基础第2章 Visual Basic语言基础教学课件_第2页
VB语言基础第2章 Visual Basic语言基础教学课件_第3页
VB语言基础第2章 Visual Basic语言基础教学课件_第4页
VB语言基础第2章 Visual Basic语言基础教学课件_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

1、常量、变量、函数及表达式是构成Visual Basic应用程序的基本元素,是学习和掌握程序设计的基础。,第2章 Visual Basic语言基础,第2章 Visual Basic语言基础,退出,2.1 标准数据类型,数据类型(Data type):计算机中表示的同一数据对象及其在该对象上的一组操作的总称。包括简单数据类型和复合数据类型。 简单数据类型是计算机语言系统提供的一些简单类型,其值不可分解。 复合数据类型是借用计算机语言中原子数据类型用各种方式组合而成的,其值可以分解,如数组、文件等。 VB把各种不同的数据分为多种数据类型,主要有数值型、字符型、逻辑型、日期型、对象型和变体型等六种标准

2、(基本)数据类型和记录、枚举、数组、文件等复合数据类型。,2.1 标准数据类型,数值型 字符型 逻辑型 日期型 对象型 变体型,整数: 整型/长整型 字节型 浮点型: 单/双精度 货币型,标准数据类型,定长字符型 变长字符型,一般情况下VB使用十进制数来表示数值型数据,有时也使用十六进制和八进制表示,十六进制数以 Pi * r 2 End Sub,例2-1,2.2.2 变量,变量是在程序运行期间其值可以发生变化的量 1. 变量的命名规则 应遵守一些规则: 变量必须以字母开头,后跟字母、汉字、数字或下划线等,不能含有非法字符,如小数点或空格等,长度不超过255个字符。 不能使用Visual Ba

3、sic中的保留字来命名。 变量名不区分大小写字母,如:XYZ、xyz、Xyz等被视为同一个名字。 变量名要尽量有意义,如求和的变量起名为Sum。,2.2.2 变量,2. 变量的初始化 不同类型的变量初始值有所不同: 所有数值型变量(整型、长整型、单精度型、双精度型、货币型)的初始值为0 布尔型变量的初始值为False 日期型变量的初始值为00:00:00 变长字符串变量的初始值为空字符串(“”) 定长字符串的初始值为其长度个空格 变体型变量的初始值为空值(Empty),变量的声明就是向程序说明要使用的变量 有以下2种方法(显式声明与隐式声明) (1) 声明变量(显式声明) 用Dim、Publi

4、c、Private或Static语句来声明变量 例如:Dim sum As Integer 把sum定义为整型变量 (2)隐式声明 不加说明就直接使用变量,此时默认的变量类型为变体类型(Variant) 也允许使用类型符来声明变量的类型,如Num%,Sum!,3. 变量的声明,(1) “新值覆盖旧值 ”:当将某个数据存放到一个变量时,就把变量中原有的值“冲”掉,换成新的值。 例如,以下2个赋值语句: x = 5 把5存放到变量x中 x = x + 1 将x中的5取出,加1后再赋值给x,原值5会丢失,换成新值6 同一变量在不同时刻可以取不同的值 (2)“值取之不尽”:运算过程中,如果没有改变该变

5、量的值,不管使用变量的值进行多少次运算,其值始终保持不变。例如: s = 3 x =s + 8 y =s * 2 - 1 z= s * s - 4 *s 变量s在程序语句中被多次使用,但其值始终保持为3。,4.变量的重要特点,内部函数是由VB系统提供的,每个内部函数完成某个特定的功能。在程序中使用函数称为调用函数 函数调用的一般格式为: 函数名(参数1,参数2,) 参数(也称自变量)放在圆括号内,若有多个参数,以逗号分隔。 函数调用后,一般都有一个确定的函数值,即返回值。 例如:y=Sqr(289) Sqr是内部函数名,289为参数,运行时该语句调用内部函数Sqr来求289的平方根,其计算结果

6、由系统返回给变量y VB的内部函数大体上分为四大类:数学函数,字符串函数,日期与时间函数和转换函数。,2.3 内部函数,VB中备有各种数学函数的子程序,在程序中要使用某个函数时,只要调用该函数就行了。 使用数学函数的几点说明: (1) 三角函数的自变量单位是弧度 如Sin47应写成 Sin(47*3.14159/180)。 (2) 函数Int是求小于或等于x的最大整数。 例如 Int(2)=2, Int(-2.5)=-3, Int(-3) = -3 当x0时就直接舍去小数,若x0则取小于或等于x的第一个负整数。 利用Int函数可以对数据进行四舍五入。例如,对一个正数x舍去小数位时进行四舍五入,

7、可采用如下式子: Int(x+0.5) 当x=9.4时,Int(9.4 + 0.5)=9 当x=9.5时,Int(9.5 + 0.5)=10,2.3.1 数学函数,(3) 随机函数Rnd可以模拟自然界中各种随机现象。它可产生一个(0,1)的随机数。在VB中,有一个称为随机数生成器的随机数生成程序,能产生一个随机数序列,用户每次调用Rnd即可得到这个随机数序列中的一个。 使用Randomize语句可以为随机数生成器指定不同的初值或者称为随机数序列的“种子”,这样可以得到不同的随机数序列 Rnd通常与Int函数配合使用 生成a, b区间范围内的随机整数,可以采用 Int(b-a+1)*Rnd +

8、a) 例如 Int(4*Rnd+1)可以产生14之间(含1和4)的随机整数。可以是1,2,3或4,这由VB运行时随机给定,编写的窗体单击事件过程代码如下: Private Sub Command1_Click() Randomize 保证生成的随机数不相同 Dim a As Integer, b As Integer, c As Integer a = Int(10 + Rnd *90) 生成一个10-99之间的随机整数 b = Int(10 + Rnd * 90) c = Int(10 + Rnd * 90) Print a, b, c 显示这三个数 End Sub,例2-4 利用随机函数生

9、成三个不同的1099之间的随机整数,程序运行时,单击命令按钮,将这三个数显示在窗体上。,再次运行程序,单击窗体后输出另一组结果,例2-4,编写的窗体单击事件过程代码如下: Private Sub Form_Click() Dim x As Integer, a As Integer Dim b As Integer, c As Integer x = Int(Rnd*90)+10 a = Int(x / 10) 求十位数 b = x Mod 10 求个位数 c = b * 10 + a 生成新的数 Print 处理后的数: ; c End Sub,例 随机产生一个两位数,交换个位数和十位数的位

10、置,把处理后的数显示在窗体上,Private Sub Form_Click() Dim x As Integer, a As Integer Dim b As Integer, c As Integer x = Int(Rnd*90)+10 a = x 10 求十位数 b = x 10 * a 求个位数 c = b * 10 + a Print 处理后的数: ; c End Sub,把上述程序改为以下形式,效果是否一样?,想一想,通常,解决某个问题的程序方法有多种,我们应该从中选择一种较好的方法,思考题,字符串函数用于进行字符串处理 使用字符串函数的几点说明: (1)函数Mid(“ABCDEG

11、”,3,2)的结果为”CD” 若省略n,则得到的是从P开始的往后所有字符,如 Mid(“ABCDE”,2) 的结果为 “BCDE” (2)插入字符串语句Mid,该语句格式如下: Mid(字符串, p,n) = 子字符串 用“子字符串”替换“字符串”中从P开始的与“子字符串”等长的一串字符。 例如,假设S=“ABCDE“,执行语句Mid(S,3)=“99“后,S的值为“AB99E“,2.3.2 字符串函数,(3)在函数Instr中,f和k均为可选参数,f表示开始搜索的位置(默认值为1),k表示比较方式,若k为0(默认),表示区分大小写;若k为1,则不分大小写。 格式: Instr(f, 字符串1

12、,字符串2,k) 例如 Instr(3, ”A12a34A56”, ”A”) 的结果为 7 Instr(3, ”A12a34A56”, ”A”, 1) 的结果为 4 Instr(”A12a34A56”, ”A”) 的结果为 1 (4) 函数String中,字符也可以用ASCII代码(附录A)来表示 例如 String(6, 42) 与 String(6, ”*”)作用相同,先从字符串a中找出某个指定字符(本例为空格),再以此字符为界拆分成两个字符串。编写的窗体单击过程代码如下: Private Sub Form_Click() Dim a As String, b As String, c A

13、s String, n As Integer a = VisualBasic 表示空格 n = InStr(a, ) 查找空格位置 b = Left(a, n - 1) 取左边部分 c = Mid(a, n + 1) 取右边部分 Print b 显示左边部分 Print c 显示右边部分 End Sub 程序运行后单击窗体,输出结果是: Visual Basic,例 使用字符串函数示例,Private Sub Form_Click() Dim a As String, b As String, c As String, n As Integer a = “VisualBasic” 表示空格 n

14、 = InStr(a, “”) 查找空格位置 b = Left(a, n - 1) 取左边部分 c = Right( _, _ ) 取右边部分 Print b 显示左边部分 Print c 显示右边部分 End Sub 程序运行后单击窗体,输出结果是: Visual Basic,若用 Right函数来代替 Mid函数, 应如何改动?,想一想,答案:a, Len(a)-n,思考题,Private Sub Command1_Click() Text1.Text = UCase(Text1.Text) End Sub Private Sub Command2_Click() Text1.Text =

15、 LCase(Text1.Text) End Sub,例2-5 编程实现如下功能:在文本框中输入既有大写字母又有小写字母的字符串,单击“转为大写”按钮将字符转为大写,单击“转为小写”按钮将字符转为小写。,表2-4 对象属性设置表 默认对象名称属性名称属性设置值 Form1 Caption 大小写转换 Label1 Caption 输入大小写都有的字符串 Text1 Text 空 Command1Caption 转大写 Command2Caption 转小写,例2-5,Private Sub Command1_Click() Dim n As Integer, x As String n = L

16、en(Text1.Text) x = Right(Text1.Text, 1) Text2.Text = String(n, x) End Sub,例2-6 编程实现如下功能:在第一个文本框中输入一个字符串,单击“生成新字符串”按钮后,在第二个文本框中输出和第一个字符串长度相同的字符串,且内容全部是第一个字符串的最后一个字母。,例2-6,日期/时间函数用于进行日期和时间处理 例如: 函数Date返回系统日期,如返回日期为 #11/03/2001# 函数Time返回系统时间,如返回时间为 #7:03:28#,2.3.3 日期与时间函数,Private Sub Command1_Click() T

17、ext1.Text = Date End Sub Private Sub Command2_Click() Text2.Text = Time End Sub,例2-7 编程实现如下功能:单击“显示当前日期”按钮后,在第一个文本框中输出当前日期;单击“显示当前时间”按钮后,在第二个文本框中输出当前时间。,转换函数用于数据类型的转换 1隐式转换 把一种类型的数据赋给另一种类型的变量时,或不同类型的数据进行运算时,Visual Basic能够自动完成某些数据的转换 。 数值型之间的转换 字符串类型的转换 (例) 逻辑型值的转换 日期时间型的转换 例2-8 在两个文本框中各输入一个两位数,单击“显示

18、”按钮后,程序执行结果如图所示。 代码如下: Private Sub Command1_Click() Print Text1.Text + Text2.Text Print Val(Text1.Text) + Val(Text2.Text) End Sub,2.3.4 类型转换函数,转换函数用于数据类型的转换 说明:Val函数将数字字符串转换为数值型数字时,会自动将字符串中的空格去掉,并依据字符串中排列在前面的数值常量来定值,例如: Val(A12) 的值为 0 Val(12A12) 的值为 12 Val(1.2e2) 的值为 120 使用转换函数的示例 Private Sub Form_C

19、lick() 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.3.4 类型转换函数,想一想,6 128 1235,转换函数例,思考题,转换函数用于数据类型的转换 2隐式转换 把一种类型的数据赋给另一种类型的变量时,或不同类型的数据进行运算时,Visual Basic能够自动完成某些数据的转换 。 数值型之间的转换 字符串类型的转换 (例) 逻辑型值的转换 日期时间型的转换 例2-8 在两个文本框中各输入一个

20、两位数,单击“显示”按钮后,程序执行结果如图所示。 代码如下: Private Sub Command1_Click() Print Text1.Text + Text2.Text Print Val(Text1.Text) + Val(Text2.Text) End Sub,2.3.4 类型转换函数,转换函数用于数据类型的转换 1显式转换 为提高程序执行效率,有时采用显式转换,显式转换CType()函数如下:,2.3.4 类型转换函数,CType( ) 函数,用来调用DOS下或者Windows下运行的任何应用程序。 Shell 命令字符串,窗口类型,2.3.5 Shell函数,Shell函数

21、窗口类型,五类表达式:算术表达式、字符串表达式、日期表达式、关系表达式和逻辑表达式 2.4.1 算术运算符及算术表达式 算术表达式也称数值表达式,由算术运算符、数值型常量、变量、函数及括号组成 其运算结果是一个数值 VB有8种算术运算符(表2.2) 运算符优先级 (乘方) -(求负) */ Mod +- 同级左到右,有括号时括号内优先,2.4 运算符与表达式,说明: (1)/和的区别:1/2=0.5,12=0 (2)Mod用来求整型数除法的余数。 例如:9 Mod 7 结果为 2 (3)在表达式中乘号不能省略,如a*b不能写成ab(或ab) (4)括号不分大、中、小,一律采用圆括号。可以嵌套使

22、用 例如,xx(x+1)+1 x*(x*(x+1)+1),1 + 2 * 14 Mod 17 6 / 2 = ?,求出下列表达式的值,想一想,1. 按运算符的优先级分成若干运算步骤 先乘除,再整除和求Mod,后加运算 2. 根据运算符的运算功能求出各步骤的结果,思考题,1 + 28 Mod 5,结果为 4,例2-9、例2-10、例2-11、例2-12,例题,字符串表达式由字符串常量、字符串变量、字符串函数和字符中运算符组成。 运算符有两个:&和+ 其作用都是将两个字符串连接起来,合并成一个新的字符串。 例如: ”计算机” & ”网络” 的结果是: ”计算机网络” ”123” + ”45” 的结果是: ”12345” 123 & ”ABC” 的结果是: ”123ABC”,2.4.2 字符串表达式,Private Sub Command1_Click() a = Text1.Text: b = Text2.Text Text3.Text = Val(Left(a

温馨提示

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

评论

0/150

提交评论