内容正文:
项目4 表达式与函数
2
项目导入
在程序设计语言中,用不同的符号描述不同的运算形式,Visual Basic 提供了丰富的运算符和表达式。
其中包括算术运算符和算术表达式、字符串运算符和字符串表达式、关系运算符和关系表达式、布尔(逻辑)运算符和布尔表达式等。
函数(Function)是一种特殊的语句或程
3
序段,在Visual Basic中,函数可分为标准函数和用户自定义函数两类。
标准函数也叫内部函数或预定义函数,它是由Visual Basic语言直接提供的函数,按其功能来划分有数学函数、字符串函数、日期和时间函数、转换函数、判断函数、输入函数、消息(输出)函数和格式输出函数等。
项目4通过2个任务来介绍Visual Basic 的运算符和表达式,以及Visual Basic 的标准函数。
4
项目目标
掌握Visual Basic的常用运算符。
能够计算Visual Basic表达式的值。
能够实现代数式和Visual Basic表达式之间的互化。
掌握数学函数、字符串函数、转换函数、日期与时间函数的使用。
5
任务1 运算符与表达式
【任务目标】
掌握各种运算符的使用。
能够计算各表达式的值。
能够将代数式转化成Visual Basic表达式。
【任务实施】
在程序设计语言中,用不同的符号描述不同的运算形式,这些符号称为运算符,而运算
6
的对象就称为操作数,由运算符将操作数接起
来的式子就构成了表达式。
例如: 等都是表达式,单个变量、常量也可以看成是简单的表达式。
Visual Basic 提供了丰富的运算符和表达式。这些运算符和表达式包括算术运算符和算术表达式、字符串运算符和字符串表达式、关系运算符和关系表达式、布尔(逻辑)运算符和布尔表达式等。
A+5、3*5*6
7
1.算术运算符和算术表达式
(1)算术运算符
算术运算符是常用的运算符,用来执行简单的算术运算,Visual Basic提供了8个算术运算符,表4-1按优先级列出了这些算术运算符。
8
表4-1 算术运算符
运算符 含义 优先级
∧ 乘方 1
— 取负 2
* 乘 3
/ 除 3
\ 整除 4
Mod 取模 5
+ 加 6
- 减 6
① 指数运算。
指数运算用来计算求乘方,其运算符为“∧”,例如: 表示为3的平方。当指数是一个表达式时,必须加上括号,
例如:X 的 Y+Z 次方,必须写成
② 浮点数除法与整数除法。
浮点数除法运算符( / )执行标准除法
9
说 明:
3^2
X^(Y+Z)
10
操作,其结果为浮点数。
例如: 的值为1.25
整数除法运算符( \ )执行整除运算,运算结果为整型数。整除的操作数一般是整型值,当操作数带有小数时,首先被四舍五入为整型数或长整型数,然后进行运算,其运行结果只截取整数部分,小数部分不做四舍五入处理。
例如: 的结果为 3,
的结果为 8。
5/4
10\3
24.6\2.8
11
③ 取模运算。
取模运算符 Mod 用来求余数,其结果为第一操作数除以第二个操作数所得的余数,当操作数带有小数时,首先被四舍五入为整型数,然后求余数。
例如: 的结果为 1,
的结果为 0。
10 Mod 3
11.6 Mod 2.8
((2)算术表达式。
算术表达式又叫数值型表达式,它由算术
算术表达式与数学中的表达式写法有所区别,在书写表达式时应当特别注意:
12
运算符、数值型常量和变量、函数和圆括号组成,它的运算结果是一个数值。
例如:
3
3*5.6
5*2*(1+x)
5+Sin(x)
说 明:
13
3^2
x1+y1
2*a*b
2*(x+3*(x-y))
① 每个符号占1格,所有符号都必学一个一个并排写在同一横线上,不能在右上角或左下角写次方或下标。例如:32要写成 ,x1+y1要写成 。
② 原来在数学表达式中省略的内容必须重新写上。例如:2ab要写成 。
③ 所有括号都用小括号,括号必须配对。
例如:2[x+3(x-y]要写成 。
14
2.字符串运算符和字符串表达式
(1)字符串运算符
字符串运算符有两个,即“&”和“+”,其功能都是将两个字符串连接起来。但由于“+”运算符还有做加法的含义,容易造成混乱,所以进行字符串连接运算时最好还是使用“&”运算符。
例如:
A1="BCDE"
15
A2="FGHI"
A3=A1+A2 'A3 的值为"BCDEFGHI"
或
A3=A1&A2 'A3 的值也为"BCDEFGHI"
(2)字符串表达式。
字符串表达式由字符串常量、变量、函数和运算符组成。
123&456& "abcd "
例如:
16
3.关系运算符与关系表达式
(1)关系运算符
关系运算符也称为比较运算符,用来对两个表达式的值进行比较,比较的结果是一个布尔值,即真(True)或假(False)。
Visual Basic 把任何非0的值都看成是“真”,但一般以“-1”表示,0 则表示假
关系运算符既可以进行数值比较,也可以进行字符型数据与日期型数据的比较, 字
17
符型数据以其ASICII值从左到右进行比较,直到比较出结果,而日期型数据以其日期值进行比较。Visual Basic 提供了6种关系运算符,如表4-2所示。
18
关系运算符 含 义
﹤ 小于
﹥ 大于
﹤= 小于或等于
﹥= 大于或等于
= 等于
﹤﹥ 不等于
表4-2 Visual Basic 的关系运算符
6种关系运算符为同级运算,不分先后。
19
(2)关系表达式。
关系表达式是由关系运算符将两个数值表达式或两个字符串表达式连接起来的式子。关系表达式的值是一个布尔类型的值,只有True或False两个取值。下面是合法的关系表达式。
例如:
表达式的值为True
表达式的值为False
5=3+2
5<2
20
(1)布尔运算符
布尔运算符用于对两个表达式进行逻辑运算,结果是布尔值 True 或 False。Visual Basic 提供的布尔运算符有3种,
4.布尔运算符与布尔表达式
布尔运算符 含义 优先级
Not 非 1
And 与 2
Or 或 3
表4-3 Visual Basic 的布尔运算符
21
如果用A和B分别代表任意两个操作数,而用T代表True,用F代表False,则各种布尔运算符的运算结果:
表4-4 各种布尔运算符的运算结果
操作数A F F T T
操作数B F T F T
Not A T T F F
A And B F F F T
A Or B F T T T
22
(2)布尔表达式
用“布尔运算符”连接两个或多个式子称为布尔表达式,该表达式的返回值只有两种可能,即真(True)和假(False)。
例如:
下面都是合法的布尔表达式:
其结果为True
其结果为False
Not (2>8)
(3>8) And (7<3)
23
5.日期运算符与日期表达式
(1)日期运算符
日期运算符为算术运算符中的“+”,“-”。日期型数据是一种特殊的数值型数据,它们之间只能进行“加”、“减”运算。
(2)日期表达式
两个日期型数据可以相减,结果是一个数值型数据(两个数据相差的天数)。
24
例如:
‘结果为9
一个表示天数的数值型数据可加到日期型数据中,其结果仍然为一日期型数据。
例如:
结果为日期型数据:#2021/12/29#
一个表示天数的数值型数据可从日期型数据中减掉它,其结果仍然为一日期型数据。
#12/19/2021#-#12/10/2021
#12/19/2021#+10
25
例如:
结果为日期型数据:#2021/12/9#
#12/19/2021#-10
6.表达式的运算顺序
前面提到的所有类型运算符都有运算优先级的问题,在一个表达式中可以包含不同类型的运算符和函数,每一种运算都有执行的先后顺序,当不同类型的运算符出现在同一个表达式中时,计算机按一定的顺序对表
在同一个表达式中,所有同一级运算都按从左到右的顺序进行。
有括号的,括号里的运算最优先。
26
达式求值,其一般顺序如下。
(1)首先进行函数运算,其优先级最高;
(2)其次进行算术运算;
(3)然后进行关系运算;
(4)最后进行布尔运算。
说 明:
27
课堂反馈
① 15 \ 2^2+9 Mod 3
② "3" & "4" + 5
③ 2^3>=3^2
④ (16.3>7.0)And (Not(4.5>19.2))
⑤ #12/20/2021# +15
计算下列表达式的值:
$$