《《程序设计入门》ppt课件》由会员分享,可在线阅读,更多相关《《程序设计入门》ppt课件(45页珍藏版)》请在金锄头文库上搜索。
1、第2章 程序设计入门,语言和语法是Visual Basic程序设计基础,本章的主要内容有: 2.1 Visual Basic中的数据类型 2.2 常量与变量 2.3 表达式 2.4 常用内部函数 2.5 语句和程序,2.1 Visual Basic中的数据类型,2.1.1 数据的分类 数据的概念:用于描述客观事物的数、字符以及所有能输入到计算机中并被计算机程序加工处理的符号的集合统称为数据。 数据的分类: 从数据的类型来分,数据可分为:数值型数据、字符型数据、逻辑型数据、日期型数据等。 从数据的处理层次上分,数据又可分为:常量、变量、函数和表达式。,2.1.2 标准数据类型,Visual Ba
2、sic中的基本数据类型,说明: 1其中前六个为数值型,它们的区别如下: Byte型:不能表达负数,只能表达0-255内的整数, 不能使用小数。 Integer与Long型:只能表达整数,数值范围达到+/-21亿,但运算速度较慢。 Single、Double与Currency型:数据可包含小数,其中Single型的精度为7位,Double型的精度达到15位, Currency型支持小数点左边15位右边4位。Single与Double的有效范围比Currency大得多,但精度低。 2所有数值型的数据可以互相赋值,若将浮点型数赋给整型数,将对小数进行四舍五入后再赋值。,3. 在Visual Basi
3、c中,数值型数据都有一个有效的范 围值,程序中的数据如果超出规定的范围,就会出现“溢出”信息(Overflow)。如果小于范围的下限值,系统将按“0”处理;如果大于上限值,则系统只按上限值处理,并显示出错误信息。 4String型可分为定长和变长两类,定长型可容纳 65535个字符,变长型可容纳20亿个字符。 5Date型用于表示日期时间,在VB中Date型数据必须用“#”括起来,有三种标准格式: #月/日/年# 例如:#12/23/1998# #时:分:秒 AM|PM # 例如:#8:05:34 AM# #月/日/年 时:分:秒 AM|PM# 例如:#12/23/1998 21:11:00
4、PM#,Visual Basic除接受标准格式外,也接受非标准格式,例如: #1999-2-8#、#1999/2/8#、#February 8,1999#、#8 February,1999# 它们都表示1999年2月8日,但 #1999年2月8日# 是错误的。 建议尽量使用标准格式,因为非标准格式容易产生歧义,例如#02-3-8#就不表示2002年3月8日,而是表示2008年2月3日。在Visual Basic的“立即”窗口(如图2-1所示)(按Ctrl+G键打开)可验证上述结果。,图2-1 Visual Basic的“立即”窗口,2.1.3 构造类型 除了上面介绍的基本数据类型外,在Visu
5、al Basic中还提供了构造类型,主要包括数组、用户自定义类型、以及枚举类型等。构造类型实际上是由基本类型的数据按一定的规则组合而成的,也称为“导出类型”。 构造数据类型将在第六章进行详细介绍。,6Variant型是可变型(变体型),除了定长String型和自定义类型外,它可存放任何类型的数据,是一种万能的数据类型。我们在2.2节中再对变体型变量进行详细介绍。,在程序中,不同类型的数据既可以以常量的形式出现,也可以以变量的形式出现。常量在程序执行期间是不发生变化的,而变量的值是可变的,它代表内存中指定的存储单元。,2.2 常量与变量,常量:常量是指在程序运行过程中始终保持不变的数值、字符串等
6、常数。 在Visual Basic中,有两种形式的常量:文字常量和符号常量。 1.文字常量 文字常量也称为直接常量,就是在程序代码中,以直接明显的形式给出的数。根据常量的数据类型有:数值常量、字符常量、日期/时间常量、布尔常量。,2.2.1 常量,(1)数值常量 数值常量共有5种表示方式:整数、长整数、定点数、浮点数和字节数。 整数、长整数、字节数的取值范围和表示方法: 见前一节,在表示它们的常量时取值范围要在其所表示数的范围之内。例如,整数数值常量:10,2566,-38,0;长整数数值常量:-524698,26938,0;字节数值常量:255,128,0。 定点数:定点数是带有小数点的正数
7、或负数。定点数表示数的范围比较小。例如:3.141593,32.28,-5.6,10.0,0.0。定点数可以是单精度,也可以是双精度,也可是是货币类型。 浮点数:浮点数分为浮点单精度数和浮点双精度数。浮点数由尾数、指数符号和指数三部分组成,其中尾数本身也是一个浮点数。指数符号E或D的含义为乘以10的幂次。例如:3.612E+38,-9.223D-345,0.234E-36,-0.2E8。,(2)字符常量 由ASCII字符、汉字所构成的字符序列,在表达时必须用双引号括起来,例如:“ABC-123“,”234.456”,”河北科技大学”等。 (3)日期/时间常量 用以表达某一天或某一具体时间,使用
8、时必须用“#”号括起来。例如:#5/20/2000#,#2000-5-20 #,#5/21/2001 10:20 pm#等 (4)布尔常量 即逻辑常量,其取值只有两个:True 和False。True表示逻辑值“真“,False表示逻辑值“假“。,2.符号常量 符号常量是指用一个符号代表常量值,该符号在程序中表示恒定值。 符号常量有两种来源:用户定义的符号常量和内部的(或系统)定义的符号常量。 (1)用户定义的符号常量 用户可以自己定义符号常量,以便在一个程序中使用这个符号所代表的常量。 符号常量的定义格式为: Const 符号常量名 As 数据类型=表达式 例如: Const PI=3.14
9、159 Const R As Integer=100*5,例题2.1 使用上面定义的符号常量,计算半径(R)为100的圆周长,圆面积和球体体积。 设计一个窗体Form1,在其中添加命令按钮Command1,如图2-2所示:,图2-2 程序运行结果,在命令按钮的鼠标单击事件过程中添加如下代码: Private Sub Command1_Click() Const PI = 3.14159 Const R As Integer = 100 * 5 s = 2 * PI * R a = PI * R * R v = 4 / 3 * PI * R * R * R Print “s=“; s Print
10、 “a=“; a Print “v=“; v End Sub,(2)内部的(或系统)定义的符号常量 内部或系统定义的常量是VB和控件提供的。这些常量可与应用程序的对象、方法和属性一起使用,在代码中可以直接使用它们。可以在“对象浏览器”中查看内部常量。选择“视图”菜单中的“对象浏览器”,则打开“对象浏览器”窗口,。在下拉列表框中选择VB或VBA对象库,然后在“类”列表框中选择常量组,右侧的成员列表中即显示预定义的常量,窗口底端的文本区域中将显示该常量的功能。 此外还有一些系统定义的符号常量。例如:“vbCrLf”回车/换行符常数,它就是系统常量,等效于 Chr$(13)+Chr$(10)。,2.
11、2.2 变 量 变量:在程序执行期间其值是可变的量,变量是存储数据的地方,每个变量均有属于自己的名字和数据类型。变量的名字称为变量名。 变量的定义:变量定义时必须定义其变量名和数据类型。 定义变量的语句为: Dim|Static|Public|Private 变量名 As 数据类型 Dim|Static|Public|Private 可选四者之一,其含义是: Dim|Private:常用于过程或模块中定义本地变量(局部变量),当过 程执行完后这些本地变量将被释放. Static:常用于过程中定义静态变量,当过程执行完后其值不会被释放,将继续保留以供下次调用本过程时引用. Public:用于定义
12、公用变量(全局变量),该变量在整个程序中均有效,可被应用程序的所有过程引用和访问., 变量名的命名规则: 变量名不得以数字开头.如:12a,5SUM等都是错误的. 变量名的长度不得超过255个字符. 变量名不得与关键字同名.如:CONST,Public等均为非法变量名. 举例:Dim Str As String 定义str为变长字符型变量. Dim Password As String *6 定义为定长(6个字符)字符型变量. Static Numb As Long 定义Numb为长整型的静态变量.可演示: 在一个命令按钮的事件过程中添加如下代码: Private Sub Command1_C
13、lick() Static Numb As Long Numb = Numb + 1 Form1.Cls Form1.Print “已单击的次数为:“; Numb End Sub Private Sub Form_Click() End End Sub,下面给出运行的效果:,在过程内部定义的变量称为“过程级变量”,其作用域仅局 限于定义它的过程,因此,在不同的过程中可使用同名的过程级变量.定义的关键字一般用Dim或Static. 在窗体、模块的声明段声明的变量称为“模块级变量”,分为仅供本模块使用的模块级变量(用Private声明)和供所有模块使用的模块级变量. 变量的隐性声明:VB允许不进行
14、数据类型声明,而直接引用,则此变量默认的数据类型为Variant.,单击窗体 可退出!,变体型变量 1.Variant变量的定义 和其他基本数据类型一样,用户也可以定义变体类型的变量。Variant变量可以用普通数据类型变量的格式定义,也可以使用默认定义。例如: Dim SomeValue As Variant Dim SomeValue 都可以把SomeValue 定义为Variant 变量。如前所述,如果一个变量未经定义而直接使用,则该变量为variant 类型变量。 在Variant 变量中可以存放任何类型的数据,包括数值、文本字符串、日期和时间。向Variant变量赋值时不必进行任何转
15、换,Visual Basic 自动执行必要的转换。,(1)如果对Variant变量进行算术运算,则必须确保变量中存放的是某种形式的数值,包括整数、浮点数、定点数或可以解释为数值的字符串。如果Variant变量中的内容是XYZ90,则不能对其进行算术运算,因为XYZ90不是有效的数值。类似地,可以对“+10”或“-2E3”进行算术运算,但不能对“123EX”进行这种操作。 (2)运算符“+”既可以用于数值相加,又可以用于字符串连接(见2.3.1节)。当在两个Variant变量之间使用“+”运算时,其结果可能出乎意料,具体结果取决于两个变量中的内容。为了避免出现这种情况,在进行字符串连接时,最好使
16、用运算符“&”。,Variant 变量的使用十分灵活,因为在对它赋值时不必考虑类型转换的问题。但是,这种灵活性同时也带来一定的“隐患”,主要有以下两个方面:,2.Variant变量值的内部表示 Variant变量的内部表示与各种基本数据类型及时间/日期类型相对应,见表2-2。,符号常量,值,内部表示,V_EMPTY,0,Empty,V_NULL,1,Null,V_INTEGER,2,Integer,V_LONG,3,Long,V_SINGLE,4,Single,V_DOUBLE,5,Double,V_CURRENCY,6,Currency,V_DATE,7,Date/Time,V_STRING,8,String,V_OLE,9,OLE Automation Object,V_ERROR,10,Error,V_BOOLEAN,11,Boolean,V_VARIANT,12,Variant(仅用于变体数组),V_