(中职)编程语言基础------C++模块3教学课件.ppt
《(中职)编程语言基础------C++模块3教学课件.ppt》由会员分享,可在线阅读,更多相关《(中职)编程语言基础------C++模块3教学课件.ppt(45页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、YCF正版可修改PPT(中职)编程语言基础-C+模块3教学课件模块模块3 运算符和表达式运算符和表达式任务任务1 运算符运算符任务任务2 运算符的优先级与结合性运算符的优先级与结合性任务任务3 表达式表达式返回任务任务1 运算符运算符C+C+的运算符十分丰富,按照运算符要求操作数个数的多少,可把的运算符十分丰富,按照运算符要求操作数个数的多少,可把的运算符十分丰富,按照运算符要求操作数个数的多少,可把的运算符十分丰富,按照运算符要求操作数个数的多少,可把C+C+运算符分为单目运算符分为单目运算符分为单目运算符分为单目(或一元或一元或一元或一元)运算符、双目运算符、双目运算符、双目运算符、双目(
2、或二元或二元或二元或二元)运算符和三目运算符和三目运算符和三目运算符和三目(或或或或三元三元三元三元)运算符三类。单日运算符一般位于操作数的前面,如对运算符三类。单日运算符一般位于操作数的前面,如对运算符三类。单日运算符一般位于操作数的前面,如对运算符三类。单日运算符一般位于操作数的前面,如对x x取负为取负为取负为取负为-x;x;双日运算符一般位于两个操作数之间,如两个数双日运算符一般位于两个操作数之间,如两个数双日运算符一般位于两个操作数之间,如两个数双日运算符一般位于两个操作数之间,如两个数a a和和和和b b相加表示为相加表示为相加表示为相加表示为a+a+从三目运算符只有一个,即为条件
3、运算符,它含有两个字符,分别把从三目运算符只有一个,即为条件运算符,它含有两个字符,分别把从三目运算符只有一个,即为条件运算符,它含有两个字符,分别把从三目运算符只有一个,即为条件运算符,它含有两个字符,分别把三个操作数分开。三个操作数分开。三个操作数分开。三个操作数分开。一个运算符可能是一个字符,也可能由两个或三个字符组成,还有的一个运算符可能是一个字符,也可能由两个或三个字符组成,还有的一个运算符可能是一个字符,也可能由两个或三个字符组成,还有的一个运算符可能是一个字符,也可能由两个或三个字符组成,还有的是一些是一些是一些是一些C+C+保留字。如赋值号保留字。如赋值号保留字。如赋值号保留字
4、。如赋值号(=)(=)就是一个字符,不等于号就是一个字符,不等于号就是一个字符,不等于号就是一个字符,不等于号(!=)(!=)就是两就是两就是两就是两个字符,左移赋值号个字符,左移赋值号个字符,左移赋值号个字符,左移赋值号(=)(=)就是三个字符,测类型长度运算符就是三个字符,测类型长度运算符就是三个字符,测类型长度运算符就是三个字符,测类型长度运算符(sizeof)(sizeof)就是一个保留字。就是一个保留字。就是一个保留字。就是一个保留字。下一页返回任务任务1 运算符运算符每一种运算符都具有一定的优先级,用来决定它在表达式中的运算次每一种运算符都具有一定的优先级,用来决定它在表达式中的运
5、算次每一种运算符都具有一定的优先级,用来决定它在表达式中的运算次每一种运算符都具有一定的优先级,用来决定它在表达式中的运算次序。一个表达式中通常有多个运算符,对它们进行运算的次序通常与序。一个表达式中通常有多个运算符,对它们进行运算的次序通常与序。一个表达式中通常有多个运算符,对它们进行运算的次序通常与序。一个表达式中通常有多个运算符,对它们进行运算的次序通常与每一个运算符从左到右出现的次序相一致,但若它的下一个每一个运算符从左到右出现的次序相一致,但若它的下一个每一个运算符从左到右出现的次序相一致,但若它的下一个每一个运算符从左到右出现的次序相一致,但若它的下一个(即右边一即右边一即右边一即
6、右边一个个个个)运算符的优先级较高,则下一个运算符应先被计算。如当计算表达运算符的优先级较高,则下一个运算符应先被计算。如当计算表达运算符的优先级较高,则下一个运算符应先被计算。如当计算表达运算符的优先级较高,则下一个运算符应先被计算。如当计算表达式式式式a+b*(c-d)/ea+b*(c-d)/e时,则每个运算符的运算次序依次为时,则每个运算符的运算次序依次为时,则每个运算符的运算次序依次为时,则每个运算符的运算次序依次为:-,*,/,+:-,*,/,+。对于同一优先级的运算符,当在同一个表达式的计算过程中相邻出对于同一优先级的运算符,当在同一个表达式的计算过程中相邻出对于同一优先级的运算符
7、,当在同一个表达式的计算过程中相邻出对于同一优先级的运算符,当在同一个表达式的计算过程中相邻出现时,可能是按照从左到右的次序进行,也可能是按照从右到左的次现时,可能是按照从左到右的次序进行,也可能是按照从右到左的次现时,可能是按照从左到右的次序进行,也可能是按照从右到左的次现时,可能是按照从左到右的次序进行,也可能是按照从右到左的次序进行,这要看运算符的结合性。如加和减序进行,这要看运算符的结合性。如加和减序进行,这要看运算符的结合性。如加和减序进行,这要看运算符的结合性。如加和减上一页 下一页返回任务任务1 运算符运算符运算为同一优先级,它们的结合性是从左到右,即当计算运算为同一优先级,它们
8、的结合性是从左到右,即当计算运算为同一优先级,它们的结合性是从左到右,即当计算运算为同一优先级,它们的结合性是从左到右,即当计算a+b-c+da+b-c+d时,时,时,时,先做最左边的加法,再做中间的减法,最后做右边的加法先做最左边的加法,再做中间的减法,最后做右边的加法先做最左边的加法,再做中间的减法,最后做右边的加法先做最左边的加法,再做中间的减法,最后做右边的加法;又如各种赋又如各种赋又如各种赋又如各种赋值操作是属于同一优先级,但结合性是从右到左,即当计算值操作是属于同一优先级,但结合性是从右到左,即当计算值操作是属于同一优先级,但结合性是从右到左,即当计算值操作是属于同一优先级,但结合
9、性是从右到左,即当计算a=b=ca=b=c时,时,时,时,先做右边的赋值,使先做右边的赋值,使先做右边的赋值,使先做右边的赋值,使c c的值赋给的值赋给的值赋给的值赋给b b,再做左边的赋值,使,再做左边的赋值,使,再做左边的赋值,使,再做左边的赋值,使b b的值赋给的值赋给的值赋给的值赋给a.a.表表表表3-13-1列出了在列出了在列出了在列出了在C+C+语言中定义的全部运算符,其中优先级数字从小到语言中定义的全部运算符,其中优先级数字从小到语言中定义的全部运算符,其中优先级数字从小到语言中定义的全部运算符,其中优先级数字从小到大对应的优先级别为从高到低。大对应的优先级别为从高到低。大对应的
10、优先级别为从高到低。大对应的优先级别为从高到低。上一页 下一页返回任务任务1 运算符运算符3.1.1 算术运算符算术运算符 C+C+语言中的算术运算符包括基本算术运算符和增语言中的算术运算符包括基本算术运算符和增语言中的算术运算符包括基本算术运算符和增语言中的算术运算符包括基本算术运算符和增1,1,减减减减1 1运算符运算符运算符运算符 1.1.基本算术运算符基本算术运算符基本算术运算符基本算术运算符 一元运算符一元运算符一元运算符一元运算符:+(:+(取正取正取正取正)、一、一、一、一(取负取负取负取负)。二元运算符二元运算符二元运算符二元运算符:+(:+(加加加加)、一、一、一、一(减减减
11、减)、x(x(乘乘乘乘)、/(/(除除除除)、%(%(取余取余取余取余)。其中其中其中其中“%”%”运算符要求它的两个操作数必须是整数或字符型数据,运算符要求它的两个操作数必须是整数或字符型数据,运算符要求它的两个操作数必须是整数或字符型数据,运算符要求它的两个操作数必须是整数或字符型数据,其优先级与结合性和其优先级与结合性和其优先级与结合性和其优先级与结合性和“/”/”运算符相同。求两个数的余数的表达式如运算符相同。求两个数的余数的表达式如运算符相同。求两个数的余数的表达式如运算符相同。求两个数的余数的表达式如下下下下:操作数操作数操作数操作数1%1%操作数操作数操作数操作数2 2上一页 下
12、一页返回任务任务1 运算符运算符 其计算结果是操作数其计算结果是操作数其计算结果是操作数其计算结果是操作数1 1被操作数被操作数被操作数被操作数2 2除的余数,即余数除的余数,即余数除的余数,即余数除的余数,即余数=操作数操作数操作数操作数1 1一操作数一操作数一操作数一操作数2 2整商整商整商整商(整商为操作数整商为操作数整商为操作数整商为操作数1 1除以操作数除以操作数除以操作数除以操作数2 2所得的整数商所得的整数商所得的整数商所得的整数商)。例如例如例如例如:9%4 /:9%4 /结果是结果是结果是结果是1 1 对于对于对于对于“/”/”运算符,当它的两个操作数都是整数时,其计算结果应
13、运算符,当它的两个操作数都是整数时,其计算结果应运算符,当它的两个操作数都是整数时,其计算结果应运算符,当它的两个操作数都是整数时,其计算结果应是除法运算后所得的商的整数部分。例如是除法运算后所得的商的整数部分。例如是除法运算后所得的商的整数部分。例如是除法运算后所得的商的整数部分。例如:7/2:7/2的结果是的结果是的结果是的结果是3.3.上一页 下一页返回任务任务1 运算符运算符 2.2.增增增增1 1、减、减、减、减1 1运算符运算符运算符运算符 增增增增1,1,减减减减1 1运算符都是一元运算符,这两个运算符都有前置和后置两种运算符都是一元运算符,这两个运算符都有前置和后置两种运算符都
14、是一元运算符,这两个运算符都有前置和后置两种运算符都是一元运算符,这两个运算符都有前置和后置两种形式。前置形式是指运算符在操作数的前面,后置是指运算符在操作形式。前置形式是指运算符在操作数的前面,后置是指运算符在操作形式。前置形式是指运算符在操作数的前面,后置是指运算符在操作形式。前置形式是指运算符在操作数的前面,后置是指运算符在操作数的后面。数的后面。数的后面。数的后面。例如例如例如例如:int i=2,j=4;:int i=2,j=4;i+;/+i+;/+后青经讨计算后后青经讨计算后后青经讨计算后后青经讨计算后:表达式值为表达式值为表达式值为表达式值为2,i2,i值为值为值为值为3 3 -
15、j;/-j;/一前青经讨计算后一前青经讨计算后一前青经讨计算后一前青经讨计算后:表达式值为表达式值为表达式值为表达式值为-,I-,I值为值为值为值为3 3上一页 下一页返回任务任务1 运算符运算符 前置形式是先计算操作数的值前置形式是先计算操作数的值前置形式是先计算操作数的值前置形式是先计算操作数的值(增增增增1 1或减或减或减或减1)1),后把操作数的值作为表达,后把操作数的值作为表达,后把操作数的值作为表达,后把操作数的值作为表达式的结果。后置形式是先将操作数的值作为表达式的结果,然后把操式的结果。后置形式是先将操作数的值作为表达式的结果,然后把操式的结果。后置形式是先将操作数的值作为表达
16、式的结果,然后把操式的结果。后置形式是先将操作数的值作为表达式的结果,然后把操作数的值增作数的值增作数的值增作数的值增1 1或减或减或减或减1.1.在进行算术运算时,还需注意计算中的溢出问题。在计算机中每种在进行算术运算时,还需注意计算中的溢出问题。在计算机中每种在进行算术运算时,还需注意计算中的溢出问题。在计算机中每种在进行算术运算时,还需注意计算中的溢出问题。在计算机中每种基本数据类型都有一定的取值范围。对于实数,如果运算结果超出范基本数据类型都有一定的取值范围。对于实数,如果运算结果超出范基本数据类型都有一定的取值范围。对于实数,如果运算结果超出范基本数据类型都有一定的取值范围。对于实数
17、,如果运算结果超出范围,程序将被异常中止围,程序将被异常中止围,程序将被异常中止围,程序将被异常中止;另外,整数或实数被零除也会导致程序异常中另外,整数或实数被零除也会导致程序异常中另外,整数或实数被零除也会导致程序异常中另外,整数或实数被零除也会导致程序异常中止。止。止。止。上一页 下一页返回任务任务1 运算符运算符3.1.2 关系运算符关系运算符 关系运算符是用来比较两个数据大小的,其操作结果只有两种关系运算符是用来比较两个数据大小的,其操作结果只有两种关系运算符是用来比较两个数据大小的,其操作结果只有两种关系运算符是用来比较两个数据大小的,其操作结果只有两种:成立成立成立成立或不成立。如
18、果成立,则结果为逻辑值或不成立。如果成立,则结果为逻辑值或不成立。如果成立,则结果为逻辑值或不成立。如果成立,则结果为逻辑值“真真真真”,用,用,用,用1 1来表示来表示来表示来表示;如果不成如果不成如果不成如果不成立,则结果为逻辑值立,则结果为逻辑值立,则结果为逻辑值立,则结果为逻辑值“假假假假”,用,用,用,用0 0来表示。由关系运算符连接而成的来表示。由关系运算符连接而成的来表示。由关系运算符连接而成的来表示。由关系运算符连接而成的表达式称为关系表达式。表达式称为关系表达式。表达式称为关系表达式。表达式称为关系表达式。关系运算符有关系运算符有关系运算符有关系运算符有:(:(小于小于小于小
19、于)、=(大于大于大于大于)、=(=(大于或等于大于或等于大于或等于大于或等于)、=(=(等于等于等于等于)、!=(!=(不等于不等于不等于不等于)。上一页 下一页返回任务任务1 运算符运算符 在使用关系运算符时要注意以下两点。在使用关系运算符时要注意以下两点。在使用关系运算符时要注意以下两点。在使用关系运算符时要注意以下两点。(1)(1)当关系运算符用于字符比较时,是按该字符的当关系运算符用于字符比较时,是按该字符的当关系运算符用于字符比较时,是按该字符的当关系运算符用于字符比较时,是按该字符的ASCIIASCII值的大小进值的大小进值的大小进值的大小进行比较行比较行比较行比较;(2)(2)
20、使用关系操作时,要注意它的优先级使用关系操作时,要注意它的优先级使用关系操作时,要注意它的优先级使用关系操作时,要注意它的优先级:算术运算符优先于关系运算术运算符优先于关系运算术运算符优先于关系运算术运算符优先于关系运算符算符算符算符;、=、=优先于优先于优先于优先于=、!=;!=;、=、=同级同级同级同级;=;=、!=!=也是同也是同也是同也是同级,它们的结合性自左向右级,它们的结合性自左向右级,它们的结合性自左向右级,它们的结合性自左向右.上一页 下一页返回任务任务1 运算符运算符例如例如例如例如:设有如下变量定义设有如下变量定义设有如下变量定义设有如下变量定义:char c1=a,c2=
21、A;char c1=a,c2=A;int n1=65,n2=97;int n1=65,n2=97;float f1=0.3e1,f2=3.0001;float f1=0.3e1,f2=3.0001;则则则则c1c2c1c2的值为的值为的值为的值为1 1;c1n1c1n1的值为的值为的值为的值为1 1;f1=f2f1=f2的值为的值为的值为的值为0 0;c2=n1!=f2c2=n1!=f2的值为的值为的值为的值为1.1.即先操作即先操作即先操作即先操作c2=n1,c2=n1,其结果为其结果为其结果为其结果为0 0,再操作,再操作,再操作,再操作0!=f2,0!=f2,值为值为值为值为1.1.上一
22、页 下一页返回任务任务1 运算符运算符3.1.3 逻辑运算符逻辑运算符一元运算符一元运算符一元运算符一元运算符!(!(逻辑求反逻辑求反逻辑求反逻辑求反):):若其操作数为若其操作数为若其操作数为若其操作数为0(false)0(false),运算结果为,运算结果为,运算结果为,运算结果为ture(1)ture(1),否,否,否,否则为则为则为则为false(0)false(0)二元运算符二元运算符二元运算符二元运算符&(&(逻辑与逻辑与逻辑与逻辑与):):只要两个操作数中有一个为只要两个操作数中有一个为只要两个操作数中有一个为只要两个操作数中有一个为0(false)0(false),运算,运算,
23、运算,运算结果就为结果就为结果就为结果就为falsefalse,否则为,否则为,否则为,否则为true(1)true(1)|(|(逻辑或逻辑或逻辑或逻辑或):):只要两个操作数中有一个不为只要两个操作数中有一个不为只要两个操作数中有一个不为只要两个操作数中有一个不为0(flase)0(flase),运算结果为,运算结果为,运算结果为,运算结果为true(1)true(1),否则为,否则为,否则为,否则为false(0)false(0)表表表表3-23-2为逻辑运算的真值表为逻辑运算的真值表为逻辑运算的真值表为逻辑运算的真值表.上一页 下一页返回任务任务1 运算符运算符3.1.4 位运算符位运算
24、符 位运算符是对其操作数按其二进制形式逐位进行运算,参与运算的操位运算符是对其操作数按其二进制形式逐位进行运算,参与运算的操位运算符是对其操作数按其二进制形式逐位进行运算,参与运算的操位运算符是对其操作数按其二进制形式逐位进行运算,参与运算的操作数应为整数。其中包括一元运算符一作数应为整数。其中包括一元运算符一作数应为整数。其中包括一元运算符一作数应为整数。其中包括一元运算符一(按位求反按位求反按位求反按位求反)和二元运算符和二元运算符和二元运算符和二元运算符&(&(按按按按位与位与位与位与),|(),|(按位或按位或按位或按位或)、(按位异或按位异或按位异或按位异或)、(右移位右移位右移位右
25、移位)。(1)(1)按位求反按位求反按位求反按位求反():():按位求反的作用是对一个二进制数的每一位求反。按位求反的作用是对一个二进制数的每一位求反。按位求反的作用是对一个二进制数的每一位求反。按位求反的作用是对一个二进制数的每一位求反。例如例如例如例如:计算计算计算计算024024024024 0000000000010100 0000000000010100024024 1111111111101011 1111111111101011上一页 下一页返回任务任务1 运算符运算符(2)(2)按位与按位与按位与按位与(&):(&):按位与操作的作用是将两个操作数对应的每一位分别进按位与操作的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编程 语言 基础 C+ 模块 教学 课件
限制150内