




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三讲运算符与表达式,内容摘要:,1,变量赋初值,2,掌握C语言中的各种运算符,3,掌握运算符的优先级与结合性,教学重点:,C语言中各种运算符的使用,教学难点:,混合表达式中运算符的运算顺序,运算符与表达式,2.6变量赋初值,程序中常需要对一些变量预先设置初值。C语言允许在定义变量时对变量赋初值-变量的初始化。,inta=3;/*指定a为整型变量,初值为3*/floatf=3.56;/*指定f为实型变量,初值为3.56*/charc=a;/*指定c为字符变量,初值为a*/,1.可以对定义变量的一部分初始化如:inta,b,c=5;,2.如果对几个变量赋以同一个初值,不能写成:inta=b=c=3;而应写成:inta=3,b=3,c=3;,3.初始化不是在编译阶段完成的,而是在程序运行时,执行函数时赋初值的,相当于有一个赋值语句。例如:,inta=3;,相当于:,inta;a=3;,2.7运算符和表达式,C的运算符有以下几类,1算术运算符(+-*/%)2赋值运算符(=及其扩展赋值运算符)3.逗号运算符(,)4关系运算符(=|x=3.6;i=(int)x;printf(x=%f,i=%dx,i);,运行结果如下:x=3.600000,i=3,2.7运算符和表达式,4,自增、自减运算符+-作用:使变量值加1或减1种类:前置+i,-i(在使用i之前,先使i的值加(减)1)后置i+,i-(先使用i值,再使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,2.7运算符和表达式,说明:+-不能用于常量和表达式,如5+,(a+b)+-结合方向:自右向左,例自增、自减运算符的用法与运算规则示例。/*程序功能:自增、自减运算符的用法与运算规则示例*/main()intx=6,y;printf(x=%dn,x);/*输出x的初值*/y=+x;/*前置运算*/printf(y=+x:x=%d,y=%dn,x,y);y=x-;/*后置运算*/printf(y=x-:x=%d,y=%dn,x,y);程序运行结果:x=6y=+x:x=7,y=7y=x-:x=6,y=7程序演示,2.7运算符和表达式,1.赋值运算符(=),作用:将一个数据赋给一个变量,也可以将一个表达式的值赋给一个变量。如:a=3,2.类型转换,(1)将实型数据(包括单、双精度)赋给整型变量时,舍弃实数的小数部分。,(2)将整型数据赋给单、双精度变量时,数值不变,但以浮点数形式存储到变量中。,(3)将一个double型数据赋给一个float变量时,截取其前面的7位有效数字,存放到float变量的存储单元中(32位)。但应注意数值范围不能溢出。(4).其它转换规则参考教材,2.7运算符和表达式,2.7.5赋值运算符和赋值表达式,3、赋值运算符简单赋值运算符符号:=格式:变量标识符=表达式作用:将一个数据(常量或表达式)赋给一个变量,复合赋值运算符在赋值运算符“=”之前加上其他预算符号,可以构成复合的预算符。例如,可以有:,2.7.5赋值运算符和赋值表达式,定义:由赋值运算符将一个变量和一个表达式连接起来的式子。形式:求解过程:先求赋值运算符右侧“表达式”的值,然后赋给赋值运算符左侧的变量。例如:a=b=c=6;a=(b=4)+(c=6);(表达式值为10,a值为10,b等于4,c等于6),4、赋值表达式,2.7.5赋值运算符和赋值表达式,说明:1、赋值运算后,左边变量的值被右边表达式的值替换;2、若右边表达式的值的类型与左边变量类型不一致,则以左边变量的类型为准,将表达式的类型转换为左边变量的类型。3、赋值运算符的优先级仅高于逗号运算符。结合方向为“从右向左”。,形式:表达式1,表达式2,表达式n结合性:从左向右优先级:所有运算符中优先级最低逗号表达式的值:等于表达式n的值求解过程:先求表达式1,再求表达式2,依次求下去,直到求出表达式n,整个逗号表达式的值就是表达式n的值,例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,2.7.6逗号运算符和逗号表达式,求解过程分析:自左至右,依次计算各表达式的值,“表达式n”的值即为整个逗号表达式的值。例如,逗号表达式“a=3*5,a*4”的值=60:先求解a=3*5,得a=15;再求a*4=60,所以逗号表达式的值=60。又例如,逗号表达式“(a=3*5,a*4),a+5”的值=20:先求解a=3*5,得a=15;再求a*4=60;最后求解a+5=20,所以逗号表达式的值=20。注意:并不是任何地方出现的逗号,都是逗号运算符。很多情况下,逗号仅用作分隔符。,2.7.6逗号运算符和逗号表达式,2.7.7关系运算符及关系表达式,1,关系运算符及其优先次序,在C语言中提供6种关系运算符,关系运算符的优先级低于算术运算符,关系运算符的优先级高于赋值运算符,2.7.7关系运算符及关系表达式,2,关系表达式,用关系运算符将两个表达式(算术表达式、关系表达式、逻辑表达式、赋值表达式、字符表达式)连接起来的式子,称为关系表达式。,如:ab,(A=3)(B=5),AB这些都是合法的关系表达式。,在C语言中关系表达式的值是一个逻辑值,即“真”或“假”。C语言中以“1”代表“真”,以“0”代表“假”。,例:若a=3,b=2,c=1则:ab的值为“真”,此表达式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 哪些软件有好的课件教学
- 2025年厨师烹饪技能考试试题及答案解析
- 2025年操作系统工程师技术水平评定考试试题及答案解析
- 2025年度基层医疗机构急救能力理论考试试题(附答案)
- 2025年宠物营养健康师初级考试题集
- 2025年国家博物馆笔试题型解析
- 2025年建筑监理员面试模拟测试题
- 2025年安全生产法培训试题及答案
- 2025年宠物针灸师初级笔试考试bi备资料
- 商业广场租赁经营合同书
- 保安员在岗培训法律-2
- 初中英语中考专题训练阅读理解-应用文篇
- 《古文观止 上下 》读书笔记思维导图PPT模板下载
- YC/T 210.2-2006烟叶代码第2部分:烟叶形态代码
- GB/T 20671.1-2006非金属垫片材料分类体系及试验方法第1部分:非金属垫片材料分类体系
- 熵权法教学讲解课件
- 医师病理知识定期考核试题与答案
- 课堂因“融错·容错·溶措”而精彩
- 阳光晾衣房钢结构专项施工方案
- 安宁疗护服务流程
- 热分析DSC培训new
评论
0/150
提交评论