背景:                 
[本书目录] [图书首页] [本书讨论区]  
链接地址:http://www.17xie.com/read-6147.html    注册17xie 一起来写书 实现您的出书梦想!

中每个字符占1个字节。下面我们介绍一下如何定义变量应注意的事项。定义变量的方法大致有三种:

1)用类型说明符定义变量

把类型说明符放在变量的末尾,可以定义不同的变量类型。其中“%”表示整型、“&”表示长整型、“!”表示单精度型,“#”表示双精度型,“$”表示字符串型。如:RESULT%RESULT&、RESULT!、RESULT#RESULT$等。

2)用declare变量名AS类型格式来定义变量

其中的“declare”可以是DIMCOMMONREDIMSHAREDSTATIC。“类型”可以是INTEGER(整型)、LONG(长整型)、SINGLE(单精度型)、DOUBLE(双精度型)、STRING(字符串型)或用户自定义的类型。例如:

DIM A AS LONG

是把A定义为长整型变量。

使用AS STRING子句可以说明变长字符串,也可以说明定义长字符串。变长字符串的长度取决于赋给它的字符串常量的长度。定长字符串的长度通过“*数值”来确定。比如:

DIM STRING1 AS STRING

DIM STRING2 AS STRING *6

记录类型可以使用TYPE语句定义,也可以使用记录类型定义变量。

[例3-3  定义记录类型。

TYPE InventoryItem            '记录类型名定义

Description AS STRING *20     '该数据项(域)为字符串型

Number AS STRING *10

Quantity AS LONG              '该数据项(域)为长整型

Orderpoint AS LONG

END TYPE

DIM CurrentItem AS InventoryItem,

PreviousItem AS InventoryItem

为了程序的易读性和指定记录类型变量中的某个元素,需要使用“变量名.元素名”这样的格式。当使用AS子句说明了一个变量时,则变量的每次说明都必须使用AS子句。例如:

CONT MAXEMPLOYEES300

DIM EmpNames(MAXEMPLOYES)AS STRING

COMMON EmpNames()AS STRING

……

3)使用DEF type语句定义变量类型

格式:

DEF type-字母][,字母[-字母]]……

其中的“DEF”是保留字;type是类型标志,它可以是INTSNGDBLLNGSTR,分别表示整型、单精度型、双精度型、长整型和字符串型。注意在DEF和类型标志之间不要包含空格。其中的“字母”可以是英文字母的A~Z中的任意一个(不区分大小写)。例如:

DEFDBL L-P

其中,LMNOP都可以作为双精度变量而LIMITNumber Pointer等也同样是双精度变是名。在类型说明语句中定义的字母可以作为该类型的变量名,而且以该字母开头的变量名,也对应那种类型的变量。

类型说明语句一般放在程序或模块的开头。当整个模块的变量都使用整型时,可以这样说明:

DEFINT A-Z

Quick BASIC在执行程序时只扫描一次文本,当变量在程序中出现时,它的类型就不再改变了。以上介绍了三种定义变量类型方法,表4-3列出了各种变量类型的定义方法和存储要求。

4-3  各种变量类型的定义方法和存储要求

变量类型

类型说明符

AS type

占用内存(字节)

整型

%

INTEGER

2

长整型

&

LONG

4

单精度型

!

SINGLE

4

双精度型

#

DOUBLE

8

变长字符串

$

STRING

实际字符个数

定长字符串

$

STRING*NUM

NUM

在定义变量类型时,我们应当注意:

n          变量名相同但类型说明符不同时,所表示的是不同的变量,如ZH%ZH&、ZH#是三个不同的变量。

n          当一个变量没有类型说明符时,将默认是单精度变量。

n          在实际应用中,应当根据需要设置变量的类型。但应在达到自己目的情况下尽量节约内存空间,以提高处理速度。

n          类型说明符(%、&、!、#$)总比DEF type语句优先起作用。

4.4  运算符和运算规则

Quick BASIC的运算符大致可以分为算术运算符、关系运算符、逻辑运算和字符串运算符。下逐一介绍各运算符及其运算规则。

4.4.1  算术运算

Quick BASIC的算术运算符主要有加法、减法、乘法、除法、整数除法、浮点除法、取模、取负和指数等,表4-4中列出了各算术运算符及其在运算中的优先级(由高到低)。

因为我们对于Quick BASIC的算术运算已经很熟悉了,在这里我们只向读者介绍整数除法与取模运算。

1.整数除法(\

当操作数带有小数时,首先被四舍五入为整数或长整数,然后再进行整除运算。但操作数必须在-21417483648.5+2147483647.5的范围内,其运算结果被截断为整数(INTEGERLONG)不进行舍入处理。例如:

X14\6

Y=68.56\3.47

运算的结果X2Y值的运算首先将68.56变为69,再把3.47变为3后进行整除,结果为23

4-4  算术运算符及在运算中的优先级

含义

运算符

表达式举例

指数

^

a^b

取负

-

-a

乘法

*

a*b

浮点除法

/

a/b

整数除法

\

a\b

取模

MOD

a MOD b

加法

+

a+b

减法

-

a-b

2.取模运算(MOD

取模运算的结果是一个整型数值,此值为整数除法的余数。例如:

X8 MOD 3

结果为2

Y26.782 MOD 4.586

的结果为1(首先将26.482变为26,再将4.586变为5,然后进行26/5运算结果为51,所以结果为1)。

4.4.2  关系运算

Quick BASIC中,关系运算可以进行对象的大小比较,使用关系运算符既可以进行数值的比较,也可以进行字符串的比较。有关Quick BASIC中的关系运算符及其含义见表4-5所示。数值比较一般是对两个算术表达式的值进行比较。例如:

a+b>c/d

如果a+b的值大于c/d的值,则表达式的值为真(-1),否则为假(0)。

在编程时,关系运算常常作为条件判断使用。

[例3-4  关系运算作条件判断。

a=100

IF a<>100 THEN?"Not Equal"ELSE?"Equal"

END

因为a等于100,所以招待后输出“Equal

4-5  关系运算符及其含义列表

运算符

测试关系含义

a=b

=

相等

a=b

< >><

不相等

a< >ba><b

< 

小于

a<b

> 

大于

a>b

<=

小于或等于

a<=b

>=

大于或等于

a>=b

4.4.3  逻辑运算(布尔运算)

逻辑运算一般用逻辑运算符连接两个或多个关系式,组成一个布尔表达式,其结果也为一个逻辑值。在Quick BASIC中的逻辑运算符主要包含:

NOT    逻辑非    XOR    异或

AND    逻辑与    EQV    等价

OR              IMP    蕴含

逻辑运算的规则如表4-6所示:


字数:3977    最后更新:1年以前 [08-16 18:57]我爱钱 修改
本页编辑者:我爱钱  
[前一页]:第四章  [后一页]:第四章
[在本页中加入书签] [收藏本书] [推荐本书]
  17xie论坛 > 本书讨论区 > 本页评论   (共0条)
发表评论

用户名称 匿名发表
评论内容
验证码

关于我们 | 版权声明 | 免责声明 | 诚聘英才 | 联系我们 | 合作伙伴 | 友情链接 | 广告合作 | 提交意见
Copyright © 2007 17xie.com 互联网协同写书平台 京ICP备08002671号