网站大量收购闲置独家精品文档,联系QQ:2885784924

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

  1. 1、本文档共64页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
作业与实验 作业:[习题二]的填空题中选3题,选择题中选3题。 上机操作:[实验二] [Return] 2.5.1 算术运算符和算术表达式 1.算术运算符 算术运算符共有5种,如表2-6所示。 运算符号 作 用 + 加法运算符,如:3 + 5 正值运算符,如:+3 - 减法运算符,如:5 - 2 负值运算符,如:-3 * 乘法运算符,如:3 * 5 / 除法运算符,如:15 / 2表示求15除以2的商,结果(“向零取整”)为商的整数部分7 % 求模运算符(又称求余运算符),如:15 % 2表示求15除以2的余数部分1 2.算术表达式 ① 表达式的概念 用运算符和括号将运算对象(常量、变量和函数等)连接起来的、符合C语言语法规则的式子,称为表达式。 单个常量、变量或函数,可以看作是表达式的一种特例。将单个常量、变量或函数构成的表达式称为简单表达式,把其它的表达式称为复杂表达式。 ② 算术表达式的概念 运算符全部是算术运算符的表达式。如:8+6*5、(x+y)/2-z等,都是算术表达式。 3.算术运算符的优先级与结合性 ① 运算符的结合性 所谓结合性是指当一个操作数两侧的运算符具有相同的优先级时,该操作数是先与左边的运算符结合,还是先与右边的运算符结合,自左向右的结合方向,称为左结合性。反之,称为右结合性。 除求负、逻辑非运算符、赋值运算符和条件运算符是“右结合性”外,其它运算符都是“左结合性”。 ② 运算符的优先级 所谓优先级是指运算符在进行计算时的先后顺序。 如果在一个运算对象(或称操作数)两侧的运算符的优先级相同,则按运算符结合性规定的结合方向进行运算。 ③算术表达式中运算符的优先级与结合性 优先级:先乘除(乘与除为同级运算)、后加减(加与减为同级运算);若有括号,则先算括号内的。 结合性:为左结合(即:先左后右)。 例如,在执行“a–b+c”时,变量b先与减号结合,执行“a - b”;然后再执行加c的运算。 2.5.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=4, i=4*/ (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++、--

文档评论(0)

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

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

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档