Visual Basic第二章.docx

上传人:b****6 文档编号:7969545 上传时间:2023-01-27 格式:DOCX 页数:15 大小:30.48KB
下载 相关 举报
Visual Basic第二章.docx_第1页
第1页 / 共15页
Visual Basic第二章.docx_第2页
第2页 / 共15页
Visual Basic第二章.docx_第3页
第3页 / 共15页
Visual Basic第二章.docx_第4页
第4页 / 共15页
Visual Basic第二章.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

Visual Basic第二章.docx

《Visual Basic第二章.docx》由会员分享,可在线阅读,更多相关《Visual Basic第二章.docx(15页珍藏版)》请在冰豆网上搜索。

Visual Basic第二章.docx

VisualBasic第二章

第2章VisualBasic编程基础

本章主要介绍VisualBasic的数据类型、常量、变量、运算符、表达式、函数、算法、流程图等。

2.1VB的基本数据类型

强调以下几点:

(1)参加运算的数据,通常要求其类型一致。

(2)不同的数据类型,在计算机内存中的存储方式不同。

(3)根据需要,可采用不同的数据类型,但会影响程序运行的效率。

VB的基本数据类型包括:

数值型、字符串型、日期型、逻辑型、对象型与可变型6大类。

一、数值型(Numeric)

整型

整数型长整型

字节型

日常计数法

科学计数法

数值型

单精型

日常计数法

科学计数法

实数型

双精型

货币型

1.整数型

整数型数据由0~9的数字序列组成,可以带正号或者负号。

(1)整型(Integer)

在内存中占两个字节,取值范围:

-32768~+32767。

整型数据以“%”作为后缀。

例如:

368%、-56%、3785%。

(2)长整型(Long)

在内存中占4个字节,取值范围:

-2147483648~+2147483647。

长整型数据以“&”作为后缀。

例如:

368&、-12&、1234567890&。

(3)字节型(Byte)

在内存中占1个字节,取值范围:

0~255。

字节型数据只能表示无符号整数,不能表达负数。

2.实数型

(1)单精度浮点型(Single)

以4个字节存储,最多可达7位有效数。

负数的取值范围:

-3.402823E+38~-1.401298E-45

正数的取值范围:

1.401298E-45~3.402823E+38

单精度浮点数以“!

”作为后缀(系统默认类型)。

例如:

357.4、-0.00498056

例如:

3.574E+2、-4.98056E-3

(2)双精度浮点型(Double)

以8个字节存储,最多可达15位或者16位有效数。

负数的取值范围:

-1.797693134862316E+308~-4.94065645841247E-324

正数的取值范围:

4.94065645841247E-324~1.797693134862316E+308。

双精度浮点数以“#”作为后缀。

例如:

357.4#、-0.00498056#、123456789012

例如:

3.574D+2、-4.98056D-3

(3)货币型(Currency)

以8个字节存储。

小数点右边可达4位数字,小数点左边可达15位。

取值范围:

-922337203685477.5808~922337203685477.5807

3.使用非十进制数字

(1)可以使用二进制、八进制和十六进制的形式表示数据。

(2)若要表示其他进制的数据:

二进制数前面加“&B”

八进制数前面加“&O”

十六进制数前面加“&H”

(3)系统输出时会自动把其他进制的数据转换成十进制形式。

二、字符串型(String)

字符串——由若干字符组成的字符序列。

可包括ASCII字符、汉字及其他可打印字符。

注意:

字符串通常要用双引号括起来。

例如:

"VisualBasic6.0"

"河南省郑州市中原西路41号"

双引号用Chr(34)表示;回车符用Chr(13)表示。

例如:

PrintChr(34)+Chr(13)+Chr(34)

定长字符串——64K(2^16)个字符

字符串

变长字符串——最多可含约21亿(2^31)个字符

三、逻辑型(Boolean)

在内存中占用2个字节,取值:

True(真)或False(假)。

逻辑型可与整型或者长整型相互转换。

(1)整型(长整型)数赋给逻辑型变量:

0值转换成False,非0值转换成True。

(2)逻辑型数据赋给整型(长整型)变量:

False转换为0,True转换为-1。

四、日期型(Date)

一个日期型数据存储为8个字节。

可以表示日期、时间以及日期时间。

日期范围:

公元100年1月1日~公元9999年12月31日

时间范围:

0:

00:

00~23:

59:

59

注意:

日期型数据必须用#括起来。

例如:

#5/3/00#

#2000-5-312:

30:

00PM#

May3,2000#

PrintFormat(#2/21/20015:

34:

00PM#,"ddddddttttt")

如果输入了非法日期和时间,将产生编译错误,例如:

Print#5/33/2001#

五、对象型(Object)

对象型数据可用来表示应用程序中对象。

例如:

DimobjDbAsObject

SetobjDb=OpenDatabase("c:

\Vb6\Biblio.mdb")

可以用Set语句指定一个被声明为Object的变量去引用应用程序所识别的任何实际对象。

六、可变型(Variant)

可变型数据能够表示所有系统定义类型的数据,当把它们赋予Variant型时,不必在这些数据的类型间进行转换,VisualBasic会自动完成任何必要的转换。

2.2常量与变量

一、常量

1.直接常量

直接常量——以数值或字符等形式直接出现的常量。

直接常量可以分为数值型、字符型、日期和逻辑型。

数值型常量又可以分为整型、长整型、单精度浮点型、双精度浮点型、货币型和字节型。

(VB的基本数据类型包括:

数值型、字符串型、日期型、逻辑型、对象型与可变型6大类。

注意:

没有对象型与可变型常量)

例如:

234%,234,3.14,3345.02334,345#,345.90@,

例如:

"中原工学院",#3/21/2001#,True,False

2.符号常量

符号常量——以标识符的形式出现的常量。

在VisualBasic中,符号常有两种:

内部常量和用户自定义常量。

内部常量——由系统提供的常量。

例如:

Form1.BackColor=vbRed

用户自定义常量——由用户使用Const语句声明。

用Const语句给常量分配名字、值和类型。

语法:

Const常量名[As数据类型]=表达式...

其中:

Const:

定义符号常量的关键字。

常量名:

通常用大写字母命名。

表达式:

其值是符号常量所要代表的值。

在表达式中不能使用函数。

As数据类型:

用来说明常量的数据类型。

缺省时由系统根据表达式的结果,确定最合适的数据类型。

例如:

PublicConstPI=3.1415926

ConstTodayAsDate=#02/25/2001#

说明:

(1)用Const声明的常量在程序运行过程中不能被重新赋值。

(2)在常量声明的同时赋值。

(3)声明时,可以在常量名后加上类型说明符。

例如:

ConstScore%=15

ConstPrice@=25.68

(4)在程序中引用符号常量时,通常省略类型说明符。

例如:

PrintScore,Price

二、变量

1.变量的命名规则

变量的命名规则:

(1)以字母开头的字母数字串(在中文版中可以使用汉字)。

(2)在变量名中不能出现句号、空格(尽量不使用符号),不能出现类型说明符,例如:

、#、@、$、%、&等。

(3)不能使用VB的关键字(保留字),如语句、函数名称、运算符等。

例如:

Let、Print、If、Const、Abs、Sub、And

(4)变量名的长度不超过255个字符。

2.变量的声明

声明变量——将变量的名称、数据类型等信息事先通知编译(解释)程序。

用Dim语句声明变量的格式:

Dim变量名[As类型][,变量名[As类型]]

例如:

DimaAsInteger,bAsInteger

Dimn1Asdouble

DimSAsString

注意,如果有如下语句:

Dima,bAsInteger

等价于:

Dima

DimbAsInteger

在声明变量a时,省略了As子句,系统默认变量为可变类型。

语句DimaAsInteger,bAsInteger可以写为:

Dima%,b%,s$

也就是说,可以把类型说明符放在变量名的尾部来标识不同类型的变量。

但是,如果要说明定长字符串,必须使用Dim语句。

例如,声明字符串变量S的长度为20:

DimSAsString*20

需要注意的是,使用Dim语句说明一个变量后,VB自动将变量初始化(将数值型变量赋初值为0,字符串型变量赋初值为空串)。

3.变量的隐式声明

隐式声明——未经声明而直接使用一个变量。

例如:

R=15.36

ScoreEnglish=89

4.变量的显式声明

使用隐式声明虽然很方便,但是如果把变量名拼错了的话,会导致一个难以查找的错误。

用户可以对系统规定,只要遇到一个未经明确声明就当成变量的名字,VB都给出错误警告。

强制显式声明变量的方法:

(1)窗体模块或者标准模块的声明段中加入语句:

OptionExplicit

(2)选择“工具”菜单中的“选项”,在“编辑器”选项卡中复选“要求变量声明”。

需要注意的是,方法

(1)的作用范围仅限于语句所在模块;方法

(2)会在任何新建的模块中自动插入OptionExplicit语句。

但是,方法

(2)对已经建立起来的模块不起作用。

2.3运算符与表达式

VB提供了5种类型的运算符:

算术运算符、字符串连接运算符、日期运算符、关系运算符和逻辑运算符。

一、算术运算符

VB提供了8种基本的算术运算符,如教材P.30表2-3所示。

算术运算符的优先顺序为:

指数运算(^)→取负(-)→乘、除(*、/)→整除(\)→取模(Mod)→加、减(+、-)

可以用括号改变优先顺序,使表达式的某些部分优先运行。

1.整除运算

整除的操作数一般为整型数,当操作数含有小数时,先四舍五入取整,然后再进行运算。

运算结果取商的整数部分,例如:

10\3'结果为3

11\3'结果为3

11.5\3'结果为4

11.5\3.6'结果为3

2.取模运算

取模运算的操作数一般也为整型数,当操作数含有小数时,先四舍五入取整,然后再进行运算。

运算结果取商的余数部分,例如:

4Mod3'结果为1

7.3Mod3'结果为1

7.3Mod3.7'结果为3

当操作数中有负数时,运算结果的符号取决于左操作数的符号。

例如:

-14Mod3'结果为-2

14Mod-3'结果为2

二、字符串连接运算符

字符串连接运算——将两个字符型表达式连接生成一个新字符串。

&——强制两个表达式作字符串连接。

+——如果两个表达式都为字符串,则将两个字符串连接;如果一个是字符串而另一个是数值型数据,则进行相加操作。

例如:

"66"&"88"'结果为"6688"

"66"+"88"'结果为"6688"

66&88'结果为"6688"

66+88'结果为154

"66"&88'结果为"6688"

"66"+88'结果为154

三、日期运算

日期型数据可以进行“+”、“-”运算:

(1)两个日期型数据相减,结果为两个日期相差的天数:

#03/15/2001#-#03/10/2001#'结果为数值型数据:

5

(2)日期型数据加数值型数据,结果为日期型数据(向后推算日期):

#03/15/2001#+10'结果为日期型数据:

#03/25/2001#

(3)日期型数据减数值型数据,结果为日期型数据(向前推算日期):

#03/15/2001#-10'结果为日期型数据:

#03/05/2001#

四、表达式的书写规则

注意几点:

(1)要在同一行书写。

例如,_EMBEDEquation.3___应写成:

(a+b)/(c+d)

(2)乘号“*”不能省略。

例如,5x应写成:

5*x

(3)只能使用圆括号,不能使用方括号和花括号。

2.4常用函数

VB有两类函数:

内部函数(标准函数)和用户定义函数。

内部函数可为:

数学函数、字符串函数、转换函数、判断函数、随机函数和其他函数。

一、数学函数

数学函数包括三角函数、平方根函数、绝对值函数以及指数和对数函数等。

其函数返回值为数值型。

1.三角函数(P.33)

VisualBasic提供了4个有关三角运算的函数,分别为:

Sin(x)、Cos(x)、Tan(x)、Atn(x)

Sin、Cos、Tan函数中x是以弧度为单位的角度。

Atn函数返回的是正切值为x的角度(以弧度为单位)。

2.平方根函数(P.33)

Sqr(x)

返回参数x的算术平方根。

x的值必须大于或者等于0。

3.绝对值函数(P.33)

Abs(x)

返回参数x的绝对值。

4.取整函数(P.33)

Int(x)--不大于取整。

Fix(x)--截断取整。

例如:

PrintInt(-8.1),Int(-8.8)

PrintFix(-8.1),Fix(-8.8)

PrintInt(8.1),Int(8.8)

PrintFix(8.1),Fix(8.8)

输出结果:

-9-9

-8-8

88

88

5.符号函数(P.33)

-1x<0

Sgn(x)=0x=0

1x>0

6.指数函数和对数函数(P.33)

Exp(x)--返回以e为底、以x为指数的值。

Log(x)--返回x的自然对数值。

二、字符串函数(P.34)

有关字符串的几点说明:

(1)在VB中,把一个汉字作为一个字符处理。

(2)不含任何字符的字符串称为空串,表示为"",其长度为0。

(3)字符的大小是指它所对应的ASCII码的大小。

(汉字按区位码)

1.删除空格函数(P.34)

Ltrim(字符串)——删除字符串左边的空白字符。

Rtrim(字符串)——删除字符串右边的空白字符。

Trim(字符串)——删除字符串左右两边的空白字符,若为Null时,返回Null。

2.取子串函数(P.34)

Left(字符串,n)——取出字符串左边n个字符。

Right(字符串,n)——取出字符串右边指定n个字符。

Mid(字符串,起始位置[,n])——取出字符串由起始位置开始的n个字符。

注意:

(1)在Left和Right函数中,如果n大于或者等于字符串长度,则取整个字符串;

(2)在Mid函数中,如果起始位置大于字符串长度,则返回空串,若缺省n,则取出从起始位置开始的所有字符。

3.测试字符串长度函数(P.35)

Len(字符串)——计算字符串的长度。

4.大小写转换函数

Ucase(字符串)——将字符串中的小写字母转换为大写字母。

Lcase(字符串)——将字符串中的大写字母转换为小写字母。

5.空格函数

Space(个数)——返回指定个数的空字符串。

6.字符重复函数

String(个数,字符)——返回指定个数的指定字符。

说明:

(1)若指定字符为ASCII码,返回其对应的字符。

(2)若指定字符为字符串,则返回字符串的首字符。

例如:

PrintString(5,65),String(5,"A"),String(5,"ASCII")

输出结果:

AAAAAAAAAAAAAAA

三、转换函数

转换函数一般用来实现不同类型数据之间的转换,包括整型、浮点型、字符串型之间以及ASCII码字符之间的转换。

1.字符与ASCII码的相互转换

Asc(字符)——将字符转换为对应的ASCII码值。

Chr(ASCII码)——将ASCII码转换成对应的字符。

例如:

PrintAsc("A"),Asc("a")

PrintChr(65),Chr(97)

输出:

6597

Aa

例如:

PrintChr(Asc("A"))

输出:

A

英文字符的返回值为0~255。

中文字符的返回值为-32768~32767。

2.数值与字符串的相互转换

Val(字符串表达式)——返回字符串表达式中所含的数值(忽略其中的非数字字符)。

Str(数值表达式)——返回数值表达式的字符串形式。

例如:

Val("34.56")'返回数值34.56

Val("3456")'去掉空格,返回数值3456

Val("34ab56")'返回数值34

Val("34.56.78")'返回数值34.56

Val("ab34.56")'返回数值0

(注意:

以上返回的数值均为Double型)

Str(34.56)'返回字符串"34.56"

四、随机函数

每次产生相同的随机数x<0

Rnd[(x)]产生的随机数与上次相同x=0

每次产生不同的随机数x>0(缺省值)

由于系统提供的“随机化种子”的初值相同,所以,每次产生的随机数序列是相同的。

为了能做到真正的“随机化”,VB提供了一个随机化语句:

RANDOMIZE[表达式]

省略“表达式”时,VB取内部Timer函数返回的时间值作为新随机数的“种子数”。

 

2.5VisualBasic的命名规则

我们在命名常量、变量、函数和过程时,需遵循以下规则:

(1)必须以字母开头。

对于中文版的VisualBasic可以用汉字开头或者直接用汉字作为变量名、对象名或者过程名。

(2)不能在命名中出现句点“.”、空格或者嵌入下列字符:

#@$%&

也不能在命名中嵌入类型声明字符,如:

Integer、Long、Single、Double、String等。

(3)变量名的长度不能超过255个字符。

控件、窗体、类和模块的名字不能超过40个字符。

(4)变量名在有效的范围内必须是惟一的。

有效范围是指引用变量在某一个过程或者某一个窗体中有效,可以使程序识别。

(5)变量名不能和关键字同名。

关键字是VisualBasic系统内部定义的词,是语言的组成部分。

包括预定义语句(比如If、While、Loop等)、函数(比如Abs、Len、String等)和操作符(比如And、Or等)。

2.6算法与N-S流程图

一、算法的概念

算法——解题的方法和步骤。

同一个问题,往往会有不同的解题方法。

为了有效地解决问题,不仅要保证算法正确,还要考虑算法的质量。

计算机科学家沃思提出一个公式:

程序=算法+数据结构

数据是计算机操作的对象,具有一定的属性(整型,实型……)和存储方法,即数据结构。

算法是对数据实施的有序操作,采用不同的数据结构会有不同的算法。

有了算法,还要根据算法,利用程序设计语言编写出程序,在计算机上调试运行,得出结果。

程序=算法+数据结构+结构化程序设计方法+计算机语言

二、算法的基本结构和N-S流程图

结构化程序设计的3种基本结构:

(1)顺序结构。

(2)选择结构(也称分支结构)。

(3)循环结构(也称重复结构)。

算法有如下几种主要的表示形式:

(1)自然语言——汉、英语等。

易懂,但冗长,有歧义性

(2)伪代码——介于自然语言与计算机语言之间的无严格规则的语言

(3)传统流程图

(4)N-S流程图

1.顺序结构

A

B

图2-1顺序结构

2.选择结构

如果条件P

A

B

图2-2选择结构

3.循环结构

循环结构可分为:

当型循环和直到型循环。

当型循环(WHILE型)——当指定的条件成立时执行循环体。

当型循环又包括:

“前测试”型和“后测试”型。

当条件P真

A

A

当条件P真

前测试当型循环后测试当型循环

图2-3当型循环

直到型循环(UNTIL型)——执行循环体直到指定的条件成立。

直到型循环同样包括:

“前测试”型和“后测试”型。

直到条件P真

A

A

直到条件P真

前测试直到型循环后测试直到型循环

图2-4直到型循环

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1