已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2讲C语言算术运算,主讲人:王华,教学目标:通过本次学习,使学生掌握算术运算,逗号运算,以及正确判断各类表达式并求值本讲重点:数据类型转换、本讲难点:数据类型的相互转化自加、自减运算,在上一次课中我们了解数据类型种类,并知道了存储得空间和大小,在运算中就要注意类型问题!使我们这次要学习得重点。,不同类型数据间的转换(P9)隐式转换什么情况下发生运算转换-不同类型数据混合运算时赋值转换-把一个值赋给与其类型不同的变量时输出转换-输出时转换成指定的输出格式函数调用转换-实参与形参类型不一致时转换运算转换规则:不同类型数据运算时先自动转换成同一类型,显式转换(强制转换)一般形式:(类型名)(表达式)例(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,精度损失问题,运算符和表达式,学习运算符应注意:运算符功能与运算量关系要求运算量个数要求运算量类型运算符优先级别结合方向结果的类型,算术运算符和表达式基本算术运算符:+-*/%结合方向:从左向右优先级:-*/%-+-(2)(3)(4)说明:“-”可为单目运算符时,右结合性两整数相除,结果为整数%要求两侧均为整型数据,例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;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,例-i+i=3;printf(“%d”,-i+);,main()inta,b,x,y;a=b=10;x=+a;y=b+;printf(“%d,%dn”,x,y);,a,10,b,10,x,y,10,11,11,11,前缀:先增减、后引用后缀:先引用、后增减,a,b,5,5,main()inta,b,x,y;a=5;b=5;x=+a;y=b+;printf(“a=%d,b=%dn”,a,b);printf(“x=%d,y=%dn”,x,y);,a=6,b=6,x,y,5,6,6,6,x=6,y=5,main()inta,i=1;a=i+;printf(“a=%d,i=%d”,a,i);运行结果:a=1,i=2,main()inta,i=1;a=+i;printf(“a=%d,i=%d”,a,i);运行结果:a=2,i=2,赋值运算符和表达式简单赋值运算符符号:=格式:变量标识符=表达式作用:将一个数据(常量或表达式)赋给一个变量,复合赋值运算符种类:+=-=*=/=%=a+b=3;,例floatf;inti;i=10;f=i;则f=10.0,例inti;i=2.56;/结果i=2;,例:a=b=c=5a=(b=5)a=5+(c=6)a=(b=4)+(c=6)a=(b=10)/(c=2),/表达式值为5,a,b,c值为5,/b=5;a=5,/表达式值11,c=6,a=11,/表达式值10,a=10,b=4,c=6,/表达式值5,a=5,b=10,c=2,说明:结合方向:自右向左优先级:12左侧必须是变量,不能是常量或表达式,赋值表达式的值与变量值相等,且可嵌套,赋值转换规则:使赋值号右边表达式值自动转换成其左边变量的类型,例:a=12;a+=a-=a*a,例:inta=2;a+=a-=a*=a;a+=a*=a-=a*=3;,/a=-264等价于a=a+(a=a-(a*a),/a=0等价于a=a+(a=a*(a=a-(a=a*3),逗号运算符和表达式形式:表达式1,表达式2,表达式n结合性:从左向右优先级:15逗号表达式的值:等于表达式n的值用途:常用于循环for语句中,例a=3*5,a*4a=3*5,a*4,a+5例x=(a=3,6*3)x=a=3,6*a例a=1;b=2;c=3;printf(“%d,%d,%d”,a,b,c);printf(“%d,%d,%d”,(a,b,c),b,c);,/a=15,表达式值60,/a=15,表达式值20,/赋值表达式,表达式值18,x=18,/逗号表达式,表达式值18,x=3,/1,2,3,/3,2,3,逗号运算符和表达式形式:表达式1,表达式2,表达式n结合性:从左向右优先级:15逗号表达式的值:等于表达式n的值用途:常用于循环for语句中,例:#includemain()intx,y=7;floatz=4;x=(y=y+6,y/z);printf(x=%dn,x);,运行结果:x=3,关系运算符和表达式关系运算符种类:=!=结合方向:自左向右优先级别:,例ca+b/c(a+b)ab!=c/(ab)!=ca=bc/a=(bc),关系表达式的值:是逻辑值“真”或“假”,用1和0表示,例inta=3,b=2,c=1,d,f;ab(ab)=cb+cbf=abc,/表达式值1,/表达式值1,/表达式值0,/d=1,/f=0,关系运算注意:,例若a=0;b=0.5;x=0.3;则a78在C中是允许的,值为,0,例inti=1,j=7,a;a=i+(j%4!=0);则a=,2,例a0结果为A100结果
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 嘉兴市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解(培优b卷)
- 丰都县农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(培优b卷)
- 2026年淮南市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(培优a卷)
- 岳阳市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解(b卷)
- 果洛州农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(考试直接用)
- 晋城市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(能力提升)
- 黄冈市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(达标题)
- 迪庆州农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解ab卷
- 2025年高血压护理试题及答案
- 2025年高校安全知识题库及答案解析
- 北京市东城区东直门中学2024~2025学年上学期七年级期中数学试卷
- 农田输配电工程施工技术方案
- 新疆2024年中考数学试卷(含答案)
- 12SS508混凝土模块式室外给水管道附属构筑物
- 黑龙江省齐齐哈尔市2023-2024学年高二上学期期中英语试题(含答案)
- 工业园保洁绿化服务投标方案(技术方案)
- 抱养孩子协议书有效模板
- “互联网+”创新应用(山东联盟)智慧树知到期末考试答案章节答案2024年山东工商学院
- 2024年印尼放射治疗患者定位设备市场竞争态势与及未来趋势预测报告
- JT-T-1240-2019城市公共汽电车车辆专用安全设施技术要求
- 各种阀门规格尺寸表大全
评论
0/150
提交评论