- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
回顾 变量的定义 常量的定义 变量和常量的区别 标识符的定义 关键字的定义 第4章 运算符和表达式 第4章 运算符和表达式 运算符:狭义的运算符是表示各种运算的符号。 表达式:使用运算符将常量、变量、函数连接起来,构成表达式。 C语言运算符丰富,范围很宽,把除了控制语句和输入/输出以外的几乎所有的基本操作都作为运算符处理,所以C语言运算符可以看作是操作符。 §4.1 C语言运算符简介 §4.2 算术运算符合算术表达式 §4.2.1 算术运算符 + (加法运算符。如3+5) - (减法运算符或负值运算符。如5-2,-3) * (乘法运算符。如3*5) / (除法运算符。如5/3,5.0/3) %(模运算符或求余运算符,%要求两侧均为整型数据。如7%4的值为3)。 7.1%3 error §4.2 算术运算符合算术表达式 尽管算术运算符与数学的数值运算很相似,但还是有些差别,使用时需要注意以下几点: (1)关于除法运算。C语言规定:两个整数相除,其商为整数,小数部分被舍弃。 例如,5/2=2。若除数或被除数中有一个为浮点数,则此时的除法与数学的除法运算规则完全相同。 (2)关于求余%运算。要求两侧的操作数为整型数据。同样%=的运算对象也只能为整型数据。 例如:7%4的结果为3,-7%4的结果为-3,7%-4的结果为3,注意:3.5%2是不对的。 (3)减法运算符还可以用作单目运算符,是取负运算。其实运算符均为双目运算符。 §4.2 算术运算符合算术表达式 (4)+、-、*、/ 运算,运算对象是整型、实型均可。 整型+(-、*、/)整型=整型 如:3+2=5 9/5=1 实型+(-、*、/)实型=实型 如:3.0+2.0=5.0 9.0/5.0=1.8 若两个操作数一个为整型、一个为实型,则结果为实型。 如:3+2.0=5.0 9.0 / 5=1.8 §4.2 算术运算符合算术表达式 例1 使用printf函数输出表达式的值。 # include stdio.h void main( ) { printf(“%d,%f,%d\n”,7/4,5/2.0,-2%5); } §4.2 算术运算符合算术表达式 §4.2.2 表达式和算术表达式 1、表达式的概念 用运算符和括号将运算对象(常量、变量和函数等)连接起来、符合C语言语法规则的是式子,称为表达式。 2、算术表达式的概念 用算术运算符和括号将运算对象(也称操作数)连接起来的、符合C语法规则的式子,称为算术表达式。 运算对象可以是常量、变量、函数等。 §4.2 算术运算符合算术表达式 例如:下面是一个合法的C算术表达式。 a*b/c-1.5+’a’ 注意: C语言算术表达式的书写形式与数学表达式的书写形式有一定的区别: (1)?C语言算术表达式的乘号(*)不能省略。 例如:数学式b2-4ac,相应的C表达式应该写成:b*b-4*a*c (2)?C语言表达式中只能出现字符集允许的字符。例如,数学πr2相应的C表达式应该写成:PI*r*r。(其中PI是已经定义的符号常量) (3)C语言算术表达式不允许有分子分母的形式。 例如:(a+b)/(c+d) != a+b/c+d §4.2 算术运算符合算术表达式 (4)C语言算术表达式只使用圆括号改变运算的优先顺序(不能用{}[])。可以使用多层圆括号,此时左右括号必须配对,运算时从内层括号开始,由内向外依次计算表达式的值。 3、算术运算符的优先级与结合性 算术运算符的优先级与数学基本相同,即先乘除,后加减。取模运算的优先级与乘除相同,函数和圆括号的优先级最高。 (1)C语言规定了运算符的“优先级”和“结合性”。在表达式求值时,先按运算符的“优先级别”高低次序执行。 例如:表达式:a-b*c等价于a-(b*c),“*”运算符优先级高于“-”运算符。 §4.2 算术运算符合算术表达式 (2)如果在一个运算对象两侧的运算符的优先级别相同,则按规定的“结合方向”处理。 例如:a-b+c,到底是(a-b)+c还是a-(b+c)?(b先与a参与运算还是先于c参与运算?) 按结合方向和优先界别原则:+/-运算优先级别相同,结合性为“自左向右”,即就是说b先与左边的a结合。所以a-b
文档评论(0)