第四章 运算符与表达式_第1页
第四章 运算符与表达式_第2页
第四章 运算符与表达式_第3页
第四章 运算符与表达式_第4页
第四章 运算符与表达式_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

主讲:冯元Email:feng.yyy@163.comVisualBasic程序设计1第四章运算符与表达式4.1运算符4.2表达式24.1运算符本节知识点:运算符算术运算符比较运算符字符串运算符日期时间运算符逻辑运算符34.1运算符运算是对数据进行加工和处理的过程。运算符:一些基本运算可用简洁的符号表示,这种表示某种运算的符号就是运算符。运算量:被运算的对象。(常数、变量等)表达式:描述对什么数据,按什么顺序进行什么运算的式子,由运算符和运算量组成。表达式的值:表达式的计算结果称为表达式的值,表达式的值也有相应的数据类型。44.1运算符1、算术运算符用来对数值型数据进行算术运算,运算结果是数值型。运算符说明优先级示例举例运算结果^指数1x^y2^38*,/乘,除2x*y,x/y2*36\整除3x\y5\22Mod求余4xmody5Mod21+,-加,减5x+y,x-y2+3554.1运算符整除运算符“\”执行整除运算,结果为整型数。整除的运算量为整型数,当运算量带有小数时,首先四舍五入为整数,然后进行整除运算,运算结果截去小数部分,不再四舍五入。(10.1\3.9结果2)Mod用来求余数。求余运算结果的正负号同第一个操作数的符号。(15mod-6结果3)绝对值小于0.5的数不能作整除运算和求余运算的除数,否则会出现除数为“0”的错误。64.1运算符2、比较运算符用来对两个数值或字符串进行比较,结果为逻辑值True或False。运算符说明示例结果<小于2.5<5True>大于2.5>5False=等于2=4False<=小于等于2.5<=2.5True>=大于等于5>=6False<>不等1<>8True74.1运算符比较运算符“=”与赋值号“=”的区别:前者只比较两边的值是否相等,不会改变任何一个值,所以比较运算符两边可以是:常量、变量、函数或表达式。赋值语句是独立的语句,而由比较运算符构成的表达式只能是语句的一部分。例子:求表达式a=b=c的值。84.1运算符3、字符串运算符字符串连接运算符:将两个字符串连接成一个字符串,有“+”和“&”。由于“+”还兼有算术运算符的功能,所以使用时要注意。例子: “30”&“15”“3015” “30”+“15”“3015” 30&15 “3015” “30”+154594.1运算符字符串比较运算符:使用比较运算符。两字符串进行比较时,两字符串向左对齐,然后逐个进行比较。字符的大小取决于字符的机内码。英文字母、数字等按其ASCII码值区分大小。汉字:中文符号按汉字国标码顺序进行比较。所有汉字和中文符号大于所有英文字母、数字等ASCII码。104.1运算符语言文字的数字化:首先确定需要数字化的字符集合。为字符集合中的每个字符分配一个唯一的二进制编码。为该字符集合设计输入法。字符集合中的每个字符制作字库。114.1运算符例子: “A”>“B” 结果为“false” “ab”>“ac” 结果为“false” “ab”>“abc” 结果为“false” “ab”<“人” 结果为“true” “ab”>“AB” 结果为“true” “123”>“99” 结果为“false” “123”=“123” 结果为“true” “你们”>“我们” 结果为“true”124.1运算符字符串匹配运算符:字符串的匹配是指一个字符串是否符合一个“模板”规定的样式。运算符为“like”。

S1LikeS2通配符:

?

代表任何一个字符

* 代表任意多个任何字符,(包含0个)

#

代表任意一个数字,(0--9)134.1运算符例子:

“abc”like“abc” 结果为“true” “ab”like“ac” 结果为“False”

“ac”like“a?” 结果为“true” “aAFHDa”like“a*a” 结果为“true” “a2b”like“a#b” 结果为“true”144.1运算符例子:“F”like“[A-Z]”结果为“true”“aM5b”

Like“a[L-P]#[!c-e]”

结果为“true”“a”like“[!abc]”结果为“False”“abc”like“[abc]” 结果为“False”“你”like“[你我他]” 结果为“true”154.1运算符4、日期时间运算符日期型数据是一种特殊的数值型数据,它们之间只能进行“+”、“-”运算。两个日期型数据相减,结果是一个数值型数据(两个日期相差的天数)。 例如:#10/15/2009#-#8/15/2009#结果为61天。164.1运算符日期型数据可以加上(或减去)一个表示天数的数值型数据,结果仍然为一日期型数据。

例如:

#8/15/2009#+30结果2009年9月14日

#8/15/2009#-30结果2009年7月16日日期型数据的比较: 比较晚的日期>比较早的日期。174.1运算符5、逻辑运算符对逻辑量进行运算,结果为逻辑值。运算符含义优先级说明示例结果Not取反1假变真,真变假NottrueFalseAnd与2全真为真TandTTrueOr或3一真即为真ForFFalseXor异或3不同为真FxorTTrueEqv同或4相同为真FeqvFTrueImp蕴涵5真不含假TimpFfalse184.1运算符例子:a、b、c是三个变量,已知a<c,判断b的值是否在a与c之间。 表达式正确写法:a<bandb<c

错误写法:a<b<c194.1运算符按位逻辑运算:逻辑运算符除了可以对逻辑值进行运算外,还可以对整型量按位进行逻辑运算,结果为数值型。按位逻辑运算先将操作数用二进制补码形式表示,然后按位进行逻辑运算。这里,二进制“1”对应逻辑值“true”,二进制“0”对应逻辑值“false”。运算结果再由二进制转换成十进制。204.1运算符计算机中为什么要引入补码的概念:简化运算,将减法运算转换为加法运算。原码:正数的符号用0表示,负数的符号用1表示,数值部分在符号位后。例如:

X=+100101[X]原=00100101。

X=-100101[X]原=10100101214.1运算符补码:简化运算,让符号位也作为数值的一部分参加运算,并使所有的加减运算均以加法运算来代替实现。求补码的简便方法:X≥0时其补码与原码相同;X<0时其补码为:符号位为1,其它各位取反码,然后在最低位加1。224.1运算符例子:已知x,求x的补码[x]补。 ①x=+1010110②x=-1010110

解:

①∵x≥0,[x]补=x=01010110符号位为0。

②∵x<0,∴将x的各位取反,再在最低位加1, 并使符号位为1,即:

[x]补=10101001+00000001=1010101023【例】:求(-50)10+(33)10

10110010[-50]原

+)

00100001

[33]原

11010011其结果是–83

11001110[-50]补

+)

00100001

[33]补

11101111 [结果]补

转换为原码:10010000+00000001=10010001

结果为:-17244.1运算符例子:求表达式10and8的值。10D

00001010B8D

00001000B

and

00001000B

8D254.1运算符例子:求表达式10or8的值。10D

00001010B8D

00001000B

or

00001010B

10D264.1运算符例子:求表达式not10的值。10D

00001010Bnot10D

11110101Bnot10D

10001011Bnot↓-11D↓转换成原码274.2表达式本节知识点:表达式表达式的求解顺序运算符的优先级括号在表达式中的作用正确书写表达式表达式求值284.2表达式表达式:由常量、变量、函数、运算符及圆括号按照一定的规则组成,表达式的运算结果由参与运算的数据和运算符决定。单个元素也可构成表达式。表达式的值:表达式的运算结果称为表达式的值。表达式的类型:根据表达式中使用的运算符类型和结果的数据类型,可将表达式分为:算术表达式、字符串表达式、逻辑表达式等。294.2表达式1、表达式的求解顺序在表达式中,先计算优先级高的运算符,再计算优先级低的运算符。优先级相同时,从左向右计算。使用圆括号,可以改变计算顺序,先计算括号内的例子: a=2+3–3+4 b=2–3*3+4/5304.2表达式2、运算符的优先级当表达式中运算符不止一种时,优先级如下:

算术运算符

>比较运算符

>逻辑运算符所有比较运算符的优先级都相同,要按它们出现的顺序从左到右进行计算。字符连接运算符“&”的优先级位于算术和比较运算符之间。算术运算符

>&>比较运算符

>逻辑运算符314.2表达式运算符的优先级:324.2表达式3、使用括号改变计算顺序可以用圆括号“()”改变表达式中运算的优先顺序,强制表达式中的某些部分优先进行运算。在括号内,运算符的优先顺序不变。圆括号可以多层使用,但要注意配对出现。例子: 8+4*9–6/2 (8+4)*9–6/2 ((8+4*9)–6)/2334.2表达式4、正确书写表达式VB中的表达式虽然与代数中的算式很相似,但二者却是完全不同的概念。例如:

a=b与b=aVB的表达式有严格的规则限制,初学者要避免代数知识的影响。344.2表达式书写表达式要注意:表达式中的每个字符没有高低、大小的区别。只能使用圆括号,可以多重使用,必须成对出现。VB表达式中的乘号“*”不能省略。能用内部函数的地方尽量使用内部函数。354.2表达式将代数式转换为表达式:例子:将数学式 写成VB表达式 结果:(-b+sqr(b^2-4*a*c))/(2*a)

364.2表达式浮点数的精度问题:无论是单精度还是双精度浮点数都有有效数字位数的限制,无法准确表示超过该精度的值。在编程时,应考虑这一点。运算的顺序问题:在构造表达式时,应避免在计算过程中出现特大或特小的值,可能造成溢出或精度损失。应避免特别大的值与特别小的值直接相加减,可能造成误差。374.2表达式运算过程中的溢出错误:当为数值型变量赋一个超出其表示范围的值时会出现“溢出错误”。同样,在表达式的运算过程中,当运算的中间结果超出变量的表示范围时,也会导致“溢出错误”。例子:

int1=20000:int2=20000

sn

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论