欢迎来到天天文库
浏览记录
ID:41298706
大小:934.56 KB
页数:22页
时间:2019-08-21
《《表达式和语句》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章表达式和语句14:00:391C++语言程序设计教程第2章表达式和语句C++语言程序设计教程第2章表达式和语句运算符是描述对数据进行的运算(操作)、体现数据之间运算关系的符号,运算符也叫操作符。表达式是运算符与数据连接起来的表达运算的式子,表达式也称运算式。优先级是指表达式中运算符运算的顺序。当一个表达式中包含多个运算符时,先进行优先级高的运算,再进行优先级低的运算。如果表达式中出现了多个相同优先级的运算,运算顺序就要看运算符的结合性了。结合性是指操作数左右两边运算符的优先级相同时,优先和哪个运算符结合起来
2、,进行运算。运算符的结合顺序有两种:左结合和右结合。优先级与结合性左结合num1op1num2op2num3(num1op1num2)op2num3右结合num1op1num2op2num3num1op1(num2op2num3)3.1运算符运算符:算数运算符关系运算符逻辑运算符位运算符赋值运算符条件运算符逗号运算符指针运算符3基本算术运算符及其含义:优先级运算符含义结合性2+正号从右向左-负号4*乘从左向右/除%取余5+加-减算术运算符表中优先级数字小的优先级高(1)算术运算符的意义、优先级与数学中一致:+(正
3、号),-(负号)是一元运算,优先级高于二元运算,*、/、%优先级高于+(加)、-(减)运算。例如:a=10;b=5;a+b*-1;得到结果5(2)%要求两个操作数的值必须是整数或字符型数。“操作数1%操作数2”计算结果是操作数1被操作数2除的余数。当两个操作数都是正数时,结果为正;如果有一个(或两个)操作数为负,余数的符号取决于机器。21%6//结果是34%2//结果是021%-5//机器相关:结果为-1或1C++语言程序设计教程第2章表达式和语句基本算术运算符及其含义:算术运算符优先级运算符含义结合性2+正号从
4、右向左-负号4*乘从左向右/除%取余5+加-减(3)当/运算符用于两个整数相除时,如果商含有小数部分,将被截掉。如果要进行通常意义的除运算,则至少应保证除数或被除数中有一个是浮点数或双精度数。(4)在使用算术运算符时,需要注意有关算术表达式求值溢出的处理问题;5/4//结果是14/5//结果是05/4.0//结果是1.254.0/5//结果是0.8shorti=32767,j,k;j=i+1;k=i+2;cout<<"j="<5、:在书写除法运算式时,通常将参加运算的整数值后补上小数点与0作为双精度(double)常量参加运算。C++语言程序设计教程第2章表达式和语句关系运算符及其含义:关系运算符优先级运算符含义结合性7>大于从左向右<小于>=大于等于<=小于等于8==等于!=不等于(1)若关系运算符的计算结果继续用在表达式中,true与false分别当成了1与0。。(2)关系运算符的操作数可以是任何基本数据类型的数据,但由于实数(float)在计算机中只能近似地表示一个数,所以,一般不能直接进行比较。当需要对两个实数进行==、!=比较时6、,通常的做法是指定一个极小的精度值,若两实数的差在这个精度之内时,就认为两实数相等,否则为不等。x==y应写成fabs(x-y)<1e-6x!=y应写成fabs(x-y)>1e-6//fabs(x)求double类型数x的绝对值(3)关系表达式就是由关系运算符将两个操作数连接起来的式子。这两个操作数可以为常量、变量、算术表达式等。例如:a+b>c+d'a'<'b'+'c'a>b>=c>da==b7、符操作数类型为bool型,返回类型亦为bool型。逻辑运算符优先级运算符含义结合性2!取反从右向左12&&与从左向右138、9、或pq!pp&&qp10、11、q001000101100011111(1)逻辑运算符的操作数为bool型,当为其它数据类型时,将它转换成bool值参加运算。(2)C++对于二元运算符&&和12、13、可进行短路求值(short-circuitevaluation)。由于&&与14、15、表达式按从左到右的顺序进行计算,如果根据左边的计算结果能得到整个逻辑表达式的结果,右边的计算就不需要进行了,该规则叫短路求值。设16、a=10,b=5,c=-3则!a的值为0;a&&b的值为1;a17、18、b的值为1;(3)当表示的逻辑关系比较复杂时,用小括号将操作数括起来是一种比较好的方法。例如:(num!=0)&&(1/num>0.5)逻辑运算符列表逻辑运算的功能表C++语言程序设计教程第2章表达式和语句位运算分为移位运算与按位逻辑运算位运算符优先级运算符含义结合性2~位求反从右向左6<<左移从左向右>>
5、:在书写除法运算式时,通常将参加运算的整数值后补上小数点与0作为双精度(double)常量参加运算。C++语言程序设计教程第2章表达式和语句关系运算符及其含义:关系运算符优先级运算符含义结合性7>大于从左向右<小于>=大于等于<=小于等于8==等于!=不等于(1)若关系运算符的计算结果继续用在表达式中,true与false分别当成了1与0。。(2)关系运算符的操作数可以是任何基本数据类型的数据,但由于实数(float)在计算机中只能近似地表示一个数,所以,一般不能直接进行比较。当需要对两个实数进行==、!=比较时
6、,通常的做法是指定一个极小的精度值,若两实数的差在这个精度之内时,就认为两实数相等,否则为不等。x==y应写成fabs(x-y)<1e-6x!=y应写成fabs(x-y)>1e-6//fabs(x)求double类型数x的绝对值(3)关系表达式就是由关系运算符将两个操作数连接起来的式子。这两个操作数可以为常量、变量、算术表达式等。例如:a+b>c+d'a'<'b'+'c'a>b>=c>da==b7、符操作数类型为bool型,返回类型亦为bool型。逻辑运算符优先级运算符含义结合性2!取反从右向左12&&与从左向右138、9、或pq!pp&&qp10、11、q001000101100011111(1)逻辑运算符的操作数为bool型,当为其它数据类型时,将它转换成bool值参加运算。(2)C++对于二元运算符&&和12、13、可进行短路求值(short-circuitevaluation)。由于&&与14、15、表达式按从左到右的顺序进行计算,如果根据左边的计算结果能得到整个逻辑表达式的结果,右边的计算就不需要进行了,该规则叫短路求值。设16、a=10,b=5,c=-3则!a的值为0;a&&b的值为1;a17、18、b的值为1;(3)当表示的逻辑关系比较复杂时,用小括号将操作数括起来是一种比较好的方法。例如:(num!=0)&&(1/num>0.5)逻辑运算符列表逻辑运算的功能表C++语言程序设计教程第2章表达式和语句位运算分为移位运算与按位逻辑运算位运算符优先级运算符含义结合性2~位求反从右向左6<<左移从左向右>>
7、符操作数类型为bool型,返回类型亦为bool型。逻辑运算符优先级运算符含义结合性2!取反从右向左12&&与从左向右13
8、
9、或pq!pp&&qp
10、
11、q001000101100011111(1)逻辑运算符的操作数为bool型,当为其它数据类型时,将它转换成bool值参加运算。(2)C++对于二元运算符&&和
12、
13、可进行短路求值(short-circuitevaluation)。由于&&与
14、
15、表达式按从左到右的顺序进行计算,如果根据左边的计算结果能得到整个逻辑表达式的结果,右边的计算就不需要进行了,该规则叫短路求值。设
16、a=10,b=5,c=-3则!a的值为0;a&&b的值为1;a
17、
18、b的值为1;(3)当表示的逻辑关系比较复杂时,用小括号将操作数括起来是一种比较好的方法。例如:(num!=0)&&(1/num>0.5)逻辑运算符列表逻辑运算的功能表C++语言程序设计教程第2章表达式和语句位运算分为移位运算与按位逻辑运算位运算符优先级运算符含义结合性2~位求反从右向左6<<左移从左向右>>
此文档下载收益归作者所有