c语言学习,c语言课件第02章.ppt

  1. 1、本文档共62页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.算术运算符的优先级与结合性 ① 运算符的结合性 所谓结合性是 指当一个操纵数两侧的运算符具有同样的优先级时, 该操纵数是 先与左边的运算符结合, 仍是 先与右边的运算符结合, 自左向右的结合方向, 称为左结合性. 反之, 称为右结合性. 除求负、逻辑非运算符、赋值运算符和前提运算符是 “右结合性”外, 其它运算符根基上 “左结合性”. ② 运算符的优先级 所谓优先级是 指运算符在履行统计时的先后次序. 介入在一个运算对象(或称操纵数)两侧的运算符的优先级同样, 那么按运算符结合性法那么的结合方向履行运算. ③算术 表达式中运算符的优先级与结合性 优先级: 先乘除(乘与除为同级运算)、后加减(加与减为同级运算);如果有括号, 那么先算括号内的. 结合性: 为左结合(即: 先左后右). 例似, 在履行“a–b+c”时, 变量b先与减号结合, 履行“a - b”;接着再履行加c的运算. 2,7,2 自增与自减运算符 自增与自减运算符是 C语言特有的两种非常有效的运算符. 其中: 自增运算符为++, 示意操纵数加1; 自减运算符为--,示意操纵数减1, 1, 功能 自增运算使单个变量的值增1, 自减运算使单个变量的值减1. 有以下四种情势: ++i; *在使用i以前使i加1* --i; *在使用i以前使i减1* i++; *在使用i之后使i加1* i--; *在使用i之后使i减1* 例似: x=m++ 示意将m的值赋给x后, m加1, x=++m 示意m先加1后, 再将新值赋给x. 从上例可知: x=m++和x=++m有非常大差不. 2, 用法 自增、自减运算符都有两种用法: (1)前置运算──运算符放在变量以前: ++变量、--变量, 先使变量的值增(或减)1, 接着再以变化后的值介入其它运算, 即: 先增减、后运算. 例似: i=3;j=++i; *先使i加1, 再赋给j. 履行完语句后: j=5, i=5* (2)后置运算──运算符放在变量之后: 变量++、变量--, 变量先介入其它运算, 接着再使变量的值增(或减)1, 即: 先运算、后增减. 例似: i=3;k=(i++)+(i++)+(i++); *i++: 先使用i,再加1, 履行后: k=3+3+3=9, i=6* 想一想: 履行完以下语句后i, j, k的值是 几 ?为啥? i=3; j=i++; k=(++i)+(++i)+(++i); ※看重: ++和--的结合方向为“右结合”. 例: -i++等价于: -(i++), 而不是 等价于: (-i)++, 因为负值运算符“-”和自增运算符优先级同样. [演示] 【例2-3】 自增、自减运算符的用法示例. *exam2_3* int main(void) { int x=6, y; printf(x=%d\n,x); *输出x的初值* y=++x; *前置运算* printf(y=++x: x=%d,y=%d\n,x,y); y=x--; *后置运算* printf(y=x--: x=%d,y=%d\n,x,y); return 0; } [演示] 程序运行结论: x=6 y=++x: x=7,y=7 y=x--: x=6,y=7 想一想: 如果将“y=++x;” 改为 (y=x++;), “y=x--;”改为 (y=--x;), 结论会如果何? 3,讲明 (1)自增、自减运算, 常用于循环语句中, 使循环操纵变量加(或减)1, 以及用于指针变量中, 使指针指向下(或上)一个地点. (2)自增、自减运算符, 只能用于变量, 不能用于常量和 表达式. 例似, 5++、--5,--(a+b)、(a+b)-- 等根基上 非法的. 又似: #define ONE 1; ONE++; 也是 差错的写法. (3)展示多个运算符时, 编译器在操作时尽情很多的(从左到右)将如果干个字符组合成一个运算符. 例: i+++j等价于(i++)+j;而不是 i+(++j) (5)在 表达式中, 接连使同一变量履行自增或自减运算时, 非常简单犯错, 所以最好幸免这类用法. 2,7,3 赋值运算符和赋值 表达式 1, 赋值运算 赋值符号“=”定是 赋值运算符. 造成赋值 表达式的同样情势: 变量 = 表达式 功能: 是 造成一个赋值 表达式, 将“=”右边的 表达式的值赋给“=”右边的变量. 例似: x=3 *将常数3赋值给变量x. 常数是 特别的 表达式* y=(float)52 *将5,02的结论赋值给变量y* a=b+c+1 *将b+c+1的结论赋值给变量a* ※看重: 介入赋值号右边的 表

文档评论(0)

mestyle + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档