程序设计基础第三章 VB编程语法及词汇程序书写规则.docx

上传人:b****0 文档编号:9364476 上传时间:2023-05-18 格式:DOCX 页数:50 大小:309.78KB
下载 相关 举报
程序设计基础第三章 VB编程语法及词汇程序书写规则.docx_第1页
第1页 / 共50页
程序设计基础第三章 VB编程语法及词汇程序书写规则.docx_第2页
第2页 / 共50页
程序设计基础第三章 VB编程语法及词汇程序书写规则.docx_第3页
第3页 / 共50页
程序设计基础第三章 VB编程语法及词汇程序书写规则.docx_第4页
第4页 / 共50页
程序设计基础第三章 VB编程语法及词汇程序书写规则.docx_第5页
第5页 / 共50页
程序设计基础第三章 VB编程语法及词汇程序书写规则.docx_第6页
第6页 / 共50页
程序设计基础第三章 VB编程语法及词汇程序书写规则.docx_第7页
第7页 / 共50页
程序设计基础第三章 VB编程语法及词汇程序书写规则.docx_第8页
第8页 / 共50页
程序设计基础第三章 VB编程语法及词汇程序书写规则.docx_第9页
第9页 / 共50页
程序设计基础第三章 VB编程语法及词汇程序书写规则.docx_第10页
第10页 / 共50页
程序设计基础第三章 VB编程语法及词汇程序书写规则.docx_第11页
第11页 / 共50页
程序设计基础第三章 VB编程语法及词汇程序书写规则.docx_第12页
第12页 / 共50页
程序设计基础第三章 VB编程语法及词汇程序书写规则.docx_第13页
第13页 / 共50页
程序设计基础第三章 VB编程语法及词汇程序书写规则.docx_第14页
第14页 / 共50页
程序设计基础第三章 VB编程语法及词汇程序书写规则.docx_第15页
第15页 / 共50页
程序设计基础第三章 VB编程语法及词汇程序书写规则.docx_第16页
第16页 / 共50页
程序设计基础第三章 VB编程语法及词汇程序书写规则.docx_第17页
第17页 / 共50页
程序设计基础第三章 VB编程语法及词汇程序书写规则.docx_第18页
第18页 / 共50页
程序设计基础第三章 VB编程语法及词汇程序书写规则.docx_第19页
第19页 / 共50页
程序设计基础第三章 VB编程语法及词汇程序书写规则.docx_第20页
第20页 / 共50页
亲,该文档总共50页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

程序设计基础第三章 VB编程语法及词汇程序书写规则.docx

《程序设计基础第三章 VB编程语法及词汇程序书写规则.docx》由会员分享,可在线阅读,更多相关《程序设计基础第三章 VB编程语法及词汇程序书写规则.docx(50页珍藏版)》请在冰点文库上搜索。

程序设计基础第三章 VB编程语法及词汇程序书写规则.docx

程序设计基础第三章VB编程语法及词汇程序书写规则

第三章程序设计基础

本章将介绍VisualBasic中有关基本语句、程序的书写规则、变量、常数、流程控制等基本内容,之所以有编程语言之说,就是因为编程和说话一样,都是用某种语法和词汇对自己想法的表达,程序员掌握的“语法和词汇”越多,就越能够让程序完整顺畅地体现自己的想法。

3.1赋值语句=

对象属性或变量=表达式

含义:

将等号右边表达式的值传送给等号左边的变量或者对象属性

如:

form1.caption=”两数相乘”

3.2程序的书写规则

1.注释:

程序员可以使用注释来说明自己编写某段代码或某个变量的目的,便于阅读理解程序。

格式1:

’注释文字

格式2:

Rem注释文字

说明:

注释可以和语句在同一行并写在语句的后面,也可占据一整行。

如:

’下面的语句是赋值语句和注释的示例

Form1.width=300’将窗体的宽度设置为300

2.断行:

将长语句分成多行。

续行符“_”(一个空格紧跟一条下划线)

如:

strtemp=”问君归期未有期,”&_

”巴山夜雨涨秋池。

”&_

“何当共剪西窗烛,”&_

“却话巴山夜雨时。

注意:

(1)在同一行内,续行符后面不能加注释

(2)续行符不应将变量名和属性分割在两行

(3)原则上,续行符应加在运算符的前后

3.将多行语句写在一行上

一行中写下多条语句,可用“:

”作为分割符。

如:

Form1.width=300:

temp=form1.width:

form1.caption=”你好!

3.3变量

变量是指程序运行中其值可以变化的量。

一、变量的命名规则:

在VisualBasic中命名一个变量要遵循如下的规则,否则系统不能正确的辨识。

⑴必须是以字母、汉字开头的字母、汉字、数字、下划线组成的字符串,不能在变量名中出现句点”。

”、空格或者嵌入下列字符:

、#、@、$、%、&。

⑵变量名最长为255个字符。

⑶大小写字母同等对待,不能使用系统保留字

⑷在同一个范围内变量名必须是唯一的。

二、变量的声明:

所谓声明一个变量即事先将变量的有关信息通知程序,以便系统可以确定变量的存储格式。

在一般的高级语言中,使用变量必须遵循“先声明,后使用”的原则,但在VB中,变量在使用时不一定“先声明,后使用”,它有显式声明、隐式声明之分。

隐式声明:

即不声明而直接使用,变量以Variant类型处理。

显式声明:

情况一是在程序开头加入OptionExplicit强制显式声明语句;

情况二是不加强制显式声明语句,对变量声明。

格式:

Static|Dim变量名[AS类型]

其中:

[AS类型]表示可缺省,类型为数据类型

Static定义的变量为静态变量

Dim定义的变量为一般变量

当执行过程时,用Dim定义的变量初值为0。

而用Static定义的变量除第一次调用时初值为0,以后变量不会被初始化。

如:

subform_click()

dimtempasinteger

temp=2‘显式声明情况二

a=4‘隐式声明

endsub

‘显式声明情况一

optionexplicit

subform_click()

dimaasinteger

dimbasinteger

a=4

b=5

endsub

‘用Static声明变量

subform_click()

staticaasinteger

a=a+1

printa

endsub

三、变量的数据类型:

VB提供了6类12种标准数据类型,还可以由用户自定义数据类型。

我们首先介绍标准数据类型:

数值型、字符型、逻辑型、日期型、对象型、变体

1.数值(Numeric)数据类型

整型数、浮点数、货币型数、字节型数

(1)整型数:

是指不带小数点和指数符号的数,整型数运算速度快、精确,但表示数的范围小。

整型Integer(%):

存储长度为2个字节(16位),数的表示范围是-32768~+32767。

长整数Long(&):

存储长度为4个字节(32位),范围是-2147483648~2147483647。

(2)浮点数:

浮点数由三部分组成:

符号、尾数(Q)以及指数(J),即±QE(或)J。

指数分别用“E”表示单精度、“D”表示双精度。

浮点数的符号均占1位。

单精度浮点数Single(!

):

以4字节形式存储(32位),可以精确到7位十进制数,而单精度数的范围如下:

负数的范围是:

-3.402823E+38~-1.401298E-45。

正数的范围是:

+10401298E-45~+3.402823E+38。

双精度浮点数Double(#):

以8字节形式存储(64位)。

可以精确到15~16位十进制数。

而双精度数的范围如下:

负数的范围是:

-1.797693134862315D+308~-.9406564584112465D-324

正数的范围是:

+4.940656458412465D-324~+1.797693134862315D+308

浮点数表示的数的范围大,但有误差,在做浮点数的运算时,应尽量使每一次运算的结果都在有效位数范围内;尽量不要使两个相差很大的数值直接相加或相减。

(3)货币型数:

Currency(@):

是定点数,在内存中存储为64位(8个字节)整型的数值形式,其小数点左边有15位数字,右边有4位数字。

范围:

-922,337,203,685,477.5808~922,337,203,685,477.5807。

Currency数据类型在货币计算与定点计算中很有用,因为在这种场合精度特别重要。

(4)字节型数:

Byte:

是二进制数。

其存储为单精度型、无符号整型、8位(1个字节)的数值形式,范围在0至255之间。

Byte数据类型在存储二进制数据时很有用。

2.字符(String)数据类型

String($):

存放字符数据,所谓字符型数据就是用双引号括住的字符串,如:

"Abcde"、"VisualBasic欢迎你!

"等。

VB有两种字符串:

变长字符串和定长字符串。

在字符串中每个字符占1个字节,字符数据的范围以字符串长度的大小来度量。

变长字符串所占的空间大小为10个字节加字符串,最多可包含大约20亿(231)个字符;

定义格式:

DIM变量名ASString

如:

DIMstrtempASstring

定长字符串所占字节就是字符串的长度,可包含1~大约64K(216)个字符。

定义格式:

DIM变量名ASString*字符串长度

如:

DIMstrnameASstring*8

3.逻辑(Boolean)数据类型

Boolean:

该类型变量主要用来进行逻辑判断,它的存储位数是16位。

数据只有两个值:

True(真)或False(假)。

注意:

在VB中,逻辑数据可以转换成整型数据。

这时,True转换为-1,False转换为0;而当其他类型的数据转换成逻辑数据时,非零数转换成True,0转换为False。

4.日期(Date)数据类型

Date:

是用来表示和存储日期和时间的数据,它是按8个字节的浮点数存储。

任何字面上可被认作日期和时间的字符(除汉字外),只要用磅号(#)括起来都可以认作为日期型数据。

如:

#1Jan,97#、#January1,1999#、#1999―8―112:

30:

12PM#

日期表示的范围是:

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

时间表示的范围是:

从0:

00:

00~23:

59:

59。

注意:

当其他数据转换成日期型数据时,小数点左边的数值代表日期,而小数点右边的数值代表时间:

0为午夜12点,0.5为中午12点;负数代表的是1899年12月31日之前的日期和时间。

【例3.1】下面程序在用户单击窗体后,可显示出由数据转化的日期和时间。

(教材P30例2.1)

5.对象(Object)数据类型

Object:

存储为32位(4个字节)的数值形式,作为对象的引用。

利用Set语句,声明为Object的变量可以赋值为任何对象的引用。

如:

Subform_click()

DimTempASObject

SetTemp=form1

EndSub

6.变体(Variant)数据类型

Variant:

也称为万用数据类型,这是一种特殊的数据类型,它对数据的处理(即所需类型)可以根据上下文的变化而变化,除了定长的String数据及用户定义的类型之外,可以处理任何类型的数据而不必进行数据类型的转换。

是对所有未定义的变量的缺省数据类型的定义。

Variant类型的数据可以根据运算的实际情况而“变体”,VB提供了一个函数VarType专门用来检测Variant中保存的数据类型,例如:

VarType(123)的返回值为2,表示为整型。

VarType函数的返回值与数据类型的关系如表3.1所示。

表3.1VarType函数数据类型检测

内部常数

VarType

返回值

数据类型

vbEmpty

vbNull

vbInteger

vbLong

vbSingle

vbDouble

vbCurrency

vbDate

vbString

vbObject

vbError

vbBoolean

vbVariant

vbDataObject

vbByte

vbArray

0

1

2

3

4

5

6

7

8

9

10

11

12

13

17

8192

空(Empty)

无效(Null)

整型(Integer)

长整型(Long)

单精度(Single)

双精度型(Double)

货币型(Currency)

日期型(Date)

字符型(String)

OLE自动化对象(OLEAutomationObject)

错误(Error)

逻辑型(Boolean)

变体数组(Variant)

非OLE自动化对象(Non-OLEAutomationObject)

字节型(Byte)

数组(Array)

3.4常数

常数是在程序运行中其值不变的量。

VisualBasic中包含三种常量:

文字常量、符号常量、系统常量。

1.文字常量

包含数值常量、字符串常量、逻辑型常量和日期型常量。

2.符号常量

用一个符号(一个字母组合)来代替长长的数字常量

声明格式:

Const字符常量名[AS类型]=表达式

其中:

字符常量名:

是有效符号名,其命名规则与变量名相同。

一般使用大写,尽量选择易记、有意义的名称。

AS类型:

说明了该常量的数据类型,若省略该选项,则数据类型由表达式决定。

也可用在符号常量名后加类型说明符来决定。

表达式:

可以是数值常数、字符常数、时间日期以及运算符组成的表达式。

注意:

⑴表达式中不能调用函数,即其中不能有函数元素。

⑵可以用先前定义过的符号常数定义新常数。

如:

ConstPI=3.1415926'声明了常量PI,代表3.1415926,单精度型

ConstMAXAsInteger=&H21ED'声明了常量MAX,代表十六进制整型数21ED

ConstCOUNT#=53.78'声明了常量COUNT,代表53.78,双精度型

ConstBIRTHDAY=#3/22/72#

ConstPI2=PI*2

3.系统常量

是由VB提供的并能够识别的、具有专用名称和作用的常数。

VB6.0提供了如:

颜色常数、控件常数、窗体常数、绘图常数、图形常数、键码常数等32类近千个常数,这些常数位于VB的对象库中。

如下表:

表3.2VB的常用颜色常数

常数

描述

常数

描述

vbBlack

vbRed

vbGreen

vbYellow

&H0

&HFF

&HFF00

&HFFFF

黑色

红色

绿色

黄色

vbBlue

vbMagentavbCyan

vbWhite

&HFF0000

&HFF00FF

&HFFFF00

&HFFFFFF

蓝色

洋红

青色

白色

3.5表达式与运算符

表达式是指由变量、常量、函数和运算符按一定的规则组成的一个字符序列。

在VB6中可以进行4种运算:

算术运算、比较运算、连接运算和逻辑运算。

3.5.1算术运算

算术运算就是加减乘除及指数等数学运算。

表3.3显示了VB6所有的算术运算及示例:

表3.3算术运算符

运算符

说明

示例

优先级

-

取负值

Test=-7

 

由高到低

自左到右

括号优先

 

^

指数

Test=3^2‘表示3的2次方,结果为9

*,/

乘法,浮点数除法

Test=37*16

Test=37/16‘结果为2.3125

\

整数除法

Test=37\16‘结果为2

先四舍五入为整数后再相除。

Mod

求余数

Test=37mod16‘结果为5。

先四舍五入为整数后再求余数。

+,-

加法、减法

Test=37+16

Test=37-16

如:

设X=2.5,A=7,Y=4.7,求下面表达式的值。

X+(A\3)*(X+Y)^2-3.5MOD2/2‘表达式必须写在同一水平上

27.2

51.84

103.681

0

106.18

106.18

3.5.2比较运算

比较运算(关系运算)就是比较大小,结果为真(True)、假(False)和Null。

表3.4比较运算符

运算符

说明

>

大于

<

小于

>=

大于或等于

<=

小于或等于

=

等于

<>

不等于

运算规则:

如果两个操作数都是数值型,则按其大小比较。

如果两个操作数都是字符型,则按字符的ASCII码值从左到右一一比较,即首先比较两个字符串的第一个字符,其ASCII码值大的字符串大;如果第一个字符相同,则比较第二个字符,依此类推,直到出现不同的字符为止。

③如果一个表达式是数值型,另一个表达式是不能转换成数值的字符型,则不能进行比较。

④关系运算符的优先级相同,运算时从左到右依次进行。

⑤两个操作数中有一个是Null,则运算结果为Null。

关系表达式:

用关系运算符及括号将操作数连接的式子

如:

(3>1)=(4<2);0=(4<2);18.5<15.4

3.5.3连接运算

连接运算就是将两个表达式连接在一起。

运算符有:

&:

用来强制两个表达式作字符串连接。

+:

如果两个表达式都为字符串,则将两个字符串连接;若一个为字符串而另一个为数字则进行相加运算。

如下表:

表3.5两种连接运算符“&”和“+”的比较

表达式1

表达式2

&

+

“123”

“3”

“1233”

“1233”

123

3

“1233”

126

“123”

3

“1233”

126

“123a”

3

“123a3”

报错

3.5.4逻辑运算(布尔运算)

逻辑运算通常用来表示比较复杂的关系,如:

女工程师,表示为:

性别=“女”AND职称=“工程师”。

结果为真(True)和假(False)。

表3.6列出了VB中所有的逻辑运算符和它们表示的逻辑关系。

表3.6逻辑运算符和它们表示的逻辑关系

运算符

说明

优先级

说明

结果

Not

逻辑非

1

当操作数为假时,结果为真

NotF

T

And

逻辑与

2

操作数均为真时,结果才为真

TAndF

TAndT

F

T

Or

逻辑或

3

操作数中有一个为真时,结果为真

TOrF

FOrF

T

F

Xor

逻辑异或

4

操作数相反时,结果才为真

TXorF

TXorT

T

F

Eqv

逻辑等于

5

操作数相同时,结果才为真

TEqvF

FEqvF

F

T

Imp

逻辑蕴含

6

第一个操作数为真,第二个操作数为假时,结果才为假,其余结果都为真

TImpF

TImpT

F

T

如:

计算下面表达式的值:

①(15>3)And(6>2)结果为True

②(7>3)Or(2>6)结果为True

③Not(2>6)And(6>2)结果为True

④("a">"A")Xor("b">"B")结果为False

⑤(7.8>3.2)Eqv(16.8>7.2)结果为True

⑥(16.3>7.0)Imp(4.5>19.2)结果为False

⑦(4.5>19.2)Imp(16.5>7.0)结果为True

注意:

逻辑运算一般是对关系表达式或逻辑量进行的,但也可以对数值进行运算。

在对数值进行运算时,是以数字的二进制值逐位进行逻辑运算的。

如:

10And7

10的二进制数为1010;7的二进制数为0111,对它们逐位进行逻辑运算得到二进制数为0010,结果是十进制数2。

3.5.5运算的优先顺序

当一个表达式中出现多种运算符时,即同时出现算术、关系和逻辑时,如何决定运算的次序呢?

这就需要考察一下这三类运算符的优先次序。

优先级高的运算符先运算,运算符的优先级相同时,从左向右进行运算。

VB运算符的优先级见下表:

表3.7VB运算符的优先级

优先级

1

2

3

算术运算符

关系运算符

逻辑运算符

1

-(负号)

=

Not

2

^

<>

And

3

*,/

<

Or

4

\

>

Xor

5

Mod

<=

Eqv

6

+,-

>=

Imp

7

&

如:

用一个逻辑表达式表示满足闰年的条件。

解:

闰年的条件是:

①能被4整除,但不能被100整除的年份都是闰年。

②能被100整除,又能被400整除的年份是闰年。

用Year表示一个年份,则有如下的判断条件:

YearMod4=0AndYearMod100<>0OrYearMod400=0

3.6流程控制语句

程序的执行就象水在管道中流动,如果不加以控制,只能从上流到下。

使用控制结构就可控制程序执行的流程。

在VB中,控制程序执行的基本结构有三种:

顺序结构、选择结构和循环结构。

程序中所体现出的“智能”就是通过条件判定和循环语句来实现的。

下面我们就要自己动手编程了,首先学习算法的表示,再学习三种基本结构。

3.6.1算法的表示

算法:

即对一个问题的解决方法和步骤。

任何一个问题能否用计算机解决,一个关键的步骤就是看能否设计出它的算法,有了合适的算法,再使用合适的计算机语言,就能方便地编写出程序来。

一、算法的特点

(1)有穷性:

一个算法必须在执行有穷个计算步骤后终止;

(2)确定性:

一个算法给出的每个计算步骤,必须都是精确定义的、无二义性的;

(3)能行性:

算法所要执行的每一个计算步骤,都是可以在有限时间内做完的;

(4)输入:

一个算法一般要求有一个或多个输入信息,这些输入信息是算法所需的初始数据;

(5)输出:

一个算法一般要求有一个或多个输出信息,这些信息一般就是对输入信息计算的结果。

二、算法的表示

表示算法的形式很多,如传统流程图、自然语言、N-S结构化流程图等等。

我们用直观、形象的流程图来表示算法。

.起止框,表示算法的开始或结束。

.处理框,表示初始化或运算赋值等操作。

.输入输出框,表示数据的输入输出操作。

.判断框,表示根据条件决定程序的流向。

.流程线,表示流程的方向。

【例3.2】:

将某班级中计算机、英语、数学三门课成绩总和大于等于270分的学生发给奖学金200元,并显示这些学生的姓名、奖学金。

若成绩总和小于270分,则显示该学生没有奖学金。

当从键盘输入完最后一名学生的成绩后,输入一个特殊符号“#”。

如何着手编程?

1.分析问题,理清解题思路

2.画出流程图

3.设计程序界面

4.编写必要的应用程序

5.运行、调试

分析:

⑴由键盘输入学生的姓名、三门课的成绩。

⑵判断是否输入了一个特殊符号“#”。

是,程序结束。

否,继续执行⑶。

⑶求三门课的总成绩。

⑷判断总成绩是否大于270分。

否,显示没有奖学金。

是,继续执行⑸。

⑸奖学金发200元,显示该学生的姓名和奖学金。

⑹再次输入学生的姓名,流程返回到⑴继续执行。

流程图:

图3.1例3.1流程图

3.6.2顺序结构

顺序结构是一种最简单、最基本的程序控制结构,任何程序必须包含顺序结构。

它的特点是,在这个结构内各语句块是按照它们出现的顺序从上到下依次执行的。

图3.2顺序结构

例:

实现两数A,B交换。

T=A

A=B

B=T

3.6.3选择结构

条件判定语句在程序运行中起的是水龙头的作用,只有满足条件的,才会执行某些语句,否则程序将按照另一个流程执行。

图3.3选择结构

VB支持的条件判定结构有3种,它们是:

●If…Then

●If…Then…Else

●SelectCase

一、If…Then结构

1.只选择执行一条语句:

If条件Then语句块1[Else语句块2]

如:

Ifx>=ythenx=x+y:

sum=sum+xelsex=x-y:

sum=sum-x

注:

这条语句必须在一行中写完

2.需要执行多条语句:

If条件Then

语句块

EndIf

如:

IfName=“Text1”Then

Text1.text=“欢迎使用VisualBasic6.0系统”

EndIf

二、If…Then…Else结构

使用If…Then…Else结构可以从几个程序流程分支中选择一个执行。

格式:

If条件1then

语句块1

[ElseIf条件2Then

语句块2]

[ElseIf条件3Then

语句块3]

.....

[Else

语句块n]

EndIf

流程图:

图3.4If…Then…Else结构

除此之外,条件还可以是下面的形式:

TypeOf控制变量Is对象类型

它测试某个控制变量是否为某种对象类型,如果是,则条件满足,返回True;否则条件不满足,返回False。

例如:

IfTypeOfListvarIsListBoxThen

表示如果Listvar控制是一个列表框类型的控制,则执行Then后面的语句块;否则执行下面的语句。

【例3.4】判断某年是否为闰年。

计算闰

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

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2