第2章Visualasic语言基础_第1页
第2章Visualasic语言基础_第2页
第2章Visualasic语言基础_第3页
第2章Visualasic语言基础_第4页
第2章Visualasic语言基础_第5页
已阅读5页,还剩80页未读 继续免费阅读

下载本文档

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

文档简介

1、1第第2章章 visual basic语言基础语言基础 2.1 visual basic2.1 visual basic语言的基本概念语言的基本概念2.2 2.2 数据类型和常量、变量数据类型和常量、变量2.3 2.3 运算符和表达式运算符和表达式2.4 2.4 常用内部函数常用内部函数2.5 inputbox2.5 inputbox、msgboxmsgbox函数和函数和printprint方法方法22.1 visual basic2.1 visual basic语言的基本语言的基本概念概念2.1.1 2.1.1 标识符标识符2.1.2 2.1.2 书写规范书写规范32.1.1 标识符标识符

2、标识符标识符是编程时为变量、常量、数据类型、过程、函是编程时为变量、常量、数据类型、过程、函数、类等定义的名字。数、类等定义的名字。 vbvb中所有的标识符都有相同的命名规则,中所有的标识符都有相同的命名规则,命名规则命名规则如如下:下: (1 1)标识符由字母、数字或下划线()标识符由字母、数字或下划线(_ _)组成,不能)组成,不能包含标点符号、空格等。包含标点符号、空格等。 (2 2)标识符必须以字母开头,不能以数字或其他字符)标识符必须以字母开头,不能以数字或其他字符开头。例如,开头。例如,2a2a、1_11_1等都是不合法的。等都是不合法的。 (3 3)标识符最长不能超过)标识符最长

3、不能超过 255 255 个字符。个字符。 (4 4)自定义的变量、过程名等不能和)自定义的变量、过程名等不能和vbvb中的关键字同中的关键字同名。例如,变量名不能是名。例如,变量名不能是falsefalse、ifif、endend等。等。 42.1.2 书写规范书写规范 1.1.vbvb代码中字母的大小写代码中字母的大小写(1 1)vbvb代码中代码中不区分不区分字母的大小写。字母的大小写。(2 2)vbvb中的关键字首字母总被转换成大写,其余中的关键字首字母总被转换成大写,其余字母被转换成小写。字母被转换成小写。(3 3)对于用户自定义的变量、过程名等,)对于用户自定义的变量、过程名等,v

4、bvb以第以第一次定义的大小写为准,以后每次输入的变量或一次定义的大小写为准,以后每次输入的变量或过程名自动按第一次定义的格式转换。过程名自动按第一次定义的格式转换。52.1.2 书写规范书写规范 2.2.语句按行书写语句按行书写(1)(1)vbvb的语句按行书写,每行最多允许的语句按行书写,每行最多允许255255个字符。个字符。(2) (2) 可以将多个语句合并到同一行上,语句间用可以将多个语句合并到同一行上,语句间用“:”号分隔。号分隔。(3) (3) 单行语句可以通过续行符单行语句可以通过续行符“ “ _”_” 将一行分成将一行分成若干行书写。一行语句最多只能有若干行书写。一行语句最多

5、只能有2525个续行。个续行。 62.1.2 书写规范书写规范3注释语句注释语句 注释语句用于在代码中添加注释。代码段中的注释语句注释语句用于在代码中添加注释。代码段中的注释语句vbvb并不运行,只是提高程序的可读性,便于程序的维护和调并不运行,只是提高程序的可读性,便于程序的维护和调试。试。vbvb提供了两种方法来添加注释。提供了两种方法来添加注释。(1) rem语句语句语法:语法:rem 注释文本注释文本例如,添加注释说明按钮例如,添加注释说明按钮command1的的click事件的功能:事件的功能:private sub command1_click()rem 单击按钮在标签中显示单击按

6、钮在标签中显示你好!你好!或者在一行上写注释:或者在一行上写注释:private sub command1_click():rem 单击按钮在单击按钮在标签中显示标签中显示你好!你好! 72.1.2 书写规范书写规范(2) 单引号单引号“”注释符注释符语法:语法: 注释文本注释文本使用使用“”加注释更加灵活也更常用。加注释更加灵活也更常用。例如:例如:private sub command1_click() 单击按钮在标签中显示单击按钮在标签中显示你好!你好! 或者在一行上写注释:或者在一行上写注释:private sub command1_click() 单击按单击按钮在标签中显示钮在标签中

7、显示你好!你好! 82.2 数据类型和常量、变量数据类型和常量、变量2.2.1 2.2.1 数据类型数据类型2.2.2 2.2.2 常量常量2.2.3 2.2.3 变量变量92.2.1 数据类型数据类型 v基本数据类型:基本数据类型:数据类型多达数据类型多达1212种,包括:种,包括:integerinteger、longlong、singlesingle、doubledouble、currencycurrency、bytebyte、stringstring、booleanboolean、datedate、objectobject和和variantvariant。 1 1数值型数值型 数值型数

8、据包含两类共五种数据类型。数值型数据包含两类共五种数据类型。(1) (1) 整数数据整数数据 存放整数数据的有存放整数数据的有integerinteger(整型)和(整型)和longlong(长整型)。(长整型)。(2) (2) 小数数据小数数据 存放小数数据的有存放小数数据的有singlesingle(单精度浮点型)、(单精度浮点型)、doubledouble(双(双精度浮点型)和精度浮点型)和 currencycurrency(货币型),(货币型),currencycurrency型的数据小型的数据小数点前面可以有数点前面可以有1515位,小数点后有位,小数点后有4 4位。位。(快讲)(快

9、讲)102.2.1 数据类型数据类型2. 字节型(字节型(byte ) byte型用于存储二进制数据,型用于存储二进制数据,0255的整数可的整数可以用以用byte型表示。型表示。3. 字符型(字符型(string) 字符型用于存放字符串,字符型用于存放字符串,字符串字符串是用双引号是用双引号(“”“”)括起来的一串字符,字符型有)括起来的一串字符,字符型有变长和定长变长和定长两种,分别表示固定长度和可变长度的字符串。变两种,分别表示固定长度和可变长度的字符串。变长字符串型是根据存放的字符串长度可增可减。长字符串型是根据存放的字符串长度可增可减。112.2.1 数据类型数据类型4. 布尔型(布

10、尔型(boolean) 布尔型存储的只能是布尔型存储的只能是 true true 或或 falsefalse。如果数据的值。如果数据的值只有只有“truetrue或或false”false”、“yesyes或或no”no”、“onon或或off”off”,则可,则可以用以用booleanboolean型表示。当把数值型数据转换为布尔型数据时,型表示。当把数值型数据转换为布尔型数据时,0 0会转换为会转换为falsefalse,其它非,其它非0 0值转换为值转换为truetrue。反之,当把布尔。反之,当把布尔型数据转换为数值型时,型数据转换为数值型时,falsefalse转换为转换为0 0,t

11、ruetrue转换为转换为-1-1。5 5日期型(日期型(datedate) 日期型用于存储日期和时间,日期型数据必须以一对日期型用于存储日期和时间,日期型数据必须以一对“# #”括起来。如果不含时间值,则自动将时间设置为午夜括起来。如果不含时间值,则自动将时间设置为午夜(00:00:0000:00:00);如果不含日期值,则自动将日期设置为公);如果不含日期值,则自动将日期设置为公元元18991899年年1212月月3030日。日。122.2.1 数据类型数据类型6. 6. 变体型(变体型(variantvariant) 变体型能够存储系统定义的所有类型的数据,是一种可变体型能够存储系统定义

12、的所有类型的数据,是一种可变的数据类型。当没有说明数据类型时,则变量自动为变的数据类型。当没有说明数据类型时,则变量自动为 variantvariant型,但采用型,但采用variantvariant型占用的内存也比其他类型多。型占用的内存也比其他类型多。variantvariant型还包含三种特定值:型还包含三种特定值:emptyempty、null null 和和 errorerror。 7. 7. 对象型(对象型(objectobject) 对象型用于表示任何类型的对象,可引用应用程序中或对象型用于表示任何类型的对象,可引用应用程序中或其它应用程序中的对象。必须使用其它应用程序中的对象。

13、必须使用setset语句先对对象引用赋语句先对对象引用赋值,然后才能引用对象。值,然后才能引用对象。 132.2.1 数据类型数据类型数据类型以及存储空间大小与范围数据类型以及存储空间大小与范围 数据类型数据类型存储空间(字节)存储空间(字节)范围范围byte1 0 255boolean2true 或或 falseinteger2-32,768 32,767 long4-2,147,483,648 2,147,483,647single4 -3.402823e38 -1.401298e-451.401298e-45 3.402823e38currency8-922,337,203,685,47

14、7.5808 922,337,203,685,477.5807 date8100 年年 1 月月 1 日日 9999 年年 12 月月 31 日日double8-1.79769313486232e308 -4.94065645841247e-324 4.94065645841247e-324 1.79769313486232e308142.2.1 数据类型数据类型v用户自定义数据类型(第用户自定义数据类型(第3章章p64) 除了上述数据类型外,在除了上述数据类型外,在vb中,用户可以根据需要利用中,用户可以根据需要利用type语句语句定义自己的数据类型,其格式如下:定义自己的数据类型,其格式如

15、下:type 数据类型名数据类型名 数据类型元素名数据类型元素名 as 类型名类型名 end type 其中,数据类型名为自定义数据类型名,数据类型元素其中,数据类型名为自定义数据类型名,数据类型元素名为自定义数据类型中的一个成员,类型名为上述基本类名为自定义数据类型中的一个成员,类型名为上述基本类型名或自定义数据类型名。型名或自定义数据类型名。(自学)(自学)152.2.1 数据类型数据类型v枚举类型枚举类型 当一个变量只有几种可能的值时,可以使用枚举的方法当一个变量只有几种可能的值时,可以使用枚举的方法将变量的值一一列出来,变量的值就只限制在列出的几种将变量的值一一列出来,变量的值就只限制

16、在列出的几种值中。采用这样的方法定义的变量类型称为值中。采用这样的方法定义的变量类型称为枚举类型枚举类型。 枚举可以通过在标准模块或公用类模块中的声明部分用枚举可以通过在标准模块或公用类模块中的声明部分用 enum 语句声明一个枚举类型来创建。其格式为:语句声明一个枚举类型来创建。其格式为:private|public enum 类型名称类型名称成员名成员名=常数表达式常数表达式end enum(自学)(自学)162.2.1 数据类型数据类型例题:定义一天时间划分的例题:定义一天时间划分的枚举枚举类型:类型: public enum timeofdaymorning = 0afternoon

17、= 1evening = 2end enum使用方式和基本类型一样,如:使用方式和基本类型一样,如:dim t as timeofdayt = morning(自学)(自学)172.2.2 常量常量 在整个应用程序执行过程中,值不会改变的数在整个应用程序执行过程中,值不会改变的数据就是据就是常量常量,分为,分为一般常量和符号常量一般常量和符号常量。 1. 1. 一般常量一般常量 一般常量包括:数值常量、字符常量、逻辑型一般常量包括:数值常量、字符常量、逻辑型常量和日期常量。常量和日期常量。(1) (1) 数值常量数值常量 数值常量由正负号、数字和小数点等组成,其数值常量由正负号、数字和小数点等

18、组成,其中小数可以用定点数和浮点数表示。中小数可以用定点数和浮点数表示。182.2.2 常量常量 整数整数:由数字和正负号组成,例如,:由数字和正负号组成,例如,1212、-123-123、12345671234567。 整数大多数都是以十进制表示的,也可以用十整数大多数都是以十进制表示的,也可以用十六进制数(基数为六进制数(基数为 1616)或八进制数(基数为)或八进制数(基数为 8 8)表示。八进制数用前缀表示。八进制数用前缀&o&o引导,由数字引导,由数字0 07 7组成。组成。十六进制数用前缀十六进制数用前缀 &h&h 引导,由数字引导,由数字0 09

19、9、a af f或或 a af f 组成。组成。 192.2.2 常量常量十进制数、八进制数和十六进制数的相互转换十进制数、八进制数和十六进制数的相互转换十进制数十进制数八进制数八进制数十六进制数十六进制数7&o7&h78&o10&h815&o17&hf16&o20&h10255&o377&hff202.2.2 常量常量定点数定点数:带有小数点的正数或负数,表示数:带有小数点的正数或负数,表示数的范围比较小,例如,的范围比较小,例如,-75.32-75.32、3.14159263.1415926、0.00050.0

20、005。浮点数浮点数:分为单精度浮点数和双精度浮点数,:分为单精度浮点数和双精度浮点数,分别表示为分别表示为menmen和和mdnmdn,m m为尾数,为尾数,n n为指数,指为指数,指数为乘以数为乘以1010的幂次。例如,的幂次。例如,-93.2e5-93.2e5(单精度(单精度型)、型)、-25.2e-3-25.2e-3(单精度型)、(单精度型)、2.35d-122.35d-12(双(双精度型)。精度型)。 212.2.2 常量常量(2)(2)字符常量字符常量 字符常量是用双引号(字符常量是用双引号()括起来的一串字符。例如,)括起来的一串字符。例如,abcabc、 李明李明 、 你好!你

21、好! ,其中,其中(双引号中无任何(双引号中无任何字符,也不含空格字符,也不含空格) )为为空字符串空字符串。(3)(3)逻辑常量逻辑常量 逻辑常量只有两个:逻辑常量只有两个:truetrue(真)、(真)、falsefalse(假)。(假)。(4)(4)日期常量日期常量 日期常量是用前后两个日期常量是用前后两个“#”#”把表示日期和时间的值括把表示日期和时间的值括起来。例如,以下几种都是表示起来。例如,以下几种都是表示20042004年年3 3月月1515日:日: #2004-3-15#2004-3-15#、#3/15/2004#3/15/2004#、#2004/3/15#2004/3/15

22、#、 #2004-3-15 7:30:00# #2004-3-15 7:30:00# 222.2.2 常量常量2 2符号常量符号常量 符号常量是指在程序中用符号表示的常量。符号常量符号常量是指在程序中用符号表示的常量。符号常量又分为系统内置常量和用户定义常量两种。又分为系统内置常量和用户定义常量两种。(1) (1) 用户定义常量用户定义常量 用户定义常量用具有含义的常量名来代替难记的一般用户定义常量用具有含义的常量名来代替难记的一般常量,使用符号常量可增加程序代码的可读性。在程序中常量,使用符号常量可增加程序代码的可读性。在程序中使用用户定义常量,应该使用使用用户定义常量,应该使用 const

23、 const 语句先行说明。语句先行说明。语法语法:public|private const public|private const 常量名常量名 as as 数据类型数据类型=表达式表达式说明说明: 表示可省略的参数,表示可省略的参数,| |表示是可选择的参数。表示是可选择的参数。表达式可以由数值、字符串等常量以及运算符组成,甚至表达式可以由数值、字符串等常量以及运算符组成,甚至可以用前面定义过的用户定义常量。可以用前面定义过的用户定义常量。232.2.2 常量常量 常量名的命名规则符合标识符的命名规则。常量名的命名规则符合标识符的命名规则。例如,以下都是将难记的常量例如,以下都是将难记的

24、常量用用户定义常量表示:用用户定义常量表示:const pi = 3.1415926const pi as single = 3.1415926private const pi as single = 3.1415926例如,使用用户定义常量例如,使用用户定义常量pi定义新用户定义常量:定义新用户定义常量:const pi2 = pi * 2(2) 系统内置常量系统内置常量 系统内置常量与应用程序的对象、方法和属性一起使系统内置常量与应用程序的对象、方法和属性一起使用,一般以用,一般以vb为前缀,如为前缀,如vbblue为蓝色。为蓝色。 242.2.3 变量变量 变量变量:程序运行过程中其值可

25、以改变的量称为变量。程序通:程序运行过程中其值可以改变的量称为变量。程序通过变量名来引用其存储的数据。过变量名来引用其存储的数据。1变量的声明变量的声明 变量的声明分为变量的声明分为“显式声明显式声明”和和“隐式声隐式声明明”。(1) 显式声明显式声明 显式声明是在变量使用之前,用显式声明是在变量使用之前,用 dim、static、public、private 语句声明一个变量或多个变量。语句声明一个变量或多个变量。语法:语法:dim 变量名变量名 as 数据类型数据类型 dim 变量名变量名 as 数据类型数据类型 ,变量名,变量名 as 数据类型数据类型说明:用说明:用dim语句声明变量就

26、是定义该变量应存储的数据类型;语句声明变量就是定义该变量应存储的数据类型;当省略数据类型时,则默认为当省略数据类型时,则默认为 variant型;同时声明多个变量型;同时声明多个变量时,各变量用时,各变量用逗号逗号分开。分开。 252.2.3 变量变量 声明定长字符型变量声明定长字符型变量的语法:的语法:dim 变量名变量名 as string * 长度长度 如果没有声明变量的数据类型,则如果没有声明变量的数据类型,则vb把它看作变体型把它看作变体型variant。然而,变体型可能会浪费内存空间,有时变体型还可。然而,变体型可能会浪费内存空间,有时变体型还可能无效。所以,在使用变量前最好先声明

27、变量类型。能无效。所以,在使用变量前最好先声明变量类型。 显式声明还有显式声明还有static、public、private 语句,声明变量语句,声明变量的语法格式与的语法格式与dim语句相似。(参见第语句相似。(参见第6章章p151)语法:语法: public 变量名变量名 as 数据类型数据类型 ,变量名变量名 as 数据类型数据类型 private 变量名变量名 as 数据类型数据类型 ,变量名变量名 as 数据类型数据类型 static 变量名变量名 as 数据类型数据类型 ,变量名变量名 as 数据类型数据类型262.2.3 变量变量(2) 隐式声明隐式声明 隐式声明是用一个特殊的类

28、型符号加在变量名后面来声明隐式声明是用一个特殊的类型符号加在变量名后面来声明数据类型,而在使用一个变量之前不需要声明这个变量。数据类型,而在使用一个变量之前不需要声明这个变量。 声明符号声明符号数据类型数据类型含义含义%integer整型整型&long长整型长整型$string字符型字符型!single单精度浮点型单精度浮点型#double双精度浮点型双精度浮点型currency货币型货币型例如,用隐式声明变量:例如,用隐式声明变量:private sub command1_click() 单击按钮在标签中显示单击按钮在标签中显示你好!你好! a$ = 你好!你好! label1.ca

29、ption = aend sub 程序分析:变量程序分析:变量a被隐式声明为字符型,并将被隐式声明为字符型,并将 “你好!你好!”赋赋值给值给a。尽管隐式声明比较方便,但如果将变量名拼错的话,。尽管隐式声明比较方便,但如果将变量名拼错的话,就会导致难以查找的错误。就会导致难以查找的错误。 272.2.3 变量变量(3)option explicit语句:语句:可以使得可以使得vb只要遇到一个未经显式只要遇到一个未经显式声明的变量名,就发出错误警告。它有两种输入方式:声明的变量名,就发出错误警告。它有两种输入方式:1)在代码窗口中各种模块的声明部分输入)在代码窗口中各种模块的声明部分输入opti

30、on explicit语句。在代码编辑器从对象下拉列表中选择语句。在代码编辑器从对象下拉列表中选择“通用通用”,从,从过程下拉列表选择过程下拉列表选择“声明声明”,然后输入代码,然后输入代码“option explicit” 282.2.3 变量变量2)在)在“工具工具”菜单中选择菜单中选择“选项选项”菜单项,单击菜单项,单击“编辑器编辑器”选项卡,选择选项卡,选择“要求变量声明要求变量声明”复选框如图所示。当下次复选框如图所示。当下次启动启动vb后,就在任何新模块中自动插入了后,就在任何新模块中自动插入了option explicit 语句。语句。 292.2.3 变量变量2. 变量的赋值变

31、量的赋值 在声明一个变量后,就可以给变量赋值。赋值语句在声明一个变量后,就可以给变量赋值。赋值语句用于将表达式的值赋给变量。用于将表达式的值赋给变量。 语法:语法: let 变量变量= 表达式表达式说明:说明:let可以省略;可以省略;“=”是赋值符号。是赋值符号。例如,下面几种都是赋值语句:例如,下面几种都是赋值语句: dim a, b as integera = 5 let a = 5 b = 5: a = b 302.2.3 变量变量3. 变量的赋值说明:变量的赋值说明:(1)只有当右边的表达式是与变量兼容的数据类型时,)只有当右边的表达式是与变量兼容的数据类型时,该值才可以赋予变量,否

32、则,会强制将该值转换为变量该值才可以赋予变量,否则,会强制将该值转换为变量的数据类型。当类型不匹配时,系统会提示出错。的数据类型。当类型不匹配时,系统会提示出错。例如:例如:dim a as boolean a=5结果:结果:atrue(2)当数值型变量赋值超出其范围时,会提示溢出出错。)当数值型变量赋值超出其范围时,会提示溢出出错。(3)当对定长字符型变量赋值时,如果字符串长度小于定)当对定长字符型变量赋值时,如果字符串长度小于定长,则用空格将不足部分填满;如果字符串的长度太长,长,则用空格将不足部分填满;如果字符串的长度太长,则截掉超出部分的字符。则截掉超出部分的字符。312.2.3 变量

33、变量1、下列哪个符号不能作为、下列哪个符号不能作为vb中的变量名?中的变量名?(1) abcdefg(2) p_00000(3) 89twddff(4) xyz2、下列符号哪一个是、下列符号哪一个是vb中的合法变量名?中的合法变量名?(1) ab7(2) 7ab(3) if(4) ab73、如果希望使用变量、如果希望使用变量x来存放数据来存放数据765432.123456,应该将变量应该将变量x声明为何种类型?声明为何种类型?(3)(3)(1)(1)single322.3 运算符和表达式运算符和表达式2.3.1 2.3.1 运算符和表达式运算符和表达式2.3.2 2.3.2 各种运算的优先顺序

34、各种运算的优先顺序332.3.1 运算符和表达式运算符和表达式 1. 算术运算符和表达式算术运算符和表达式 算术运算符算术运算符是用来进行数值运算的运算符,是用来进行数值运算的运算符,算术表达式算术表达式是是用算术运算符将常量、变量等连接起来的式子。用算术运算符将常量、变量等连接起来的式子。算术运算符包括算术运算符包括+、-、* 、/、 和和mod:+、-、* 、/:用于两个数的加:用于两个数的加,减减,乘乘,除运算,为双目运算。除运算,为双目运算。:用于两个数的除法运算并返回一个整数商,为双目运算。:用于两个数的除法运算并返回一个整数商,为双目运算。:用于求一个数的幂运算即指数运算,为双目运

35、算。:用于求一个数的幂运算即指数运算,为双目运算。mod:用于两个数的除法运算并返回余数,为双目运算。:用于两个数的除法运算并返回余数,为双目运算。342.3.1 运算符和表达式运算符和表达式 例如,以下都是算术表达式,其中例如,以下都是算术表达式,其中x=5: 2 *x结果为结果为 102 3结果为结果为 8 10 / 4结果为结果为 2.510 4 结果为结果为 2 10 mod 4 结果为结果为 2#3/15/2004# #1/15/2004# 结果为结果为 60,两个日期的间隔天数,两个日期的间隔天数 352.3.1 运算符和表达式运算符和表达式2. 关系运算符和表达式关系运算符和表达

36、式关系表达式的值只能是关系表达式的值只能是true、false或或null。关系运算符包括关系运算符包括、=、=、以及以及is和和like:=:等于符,与赋值符号:等于符,与赋值符号“=”不同。不同。:不等于符。:不等于符。is:比较两个对象是否一致。:比较两个对象是否一致。like:比较两个字符串的模式是否匹配。在:比较两个字符串的模式是否匹配。在like表达式表达式中可以使用通配符。中可以使用通配符。362.3.1 运算符和表达式运算符和表达式在在like表达式中可以使用通配符:表达式中可以使用通配符: 通配符通配符含义含义实例实例可匹配字符串可匹配字符串*可匹配多个字符可匹配多个字符a*

37、a1,abc,?可匹配单个字符可匹配单个字符a?a1,ab,#可匹配单个数字可匹配单个数字123#1234,1238,list可匹配列表中的单个字符可匹配列表中的单个字符a-ea,b,c,d,e!list可匹配列表以外的单个字符可匹配列表以外的单个字符!a-eg,h,f,(自学)(自学)372.3.1 运算符和表达式运算符和表达式例如:例如:524数值比较,结果为数值比较,结果为false“5”24”字符串比较,结果为字符串比较,结果为true“abbb” like “a*”判断字符串匹配,结果判断字符串匹配,结果true字符的字符的ascii码大小顺序为:码大小顺序为:空格空格“0”“9”“

38、a”“z”“a”“z” a + b and not y 1.3 and not y b (2) 再作关系运算:再作关系运算: true and not false (3) 作非运算:作非运算: true and true (4) 最后得:最后得: true求表达式求表达式 x*ab- y*5/2 or y*ax 的值的值求表达式求表达式 x*ab- y*5/2 and y*ax 的值的值442.3.2 各种运算的优先顺序各种运算的优先顺序 练习练习1:表达式:表达式2 *32 + 2 * 8 / 4 + 32的值为的值为(1) 64 (2) 31(3) 49(4) 22 答案:答案:(2) 3

39、1练习练习2: 3 * 2 / 5 + 5 3 * 2 的值为的值为答案:答案:1.2452.3.2 各种运算的优先顺序各种运算的优先顺序【例【例2-1】判别某年是否是闰年,闰年的条件符合下面二者】判别某年是否是闰年,闰年的条件符合下面二者之一:之一:(1)能被能被4整除,但不能被整除,但不能被100整除。整除。(2)能被能被4整除又能被整除又能被400整除。整除。要求:单击按钮要求:单击按钮command1计算出计算出2004年是否是闰年,并年是否是闰年,并在窗体的标签在窗体的标签lable2中显示结果。中显示结果。 462.3.2 各种运算的优先顺序各种运算的优先顺序界面设计:窗体界面中放

40、置了两个标签界面设计:窗体界面中放置了两个标签lable1和和lable2,以及一个按钮以及一个按钮command1。分别设置其。分别设置其caption属性属性 属性属性form1lable1lable2command1caption判断闰年判断闰年2004年是否是闰年?年是否是闰年?空空判断判断单击单击command1时判断时判断2004年是否是闰年,程序代码如下:年是否是闰年,程序代码如下:private sub command1_click()单击按钮计算闰年单击按钮计算闰年 dim x as integer dim y as boolean x = 2004 y = (x mod 4

41、) = 0) and (x mod 100) 0) or (x mod 4) = 0) and (x mod 400) = 0) label2.caption = yend sub 472.4 常用内部函数常用内部函数 内部函数也称公共函数,每个内部函数都有内部函数也称公共函数,每个内部函数都有某个特定的功能,可在任何程序中直接调用。某个特定的功能,可在任何程序中直接调用。语法:函数名(参数语法:函数名(参数1,参数,参数2,)2.4.1 算术函数算术函数2.4.2 字符函数字符函数2.4.3 日期与时间函数日期与时间函数2.4.4 类型转换函数和判断函数类型转换函数和判断函数(快讲)(快讲)

42、482.4.1 算术函数算术函数 算术函数是系统给用户提供进行算术运算的函数。算术函数是系统给用户提供进行算术运算的函数。 函函 数数说说 明明实例实例结果结果sin返回弧度的正弦返回弧度的正弦sin(1).841470984807897cos返回弧度的余弦返回弧度的余弦cos(1).54030230586814atn返回用弧度表示的反正切值返回用弧度表示的反正切值atn(1).785398163397448tan返回弧度的正切返回弧度的正切tan(1)1.5574077246549abs返回数的绝对值返回数的绝对值abs(-2.4)2.4exp返回返回e的指定次幂的指定次幂exp(1)2.7

43、1828182845905log返回一个数值的自然对数返回一个数值的自然对数log(1)0492.4.1 算术函数算术函数 函函 数数说说 明明实例实例结果结果rnd返回小于返回小于1且大于或等于且大于或等于0的随机的随机数数rnd 01之间的随之间的随机数机数sgn返回数的符号值返回数的符号值sgn(-100)-1sqr返回数的平方根返回数的平方根sqr(16)4int返回不大于给定数的最大整数返回不大于给定数的最大整数int(3.6)3fix返回数的整数部分返回数的整数部分fix(-3.6)-3502.4.1 算术函数算术函数 算术函数有几点说明:算术函数有几点说明:(1)函数具有返回值,

44、应注意函数返回值的数据)函数具有返回值,应注意函数返回值的数据类型。类型。 (2)三角函数的运算都使用弧度。)三角函数的运算都使用弧度。(3)fix(x)和和int(x)函数都是对数值型变量取整,函数都是对数值型变量取整,但对于正数和负数结果不同。但对于正数和负数结果不同。fix(10.5)=10int(10.5)=10fix(-10.5)=-10int(-10.5)=-11512.4.1 算术函数算术函数 (4)用)用rnd(x)函数用于产生随机数,当函数用于产生随机数,当x=0时产生与前一时产生与前一次相同的随机数。如果不断地重复次相同的随机数。如果不断地重复rnd函数,会反复出现同函数,

45、会反复出现同一序列的随机数,可以用一序列的随机数,可以用randomize语句消除这种情况。语句消除这种情况。语法:语法:randomize(x) 常用常用rnd函数产生某个限定范围的随机整数,使用以下函数产生某个限定范围的随机整数,使用以下规则:规则:int(上限上限 - 下限下限+1)*rnd)+下限下限例如:产生例如:产生1199范围的随机整数:范围的随机整数: int(99 - 11+1)*rnd)+11522.4.1 算术函数算术函数【例【例2-2】根据直角三角形的两条直角边,计算其斜边的长】根据直角三角形的两条直角边,计算其斜边的长度。计算斜边根据公式:度。计算斜边根据公式:c2a

46、2 b2界面设计:在窗体上放置三个文本框(界面设计:在窗体上放置三个文本框(text1、text2、text3)、三个标签()、三个标签(label1、label2、label3)和一个按)和一个按钮钮command1,text1和和text2用来输入两条直角边的长度,用来输入两条直角边的长度,计算的斜边显示在文本框计算的斜边显示在文本框text3中,单击按钮中,单击按钮command1计计算斜边。算斜边。对象对象控件名控件名属性名属性名属性值属性值formform1caption计算三角形斜边计算三角形斜边labellabel1captiona=label2captionb=label3ca

47、ptionc=texttext1text空空text2text空空text3text空空commandcommand1caption计算计算532.4.2 字符函数字符函数 字符函数用于进行字符串处理。字符函数用于进行字符串处理。 函函 数数说说 明明 实例实例结果结果ltrim(c)返回删除字符串左端空格后的返回删除字符串左端空格后的字符串字符串ltrim(myname)mynamertrim(c)返回删除字符串右端空格后的返回删除字符串右端空格后的字符串字符串rtrim(myname)mynametrim(c)返回删除字符串前导和尾随空返回删除字符串前导和尾随空格后的字符串格后的字符串tr

48、im(myname)mynameleft(c,n)返回从字符串左边开始的指定返回从字符串左边开始的指定数目的字符数目的字符left(myname,2)myright(c,n)返回从字符串右端开始的指定返回从字符串右端开始的指定数目的字符数目的字符right(myname,4)name542.4.2 字符函数字符函数 函函 数数说说 明明 实例实例结果结果mid(c,n1,n2)返回从字符串指定位置开始的指返回从字符串指定位置开始的指定数目的字符定数目的字符mid (myname,2,3)ynalen(c)返回字符串的长度返回字符串的长度len(myname=王青王青)9instr(n1,c1,

49、c2,m)返回字符串在给定的字符串中出返回字符串在给定的字符串中出现的开始位置现的开始位置instr(7,asdfdfdfsdsf, df)7space(n)返回由指定数目空格字符组成的返回由指定数目空格字符组成的字符串字符串space(5)string(n,c)返回包含返回包含一个字符一个字符重复指定次数重复指定次数的字符串的字符串string(2, a)aalcase(c)返回以小写字母组成的字符串返回以小写字母组成的字符串lcase(aab)aabucase(c)返回以大写字母组成的字符串返回以大写字母组成的字符串ucase(aab)aab552.4.2 字符函数字符函数 【例【例2-3

50、】界面设计:界面包含】界面设计:界面包含5个标签(个标签(label1label5),四个文本框(),四个文本框(text1text4)和一个按钮)和一个按钮(command1),),四个文本框分别用于输入字符串和从第四个文本框分别用于输入字符串和从第几个位置开始取几个字符,单击按钮几个位置开始取几个字符,单击按钮command1进行取进行取字符运算。字符运算。 562.4.2 字符函数字符函数程序代码如下:程序代码如下:private sub command1_click()单击按钮取字符单击按钮取字符 dim s1 as string, s2 as string dim a as inte

51、ger, b as integer s1 = text1.text 输入字符串输入字符串 a = val(text2.text) 输入起始个数输入起始个数 b = val(text3.text)输入字符个数输入字符个数 s2 = mid(s1, a, b)取字符取字符 text4.text = s2end sub程序分析:使用程序分析:使用mid函数取字符串的任意位置字符。函数取字符串的任意位置字符。 572.4.3 日期与时间函数日期与时间函数 函数名函数名返回类型返回类型功能功能例子例子运算结果运算结果day(日期日期)integer返回日期,返回日期,131的整数的整数day(#2004

52、/3/15#) 15month(日期日期)integer返回月份,返回月份,112 的整数的整数month(#2004/3/15# ) 3year(日期日期)integer返回年份返回年份year(#2004/3/15# ) 2004weekday(日期日期)integer返回星期几返回星期几weekday(#2004/3/15#) 2(星期天是第星期天是第一天一天)timedate返回当前系统时间返回当前系统时间time 系统当前时间系统当前时间datedate返回系统日期返回系统日期date 系统当前日期系统当前日期nowdate返回系统日期和时间返回系统日期和时间now 系统当前日期系统

53、当前日期与时间与时间日期时间函数提供日期和时间有关的函数。日期时间函数提供日期和时间有关的函数。 (自学)(自学)582.4.3 日期与时间函数日期与时间函数 函数名函数名返回返回类型类型功能功能例子例子运算运算结果结果hour(时间时间)integer返回钟点,返回钟点,0 23的整数的整数hour(#4:35:17 pm# )16minute(时间时间)integer返回分钟,返回分钟,0 59的整数的整数minute(#4:35:17 pm#) 35second(时间时间) integer返回秒钟,返回秒钟,059的整数的整数second(#4:35:17 pm#) 17592.4.3

54、日期与时间函数日期与时间函数【例【例2-4】使用日期和时间函数在窗体上显示系统当前的日】使用日期和时间函数在窗体上显示系统当前的日期和时间。期和时间。界面设计:界面包含界面设计:界面包含5个(个(label1label5)标签,四个文)标签,四个文本框(本框(text1text4)和一个按钮()和一个按钮(command1),四个),四个文本框分别用于显示年份、月份、日期和时间,单击按钮文本框分别用于显示年份、月份、日期和时间,单击按钮command1在四个文本框中显示时间。在四个文本框中显示时间。 程序代码如下:程序代码如下:private sub command1_click()单击按钮显

55、示时间单击按钮显示时间 text1.text = year(date) 显示年份显示年份 text2.text = month(date) 显示月份显示月份 text3.text = day(date) 显示日期显示日期 显示时间显示时间 text4.text = hour(now) & : & minute(now) & : & second(now)end sub 602.4.4 类型转换函数和判断函数类型转换函数和判断函数 1. 类型转换函数类型转换函数 转换函数是用来将数据强制转换成某种特定的数据类转换函数是用来将数据强制转换成某种特定的数据类型,如表所

56、示为转换函数的功能、例子以及转换结果。型,如表所示为转换函数的功能、例子以及转换结果。 转换函数转换函数转换结果类型转换结果类型例子例子转换结果转换结果cbool(x)booleancbool(0) falsecbyte(x)bytecbyte(125.5678) 126ccur(x)currencyccur(543.214588) 543.2146cdate(x)datecdate(5) #1900-1-4#cdbl(x)doublecdbl(“1922.54576”) 1922.54576cint(x)integercint(123.5) 124(快讲)(快讲)612.4.4 类型转换函数

57、和判断函数类型转换函数和判断函数 转换函数转换函数转换结果类型转换结果类型例子例子转换结果转换结果clng(x)longclng(25427.45) 25427csng(x)singlecsng(75.3421115) 75.34211cstr(x)stringcstr(437.324) 437.324cvar(x)variantcvar(4534 & 000) 4534000cverr(x)errorcverr(2001) 自定义错误码自定义错误码str(x)variant stringstr(459) 459622.4.4 类型转换函数和判断函数类型转换函数和判断函数2. 判断函数

58、判断函数 vb还提供了一些判断函数用来判断数据的类型,如表所示还提供了一些判断函数用来判断数据的类型,如表所示为判断函数的功能、例子以及转换结果。为判断函数的功能、例子以及转换结果。 判断函数判断函数判断结果判断结果类型类型功能功能例子例子转换转换结果结果typenamestring返回变量的类型返回变量的类型typename(2)integerisnumeric(x)boolean判断是否是数值型判断是否是数值型 isnumeric(123.4) trueisdateboolean判断是否是日期型判断是否是日期型 isdate(5)false632.4.4 类型转换函数和判断函数类型转换函数

59、和判断函数判断函数判断函数判断结果判断结果类型类型功能功能例子例子转换结果转换结果isobjectboolean判断是否是对象判断是否是对象isobject(5)falseisnullboolean判断是否是不包含判断是否是不包含任何有效数据任何有效数据isnull(5)falseisemptyboolean判断变量是否已被判断变量是否已被初始化初始化isempty(a)是否被初是否被初始化始化642.5 inputbox、msgbox函数和函数和print方法方法2.5.1 inputbox函数函数2.5.2 msgbox函数函数2.5.3 print方法方法652 .5.1 inputbo

60、x函数函数 inputbox函数用于接受用户键盘输入的数据,也称为函数用于接受用户键盘输入的数据,也称为输入框。语法:输入框。语法: 变量变量=inputbox(对话框字符串对话框字符串,标题标题 ,文本框字符串文本框字符串 ,横坐标值横坐标值 ,纵坐标值纵坐标值 ,帮助文件帮助文件, 帮助主题号帮助主题号)说明说明:对话框字符串:在输入对话框中显示的字符串,最大长对话框字符串:在输入对话框中显示的字符串,最大长度是度是1024个字符。个字符。标题:指对话框标题栏的字符串,如果省略,则标题栏标题:指对话框标题栏的字符串,如果省略,则标题栏中为当前工程名。中为当前工程名。 文本框字符串:指文本框中显示的字符串,如果省略则文本框字符串:指文本框中显示的字符串,如果省略则文本框为空。文本框为空。 横、纵坐标值:指对话框在屏幕上的位置,横、纵

温馨提示

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

评论

0/150

提交评论