




已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
移动通信软件编程基础 C语言,知识回顾,3,运算符,第,章,本章目标,理解表达式,掌握赋值运算符和赋值表达式,掌握关系运算符和关系表达式,掌握简单条件语句的使用,掌握逻辑运算符和逻辑表达式,了解位运算符、sizeof运算符,理解运算符的优先级,表达式的组成,运算符,操作数,表达式,表达式是运算符和操作数构成的式子。 操作数包括常量、变量、函数等。 运算符主要包括算术运算符、赋值运算符、关系运算符、 逻辑运算符,位运算符,赋值运算符,C语言中,赋值符号“=”就是赋值运算符,它的作用是将一个数据赋给一个变量。 由它构成赋值表达式:,变量名 = 表达式,例如: c = 2 + 5 x = 10 area = length * high,赋值运算注意事项,赋值运算符左边必须是变量,右边可以是常量,变量,函数等组成的表达式。 当赋值运算两边数据类型不同时,系统将自动进行类型转换。转换的原则是:先将赋值运算符右边表达式的类型转换成左边变量的类型,然后再进行赋值。,赋值运算符的右结合性,x = y = z = 100,x = (y = (z = 100),(y = (z = 100),自右向左,复合赋值运算符的用法,在赋值运算符“=”的前面加上其他(、%、 、 、&、| 、其中之一)运 算符可构成复合赋值运算符。,变量名 ? = 表达式,复合赋值运算符的用法,#include void main () float Price = 2150.75; printf(“电脑的造价 = %fn“, Price); Price += 849.25; printf(“电脑的卖价 = %fn“, Price); ,Price = Price + 849.25,电脑的买价 = 2150.750000,电脑的卖价 = 3000.000000,C语言中用“关系运算符”来进行“比较运算”。 即将关系运算符左右两边的值进行比较,如果符合指定的条件,则结果为“真”,如果不满足条件则结果为“假”。,操作数1,操作数2,关系运算符,10,5,(20*5),25,100,=,100,20,=,15,(45-20),=,(100-75),c,!=,c,结果,真,假,真,假,真,假,1,0,1,0,1,0,关系运算符,关系运算符的优先级,C语言一共提供6种关系运算符: = : 优先级别相同 (高) != = : 优先级别相同 (低) (1)上面前4种关系运算符级别高于后2种。 (2)关系运算符的优先级低于算数运算符。 (3)关系运算符的优先级高于赋值运算符。 算术运算符 (高) 关系运算符 赋值运算符 (低),条件结构 if语句,条件结构就是根据不同条件进行判断,然后根据判断的结果(真或假)执行不同的操作。C语言中,if语句可以实现这种操作。,简单if语句的一般形式:,if (表达式) 语句;,如果是多条语句 用括起来,If示例,#include void main() int iNum; printf(“请输入分数:“); scanf(“%d“, ,过程演示,条件结构 if-else语句,if-else语句的一般形式:,If (表达式) else ,Ifelse示例,#include void main() int iNum; printf(“请输入分数:“); scanf(“%d“, ,过程演示,逻辑运算符,逻辑运算符用于连接一个或多个关系表达式或逻辑量,判断条件是否成立。用逻辑运算符将关系表达式或逻辑量连接起来的式子就是逻辑表达式。,逻辑运算符的类型:,&运算符的功能,表达式1,所有成绩及格,总成绩排名在前20 %,无奖学金,无奖学金,无奖学金,获奖学金,NO,表达式2,NO,YES,NO,NO,YES,YES,YES,&运算符示例,#include void main() int iNum; printf(“请输入分数:“); scanf(“%d“, ,过程演示,|运算符的功能,不可到达,可到达,可到达,可到达,NO,NO,YES,NO,NO,YES,YES,YES,|运算符示例,#include void main() float c1, c2; printf(“请输入三种电脑的价格:“); scanf(“%f %f “, ,过程演示,!运算符示例,#include void main() int iNum; printf(“请输入成绩:“); scanf(“%d“, ,请输入成绩:,50,分数NOT 60,不及格,及格,YES,NO,成绩不及格!,逻辑运算符的优先级别,! (逻辑非) & (逻辑与) | (逻辑或),即“!”为三者最高 !(逻辑非) (高) 算术运算符 关系运算符 &和 | 赋值运算符 (低),逻辑运算符的总结,算术运算符 一元运算符,一元运算符,+,-,自增运算符+ 和 自减运算符-都属于一元运算符 运算符前置 :运算符放在变量前面,例: +num 运算符后置:运算符放在变量后面,例: num+ +num和 num+都等价于num = num + 1,但是当在混合运算时,又有不同 运算符后置num+:是先使用num的值,然后进行num = num + 1 运算符前置+num: 先进行num = num + 1,再使用num的值,+ num,num+,-num,num-,自增自减运算的操作数不可以为常量,算术运算符 一元运算符,位运算,前面介绍的各种运算都是以字节作为最基本位进行的。 但在很多系统程序中常要求在位(bit)一级进行运算或处理。 语言提供了位运算的功能,这使得语言也能像汇编语言一样用来编写系统程序。 位运算符语言提供了六种位运算符(位运算的操作数为整型) & 按位与 | 按位或 按位异或 按位取反 位右移,位运算按位与运算符(&),参加按位与运算需要有两个数据,是对其二进制位进行“与”运算。如果两个相应的二进制位都为1,则该位的结果值为1,否则为0。,0&0=0 0&1=0 1&0=0 1&1=1,0 0 0 0 0 0 0 1,0 0 0 0 1 0 0 1,(&),1,0,0,0,0,0,0,0,位运算按位或运算符(|),参加按位或运算需要有两个数据,也是对其二进制位进行“或”运算。两个相应的二进制位中只要有一个为1,该位的结果值为1。,0 | 0=0 0 | 1=1 1 | 0=1 1 | 1=1,0 0 0 0 1 1 1 1,0 0 1 1 1 1 0 0,( | ),1,1,1,1,1,1,0,0,位运算按位异或运算符(),参加异或运算需要有两个数据,也是对其二进制位进行“异或”运算。两个相应的二进制位相同,该位的结果值为0,如不同,则该位的结果值为1。,0 0=0 0 1=1 1 0=1 1 1=0,0 1 1 1 0 0 0 0,0 0 1 0 1 1 0 0,( ),0,0,1,1,1,0,1,0,位运算按位取反运算符(), 运算符用来对一个二进制按位取反,即将0变1,1变0。,0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0,( ),1,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,位运算左移运算符(),用来将一个数的二进制位全部左移若干位。高位溢出,丢弃。右补零。,12 2,a = a number,0 0 0 0 1 1 0 0,0 0,48,位运算右移运算符(),用来将一个数的二进位全部右移若干位。移到右端的低位被舍弃,对于无符号数,高位补零;对于有符号的数,如果原来符号位为0(该数为正),则左边也是移入0,如果符号位原来为1(即负数),则左边移入0还是1,要取决于所用的计算机系统。(VC下移入1),15 2,a = a number,0 0 0 0 1 1 1 1,0 0,3,三元运算符,是,否,?,条件表达式,表达式1,表达式2,?,真,假,三元运算符,max = a b? a : b;,a,b,?,真,假,等价于,ab,三元运算符的示例,#include void main() int a, b, c, iMax; printf(“请输入三个数:“); scanf(“%d %d %d“, ,过程演示,三元运算符,是,否,?,条件表达式,表达式1,表达式2,?,真,假,三元运算符,max = a b? a : b;,a,b,?,真,假,等价于,ab,三元运算符的示例,#include void main() int a, b, c, iMax; printf(“请输入三个数:“); scanf(“%d %d %d“, ,过程演示,运算符总结(1),结合性:单目运算符,条件运算符,赋值运算符为右结合性,其它为左结合性,运算符总结(2),运算符优先级的归纳,从上表中大致可以归纳出各类运算符的优先级: 初等运算符() - . 单目(一元)运算符 算术运算符(先乘除余,后加减) 位左移右移 关系运算符 位运算符(除外) 逻辑运算符(!除外) 条件运算符 赋值运算符 逗号运算符 说明:不同优先级,先算优先级高的,后算优先级低的 例: a * b - c 相同优先级,运算顺序由结合方向决定 例: a + b c 例: x = y = z = 100,高,低,运算符的优先级,0,6,1,2,逻辑运算符的短路机制: int a = 0, b = 5 a & +b b | a+,判别某一年year是否闰年。符合下面两个条件之一者为闰年: (1)能被4整除,但不能被100整除。 (2)被400整除。,综合示例,#include void main() int iYear; printf(“n 请输入年份:“); s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版全国性猎头公司战略合作合同下载
- 2025版保姆与老人长期护理服务合同-温馨相伴每一天
- 2025年会议中心场地租赁合同模板
- 2025版外贸出口货物风险评估与控制合同
- 2025导游劳动合同范本:含导游行为规范与奖惩措施的导游服务合同
- 2025版新能源汽车售后服务专项委托代理合同
- 基于物联网的2025年城市轨道交通智慧运维系统创新实践报告
- 咖啡连锁品牌在2025年市场布局中的社区商业饮品品牌市场潜力分析报告
- 生物信息学育种应用-洞察及研究
- 2025版通勤车辆安全驾驶培训服务合同
- DBJ04-T487-2025 高大模板支撑体系监测技术标准
- T/CGAS 026.1-2023瓶装液化石油气管理规范第1部分:安全管理
- PEP人教版六年级上册英语课后辅导计划
- 餐饮劳务合同协议书样本
- 中医护理灸疗技术操作规范:督灸
- 泌尿外科手术分级管理制度
- 阿尔茨海默病药物治疗指南(2025)解读
- 报酬协议模板
- 《贵阳市公共交通场站设计导则》
- 新时代中小学教师职业行为十项准则
- 职业指导师考试题库及答案(含各题型)
评论
0/150
提交评论