1、主主 要要 内内 容容2.1 2.1 表达式表达式2.1.1 2.1.1 初级表达式初级表达式2.1.2 2.1.2 二元表达式二元表达式2.1.3 2.1.3 赋值表达式赋值表达式2.1.4 2.1.4 后缀表达式后缀表达式2.1.5 2.1.5 一元表达式一元表达式2.1.6 2.1.6 逗号表达式逗号表达式目的要求目的要求复习思考题复习思考题2.1 2.1 表达式表达式1.1.几个术语几个术语(1)(1)运算符运算符+=+=(2)(2)操作数操作数 执行某种操作的语法符号,又叫执行某种操作的语法符号,又叫运算符运算符 执行某种操作的对象执行某种操作的对象x+exp x+exp /*x,e
2、xp x,exp是操作数是操作数,它们是变量它们是变量 */i+i+/*i i是操作数是操作数,它是变量它是变量 */x=5 x=5 /*x,5 x,5是操作数是操作数,x,x是变量是变量,5,5是常量是常量 */举举例例(3)(3)表达式是由一系列操作数和运算符构成的有意义的式子表达式是由一系列操作数和运算符构成的有意义的式子(4)(4)优先级和结合性优先级和结合性优先级优先级 用来确定复杂表达式中不同运算符的用来确定复杂表达式中不同运算符的运算顺序运算顺序结合性结合性 用来确定复杂表达式中相同优先级用来确定复杂表达式中相同优先级运算方向运算方向2.1.1 2.1.1 初级表达式初级表达式1
3、.1.初级表达式是只含一个操作数不含运算符的表达式初级表达式是只含一个操作数不含运算符的表达式3.3.优先级最高优先级最高(18)(18)2.2.包括包括:变量变量,常量常量和和括弧表达式括弧表达式记住记住:任何表达式任何表达式加上括号加上括号就变为级别最高的就变为级别最高的初级表达式初级表达式2.1.2 2.1.2 二元表达式二元表达式(1)(1)格式为格式为“操作数操作数运算符操作数运算符操作数”的表达式的表达式 1.1.概述概述(2)(2)常用的常用的5 5种二元运算符种二元运算符 exp1+exp2 exp1-exp212+-加减exp1*exp2exp1/exp2exp1%exp2左
4、13*/%乘除取余举 例 结合性优先级运算符运算(1)(1)两个整数相除结果仍为整数两个整数相除结果仍为整数2.2.四点说明四点说明7 /2 7 /2 结果是结果是 3 3 /*整数除的结果为整数整数除的结果为整数 */7 /2.0 7 /2.0 结果是结果是3.53.5 /*整数和小数除的结果为小数整数和小数除的结果为小数 */举举例例已知华氏温度已知华氏温度f f与摄氏温度与摄氏温度c c之间满足以下转换关系之间满足以下转换关系:思思考考3295fc那么该如何表示这个算式?那么该如何表示这个算式?(2)(2)取余运算必须是整数,结果是两个数相除得到的余数取余运算必须是整数,结果是两个数相除
5、得到的余数bbaaba*)/(%计算余数的公式:7%2 7%2 结果是结果是 1 1 /*7 (7 /2)7 (7 /2)*2 2*/-7%2-7%2 结果是结果是 -1-1 /*-7 (-7/2)-7 (-7/2)*2 2*/举举例例(3)(3)在实际应用中,取余运算常常用来构建某种条件在实际应用中,取余运算常常用来构建某种条件x%2=0 x%2=0 /*判断判断x x是否是偶数是否是偶数 */(x%3=0)|(x%7=0)(x%3=0)|(x%7=0)/*判断判断x x是否能被是否能被3 3或或7 7整除整除 */举举例例(4)(4)在实际应用中,取余和除运算配合分离整数在实际应用中,取余
6、和除运算配合分离整数若若x x是值为是值为123123整型变量,则:整型变量,则:x x 1010 结果是结果是3(3(个位个位)x/10%10 x/10%10 结果是结果是2(2(十位十位)x/100 x/100 结果是结果是1(1(百位百位)举举例例2.1.3 2.1.3 赋值表达式赋值表达式(1)(1)赋值表达式是用赋值运算把赋值表达式是用赋值运算把变量变量和和式子式子连接起来连接起来 (2)(2)赋值运算符赋值运算符 x=x+exp x=x-exp x=x*exp x=x/exp x=x%expx+=exp x-=exp x*=exp x/=exp x%=exp x=exp举 例+=-
7、=*=/=%=复合赋值右2=简单赋值结合性优先级运算符赋值运算1.1.概述概述(1)(1)赋值运算符的左边一定是赋值运算符的左边一定是变量变量2.2.两点说明两点说明intint x,exp;x,exp;x=5;x=5;/*正确,正确,x x的值变为的值变为5 5*/exp=x+2;exp=x+2;/*正确,正确,expexp的值变为的值变为7 7*/(x+2)=3;(x+2)=3;/*错误,错误,(x+2)(x+2)不是变量不是变量 */举举例例(2)(2)赋值运算优先级为赋值运算优先级为2,结合性为,结合性为右结合右结合intint x=10,exp=20,z=30,a,b,c;x=10,
8、exp=20,z=30,a,b,c;a=b=c=0;a=b=c=0;/*合法的赋值,使合法的赋值,使a,b,ca,b,c都存储了都存储了0 0*/x+=exp+=z x+=exp+=z*z;z;/*合法合法,等价于等价于x=(x+(exp=(exp+(zx=(x+(exp=(exp+(z*z)z)*/举举例例2.1.4 2.1.4 后缀表达式后缀表达式(1)(1)后缀表达式由一个操作数后跟一个运算符组成后缀表达式由一个操作数后跟一个运算符组成(2)(2)常用的后缀运算常用的后缀运算 1.1.概述概述运运算算运运算符算符优优先先级级结结合性合性举举例例后置自增+16左i+后置自减-i-(1)(1
9、)实施运算的对象一定是实施运算的对象一定是变量变量2.2.注意事项注意事项intint x=5;x=5;floatfloat y=1.5;y=1.5;x+;x+;/*正确,正确,x x的值变为的值变为6 6*/y-;y-;/*正确,正确,y y的值变为的值变为0.5 0.5*/(x+y)+;/(x+y)+;/*错误,错误,(x+y)(x+y)不是变量不是变量 */举举例例(2)(2)运算的结果是使变量的值增运算的结果是使变量的值增(减减)1 1(3)(3)表达式的值是变量改变之前的表达式的值是变量改变之前的旧值旧值2.1.5 2.1.5 一元表达式一元表达式(1)(1)一元表达式由一个运算符后
10、跟一个操作数组成一元表达式由一个运算符后跟一个操作数组成(2)(2)常用的一元运算符常用的一元运算符 1.1.概述概述运算运算符优先级结合性举例前置自增/减+/-15右+i/-i求字节sizeofsizeof exp取正/负+/-+exp/-exp(1)(1)实施运算的对象一定是实施运算的对象一定是变量变量intint x=5;x=5;floatfloat y=1.5;y=1.5;+x;+x;/*正确,正确,x x的值变为的值变为6 6*/-y;-y;/*正确,正确,y y的值变为的值变为0.5 0.5*/+(x+y);/+(x+y);/*错误,错误,(x+y)(x+y)不是变量不是变量 */
11、举举例例2.2.说明说明(2)(2)运算的结果是使变量的值增运算的结果是使变量的值增(减减)1 1(3)(3)表达式的值是变量改变后的表达式的值是变量改变后的新值新值(1)(1)用于测定对象所占用内存的用于测定对象所占用内存的字节数字节数(2)(2)使用的格式是使用的格式是:sizeof(sizeof(对象对象)3.3.sizeof运算运算sizeof(int)sizeof(int)/*对象是类型标识符,结果是对象是类型标识符,结果是2 2*/floatfloat x;x;sizeofsizeof(x)(x)/*对象是变量名,结果是对象是变量名,结果是4 4*/举举例例4.4.取正取正/负运算
12、负运算表达式运算前变量a的值表达式的值+a-a+a-a33-5-5+3-3-5+52.1.6 2.1.6 逗号表达式逗号表达式1.1.用逗号把几个表达式连接起来构成的表达式用逗号把几个表达式连接起来构成的表达式2.2.其其运算次序是自左向右依次计算每个表达式运算次序是自左向右依次计算每个表达式x=5,exp=x+5,z-=exp,x+6x=5,exp=x+5,z-=exp,x+63.3.整个逗号表达式的值为最后一个表达式的值整个逗号表达式的值为最后一个表达式的值若有表达式:若有表达式:x=5,x+10,x x=5,x+10,x*10+3 10+3 则整个表达式的值为则整个表达式的值为5353
13、举举例例4.4.逗号逗号运算的优先级最低运算的优先级最低(为为1)1)5.5.逗号逗号运算常常用来对多个变量同时赋值运算常常用来对多个变量同时赋值x=5,exp=10,z=20;x=5,exp=10,z=20;目目 的的 要要 求求1.1.理解运算符、操作数、表达式、优先级和结合性理解运算符、操作数、表达式、优先级和结合性2.2.掌握二元运算的种类和使用方法掌握二元运算的种类和使用方法4.4.掌握后置自增减运算的使用理方法掌握后置自增减运算的使用理方法3.3.掌握赋值运算的种类和使用方法掌握赋值运算的种类和使用方法5.5.掌握前置自增减运算的使用方法掌握前置自增减运算的使用方法6.6.掌握掌握
14、sizeofsizeof运算及使用方法运算及使用方法7.7.掌握逗号运算及使用方法掌握逗号运算及使用方法复习思考题复习思考题*6.6.一元运算有哪些一元运算有哪些?各自的作用是什么各自的作用是什么?如何使用如何使用?说明:题目前面的说明:题目前面的*代表问题的重要程度代表问题的重要程度*1.1.什么是运算符?操作数?表达式?优先级和结合性?什么是运算符?操作数?表达式?优先级和结合性?*2.C2.C中,表达式有哪些类型中,表达式有哪些类型?*3.C3.C中中,二元运算包括哪些二元运算包括哪些?使用中应注意什么使用中应注意什么?*4.4.赋值运算包括哪些赋值运算包括哪些?使用中应注意什么使用中应注意什么?*5.5.后置自增减运算的作用是什么后置自增减运算的作用是什么?使用时应注意什么使用时应注意什么?*7.7.逗号表达式是什么逗号表达式是什么?如何处理如何处理?