[工学]3-算术运算_赋值运算_逗号运算及第二章课后练习.ppt

[工学]3-算术运算_赋值运算_逗号运算及第二章课后练习.ppt

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

第1章 计算机的发展与应用 算术运算符和算术表达式 算术运算符: (1)单目运算符:+(正号)、-(负号)、++(自加)、--(自减) (2)双目运算符: +(加)、-(减)、 *(乘)、/(除)、%(取余) 注意: (1)%运算:要求两个运算对象均为整数。7%4 (2)/运算:若两个对象均为整数,则结果只截取整数位。例如:5/3=1,1/5=0。若想得到正确结果可将一个运算对象写成实数。5.0/3=1.777,1.0/5=0.2 表达式: (1)一个变量、常量、函数调用都是表达式。 (2)用运算符将多个表达式连接起来并且符合C语言的表达式规则。 语句:表达式后面加上分号(;)即为语句 算术表达式:用算术运算符来连接表达式。 算术表达式的值:为算术运算的结果 当一个表达式两侧均有运算符时: (1)首先考虑优先级:表达式先与优先级高的运算符结合。例如:a*b+c,则b先与*结合,即先算*,后算+。括号可以改变运算符的优先级。 (2)若优先级相同,则考虑结合性。例如: a+b-c,因为+、-为左结合性的,则b先与+结合,即先算+,后算-。 所有运算符的优先级与结合性请参照附录3 自加(++)、自减(--)运算符介绍: (1)是单目运算符,结合性为右结合性,例如-a++等价于-(a++)。 (2)++:将变量中的值加1。例如:i++或 ++i均等价于i=i+1。 int i; i=5; i++;++i; printf(“%d”,i); 7 (3)只能作用于整型变量、字符变量,不能用于常量或运算表达式。例如 int i; i=5; i++;++i; char ch; ch=‘a’; ch++; 5++; (a+b)++; (4)i++与++i应用于赋值表达式或作为函数参数的区别: A、 i++:先使用i的值,然后i自加。例如: int i,j; i=5; j=i++; printf(“i=%d j=%d\n”,i,j); printf(“i=%d j=%d\n”,i++,j++) printf (“i=%d j=%d\n”,i,j) B、++i:i先自加,然后使用i的值。例如: int i,j; i=5; j=++i; printf(“i=%d j=%d”,++i,j); 输出结果为: i=7 j=6 (5)++、--运算符应用举例: A、书上例题:2.8 B、int j,k; j=5; k=(j++)+(j++)+(j++); printf(“j=%d k=%d”,j,k); C、int j,k; j=5; k=(++j)+(++j)+(++j); printf(“j=%d k=%d”,j,k); D、int j,k; j=5; k=(j++)+(j++)+(++j); printf(“j=%d k=%d”,j,k); E、int j,k; j=5; k=-j++; /*换成k=-++j; */ printf(“j=%d k=%d”,j,k); 输出: B、j=8 k=15 C、j=8 k=24 D、j=8 k=18 E、j=6 k=-5 算术表达式中的类型转换: (1)自动转换:由C系统自动进行转换 A、必然转换: char ch1=‘a’,ch2=‘d’; ch2-ch1 int int char,short必然转换为int float:必然转换为double B、由低到高的转换:int→unsigned →long →double 例如:char ch;int i;float f; double d; result=(ch/i)+(f*d)-(f+d)的最后结果为double型 (2)强制转换: A、形式:(类型名)(表达式) B、举例:(int)f (float)(a+b) (float) a+b C、强制转换只是得到一个所需类型的中间变量,并没有改变原表达式的类型。 例2.9 强制类型转换的使用。 main() { int a,b; float x,y; x=36.42;y=12.01; a=(int)(x+y); b=(int)x%(int)y; printf(%d\n,a); printf(%d\n,b); prin

文档评论(0)

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

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

1亿VIP精品文档

相关文档