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

吉大康辉老师讲C语言C语言中的运算市公开课一等奖省赛课微课金奖PPT课件.pptx

吉大康辉老师讲C语言C语言中的运算市公开课一等奖省赛课微课金奖PPT课件.pptx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第三章运算3.1C运算符介绍C语言运算符有以下几类:1.算术运算符(见下节)2.关系运算符====!=3.逻辑运算符||!4.位运算符~|^5.赋值运算符=+=-=*=/=%====|=^=6.条件运算符?:7.逗号运算符,10强制类型(类型)8.指针运算符*11组员运算符-9.求字节数符sizeof12其它()[]1/103.2算术运算符和算术表示式基本算术运算符:+(二元加运算符)-(二元减,或一元负运算符)*(乘法运算符)/(除法运算符)当进行+、-、*、/混合运算时,各运算符之间必须要有一定优先次序和结合方向。C语言中要求+、-、*、/之间优先次序以下:-、*/、+-。同一行运算符优先级相等,运算时按优先级从高到低,同级从左至右标准进行,如:a*b+c/d-e、((a*b)+(c/d))-e、a*b/c、a*-c+b/da,b,c,d,e等称为操作数,它能够是常量或变量,由操作数和运算符以及圆括号按一定规则组成式子称为表示式。由数值型操作数和算术运算符组成表示式称为算术表示式。2/103.2算术运算符和算术表示式模运算符%模运算符%是一个二元运算符。优先级和结合方向同*和/。%要求两侧操作数均为整型数据。且n%m结果为n/m余数部分,即n被m除余数。余数符号与被除数一致。如:7%3结果为1,4%2结果为0,2%3结果为2,-2%3=?2%-3=?-2%-3=?。3/103.3赋值运算符和赋值表示式赋值运算符=:一个二元运算符,其左操作数只能为变量,而右操作数能够为常量、变量或表示式。赋值表示式普通形式为:变量=表示式先对“=”右端表示式求值,将结果赋给变量。赋值表示式能够出现在其它表示式中:(a=1)+(b=3)*4-(c=5)赋值表示式右侧也能够是一个赋值表示式:a=(b=5)赋值表示式中“=”结合次序是“从右至左”。算术运算符优先级高于赋值运算符。比如:a=b=c=d=1,a=5+(b=3),a=(b=4)+(c=6),a=b=4+(c=6)复合赋值运算符:a+=b,a-=b,a*=b,a/=b,a%=b4/103.4++,--运算符算术运算符++和--使参加运算对象值增1或减1,也是赋值运算。单目运算符,运算对象能够是整型或实型变量,不能是常量或表示式,比如:++a,a++,a--,--a,++3,(i+j)--它们在算术运算符中优先级和结合方向以下:++--(一元负)从右至左*/%从左至右+-(二元减)从左至右其组成形式有以下四种:前缀(++a、--a),后缀(a++、a--),运算后a值相同,表示式值不一样。5/103.4++,--运算符main(){inta=1,b=1;printf(“++a=%d,b++=%d\n”,++a,b++);printf(“a=%d,b=%d\n”,a,b);printf(“--a=%d,b--=%d\n”,--a,b--);printf(“a=%d,b=%d\n”,a,b);}运行结果:考虑:i初值为3,表示式(i++*++i+i--*--i)=?++a=2,b++=1a=2,b=2--a=1,b--=2a=1,b=16/103.5混合运算和类型转换当运算符两边操作数类型不一样时,其中一个操作数就要经过类型转换以和另一个操作数类型相一致,然后才能进行运算。变换操作数采取就高不就低标准。即级别低操作数先被转换成和级别高操作数含有同一类型,然后再进行运算,结果数据类型和级别高操作数相同。各种类型级别高低以下所表示:高doublefloatlongunsigend低intchar,short比如:10+‘a’+5*1.5-10/3强制类型转换表示式:(类型)表示式)比如:(int)(1.5+2.3)=?,(int)1.5+2.3=?7/103.5混合运算和类型转换类型转换也发生在赋值运算符两边,且不论赋值运算符右边表示式结果类型为何,一律转换为左边变量类型,然后再赋给左边变量。类型提升:是将较低级类型转换为较高级类型,经过增加一些二进制位来完成,精度没有损失。类型下降:是将较高级类型转换为较低级类型,要截断和舍入二进制位,通常会引发精度损失。8/103.5混合运算和类型转换main(){charc1,c2,c3;inti1,i2,i3;floatf1,f2,f3;c1=‘x’;c2=1000;c3=6.02e23;printf(“%c%c%c\n”,c1,c2,c3);i1=‘x’;i2=1000

您可能关注的文档

文档评论(0)

155****0304 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档