一算术操作符 1 对于整型与实型有不同的意义 若 ppt课件_第1页
一算术操作符 1 对于整型与实型有不同的意义 若 ppt课件_第2页
一算术操作符 1 对于整型与实型有不同的意义 若 ppt课件_第3页
一算术操作符 1 对于整型与实型有不同的意义 若 ppt课件_第4页
一算术操作符 1 对于整型与实型有不同的意义 若 ppt课件_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

1、第三章第三章 运算符和表达式运算符和表达式一、算术操作符一、算术操作符+,-,/,%1、/ 对于整型和实型有不同的意义。对于整型和实型有不同的意义。 1假设两个操作数都是整数,那么为整除操作假设两个操作数都是整数,那么为整除操作求商,舍余,操作求商,舍余,操作 结果为整数。结果为整数。 如:如:10/3=3 2只需两个操作数中有一个为实数,那么操作结只需两个操作数中有一个为实数,那么操作结果为实数。果为实数。 如:如:10.0/3=3.33332、% 只用于整数的求余操作求余,舍商。如:只用于整数的求余操作求余,舍商。如:10%3=13、+,-取正,取负:一元操作符,在表达式中可以取正,取负:

2、一元操作符,在表达式中可以跟在其他类型的操作符的后面,但不能跟在跟在其他类型的操作符的后面,但不能跟在+加号,加号,-减号后面。减号后面。 如:如:p+q i/-3 () P+q i-3 () 注:两个操作符在一同,最好运用注:两个操作符在一同,最好运用 如:如: p+q i/-3 3.1运算符的种类及其功能运算符的种类及其功能第三章第三章 运算符和表达式运算符和表达式二、位操作符二、位操作符, |, &, , 1、 左移和右移左移和右移如:如:5 1 00000101 000000102左移一位相当于乘以左移一位相当于乘以2。右移一位相当于整除右移一位相当于整除2。3.1运算符的种类

3、及其功能运算符的种类及其功能第三章第三章 运算符和表达式运算符和表达式2、 |, &, |:按位或。有:按位或。有1那么那么1,全,全0那么那么0 &:按位与。有:按位与。有0那么那么0,全,全1那么那么1 :按位异或。同那么:按位异或。同那么0,异那么,异那么1例例 0011|0110 0111 (7) 0011& 0110 0010 (2) 0011 0110 0101 (5)3.1运算符的种类及其功能运算符的种类及其功能第三章第三章 运算符和表达式运算符和表达式3、:按位取反。:按位取反。0变变1,1变变0如:如:00011001 11100110三、赋值操作符三

4、、赋值操作符 1、赋值操作符、赋值操作符 =2、赋值语句的格式、赋值语句的格式 : 变量变量=表达式;如:表达式;如:k=7;3、赋值操作符可延续运用。、赋值操作符可延续运用。如:执行如:执行k=m=7;那么那么k和和m的值都为的值都为7。3.1运算符的种类及其功能运算符的种类及其功能第三章第三章 运算符和表达式运算符和表达式四、复合赋值操作符四、复合赋值操作符+=,-=,=,/=,%=,=,|=,&=,=复合赋值与普通赋值有严厉的对应关系。复合赋值与普通赋值有严厉的对应关系。即:变量?即:变量?=表达式表达式 变量变量=变量?表达式变量?表达式其中?表示某个二元操作符其中?表示某个二

5、元操作符如:如:k+=3 k=k+3 s=j-7 s=s(j-7)3.1运算符的种类及其功能运算符的种类及其功能第三章第三章 运算符和表达式运算符和表达式五、增五、增1减减1操作符操作符+,-1、 +前增前增1,如,如+i - 前减前减1,如,如-i)先对变量增先对变量增1或减或减1,然后变量以增,然后变量以增1或减或减1后的值参与表达式的计算。后的值参与表达式的计算。先变值,后计算。先变值,后计算。3.1运算符的种类及其功能运算符的种类及其功能第三章第三章 运算符和表达式运算符和表达式例例1:m=+k;例例2:int k,d=5;k=+d2;结果为:结果为:d=6,k=12k+=1; /k=

6、k+1;m=k;d+=1; /d=d+1;k=d2;3.1运算符的种类及其功能运算符的种类及其功能第三章第三章 运算符和表达式运算符和表达式2、 +后增后增1,如,如i + - 后减后减1,如,如i -)变量先以原值参与表达式的计算,然后对变量先以原值参与表达式的计算,然后对变量增变量增1或减或减1 。先计算,后变值。先计算,后变值。3.1运算符的种类及其功能运算符的种类及其功能第三章第三章 运算符和表达式运算符和表达式例例1:m=k +;例例2:int k,d=5;k=d + 2;结果为:结果为:d=6,k=10m=k; k+=1; /k=k+1;k=d2; d+=1; /d=d+1;3.1

7、运算符的种类及其功能运算符的种类及其功能第三章第三章 运算符和表达式运算符和表达式六、六、sizeof操作符操作符1、作用:计算一数据或数据类型所占空间、作用:计算一数据或数据类型所占空间 的字节数。的字节数。2、格式、格式例:例:double d=3; coutsizeof(5) sizeof(d+2) sizeof(long double);sizeof类型修饰符类型修饰符sizeof表达式表达式3.1运算符的种类及其功能运算符的种类及其功能第三章第三章 运算符和表达式运算符和表达式1、优先级见、优先级见p47表表3.1 当一个表达式中有多个操作符时,优先级高当一个表达式中有多个操作符时,

8、优先级高的先执行。如:的先执行。如:22-25;2、结合性、结合性从右向左:一元、赋值及复合赋值操作符从右向左:一元、赋值及复合赋值操作符从左向右:除一元、赋值及复合赋值操作符外从左向右:除一元、赋值及复合赋值操作符外3.2 操作符的优先级和结合性操作符的优先级和结合性第三章第三章 运算符和表达式运算符和表达式 假设表达式中相邻的两个操作符优先级假设表达式中相邻的两个操作符优先级 一样,那么先执行哪个操作符,就由一样,那么先执行哪个操作符,就由 前一个操作符的结合性确定。前一个操作符的结合性确定。 如:如:k=j+=5;从左向右:先执行前一个操作符从左向右:先执行前一个操作符从右向左:先执行后

9、一个操作符从右向左:先执行后一个操作符3.2 操作符的优先级和结合性操作符的优先级和结合性第三章第三章 运算符和表达式运算符和表达式3、 具有最高的优先级,可强迫改动运具有最高的优先级,可强迫改动运 算顺序。如:算顺序。如:x+3/y (x+3)/y4、C+表达式与数学表达式的区别表达式与数学表达式的区别 1一切字符写在同一程度线上。一切字符写在同一程度线上。 2算术运算符与数学中的运算符在写法算术运算符与数学中的运算符在写法 上有所区别。上有所区别。 3算术运算符不能省略。算术运算符不能省略。3ab2xxx3ab3.2 操作符的优先级和结合性操作符的优先级和结合性第三章第三章 运算符和表达式

10、运算符和表达式4一些运算用函数实现。一些运算用函数实现。pow:乘方:乘方 如:如:sqrt:开平方:开平方 如:如:log:自然对数:自然对数 如:如:lnx log(x)log10:常用对数:常用对数 如:如:lgx log10(x)exp:以:以e为底的乘幂为底的乘幂 如:如: exp(2.5)sin:正弦:正弦 如:如:sinx sin(x)cos:余弦:余弦 如:如:cosx cos(x)xa2pow(a,2x)asqrt(a)5 . 2e5 .2e5 . 2e5 . 2e3.2 操作符的优先级和结合性操作符的优先级和结合性第三章第三章 运算符和表达式运算符和表达式运用这些函数时应留

11、意:运用这些函数时应留意:1、参数必需放在、参数必需放在 中。中。2、在程序开场必需加上语句、在程序开场必需加上语句 #include5括号无大、中、小之分,全部用小括括号无大、中、小之分,全部用小括 号号 来表示,而且可以嵌套。来表示,而且可以嵌套。3.2 操作符的优先级和结合性操作符的优先级和结合性第三章第三章 运算符和表达式运算符和表达式一、无操作符的表达式一、无操作符的表达式简单表达式简单表达式1、最简单的表达式:常量、变量、函数调用、最简单的表达式:常量、变量、函数调用2、每个表达式都有一个值:、每个表达式都有一个值:常量的值:常量数据本身。常量的值:常量数据本身。变量的值:存于该变

12、量空间的数据。变量的值:存于该变量空间的数据。函数的值:函数前往的数据。函数的值:函数前往的数据。3、数值表达式:整型类表达式和实型类表达式、数值表达式:整型类表达式和实型类表达式3.3 表达式的种类各、值和类型表达式的种类各、值和类型第三章第三章 运算符和表达式运算符和表达式二、逻辑表达式二、逻辑表达式1、逻辑型是用来判别真、假形状的数据类型。、逻辑型是用来判别真、假形状的数据类型。2、逻辑常量只需两个:、逻辑常量只需两个:true真和真和false假假3、逻辑变量的定义与初始化格式同整型变量、逻辑变量的定义与初始化格式同整型变量如:如:bool x; bool x=true; bool x

13、,y,z; bool x=false,y=true,z=true;3.3 表达式的种类各、值和类型表达式的种类各、值和类型第三章第三章 运算符和表达式运算符和表达式4、逻辑操作符和逻辑表达式、逻辑操作符和逻辑表达式1逻辑操作符逻辑操作符! | &) 操作数必需是逻辑型或可转换为逻辑型的数据。操作数必需是逻辑型或可转换为逻辑型的数据。!:逻辑非:逻辑非false变变true, true 变变false|:逻辑或有:逻辑或有true那么那么 true,全,全 false那么那么 false&:逻辑与有:逻辑与有false 那么那么false,全,全 true那么那么 true2逻辑

14、表达式逻辑表达式表达式的值只能是表达式的值只能是false或或true。3.3 表达式的种类各、值和类型表达式的种类各、值和类型第三章第三章 运算符和表达式运算符和表达式三、关系操作符和关系表达式三、关系操作符和关系表达式1关系操作符关系操作符=,!=,=,y和和xy的相反条件为的相反条件为!(xy)利用配对关系利用配对关系=和和!=,和和=,= 如:不用操作符如:不用操作符!,xy+33.3 表达式的种类各、值和类型表达式的种类各、值和类型第三章第三章 运算符和表达式运算符和表达式六、等价条件六、等价条件1、假设两个逻辑表达式在任何情况下同为、假设两个逻辑表达式在任何情况下同为false或同

15、为或同为true,那么这两个表达式所表,那么这两个表达式所表达的条件称为等价条件。达的条件称为等价条件。如:如:xy和和!(xy) x=y!(xy!(x=y!(x=y) xy相反条件的相反条件相反条件的相反条件等价于原条件。等价于原条件。3.3 表达式的种类各、值和类型表达式的种类各、值和类型第三章第三章 运算符和表达式运算符和表达式!(E1&E2) !E1|!E2!(E1|E2) !E1&!E2E1&E2 E2&E1E1|E2 E2|E1对对&或或|的的分配律分配律对对&或或|的的交换律交换律3.3 表达式的种类各、值和类型表达式的种类各、值和

16、类型第三章第三章 运算符和表达式运算符和表达式3、利用等价条件来求复合条件的相反条件、利用等价条件来求复合条件的相反条件例例1:不用操作符:不用操作符!,求,求x=3|x3的相反条件。的相反条件。解:解:!(x=3|x3) !(x=3)&!(x=3例例2:不用操作符:不用操作符!,求,求x=2&x=2&x=2)|!(x=7) x73.3 表达式的种类各、值和类型表达式的种类各、值和类型第三章第三章 运算符和表达式运算符和表达式七、永假条件和永真条件七、永假条件和永真条件如:如:x15的值永为的值永为false,为永假条件。,为永假条件。 y0|y=0的值永为的值永为tr

17、ue,为永真条件。,为永真条件。注:注: false是最简单的永假条件,是最简单的永假条件, true是最简单的永真条件。是最简单的永真条件。条件永远不成立,值为条件永远不成立,值为false。条件永远成立,值为条件永远成立,值为true。3.3 表达式的种类各、值和类型表达式的种类各、值和类型第三章第三章 运算符和表达式运算符和表达式八、逻辑型数据与其他数据类型的关系八、逻辑型数据与其他数据类型的关系1、逻辑型数据作为数值数据运用时,、逻辑型数据作为数值数据运用时,false转换为转换为0,true转换为转换为1。2、字符型、枚举型、整型或实型数据值作、字符型、枚举型、整型或实型数据值作为逻

18、辑值运用时,一切为逻辑值运用时,一切0值转换成值转换成false,一一切非切非0值转换成值转换成true。3、指针值作为逻辑值运用时,空指针值转、指针值作为逻辑值运用时,空指针值转换成换成false,非空指针值转换成非空指针值转换成true。总结:总结:0就是就是false,非,非0就是就是true。3.3 表达式的种类各、值和类型表达式的种类各、值和类型第三章第三章 运算符和表达式运算符和表达式阐明:阐明:1、数值型数据与逻辑型数据出如今同一表、数值型数据与逻辑型数据出如今同一表达式中时,逻辑型数据无条件地转换为达式中时,逻辑型数据无条件地转换为数值型数据数值型数据0或或1。例:例:bool

19、 k=true; int j=3; coutendlj+k j=k; 输出结果为:输出结果为: 4 03.3 表达式的种类各、值和类型表达式的种类各、值和类型第三章第三章 运算符和表达式运算符和表达式2、在用数值数据对逻辑变量进展初始化、在用数值数据对逻辑变量进展初始化 或者赋值时,任何非或者赋值时,任何非0值都转换为值都转换为1。例:例:bool k=9,h; h=5; coutk x; w=x100 ? 0 : x3; cout0 ? 1 : (x0 1 x=0 x0 : -1 x=0 : 03.3 表达式的种类各、值和类型表达式的种类各、值和类型第三章第三章 运算符和表达式运算符和表达式

20、一、自动转换一、自动转换 1当表达式中一个操作符的两个操作当表达式中一个操作符的两个操作数类型不同时,其中一个操作数的类型数类型不同时,其中一个操作数的类型将自动转换成与另一个操作数的类型一将自动转换成与另一个操作数的类型一样。样。3.4 类型转换类型转换第三章第三章 运算符和表达式运算符和表达式 2转换规律转换规律短的向长的靠拢,有符号的向无符号的靠拢;短的向长的靠拢,有符号的向无符号的靠拢;整型向实型靠拢,低精度的向高精度的靠拢。整型向实型靠拢,低精度的向高精度的靠拢。例:例:4+23L-5.1 4L +23L-5.1 27L-5.1 27.0-5.1 21.93.4 类型转换类型转换第三

21、章第三章 运算符和表达式运算符和表达式3转换规律不适用的两种操作转换规律不适用的两种操作只针对特定类型的操作。只针对特定类型的操作。两边向操作符靠拢两边向操作符靠拢赋值或复合赋值操作。赋值或复合赋值操作。右边向变量靠拢右边向变量靠拢例:例:int k=3; double d=2.718; k+=d; /k=k+d; coutk;语句执行后的输出结果为语句执行后的输出结果为5。3.4 类型转换类型转换第三章第三章 运算符和表达式运算符和表达式二、强迫转换二、强迫转换1利用类型修饰符控制类型转换的过程。利用类型修饰符控制类型转换的过程。2格式:格式: 类型修饰符表达式类型修饰符表达式 /承继承继C

22、言语格式言语格式 类型修饰符表达式类型修饰符表达式 /C+特有的格式特有的格式如:如:float(j) 或或 (float)j、(float)(j) int(3.14+i) 或或 (int)(3.14+i) 三、只需兼容的数据类型才干相互转换。三、只需兼容的数据类型才干相互转换。3.4 类型转换类型转换第三章第三章 运算符和表达式运算符和表达式1、用自定义的标识符来代表一个特定的、用自定义的标识符来代表一个特定的 数据类型。数据类型。2、格式:、格式:typedef 类型修饰符阐明;类型修饰符阐明; 例:例:typedef int DISTANCE; DISTANCE i,Beijing_to

23、_Tianjing; int i,Beijing_to_Tianjing;3.5 自定义类型修饰符自定义类型修饰符第三章第三章 运算符和表达式运算符和表达式3、作用、作用提高程序的可读性。提高程序的可读性。提高程序的可维护性。提高程序的可维护性。防止类型运用上的不一致性。防止类型运用上的不一致性。例:知程序中用例:知程序中用unsigned char型数据表示型数据表示年龄,为了添加可读性,决议将之命名年龄,为了添加可读性,决议将之命名为为AGE,那么完成命名的定义是:,那么完成命名的定义是: typedef unsigned char AGE;3.5 自定义类型修饰符自定义类型修饰符第三章第

24、三章 运算符和表达式运算符和表达式一、表达式的副作用一、表达式的副作用1、在表达式的求值过程中不但要提取变、在表达式的求值过程中不但要提取变 量的值,还能够改动变量的值。量的值,还能够改动变量的值。 如:如:k=m+2、表达式能产生副作用的缘由:引入了、表达式能产生副作用的缘由:引入了 具有副作用的操作。具有副作用的操作。3.5 表达式的副作用表达式的副作用第三章第三章 运算符和表达式运算符和表达式 赋值赋值= 复合赋值复合赋值+=, =, =,/=,%=, =,|=,&=,=) 前增前增1前减前减1+, 后增后增1后减后减1+, 上述操作所作用的对象必需是变量,因此上述操作所作用的对象必需是变量,因此这些操作也称为:作用于变量的操作。这些操作也称为:作用于变量的操作。3.5 表达式的副作用表达式的副作用第三章第三章 运算符和表达式运算符和表达式3、对于、对于“作用于变量的操作除后增作用于变量的操作除后增1和和后减后减1,作为操作结果的表达式的值就,作为操作结果的表达式的值就是所作用的变量所获得的值。是所作用的变量所获得的值。 例:例:int k=3; cout(k+=2); cout k; 输

温馨提示

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

评论

0/150

提交评论