第三章 程序设计基础

发布时间 : 星期二 文章第三章 程序设计基础更新完毕开始阅读

1.文字常量

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

用一个符号(一个字母组合)来代替长长的数字常量 声明格式:

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

字符常量名:是有效符号名,其命名规则与变量名相同。一般使用大写,尽量选择易记、有意义的名称。

AS 类型:说明了该常量的数据类型,若省略该选项,则数据类型由表达式决定。也可用在符号常量名后加类型说明符来决定。

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

注意:⑴ 表达式中不能调用函数,即其中不能有函数元素。 ⑵ 可以用先前定义过的符号常数定义新常数。

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

Const MAX As Integer =&H21ED ' 声明了常量MAX,代表十六进制整型数21ED Const COUNT# =53.78 '声明了常量COUNT,代表53.78,双精度型 Const BIRTHDAY=# 3/22/72# Const PI 2= PI * 2

3.系统常量

是由VB提供的并能够识别的、具有专用名称和作用的常数。VB6.0提供了如:颜色常数、控件常数、窗体常数、绘图常数、图形常数、键码常数等32类近千个常数,这些常数位于VB的对象库中。 如下表:

表3.2 VB的常用颜色常数

常 数 vbBlack vbRed vbGreen vbYellow

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 优先级 高 由高到低 自左到右 值 &H0 &HFF &HFF00 &HFFFF 描 述 黑色 红色 绿色 黄色 常 数 vbBlue vbMagentavbCyan vbWhite 值 &HFF0000 &HFF00FF &HFFFF00 &HFFFFFF 描 述 蓝色 洋红 青色 白色 第 5 页 共 26 页

\\ 整数除法

Mod 求余数

+,- 加法、减法

Test=37\\16 ?结果为2 先四舍五入为整数后再相除。

Test=37 mod 16 ?结果为5。先四舍五入为整数后再求余数。 Test=37+16 Test=37-16

括号优先

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

X+(A\\3)*(X+Y)^2-3.5 MOD 2/2 ?表达式必须写在同一水平上 2 7.2 51.84 103.68 1 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

“123” 123 “123” “123a” 表达式2 “3” 3 3 3 & “1233” “1233” “1233” “123a3” + “1233” 126 126 报错 第 6 页 共 26 页

说明 大于 小于 大于或等于 小于或等于 等于 不等于

3.5.4 逻辑运算(布尔运算)

逻辑运算通常用来表示比较复杂的关系,如:女工程师,表示为:性别=“女” AND 职称=“工程师”。结果为真(True)和假(False)。表3.6列出了VB中所有的逻辑运算符和它们表示的逻辑关系。

表3.6 逻辑运算符和它们表示的逻辑关系 运算符 说 明 Not 逻辑非 And 逻辑与 Or Xor Eqv Imp

如: 计算下面表达式的值:

① (15>3)And (6>2) 结果为 True ② (7>3)Or (2>6) ③ Not(2>6)And (6>2)

结果为 True

结果为 True 结果为 False 结果为 True 结果为 False 结果为 True

逻辑或 逻辑异或 逻辑等于 逻辑蕴含 优先级 说 明 1 当操作数为假时,结果为真 2 操作数均为真时,结果才为真 3 4 5 6 操作数中有一个为真时,结果为真 操作数相反时,结果才为真 操作数相同时,结果才为真 第一个操作数为真,第二个操作数为假时,结果才为假,其余结果都为真 例 Not F T And F T And T T Or F F Or F T Xor F T Xor T T Eqv F F Eqv F T Imp F T Imp T 结 果 T F T T F T F F T F T ④ (\)Xor (\) ⑤ (7.8>3.2)Eqv (16.8>7.2) ⑥ (16.3>7.0)Imp(4.5>19.2) ⑦ (4.5>19.2)Imp(16.5>7.0)

注意:逻辑运算一般是对关系表达式或逻辑量进行的,但也可以对数值进行运算。在对数值进行运算时,是以数字的二进制值逐位进行逻辑运算的。 如: 10 And 7

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

3.5.5 运算的优先顺序

当一个表达式中出现多种运算符时,即同时出现算术、关系和逻辑时,如何决定运算的次序呢?这就需要考察一下这三类运算符的优先次序。优先级高的运算符先运算,运算符的优先级相同时,从左向右进行运算。 VB运算符的优先级见下表:

表3.7 VB运算符的优先级

优先级 1 2 3 4 5 6 7

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

解:闰年的条件是:

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

第 7 页 共 26 页

1 算术运算符 -(负号) ^ *,/ \\ Mod +,- & 2 关系运算符 = <> < > <= >= 3 逻辑运算符 Not And Or Xor Eqv Imp ② 能被100整除,又能被400整除的年份是闰年。 用Year表示一个年份,则有如下的判断条件:

Year Mod 4=0 And Year Mod 100 <> 0 Or Year Mod 400=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元,显示该学生的姓名和奖学金。 ⑹再次输入学生的姓名,流程返回到⑴继续执行。 流程图:

第 8 页 共 26 页

联系合同范文客服:xxxxx#qq.com(#替换为@)