第三章运算符和表达式精选文档.ppt
《第三章运算符和表达式精选文档.ppt》由会员分享,可在线阅读,更多相关《第三章运算符和表达式精选文档.ppt(53页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章 运算符和表达式本讲稿第一页,共五十三页3.1 3.1 表达式表达式n n表达式的概念表达式的概念 表表表表达达达达式式式式是是是是用用用用运运运运算算算算符符符符与与与与圆圆圆圆括括括括号号号号将将将将操操操操作作作作数数数数连连连连接接接接起起起起来来来来所所所所构构构构成成成成的式子。的式子。的式子。的式子。n n表达式与简单语句表达式与简单语句 在在在在C C语言中,在一个表达式的后面加上分号语言中,在一个表达式的后面加上分号语言中,在一个表达式的后面加上分号语言中,在一个表达式的后面加上分号“;”就构就构就构就构成了简单语句。成了简单语句。成了简单语句。成了简单语句。有意义的简
2、单语句有意义的简单语句有意义的简单语句有意义的简单语句 无无无无意义的简单语句意义的简单语句 本讲稿第二页,共五十三页3.2 算术运算符算术运算符n n种类及运算种类及运算种类及运算种类及运算:+-*/%+-*/%注意注意注意注意:n n 两两两两个个个个整整整整数数数数相相相相除除除除,结结结结果果果果仍仍仍仍为为为为整整整整数数数数,若若若若有有有有一一一一个个个个数数数数是是是是浮浮浮浮点点点点数数数数,则则则则结结结结果果果果为为为为浮点数据类型。浮点数据类型。浮点数据类型。浮点数据类型。例:例:5/2=2 5/2=2 截去小数截去小数 5/2.0=2.5 5/2.0=2.5n n 取
3、取取取模模模模运运运运算算算算符符符符%实实实实际际际际上上上上是是是是数数数数学学学学运运运运算算算算的的的的求求求求余余余余数数数数运运运运算算算算,其其其其两两两两个个个个操操操操作作作作对对对对象象象象都都都都必必必必须是整数须是整数须是整数须是整数 。例:例:5%2=1 5%2=1 取余数取余数n n “”、“”还还还还可可可可以以以以用用用用做做做做一一一一元元元元运运运运算算算算符符符符。其其其其余余余余操操操操作作作作符符符符均均均均为为为为二二二二元元元元运运运运算算算算符。符。符。符。本讲稿第三页,共五十三页n n算术表达式及算术运算符的优先级算术表达式及算术运算符的优先级
4、 算算术术表表达达式式就就是是用用算算术术运运算算符符和和圆圆括括号号将将操操作作数数连接起来的式子。连接起来的式子。算算术术运运算算符符的的优优先先级级与与数数学学基基本本相相同同,即即先先乘乘除除,后加减。取模运算的优先级与乘除相同。后加减。取模运算的优先级与乘除相同。一元算术运算符的优先级高于二元算术运算符。一元算术运算符的优先级高于二元算术运算符。一元算术运算符的优先级高于二元算术运算符。一元算术运算符的优先级高于二元算术运算符。本讲稿第四页,共五十三页 注意:注意:n n 算术表达式应能正确的表达数学公式。算术表达式应能正确的表达数学公式。例如:例如:数学表达式是数学表达式是数学表达
5、式是数学表达式是 3+x 3+x 2a 2a 相应的相应的相应的相应的C C C C语言表达式应该是什么呢?语言表达式应该是什么呢?n n 算术表达式的结果应该不超过其所能表示算术表达式的结果应该不超过其所能表示 的数的范围。的数的范围。本讲稿第五页,共五十三页n n算术运算符的结合性算术运算符的结合性 运运算算符符的的结结合合性性是是指指如如果果一一个个操操作作数数左左边边和和右右边边的的两两个个运运算算符符的的优优先先级级相相同同,应应该该优先计算的操作符。优先计算的操作符。例如:例如:例如:例如:a+b-ca+b-c C语语言言规规定定二二元元算算术术运运算算符符的的结结合合性性是是自左
6、至右。自左至右。本讲稿第六页,共五十三页3.3 增增1/减减1运算符运算符 n n类型:类型:类型:类型:+、-。n n这这这这两两两两个个个个运运运运算算算算符符符符都都都都是是是是单单单单目目目目运运运运算算算算符符符符,其其其其功功功功能能能能分分分分别别别别是是是是将将将将变变变变量量量量自身的内容增自身的内容增自身的内容增自身的内容增1 1和减和减和减和减1 1。n n+i+i和和和和-i-i是前缀表示法,是前缀表示法,是前缀表示法,是前缀表示法,i+i+和和和和i-i-是后缀表示法。是后缀表示法。是后缀表示法。是后缀表示法。n n若若若若直直直直接接接接在在在在+i+i和和和和i+
7、i+的的的的后后后后面面面面加加加加上上上上分分分分号号号号构构构构成成成成C C的的的的执执执执行行行行语语语语句句句句,即即即即+i;+i;和和和和i+;i+;前缀与后缀并无区别。前缀与后缀并无区别。前缀与后缀并无区别。前缀与后缀并无区别。n n但是,将它们用在表达式中则前缀与后缀是有区别的。但是,将它们用在表达式中则前缀与后缀是有区别的。但是,将它们用在表达式中则前缀与后缀是有区别的。但是,将它们用在表达式中则前缀与后缀是有区别的。本讲稿第七页,共五十三页前前缀缀表表示示法法是是先先将将i值值增增/减减1,再再在在表表达达式式中中使使用用;而而后后缀缀表表示示法法是是先先在在表表达达式式
8、中中使使用用i的的值值,再再将将i值值增增/减减1。例如:例如:i=3;i=3;j=i+;j=+i;结果:结果:j的内容为的内容为3j的内容为的内容为4i的内容为的内容为4i的内容为的内容为4本讲稿第八页,共五十三页注意:注意:n n增增增增1/1/1/1/减减减减1 1 1 1运算符的操作对象是一个变量运算符的操作对象是一个变量运算符的操作对象是一个变量运算符的操作对象是一个变量 2+2+2+2+、-2-2-2-2以及以及以及以及(x/y)+(x/y)+(x/y)+(x/y)+均为非法均为非法均为非法均为非法n n增增增增1/1/1/1/减减减减1 1 1 1运运运运算算算算符符符符的的的的
9、优优优优先先先先级级级级高高高高于于于于算算算算术术术术运运运运算算算算符符符符,与与与与单单单单目目目目运运运运算算算算符符符符-(-(-(-(取取取取负负负负)、!(!(!(!(逻逻逻逻辑辑辑辑非非非非)的的的的优优优优先先先先级级级级相相相相同同同同,结结结结合合合合方方方方向向向向自自自自右右右右至至至至左。左。左。左。例:表达式例:表达式例:表达式例:表达式 -i+-i+-i+-i+等价于等价于等价于等价于 -(i+)-(i+)-(i+)-(i+)n n副副副副作作作作用用用用:printf(“%d printf(“%d printf(“%d printf(“%d,%d”,i,i+)
10、;,%d”,i,i+);,%d”,i,i+);,%d”,i,i+);在在在在不不不不同同同同的的的的编编编编译译译译环环环环境境境境下结果有可能不同。下结果有可能不同。下结果有可能不同。下结果有可能不同。n n尽尽尽尽量量量量不不不不要要要要在在在在一一一一般般般般的的的的表表表表达达达达式式式式中中中中将将将将增增增增1/1/1/1/减减减减1 1 1 1运运运运算算算算符符符符与与与与其其其其它它它它运运运运算算算算符混合使用。符混合使用。符混合使用。符混合使用。本讲稿第九页,共五十三页main()int a=2,b,c;b=a+;c=a+1;printf(%d,%d,%dn,a,b,c)
11、;例:判断运行结果本讲稿第十页,共五十三页3.3.1 关系运算符关系运算符n n关系运算,就是比较两个数值的大小的运算符。关系运算,就是比较两个数值的大小的运算符。关系运算,就是比较两个数值的大小的运算符。关系运算,就是比较两个数值的大小的运算符。n n关系运算符:关系运算符:、=、z;j=xyz;k=(x=y);printf(%d,%d,%d,i,j,k);本讲稿第十四页,共五十三页例例 int a=3,b=2,c=1,d,f;ab (ab)=c b+cb f=abc/表达式值表达式值1/表达式值表达式值1/表达式值表达式值0/d=1/f=0本讲稿第十五页,共五十三页例例 5278 5278
12、在在C C中是允许的,中是允许的,值为0例 int i=1,j=7,a;a=i+(j%4!=0);则a=2例 a0 结果为 A100 结果为10本讲稿第十六页,共五十三页3.3.2 逻辑运算符逻辑运算符 n n如如如如果果果果将将将将“与与与与、或或或或、非非非非”运运运运算算算算应应应应用用用用于于于于逻逻逻逻辑辑辑辑值值值值(逻逻逻逻辑辑辑辑真真真真和和和和逻逻逻逻辑辑辑辑假)则称为逻辑运算。假)则称为逻辑运算。假)则称为逻辑运算。假)则称为逻辑运算。n nC C语言中的逻辑运算符有三个:语言中的逻辑运算符有三个:语言中的逻辑运算符有三个:语言中的逻辑运算符有三个:逻辑与逻辑与逻辑与逻辑与
13、&、逻辑或、逻辑或、逻辑或、逻辑或|和逻辑非!和逻辑非!和逻辑非!和逻辑非!n n 其其其其中中中中逻逻逻逻辑辑辑辑与与与与和和和和逻逻逻逻辑辑辑辑或或或或是是是是二二二二元元元元运运运运算算算算符符符符,而而而而逻逻逻逻辑辑辑辑非非非非是是是是一一一一元元元元运运运运算符。算符。算符。算符。本讲稿第十七页,共五十三页逻逻辑辑运运算算的的规规则则与与二二进进制制的的位位逻逻辑辑是是相相似似的的。逻辑运算的规则下表:逻辑运算的规则下表:本讲稿第十八页,共五十三页n nC语语言言系系统统对对任任何何非非0值值都都认认定定为为是是逻逻辑辑真真,而将而将0认定为逻辑假。认定为逻辑假。n n但但注注意意
14、,系系统统逻逻辑辑运运算算的的结结果果仍仍然然只只有有两两个个:1(逻辑真)和(逻辑真)和0(逻辑假)。(逻辑假)。n n逻辑运算符经常与关系运算符一起使用。逻辑运算符经常与关系运算符一起使用。例例:C C语语言言表表达达式式(x=10)&(x=10)&(x=100)的的数数学学含义是:含义是:1010 x x100100 本讲稿第十九页,共五十三页n n逻辑运算符的优先级逻辑运算符的优先级 !&|高高 低低n n!的的优优先先级级高高于于算算术术运运算算符符(当当然然也也高高于于关关系系运运算算符符),&和和|的的优优先先级级低低于于算算术术运运算算符和关系运算符。符和关系运算符。n n!单
15、单目目运运算算符符,其其结结合合性性是是自自右右至至左左;&和和|的结合性是自左至右。的结合性是自左至右。n n例:计算表达式例:计算表达式79-!079-!0的值的值 本讲稿第二十页,共五十三页 注意注意:在在C C语语言言中中,如如果果逻逻辑辑运运算算符符的的左左操操作作数数已已经经能能够够确确定定表表达达式式的的解解,则则系系统统不不再再计计算右操作数的值。算右操作数的值。例例:int x=2,y=1,i,j;int x=2,y=1,i,j;i=(x=1&y=1);i=(x=1&y=1);j=(x=2|y=2);j=(x=2|y=2);printf(“%d,%d”,i,j);printf
16、(“%d,%d”,i,j);本讲稿第二十一页,共五十三页 C C语语语语言言言言中中中中提提提提供供供供的的的的唯唯唯唯一一一一的的的的一一一一个个个个三三三三目目目目运运运运算算算算符符符符就就就就是是是是条条条条件件件件运算符运算符运算符运算符“?:?:?:?:”,它的运算对象有三个。,它的运算对象有三个。,它的运算对象有三个。,它的运算对象有三个。条件运算符的语法格式是:条件运算符的语法格式是:条件运算符的语法格式是:条件运算符的语法格式是:表达式表达式表达式表达式1 1?表达式?表达式?表达式?表达式2 2:表达式:表达式:表达式:表达式3 3 包包包包括括括括了了了了条条条条件件件件
17、运运运运算算算算符符符符的的的的条条条条件件件件表表表表达达达达式式式式的的的的计计计计算算算算方方方方法法法法是是是是:首首首首先先先先计计计计算算算算表表表表达达达达式式式式1 1的的的的值值值值,若若若若表表表表达达达达式式式式1 1为为为为真真真真,条条条条件件件件表表表表达达达达式式式式的的的的解解解解取取取取表表表表达达达达式式式式2 2的的的的值值值值,表表表表达达达达式式式式1 1为为为为假假假假,条条条条件件件件表表表表达达达达式式式式的的的的解解解解取取取取表表表表达达达达式式式式3 3的值。的值。的值。的值。3.5 条件运算符条件运算符 本讲稿第二十二页,共五十三页n n
18、例例例例:ab?a:b:ab?a:b 当当当当abab时,表达式的值为时,表达式的值为时,表达式的值为时,表达式的值为a a,否则为,否则为,否则为,否则为b bn n例例:c=ab?a:b 将将将将a a和和和和b b中比较大的值赋给中比较大的值赋给中比较大的值赋给中比较大的值赋给c c。条件运算符条件运算符 本讲稿第二十三页,共五十三页例:例:用条件表达式求三个整数中的最大数。用条件表达式求三个整数中的最大数。#include stdio.h#include stdio.h/*max of a/*max of a、b b、c */c */void main()void main()int
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三章 运算符和表达式精选文档 第三 运算 表达式 精选 文档
限制150内