C04 算术运算符与算术表达式(精品).ppt
《C04 算术运算符与算术表达式(精品).ppt》由会员分享,可在线阅读,更多相关《C04 算术运算符与算术表达式(精品).ppt(45页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、C语言程序设计School of SoftwareSchool of SoftwareZhengzhouZhengzhou University University Students:Frosh Students:Frosh Students:Frosh Students:Frosh Semester:Spring of 2011 Semester:Spring of 2011 Semester:Spring of 2011 Semester:Spring of 2011 Instructor:Song Instructor:Song Instructor:Song Instructor:S
2、ong WeiWeiWeiWei Office Office Office Office:Room 315Room 315Room 315Room 315,Building 18Building 18Building 18Building 第4章 算术运算符与算术表达式主要内容算术运算符的概念、分类,优先级,结合算术运算符的概念、分类,优先级,结合方向方向表达式的概念表达式的概念赋值表达式赋值表达式算术表达式算术表达式 3学习内容运算符是一个符号,告知编译程序执行相应的算运算符是一个符号,告知编译程序执行相应的算术或逻辑运算等术或逻辑运算等C语言有丰富的运算符,例如,算术运算符、逻语言有丰富的
3、运算符,例如,算术运算符、逻辑运算符和关系运算符等辑运算符和关系运算符等运算符、常量和变量是表达式的要素,表达式是运算符、常量和变量是表达式的要素,表达式是这些要素的有效组合,绝大多数表达式的书写遵这些要素的有效组合,绝大多数表达式的书写遵循数学习惯,较易理解循数学习惯,较易理解通过运算可得到表达式的值,当一个表达式是复通过运算可得到表达式的值,当一个表达式是复杂表达式时,应将其中子表达式的值作为对象进杂表达式时,应将其中子表达式的值作为对象进行后面的运算行后面的运算重点:算术运算符与算术表达式。重点:算术运算符与算术表达式。4运算符与表达式运算符与表达式表达式是数据间运算关系的表达形式,由表
4、达式是数据间运算关系的表达形式,由运算对象运算对象和和运算符运算符按一定规则组成。按一定规则组成。运算对象:常量、变量、函数运算对象:常量、变量、函数运算对象:常量、变量、函数运算对象:常量、变量、函数运算符:算术、关系、逻辑、位、赋值运算符:算术、关系、逻辑、位、赋值运算符:算术、关系、逻辑、位、赋值运算符:算术、关系、逻辑、位、赋值单个常量、变量、函数也是表达式单个常量、变量、函数也是表达式5C的运算符 运算符是一个符号,其作用是告知编译程序将运算符是一个符号,其作用是告知编译程序将进行相应的运算。进行相应的运算。C语言有丰富的运算符,包括算术运算符、逻语言有丰富的运算符,包括算术运算符、
5、逻辑运算符和关系运算符等辑运算符和关系运算符等34个运算符。个运算符。运算符、常量和变量是表达式的基本要素。大运算符、常量和变量是表达式的基本要素。大多数表达式书写时符合数学习惯。多数表达式书写时符合数学习惯。通过运算可得到表达式的值,当一个表达式是通过运算可得到表达式的值,当一个表达式是复杂表达式时,应将其中子表达式的值作为参复杂表达式时,应将其中子表达式的值作为参数进行后余的运算。数进行后余的运算。6C运运算算符符算术运算符:(算术运算符:(+-*/%+-+-*/%+-)关系运算符:(关系运算符:(=!=!=)逻辑运算符:(!逻辑运算符:(!&|&|)位运算符位运算符 :(:(|&|&)赋
6、值运算符:(赋值运算符:(=及其扩展)及其扩展)条件运算符:(条件运算符:(?:?:)逗号运算符:(逗号运算符:(,)指针运算符:(指针运算符:(*&)求字节数求字节数 :(:(sizeofsizeof)强制类型转换:(类型)强制类型转换:(类型)分量运算符:(分量运算符:(.-.-)下标运算符:(下标运算符:()其它其它 :(:(()-()-)语言运算符语言运算符7运算符功能运算符功能与运算量关系与运算量关系要求运算量个数要求运算量个数要求运算量类型要求运算量类型运算符优先级别运算符优先级别结合方向结合方向结果的类型结果的类型学习运算符应注意学习运算符应注意83.1 算术运算符 C语言中有如
7、下五种算术运算符,共表示语言中有如下五种算术运算符,共表示6种种运算运算。+(加法运算符,或正值运算符加法运算符,或正值运算符)-(减法运算符,或负值运算符减法运算符,或负值运算符)*(乘法运算符乘法运算符)/(除法运算符除法运算符)%(模运算符模运算符)负值运算符只需要一个数据对象参加运算,称为一元负值运算符只需要一个数据对象参加运算,称为一元运算符。运算符。加、减、乘、除、模运算符,需要两个数据对象参加加、减、乘、除、模运算符,需要两个数据对象参加运算,称为二元运算符。运算,称为二元运算符。9注 意算术运算符的使用和数学中运算符的使用基本一算术运算符的使用和数学中运算符的使用基本一致致但也
8、有一些用法有别于数学习惯但也有一些用法有别于数学习惯(1)C语言中不能用数学中的符号语言中不能用数学中的符号“”或或“”表示乘表示乘法。法。另外,另外,C语言中两个数据相乘,语言中两个数据相乘,“*”也不能省略也不能省略8*m不能写成不能写成8m、8m或或8m(2)不能用符号不能用符号“”或分数线表示除法或分数线表示除法(键盘上没有键盘上没有)10注 意(3)当除数和被除数都是整数时,其商也是整数当除数和被除数都是整数时,其商也是整数(取整,而(取整,而非四舍五入)非四舍五入)5/3结果为结果为1,2/3的结果为的结果为0(4)如果除数和被除数中,至少有一个是实型数时,其商也如果除数和被除数中
9、,至少有一个是实型数时,其商也是实型数,并按一定精度要求,对某些位四舍五入。是实型数,并按一定精度要求,对某些位四舍五入。例如,例如,5.4/2 的结果为的结果为2.7,6/3.0 的结果为的结果为2.0,2.0/3.0 的结果为的结果为 0.666667。(5)符号符号“%”表示求模运算,即两个整数相除的余数。求模表示求模运算,即两个整数相除的余数。求模运算只能用于两个整数之间运算只能用于两个整数之间5%3结果为结果为22%3结果为结果为25.3%4,12%3.4,15.6%2.3都是错误的都是错误的2/3=?112.算术运算符的优先级不同的算术运算符具有不同的求解顺序,即优先级不同的算术运
10、算符具有不同的求解顺序,即优先级1.1.正号和负号运算的优先级最高正号和负号运算的优先级最高2.2.然后是乘、除和求模运算然后是乘、除和求模运算3.3.最后是加减运算最后是加减运算4.4.圆括号可用来提高运算符的优先级圆括号可用来提高运算符的优先级5.5.中括号中括号“”和大括号和大括号“”不用来改变运算符号不用来改变运算符号的优先级,另有它用的优先级,另有它用6.6.若一个运算式子中,包含两个相同优先级的运算若一个运算式子中,包含两个相同优先级的运算符时,运算符的求解顺序决定于其结合方向。符时,运算符的求解顺序决定于其结合方向。7.7.算术运算符的结合方向都是自左至右的。算术运算符的结合方向
11、都是自左至右的。12C语言中算术运算符的优先级及结合方向算术运算符算术运算符功功 能能优先级优先级结结合方向合方向-负值运算负值运算高高自左至右自左至右*乘法运算乘法运算中中自左至右自左至右/除法运算除法运算自左至右自左至右%求余运算求余运算自左至右自左至右+加法运算加法运算低低自左至右自左至右-减法运算减法运算自左至右自左至右133.2 算术表达式按照按照C语言规则,将算术运算符、圆括号语言规则,将算术运算符、圆括号及运算对象及运算对象(常量、变量、函数等常量、变量、函数等)连接连接起来的式子,称为算术表达式起来的式子,称为算术表达式 1.算术表达式的构成算术表达式的构成2.数学问题的表达式
12、描述数学问题的表达式描述3.标准数学函数的使用标准数学函数的使用 141.算术表达式的构成 C语言的算术表达式语言的算术表达式是是由运算对象由运算对象(常量、变量、常量、变量、函数等函数等)、和至少和至少0个运算符及个运算符及圆括号之间的组合圆括号之间的组合所组成所组成的式子。的式子。组成组成C语言的表达式采用递归方式定义。语言的表达式采用递归方式定义。单独的一个常数或者一个变量是表达式,称为单独的一个常数或者一个变量是表达式,称为原子原子表达式表达式。例如,。例如,“3”“x”都是原子表达式。都是原子表达式。用运算符将表达式连接起来的有效式子是表达式。用运算符将表达式连接起来的有效式子是表达
13、式。例如,例如,“3+4”“x=5”“x=5+7”都是表达式。都是表达式。用圆括号括起来的表达式也是表达式。例如,用圆括号括起来的表达式也是表达式。例如,“(x+4)”“(x=6)”都是表达式。都是表达式。所有的表达式都是经过有限次使用规则所有的表达式都是经过有限次使用规则(1)(2)(3)得到的式子。得到的式子。151+2(1*2)/xsin(a)+cos(b)(-b+sqrt(b*b-4*a*c)/(2*a)16(1*2)/x 由常量由常量 1,2;变量变量 x;运算符运算符*,/;以及一对圆括号构成以及一对圆括号构成其中单独的常量或变量其中单独的常量或变量 1,2,x 也可视作基本的也可
14、视作基本的表达式表达式组合组合 1*2,(1*2)也是表达式也是表达式17表达式的分类若一个表达式不是原子表达式,则称为复合表达式。若一个表达式不是原子表达式,则称为复合表达式。根据最后一次运算的不同,也可以将表达式分为不同的根据最后一次运算的不同,也可以将表达式分为不同的表达式。表达式。最后一次运算是赋值运算的表达式,称为赋值表达式。最后一次运算是赋值运算的表达式,称为赋值表达式。最后一次运算是算术运算的表达式,称为算术表达式。最后一次运算是算术运算的表达式,称为算术表达式。例如:例如:x=3+5y=(3+5)都为赋值表达式。都为赋值表达式。3+45*7+43/465*65+(x=3)都为算
15、术表达式。都为算术表达式。18子表达式如果表达式如果表达式 a 是表达式是表达式 b 的组成部分,则的组成部分,则表达式表达式 a 称为表达式称为表达式 b 的子表达式的子表达式一般地,一个表达式可以由若干个子表达一般地,一个表达式可以由若干个子表达式的基本表达式组成式的基本表达式组成 19注 意C语言表达式中的所有字符都是语言表达式中的所有字符都是写在一行上写在一行上的,的,没有分式没有分式,也也没有上下标没有上下标,括号,括号只有圆括号只有圆括号一种一种(方括号和花括号作其方括号和花括号作其他用途他用途)任何一个正确的表达式都应表示任何一个正确的表达式都应表示(或能计算出或能计算出)一个值
16、,表一个值,表达式的类型、值与采用的运算和运算对象的数据类型以及达式的类型、值与采用的运算和运算对象的数据类型以及运算对象的值有关。表达式运算对象的值有关。表达式“3/2”的类型为整型,值为的类型为整型,值为1;表达式;表达式“3.0/2”的类型为实型,值为的类型为实型,值为1.5。单独的常量或变量也可视作基本的表达式:单独的常量或变量也可视作基本的表达式:1 x都是表达式都是表达式如:如:表达式表达式“1+2”1+2”的值为整型数的值为整型数3 3;表达式表达式“1.0+2”1.0+2”的值为实型的值为实型3.03.0如果变量如果变量mm的值是的值是1 1,执行执行“m+10”m+10”后,
17、后,mm的值并不变成的值并不变成11 11,“m+10”m+10”的含义是的含义是“mm的值与的值与1010相加的结果相加的结果”,即,即表达式的结果表达式的结果为为11 1120基本算术运算符:基本算术运算符:+-*/%*/%结合方向:从左向右结合方向:从左向右结合方向:从左向右结合方向:从左向右优先级:优先级:优先级:优先级:-*/%*/%*/%*/%-+-+-+-+-说明:说明:“-”-”可为可为单目单目运算符时运算符时,右结合性右结合性两整数相除,结果为整数两整数相除,结果为整数%要求两侧均为整型数据要求两侧均为整型数据例 5/2 =-5/2.0 =例 5%2 =-5%2 =1%10
18、=5%1 =5.5%2算术运算符和表达式算术运算符和表达式2-2.51-110()注意注意:两个整数的相除问题,如:两个整数的相除问题,如:7/4=1 7/8=07/4=1 7/8=0;若整数中有一个若整数中有一个为负,如:为负,如:-7/4 -7/4 这就要视系统的处理而定了,大多数系统这就要视系统的处理而定了,大多数系统 -7/4=-1-7/4=-1;但也有的系统但也有的系统 7/4=-27/4=-2212.数学问题的表达式描述 在程序设计时,需要把一个数学问题用在程序设计时,需要把一个数学问题用C语言表达语言表达式的形式描述出来式的形式描述出来设有变量说明设有变量说明 int m,n,x
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C04 算术运算符与算术表达式精品 算术 运算 表达式 精品
限制150内