c语言算术运算

c语言算术运算

ID:36324608

大小:717.31 KB

页数:29页

时间:2019-05-09

c语言算术运算_第1页
c语言算术运算_第2页
c语言算术运算_第3页
c语言算术运算_第4页
c语言算术运算_第5页
资源描述:

《c语言算术运算》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第2讲C语言算术运算主讲人:王华教学目标:通过本次学习,使学生掌握算术运算,逗号运算,以及正确判断各类表达式并求值本讲重点:数据类型转换、本讲难点:数据类型的相互转化自加、自减运算在上一次课中我们了解数据类型种类,并知道了存储得空间和大小,在运算中就要注意类型问题!!使我们这次要学习得重点。类型符号关键字数的表示范围所占位数整型字符型实型有无(signed)int16-32768~32767(signed)short16-32768~32767(signed)long32-2147483648~214748

2、364716unsignedint0~65535320~4294967295unsignedlongunsignedshort160~65535有float323.4e-38~3.4e38有double641.7e-308~1.7e308有char8-128~127无unsignedchar80~255不同类型数据间的转换(P9)隐式转换什么情况下发生运算转换------不同类型数据混合运算时赋值转换------把一个值赋给与其类型不同的变量时输出转换------输出时转换成指定的输出格式函数调用转换---

3、---实参与形参类型不一致时转换运算转换规则:不同类型数据运算时先自动转换成同一类型doublefloatlongunsignedintchar,short低高说明:必定的转换运算对象类型不同时转换例charch;inti;floatf;doubled;ch/i+f*d-(f+i)intintdoubledoubledoubledoubledoubledoubleintintdoubledoubledoubledoubledoubledouble10+‘a’+i*f-d/l例inti;floatf;doub

4、led;longl;显式转换(强制转换)一般形式:(类型名)(表达式)例(int)(x+y)(int)x+y(double)(3/2)(int)3.6说明:强制转换得到所需类型的中间变量,原变量类型不变例main(){floatx;inti;x=3.6;i=(int)x;printf(“x=%f,i=%d”,x,i);}结果:x=3.600000,i=3精度损失问题较高类型向较低类型转换时可能发生运算符和表达式C运算符算术运算符:(+-*/%++--)关系运算符:(<<===>>=!=)逻辑运算符:((!&

5、&

6、

7、)位运算符:(<<>>~

8、^&)赋值运算符:(=及其扩展)条件运算符:(?:)逗号运算符:(,)指针运算符:(*&)求字节数:(sizeof)强制类型转换:(类型)分量运算符:(.->)下标运算符:([])其它:(()-)学习运算符应注意:运算符功能与运算量关系要求运算量个数要求运算量类型运算符优先级别结合方向结果的类型算术运算符和表达式基本算术运算符:+-*/%结合方向:从左向右优先级:----->*/%----->+-(2)(3)(4)说明:“-”可为单目运算符时,右结合性两整数相除,结果为整数%

9、要求两侧均为整型数据例5/2=-5/2.0=例5%2=-5%2=1%10=5%1=5.5%2例5/2=2-5/2.0=-2.5例5%2=1-5%2=-11%10=15%1=05.5%2()自增、自减运算符++--作用:使变量值加1或减1种类:前置++i,--i(先执行i+1或i-1,再使用i值)后置i++,i--(先使用i值,再执行i+1或i-1)例j=3;k=++j;j=3;k=j++;j=3;printf(“%d”,++j);j=3;printf(“%d”,j++);a=3;b=5;c=(++a)*b

10、;a=3;b=5;c=(a++)*b;//k=4,j=4//k=3,j=4//4//3//c=20,a=4//c=15,a=4自增、自减运算符++--种类:前置++i,--i(先执行i+1或i-1,再使用i值)后置i++,i--(先使用i值,再执行i+1或i-1)说明:++--不能用于常量和表达式,如5++,(a+b)++++--结合方向:自右向左优先级:--++------->*/%----->+-(2)(3)(4)例-i++-(i++)i=3;printf(“%d”,-i++);//-3例j+++k;

11、(j++)+k;例-i++i=3;printf(“%d”,-i++);main(){inta,b,x,y;a=b=10;x=++a;y=b++;printf(“%d,%d”,x,y);}a10b10xy10111111前缀:先增减、后引用后缀:先引用、后增减ab55main(){inta,b,x,y;a=5;b=5;x=++a;y=b++;printf(“a=%d,b=%d”,a,b);printf(“x

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。