欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    《移动通信软件编程基础—C语言》第3章_运算符.ppt

    • 资源ID:67193376       资源大小:3.01MB        全文页数:47页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《移动通信软件编程基础—C语言》第3章_运算符.ppt

    移动通信软件编程基础 C语言IC-MSP知识回顾变量和数据类型变量和数据类型 C语言中常量和变量及其用法语言中常量和变量及其用法 C语言的基本数据类型语言的基本数据类型 输入输入/输出函数输出函数 scanf函数函数printf函数函数算术运算符、如何进行一元二元运算算术运算符、如何进行一元二元运算 类型转换类型转换 自动类型转换自动类型转换 强制类型转换强制类型转换 字符的输入字符的输入/输出函数输出函数 getchar函数函数 putchar函数函数 IC-MSP3运算符 第章IC-MSP本章目标 理解表达式理解表达式 掌握赋值运算符和赋值表达式掌握赋值运算符和赋值表达式 掌握关系运算符和关系表达式掌握关系运算符和关系表达式 掌握简单条件语句的使用掌握简单条件语句的使用 掌握逻辑运算符和逻辑表达式掌握逻辑运算符和逻辑表达式了解位运算符、了解位运算符、sizeof运算符运算符 理解运算符的优先级理解运算符的优先级 IC-MSP表达式的组成 num1 num2num3+*运算符运算符 操作数操作数 表达式表达式表达式是运算符和操作数构成的式子。表达式是运算符和操作数构成的式子。v 操作数包括常量、变量、函数等。操作数包括常量、变量、函数等。v 运算符主要包括算术运算符、赋值运算符、关系运算符、运算符主要包括算术运算符、赋值运算符、关系运算符、逻辑运算符逻辑运算符,位运算符位运算符IC-MSP赋值运算符 C语言中,赋值符号语言中,赋值符号“=”就是赋值运算符,它的作就是赋值运算符,它的作用是将一个数据赋给一个变量。用是将一个数据赋给一个变量。由它构成赋值表达式:由它构成赋值表达式:变量名变量名 =表达式表达式 例如:例如:c=2+5x=10area=length*highIC-MSP赋值运算注意事项赋值运算注意事项v赋值运算符左边必须是变量,右边可以是常量,赋值运算符左边必须是变量,右边可以是常量,变量,函数等组成的表达式。变量,函数等组成的表达式。v当赋值运算两边数据类型不同时,系统将自动进当赋值运算两边数据类型不同时,系统将自动进行类型转换。转换的原则是:先将赋值运算符右行类型转换。转换的原则是:先将赋值运算符右边表达式的类型转换成左边变量的类型,然后再边表达式的类型转换成左边变量的类型,然后再进行赋值。进行赋值。IC-MSP赋值运算符的右结合性 x=y=z=100 x=(y=(z=100)(y=(z=100)自右向左自右向左 IC-MSP复合赋值运算符的用法 在赋值运算符在赋值运算符“=”的前面加上其他的前面加上其他(、(、%、&、|、其中之一)运其中之一)运算符可构成复合赋值运算符。算符可构成复合赋值运算符。变量名变量名?=表达式表达式 IC-MSP复合赋值运算符的用法#include void main()float Price=2150.75;printf(电脑的造价电脑的造价=%fn,Price);Price+=849.25;printf(电脑的卖价电脑的卖价=%fn,Price);Price=Price+849.25 电脑的买价电脑的买价=2150.750000 电脑的卖价电脑的卖价=3000.000000 IC-MSPvC C语言中用语言中用“关系运算符关系运算符”来进行来进行“比较运算比较运算”。即将关即将关系运算符左右两边的值进行比较,如果符合指定的条件,则系运算符左右两边的值进行比较,如果符合指定的条件,则结果为结果为“真真”,如果不满足条件则结果为,如果不满足条件则结果为“假假”。操作数操作数1 1 操作数操作数2 2 关系运算符关系运算符 10 5(20*5)=10020=15(45-20)=(100-75)c!=c 结果结果 真真假假真真假假真真假假101010关系运算符 IC-MSP关系运算符的优先级关系运算符的优先级vC C语言一共提供语言一共提供6 6种关系运算符:种关系运算符:=:=:优先级别相同优先级别相同 (高)(高)!=:!=:优先级别相同优先级别相同 (低)(低)(1 1)上面前)上面前4 4种关系运算符级别高于后种关系运算符级别高于后2 2种。种。(2 2)关系运算符的优先级低于算数运算符。)关系运算符的优先级低于算数运算符。(3 3)关系运算符的优先级高于赋值运算符。)关系运算符的优先级高于赋值运算符。算术运算符算术运算符 (高)(高)关系运算符关系运算符赋值运算符赋值运算符 (低)(低)IC-MSP条件结构 if语句 v 条件结构就是根据不同条件进行判断,然后根条件结构就是根据不同条件进行判断,然后根据判断的结果据判断的结果(真或假真或假)执行不同的操作。执行不同的操作。C语言中,语言中,if语句可以实现这种操作。语句可以实现这种操作。v 简单简单if语句的一般形式:语句的一般形式:if(表达式表达式)语句语句;表达式表达式 语句语句 真真假假如果是多条语句如果是多条语句用用括起来括起来IC-MSPIf示例#include void main()int iNum;printf(请输入分数:请输入分数:);scanf(%d,&iNum);if(iNum=60)printf(%d分为及格!分为及格!n,iNum);过程演示过程演示IC-MSP条件结构 if-else语句v if-else语句的一般形式:语句的一般形式:If(表达式表达式)else 真真假假语句语句2 语句语句1表达式表达式 IC-MSPIfelse示例#include void main()int iNum;printf(请输入分数:请输入分数:);scanf(%d,&iNum);if(iNum=60)printf(%d分为及格!分为及格!n,iNum);elseprintf(%d分为不及格!分为不及格!n,iNum);过程演示过程演示IC-MSP逻辑运算符 v 逻辑运算符用于连接一个或多个关系表达式或逻辑逻辑运算符用于连接一个或多个关系表达式或逻辑量,判断条件是否成立。用逻辑运算符将关系表达式量,判断条件是否成立。用逻辑运算符将关系表达式或逻辑量连接起来的式子就是逻辑表达式。或逻辑量连接起来的式子就是逻辑表达式。v逻辑运算符的类型:逻辑运算符的类型:IC-MSP&运算符的功能 表达式表达式1 1所有成绩及格所有成绩及格 总成绩排名在前总成绩排名在前20%无奖学金无奖学金 无奖学金无奖学金 无奖学金无奖学金 获奖学金获奖学金 NO表达式表达式2 2NOYESNONOYESYESYES表达式表达式 1 1表达式表达式 2 2结果结果000100010111IC-MSP&运算符示例#include void main()int iNum;printf(请输入分数:请输入分数:);scanf(%d,&iNum);if(iNum=60&iNum=100)printf(%d分为及格!分为及格!n,iNum);elseprintf(%d分为不及格!分为不及格!n,iNum);过程演示过程演示IC-MSP|运算符的功能 不可到达不可到达 可到达可到达 可到达可到达 可到达可到达 NONOYESNONOYESYESYES表达式表达式 1 1表达式表达式 2 2结果结果000101011111IC-MSP|运算符示例#include void main()float c1,c2;printf(“请输入三种电脑的价格:请输入三种电脑的价格:);scanf(%f%f,&c1,&c2);if(c1=2500|c2=2500)printf(电脑价格小于电脑价格小于2500元,学校可以购买电脑元,学校可以购买电脑);else printf(电脑价格大于电脑价格大于2500元,学校不能购买电脑元,学校不能购买电脑);过程演示过程演示IC-MSP!运算符示例#include void main()int iNum;printf(请输入成绩:请输入成绩:);scanf(%d,&iNum);if(!(iNum=60)printf(n成绩不及格!成绩不及格!n);else printf(成绩及格!成绩及格!);请输入成绩:请输入成绩:50分数分数NOT 60不及格不及格及格及格YESNO成绩不及格!成绩不及格!IC-MSP逻辑运算符的优先级别逻辑运算符的优先级别!(!(逻辑非逻辑非)&(&(逻辑与逻辑与)|(|(逻辑或逻辑或),即即“!”为三者最高为三者最高 !(逻辑非)!(逻辑非)(高)(高)算术运算符算术运算符关系运算符关系运算符&和和|赋值运算符赋值运算符 (低)(低)IC-MSP逻辑运算符的总结&只有当只有当两个两个条条件都为件都为真真时才时才执行操作执行操作只要只要任何任何一个一个条件为条件为真真时就时就执行操作执行操作|对原条件对原条件取取反反,即:,即:如果原条件如果原条件为假时就执为假时就执行操作行操作!IC-MSP算术运算符 一元运算符一元运算符一元运算符+-自增运算符自增运算符+和和 自减运算符自减运算符-都属于一元运算符都属于一元运算符 运算符前置运算符前置 :运算符放在变量前面,例:运算符放在变量前面,例:+num+num 运算符后置:运算符放在变量后面,例:运算符后置:运算符放在变量后面,例:num+num+num+num和和 num+num+都等价于都等价于num=num=numnum+1+1,但是,但是当在混合运算时,当在混合运算时,又有不同又有不同运算符后置运算符后置num+num+:是先使用:是先使用numnum的值,然后进行的值,然后进行num=num=numnum+1 +1 运算符前置运算符前置+num:+num:先进行先进行num=num=numnum+1+1,再使用,再使用numnum的值的值+numnum+-numnum-IC-MSP自增自减运算的操作数不可以为常量自增自减运算的操作数不可以为常量算术运算符 一元运算符表达式表达式步骤步骤计算结果计算结果(设设num=5)num=5)j=num+j=num+1.1.j=mum;j=mum;2.num=2.num=numnum+1+11.1.j=5j=52.num=62.num=6j=+numj=+num1.num=1.num=numnum+1+12.j=num2.j=num1.1.num=6num=62.j=62.j=6IC-MSP位运算位运算v前面介绍的各种运算都是以字节作为最基本位进行的。前面介绍的各种运算都是以字节作为最基本位进行的。但在很多系统程序中常要求在位但在很多系统程序中常要求在位(bit)(bit)一级进行运算一级进行运算或处理。或处理。v语言提供了位运算的功能,这使得语言也能像汇语言提供了位运算的功能,这使得语言也能像汇编语言一样用来编写系统程序。编语言一样用来编写系统程序。v位运算符语言提供了六种位运算符位运算符语言提供了六种位运算符(位运算的操作数为整型位运算的操作数为整型)&按位与按位与|按位或按位或 按位异或按位异或 按位取反按位取反 位右移位右移IC-MSP位运算按位与运算符(&)参加按位与运算需要有两个数据,是对其二进制参加按位与运算需要有两个数据,是对其二进制位进行位进行“与与”运算。如果两个相应的二进制位都运算。如果两个相应的二进制位都为为1 1,则该位的结果值为,则该位的结果值为1 1,否则为,否则为0 0。0&0=0 0&1=0 1&0=0 1&1=1 0 0 0 0 0 0 0 10 0 0 0 1 0 0 1(&)10000000IC-MSP位运算按位或运算符(|)参加按位或运算需要有两个数据,也是对其二进参加按位或运算需要有两个数据,也是对其二进制位进行制位进行“或或”运算。两个相应的二进制位中只运算。两个相应的二进制位中只要有一个为要有一个为1 1,该位的结果值为,该位的结果值为1 1。0|0=0 0|1=1 1|0=1 1|1=10 0 0 0 1 1 1 10 0 1 1 1 1 0 0(|)11111100IC-MSP位运算按位异或运算符()参加异或运算需要有两个数据,也是对其二进制位参加异或运算需要有两个数据,也是对其二进制位进行进行“异或异或”运算。两个相应的二进制位相同,该运算。两个相应的二进制位相同,该位的结果值为位的结果值为0 0,如不同,则该位的结果值为,如不同,则该位的结果值为1 1。0 0=0 0 1=1 1 0=1 1 1=00 1 1 1 0 0 0 00 0 1 0 1 1 0 0()00111010IC-MSP位运算按位取反运算符()运算符用来对一个二进制按位取反,即将运算符用来对一个二进制按位取反,即将0 0变变1 1,1 1变变0 0。0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0()1011001111111111IC-MSP位运算左移运算符()用来将一个数的二进制位全部左移若干位。高位用来将一个数的二进制位全部左移若干位。高位溢出,丢弃。右补零。溢出,丢弃。右补零。12 2a=a number0 0 0 0 1 1 0 00 048IC-MSP位运算右移运算符()用来将一个数用来将一个数的的二进位全部右移若干位。移到右端的二进位全部右移若干位。移到右端的低位被舍弃,对于无符号数,高位补零;对于有符号低位被舍弃,对于无符号数,高位补零;对于有符号的数,如果原来符号位为的数,如果原来符号位为0 0(该数为正),则左边也(该数为正),则左边也是移入是移入0 0,如果符号,如果符号位原来为位原来为1 1(即负数),则左边移(即负数),则左边移入入0 0还是还是1 1,要取决于所用的计算机系统。,要取决于所用的计算机系统。(VC(VC下移入下移入1)1)15 2a=a number0 0 0 0 1 1 1 10 03IC-MSP三元运算符 世界上第一台计世界上第一台计算机算机ENIAC发明发明于于1946年?年?是是 否否 条件表达式条件表达式 表达式表达式1 表达式表达式2 真真 假假 IC-MSP三元运算符max=a b?a:b;a b 真真 假假 if(ab)max=a;else max=b;等价于等价于 ab IC-MSP三元运算符的示例#include void main()int a,b,c,iMax;printf(请输入三个数:请输入三个数:);scanf(%d%d%d,&a,&b,&c);iMax=a b?(a c?a:c):(b c?b:c);printf(三个数的最大数为:三个数的最大数为:%dn,iMax);过程演示过程演示 IC-MSP三元运算符 世界上第一台计世界上第一台计算机算机ENIAC发明发明于于1946年?年?是是 否否 条件表达式条件表达式 表达式表达式1 表达式表达式2 真真 假假 IC-MSP三元运算符max=a b?a:b;a b 真真 假假 if(ab)max=a;else max=b;等价于等价于 ab IC-MSP三元运算符的示例#include void main()int a,b,c,iMax;printf(请输入三个数:请输入三个数:);scanf(%d%d%d,&a,&b,&c);iMax=a b?(a c?a:c):(b c?b:c);printf(三个数的最大数为:三个数的最大数为:%dn,iMax);过程演示过程演示 IC-MSP运算符总结(运算符总结(1 1)优先级优先级运算符运算符结合规则结合规则1 ()().-2!+-*&sizeof从右至左从右至左3*/%4+-56 =7=!=IC-MSP优先级优先级运算符运算符结合规则结合规则8&910|11&12|13?:从右至左从右至左14=+=-=*=/=%=&=|=从右至左从右至左15,结合性:单目运算符,条件运算符,赋值运算符为右结合性,其它为左结合性结合性:单目运算符,条件运算符,赋值运算符为右结合性,其它为左结合性运算符总结(运算符总结(2 2)IC-MSP运算符优先级的归纳运算符优先级的归纳v从上表中大致可以归纳出各类运算符的优先级:从上表中大致可以归纳出各类运算符的优先级:初等运算符初等运算符()-.单目单目(一元一元)运算符运算符算术运算符(先乘除余,后加减)算术运算符(先乘除余,后加减)位左移右移位左移右移关系运算符关系运算符位运算符(除外)位运算符(除外)逻辑运算符(!除外)逻辑运算符(!除外)条件运算符条件运算符赋值运算符赋值运算符逗号运算符逗号运算符说明:不同优先级,先算优先级高的,后算优先级低的说明:不同优先级,先算优先级高的,后算优先级低的例:例:a*b-c相同优先级,运算顺序由结合方向决定相同优先级,运算顺序由结合方向决定例:例:a+b c 例:例:x=y=z=100高高低低IC-MSP运算符的优先级int a=1,b=2,c=3,d=4;表达式表达式等价表达式等价表达式值值a*b/d(a*b)/da*d%c+5(a*b)%c)+d+a*b c-(+a)*b)(c-)-b*+d/2(-b)*(+d)/20612逻辑运算符的短路机制:逻辑运算符的短路机制:intint a=0,b=5 a&+b a=0,b=5 a&+b b|a+b|a+IC-MSP判别某一年判别某一年year是否闰年。符合下面两个条件是否闰年。符合下面两个条件之一者为闰年:之一者为闰年:(1 1)能被)能被4整除,但不能被整除,但不能被100整除。整除。(2 2)被)被400整除。整除。综合示例#include void main()int iYear;printf(n 请输入年份:请输入年份:);scanf(%d,&iYear);if(iYear%4=0&iYear%100!=0)|(iYear%400=0)printf(n%d 年是闰年年是闰年 n,iYear);else printf(n%d 年不是闰年年不是闰年 n,iYear);过程演示过程演示IC-MSP总结运算符运算符表达式是运算符和操作数构成的式子表达式是运算符和操作数构成的式子 赋值运算符和复合赋值运算符的用法赋值运算符和复合赋值运算符的用法 关系运算符进行操作数之间的比较,计算结果是逻辑值关系运算符进行操作数之间的比较,计算结果是逻辑值 条件结构的用途,根据逻辑值判断执行那些语句条件结构的用途,根据逻辑值判断执行那些语句 逻辑运算符用于判断逻辑量或表达式是否成立,计算结果也是逻辑值逻辑运算符用于判断逻辑量或表达式是否成立,计算结果也是逻辑值 sizeof运算符用于计算某一数据在内存中占有的字节数运算符用于计算某一数据在内存中占有的字节数 依据运算符的优先级和结合性对表达式进行运算依据运算符的优先级和结合性对表达式进行运算 if语句语句 if-else语句语句 =!=IC-MSP1.1.求出两个数的较大值,并输出。求出两个数的较大值,并输出。2.2.用户任意输入两个数,将两个数互换并输出。用户任意输入两个数,将两个数互换并输出。3.3.用户输入一个数,判断此数能不能被用户输入一个数,判断此数能不能被3 3整除。整除。4.4.任意输入一个英文字母,如果是大写字母任意输入一个英文字母,如果是大写字母,转化为小写转化为小写输出输出 ,如果是小写转化为大写输出。如果是小写转化为大写输出。习题IC-MSP6.6.x(x=0)x(x=0)任意输入任意输入x x,求出,求出y y值。值。y=y=-x(x 0)-x(x 0)7.7.任意输入三位数,任意输入三位数,(利用(利用/,%)将其倒序输出,)将其倒序输出,例如例如123,123,输出输出321321习题

    注意事项

    本文(《移动通信软件编程基础—C语言》第3章_运算符.ppt)为本站会员(s****8)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开