程序设计基础_第1页
程序设计基础_第2页
程序设计基础_第3页
程序设计基础_第4页
程序设计基础_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

1、学习程序设计学习程序设计的基本方法:的基本方法: 多练多练 模仿模仿第第2 2章章 程序设计基础程序设计基础 程序中的大部分实际工作是采用程序代码来处理的程序中的大部分实际工作是采用程序代码来处理的 任何一个程序设计语言都有一套严格的编程规定任何一个程序设计语言都有一套严格的编程规定 本章主要内容本章主要内容 数据类型数据类型 常量与变量常量与变量 表达式表达式 常用内部函数常用内部函数 程序代码编写规则程序代码编写规则 2.1 2.1 数据类型数据类型 数据是程序处理的对象。为了更好地处理各种各样的数据,数据是程序处理的对象。为了更好地处理各种各样的数据,VB定义了多种数据类型定义了多种数据

2、类型 数值型数值型 数据类型数据类型 字符型字符型 逻辑型逻辑型 日期型日期型 对象型对象型 变体型变体型整数整数: 整型整型/长整型长整型字节型字节型浮点型浮点型: 单单/双精度双精度货币型货币型 1. 1. 整型整型(Integer)(Integer)和长整型和长整型(Long)(Long) 不带小数部分的数,表示正整数、负整数和零不带小数部分的数,表示正整数、负整数和零 整型数整型数: : -32768-327683276732767 长整型数:长整型数:-2147483648-214748364821474836472147483647 2. 2. 字节型字节型(Byte)(Byte)

3、 字节型数可以表示无符号的整数字节型数可以表示无符号的整数 0 0255255 3. 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) 专门为处理货

4、币而设计的数据类型专门为处理货币而设计的数据类型 它可最多保留小数点右边它可最多保留小数点右边4 4位和小数点左边位和小数点左边1515位位 5. 字符型字符型(String) 用双引号括起来的一串字符。用双引号括起来的一串字符。 例如,例如,“Canton”、”1+2=?”、”GoodMorning”等等 “”称为起止界限符。称为起止界限符。 字符串长度。分变长字符串字符串长度。分变长字符串(长度不固定长度不固定)和定长字符串和定长字符串(长度长度固定固定) 在在VB中,把汉字作为一个字符来处理。中,把汉字作为一个字符来处理。 6. 逻辑型逻辑型(Boolean) 逻辑型又称布尔型,其数据只

5、有逻辑型又称布尔型,其数据只有True(真真)和和False(假假)两个值两个值 7. 日期型日期型(Date) 表示日期和时间表示日期和时间 用两个用两个“#”符号把日期和时间的值括起来符号把日期和时间的值括起来 如:如:#08/20/2001#、#2001-08-20# 8. 对象型对象型(Object) 对象型数据可用来表示应用程序中的对象对象型数据可用来表示应用程序中的对象 9. 变体型变体型(Variant) 变体型数据是一种可变的数据类型,可以存放任何类型的数变体型数据是一种可变的数据类型,可以存放任何类型的数据据 当指定变量为当指定变量为Variant变量时,变量时,VB会自动完

6、成必要的转换会自动完成必要的转换 在程序中不特别说明时,在程序中不特别说明时,VB会自动将该变量默认为会自动将该变量默认为Variant型变量。型变量。 例:例:Temp=“22” 字符串字符串 Temp=Temp-1 数值数值 Temp=#01/01/2002# 日期日期 说明:说明: (1) 不同类型的数据,所占的存储空间不一样。不同类型的数据,所占的存储空间不一样。 (2) 数据的类型可在数据之后加上一个类型符来数据的类型可在数据之后加上一个类型符来表示,例如,表示,例如,413&,86!,104.67#等。等。 2.2 2.2 常量与变量常量与变量 2.2.1 常量常量 在程序

7、运行期间其值始终保持不变的量在程序运行期间其值始终保持不变的量 两种形式的常量:一般常量和符号常量两种形式的常量:一般常量和符号常量 1. 一般常量一般常量 在程序代码中直接给出的数据。例如:在程序代码中直接给出的数据。例如:123,-263, “Visual Basic” , “12.57 ”等等 2. 符号常量符号常量 符号常量是在程序中用符号表示的常量。符号常量是在程序中用符号表示的常量。 格式:格式: PublicPrivate Const 常量名常量名 As 数据类型数据类型=表达式表达式 例如:例如: Const PI=3.14159 As Single 2.2.2 2.2.2 变

8、量变量 变量是在程序运行期间其值可以发生变化的量变量是在程序运行期间其值可以发生变化的量 1. 变量的命名规则变量的命名规则 应遵守一些规则:应遵守一些规则: (1)变量名必须以字母开头;变量名必须以字母开头; (2)只能由字母、数字和下划线组成。不能含有小数点、空只能由字母、数字和下划线组成。不能含有小数点、空格等字符;格等字符; (3)字符个数不得超过字符个数不得超过255个;个; (4)不能使用不能使用VB的关键字的关键字(如语句名、函数名等如语句名、函数名等)。例如,。例如,Print、Sub、End等;等; (5) 不区分变量名中字母的大小写不区分变量名中字母的大小写 变量的声明就是

9、向程序说明要使用的变量变量的声明就是向程序说明要使用的变量 有以下有以下2种方法种方法(显式声明与隐式声明显式声明与隐式声明) (1) 声明变量声明变量(显式声明显式声明) 用用Dim、Public、Private或或Static语句来声明变量语句来声明变量 例如:例如:Dim sum As Integer 把把sum定义为整型变量定义为整型变量 (2)隐式声明隐式声明 不加说明就直接使用变量,此时默认的变量类型为变体类不加说明就直接使用变量,此时默认的变量类型为变体类型型(Variant) 也允许使用类型符来声明变量的类型,如也允许使用类型符来声明变量的类型,如Num%,Sum! 2. 2.

10、 变量的声明变量的声明 五类表达式:五类表达式:算术表达式算术表达式、字符串表达式字符串表达式、日期表达式日期表达式、关系表达式关系表达式和和逻辑表达式逻辑表达式2.3.1 算术表达式算术表达式 算术表达式也称数值表达式,是用算术运算符把数值型常算术表达式也称数值表达式,是用算术运算符把数值型常量、变量、函数连接起来的式子量、变量、函数连接起来的式子 表达式的运算结果是一个数值表达式的运算结果是一个数值 VB有有8种算术运算符种算术运算符(表表2.2) 运算符优先级运算符优先级 (乘方乘方) -(求负求负) */ Mod +- 同级左到右同级左到右 2.3 2.3 表达式表达式说明:说明: (

11、1)/和的区别:和的区别:1/2=0.5,12=0 (2)Mod用来求整型数除法的余数。用来求整型数除法的余数。 例如:例如:9 Mod 7 结果为结果为 2 (3)在表达式中乘号不能省略,在表达式中乘号不能省略,如如a*b不能写不能写成成ab(或或ab) (4)括号不分大、中、小,一律采用圆括号。括号不分大、中、小,一律采用圆括号。可以嵌套使用可以嵌套使用 例如,例如,xx(x+1)+1 x*(x*(x+1)+1) 字符串表达式是采用连接符将两个字符串常量、字符串表达式是采用连接符将两个字符串常量、字符串变量、字符串函数连接起来的式子。字符串变量、字符串函数连接起来的式子。 连接符有两个:连

12、接符有两个:&和和+ 其作用都是将两个字符串连接起来,运算结果是其作用都是将两个字符串连接起来,运算结果是一个字符串。一个字符串。 例如:例如: ”计算机计算机” & ”网络网络” 的结果是:的结果是: ”计算机网络计算机网络” ”123” + ”45” 的结果是:的结果是: ”12345” 123 & ”ABC” 的结果是:的结果是: ”123ABC” 2.3.2 2.3.2 字符串表达式字符串表达式 日期表达式是用运算符日期表达式是用运算符(+或或-)将算术表达式、日期型常将算术表达式、日期型常量、日期型变量和函数连接起来的式子。量、日期型变量和函数连接起来的式子。

13、有以下有以下3种运算方式:种运算方式: (1)两个日期型数据相减,其结果是一个数值型数据两个日期型数据相减,其结果是一个数值型数据(相相差的天数差的天数)。 例如:例如:#8/8/2001# - #6/3/2001# 的结果为:的结果为:66 (2)日期型数据加上天数,其结果为一个日期型数据。日期型数据加上天数,其结果为一个日期型数据。 例如:例如:#12/1/2000#+31 的结果为的结果为:#01/01/2001# (3)日期型数据减去天数,其结果为一个日期型数据。日期型数据减去天数,其结果为一个日期型数据。 例如:例如:#12/1/2000#-32 的结果为:的结果为:#10/30/2

14、000#2.3.3 2.3.3 日期表达式日期表达式 内部函数是由内部函数是由VB系统提供的,每个内部函数完成某个特系统提供的,每个内部函数完成某个特定的功能。在程序中使用函数称为调用函数定的功能。在程序中使用函数称为调用函数 函数调用的一般格式为:函数调用的一般格式为: 函数名函数名(参数参数1,参数,参数2,) 参数参数(也称自变量也称自变量)放在圆括号内,若有多个参数,以逗号放在圆括号内,若有多个参数,以逗号分隔。分隔。 函数调用后,一般都有一个确定的函数值,即返回值。函数调用后,一般都有一个确定的函数值,即返回值。 例如:例如:y=Sqr(289) Sqr是内部函数名,是内部函数名,2

15、89为参数,运行时该语句调用内部为参数,运行时该语句调用内部函数函数Sqr来求来求289的平方根,其计算结果由系统返回给变量的平方根,其计算结果由系统返回给变量y VB的内部函数大体上分为四大类:的内部函数大体上分为四大类:数学函数数学函数,字符串函字符串函数数,日期与时间函数日期与时间函数和和转换函数转换函数。2.4 2.4 常用内部函数常用内部函数 VB中备有各种计算算术函数的子程序,在程序中要使用某中备有各种计算算术函数的子程序,在程序中要使用某个函数时,只要调用该函数就行了。个函数时,只要调用该函数就行了。 使用数学函数的几点说明:使用数学函数的几点说明: (1) 三角函数的自变量单位

16、是弧度三角函数的自变量单位是弧度 如如Sin47应写成应写成 Sin(47*3.14159/180)。 (2) 函数函数Int是求小于或等于是求小于或等于x的最大整数。的最大整数。 例如例如 Int(2)=2, Int(-2.5)=-3 当当x0时就直接舍去小数,若时就直接舍去小数,若x0则舍去小数位后再减则舍去小数位后再减1 利用利用Int函数可以对数据进行四舍五入。例如,对一个正数函数可以对数据进行四舍五入。例如,对一个正数x舍去小数位时进行四舍五入,可采用如下式子:舍去小数位时进行四舍五入,可采用如下式子: Int(x+0.5) 当当x=9.4时,时,Int(9.4 + 0.5)=9 当

17、当x=9.5时,时,Int(9.5 + 0.5)=102.4.1 2.4.1 数学函数数学函数 (3)随机函数可以模拟自然界中各种随机现象,它随机函数可以模拟自然界中各种随机现象,它所产生的随机数,可以提供给各种运算或试验使用所产生的随机数,可以提供给各种运算或试验使用 Rnd通常与通常与Int函数配合使用函数配合使用 生成生成a, b区间范围内的区间范围内的随机整数,可以采用随机整数,可以采用 Int(b-a+1)*Rnd + a) 例如例如 Int(4*Rnd+1)可以产生可以产生14之间之间(含含1和和4)的随机整数。的随机整数。可以是可以是1,2,3或或4,这由,这由VB运行时随机给定

18、运行时随机给定 使用使用Rnd函数之前,先用函数之前,先用Randomize语句来初始化语句来初始化随机数生成器随机数生成器编写的窗体单击事件过程代码如下:编写的窗体单击事件过程代码如下: 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运行程序后单击窗体

19、,输出结果是:运行程序后单击窗体,输出结果是: 处理后的数:处理后的数:63 例例2.1 给定一个两位正整数给定一个两位正整数(如如36),交换个位数和十位数,交换个位数和十位数的位置,把处理后的数显示在窗体上的位置,把处理后的数显示在窗体上Private Sub Form_Click() Dim x As Integer, a As Integer Dim b As Integer, c As Integer x = 36 a = x 10 求十位数求十位数 b = x 10 * a 求个位数求个位数 c = b * 10 + a Print 处理后的数处理后的数: ; cEnd Sub 把

20、上述程序改为以下形式,效果是否一样?把上述程序改为以下形式,效果是否一样?想一想想一想 通常,解决某个问题的程序方法有多种,通常,解决某个问题的程序方法有多种,我们应该从中选择较优的一种方法。我们应该从中选择较优的一种方法。编写的窗体单击事件过程代码如下:编写的窗体单击事件过程代码如下: Private Sub Form_Click() Dim a As Integer, b As Integer, c As Integer Randomize 初始化随机数生成器初始化随机数生成器 a = Int(90 * Rnd + 10) 产生产生10,99区间内的随机整数区间内的随机整数 b = Int

21、(90 * Rnd + 10) c = a + b 求两数之和求两数之和 Print 产生的两个随机数产生的两个随机数: ; a, b Print 和数和数: ; c End Sub运行程序后单击窗体,输出结果是:运行程序后单击窗体,输出结果是: 产生的两个随机数:产生的两个随机数:56 71 和数:和数:127例例2.2 通过随机函数产生通过随机函数产生2个两位正整数,求这个两位正整数,求这2个数个数 之和并显示出来之和并显示出来 再次运行程序,单击窗体后再次运行程序,单击窗体后输出另一组结果是:输出另一组结果是: 产生的两个随机数:产生的两个随机数:18 37 和数:和数:55 字符串函数

22、用于进行字符串处理字符串函数用于进行字符串处理 使用字符串函数的几点说明:使用字符串函数的几点说明: (1)函数函数Mid(“ABCDEG”,3,2)的结果为的结果为”CD” 若省略若省略n,则得到的是从,则得到的是从P开始的往后所有字符,如开始的往后所有字符,如 Mid(“ABCDE”,2) 的结果为的结果为 “BCDE” (2)插入字符串语句插入字符串语句Mid,该语句格式如下:,该语句格式如下: Mid(字符串字符串, p,n) = 子字符串子字符串 用用“子字符串子字符串”替换替换“字符串字符串”中从中从P开始的与开始的与“子字子字符串符串”等长的一串字符。等长的一串字符。 例如,假设

23、例如,假设S=“ABCDE“,执行语句执行语句Mid(S,3)=“99“后,后,S的值为的值为“AB99E“2.4.22.4.2 字符串函数字符串函数 (3)(3)在函数在函数InstrInstr中,中,f f和和k k均为可选参数,均为可选参数,f f表示表示开始搜索的位置开始搜索的位置( (默认值为默认值为1)1),k k表示比较方式,若表示比较方式,若k k为为0(0(默认默认) ),表示区分大小写;若,表示区分大小写;若k k为为1 1,则不分大小,则不分大小写。写。 格式:格式: Instr(f, Instr(f, 字符串字符串1,1,字符串字符串2,k)2,k) 例如例如 Inst

24、r(3, Instr(3, ”A12a34A56A12a34A56”, ”A A”) ) 的结果为的结果为 7 7 Instr(3, Instr(3, ”A12a34A56A12a34A56”, , ”A A”, 1, 1) ) 的结果为的结果为 4 4 Instr(Instr(”A12a34A56A12a34A56”, ”A A”) ) 的结果为的结果为 1 1 (4)在函数在函数String中,字符也可以用中,字符也可以用ASCII代码代码(附附录一录一)来表示来表示 例如例如 String(6, 42) 与与 String(6, ”*”)作用相同作用相同 先从字符串先从字符串a中找出某个

25、指定字符中找出某个指定字符(本例为空格本例为空格),再以此,再以此字符为界拆分成两个字符串。编写的窗体单击过程代码如下:字符为界拆分成两个字符串。编写的窗体单击过程代码如下: Private Sub Form_Click() Dim a As String, b As String, c As String, n As Integer a = VisualFoxPro 表示空格表示空格 n = InStr(a, ) 查找空格位置查找空格位置 b = Left(a, n - 1) 取左边部分取左边部分 c = Mid(a, n + 1) 取右边部分取右边部分 Print b 显示左边部分显示左边

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

27、Print b 显示左边部分显示左边部分 Print c 显示右边部分显示右边部分 End Sub 程序运行后单击窗体,输出结果是:程序运行后单击窗体,输出结果是: Visual FoxPro 若用若用 RightRight函数来代替函数来代替 MidMid函数函数, 应如何改动?应如何改动?想一想想一想答案:答案:a, Len(a)-n 日期日期/时间函数用于进行日期和时间处理时间函数用于进行日期和时间处理 说明:说明: 函数函数Weekday返回值返回值17,依次表示星期日到星,依次表示星期日到星期六。期六。2.4.3 2.4.3 日期与时间函数日期与时间函数 Private Sub Fo

28、rm_Click()Private Sub Form_Click() x = #1/1/2005# x = #1/1/2005# a = x - Date a = x - Date b = Weekday(x) b = Weekday(x) c = Year(Date) c = Year(Date) d = Month(Date) d = Month(Date) e = Hour(Time) e = Hour(Time) f = Minute(Time) f = Minute(Time) Print Print 现在距离现在距离20052005年元旦还有:年元旦还有: ; a; ; a; 天天

29、 Print Print 20052005年元旦是:星期年元旦是:星期; b-1; b-1 Print Print 本月份是:本月份是:; c; ; c; 年年; d; ; d; 月月 Print Print 现在是:现在是:; e; ; e; 时时; f; ; f; 分分 End SubEnd Sub运行程序后单击窗体,输出结果如下:运行程序后单击窗体,输出结果如下: 现在距离现在距离20052005年元旦还有:年元旦还有:11841184天天 20052005年元旦是:星期年元旦是:星期6 6 本月份是:本月份是:20012001年年1010月月 现在是:现在是:1616时时2727分分例

30、例2.42.4 使用日期使用日期/ /时间函数示例时间函数示例 (留给学生分析)(留给学生分析) 转换函数用于数据类型的转换转换函数用于数据类型的转换 说明:说明:Val函数将数字字符串转换为数值型数字时,会自动函数将数字字符串转换为数值型数字时,会自动将字符串中的空格去掉,并依据字符串中排列在前面的数值常将字符串中的空格去掉,并依据字符串中排列在前面的数值常量来定值,例如:量来定值,例如: Val(A12) 的值为的值为 0 Val(12A12) 的值为的值为 12 Val(1.2e2) 的值为的值为 120 例例2.4 2.4 使用转换函数的示例使用转换函数的示例(留给学生分析留给学生分析

31、) Private Sub Form_Click()Private Sub Form_Click() x = x = 123123 y = 123 y = 123 a = Chr(Asc(x) + 5) a = Chr(Asc(x) + 5) b = Str(Val(x) + 5) b = Str(Val(x) + 5) c = Val(Str(y) + c = Val(Str(y) + 5 5) ) Print a,b, c Print a,b, c End Sub End Sub 运行程序后单击窗体,输出结果如下:运行程序后单击窗体,输出结果如下: 6 128 12356 128 1235

32、 2.4.4 2.4.4 类型转换函数类型转换函数 2.5.1 语句及语法语句及语法 VB中的程序语句是执行具体操作的指令。中的程序语句是执行具体操作的指令。 由由VB关键字、属性、表达式以及关键字、属性、表达式以及VB可识别符号的组合可识别符号的组合 例如,下列两个语句:例如,下列两个语句: Print a 2 * b 关键字关键字 表达式表达式 Text1.Text “VB程序设计程序设计” 对象名对象名 属性名属性名 赋值号赋值号 表达式表达式 简单的语句只有一个关键字。示例:简单的语句只有一个关键字。示例: End 2.5 2.5 程序代码编写规则程序代码编写规则 建立程序语句时必须遵守的构建规则称为语法。建立程序语句时必须遵守的构建规则称为语法。 统一约定符号如下:统一约定符号如下: 方括号,可选项方括号,可选项 多项中选一项多项中选一项 (竖线竖线)用来分隔多个选择项用来分隔多个选择项(选其中之一项选其中之一项) , 表示同类项目的重复出现表示同类项目的重复出现 在编写程序代码时,要遵守一定的规则。不能超越其规在编写程序代码时,要遵守

温馨提示

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

评论

0/150

提交评论