




已阅读5页,还剩51页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
运算符和表达式 曹迎春 学习目标 n熟练掌握C+各种运算符的使用方法。 n能熟练运用运算符组成需要的表达式。 n正确使用操作数的类型转换和运算符的优先级顺 序和结合性。 *2 重点和难点 n自增、自减运算符的运用; n各个运算符的优先级顺序及其结合性; n操作数的类型转换。 *3 知识点 n算术运算符;自增、自减运算符;关系运算符; 逻辑运算符;位运算符 ;赋值运算符;求字节 数运算符; n逗号表达式;短路表达式; n显式类型转换;隐式类型转换; n优先级与结合性 *4 运算符 *5 运算符 nC+语言中的运算符是可以让C+语言编译器能 够识别的具有运算意义的符号。 n运算符就是代表C+语言中的各个运算功能的名 字。 n100+200-300*200+1000/20+100%10 a | b b = a+; a = 6; b = +a; a=6; b = a-; a=6; b=-a; *12 关系运算符 nC+提供6种关系运算符,用于数值之间的比较 ,表达式的值或为1(表示true),或为0(表示 false)。 *13 运算符名字实例 = =等于5 = = 5 / 得出1 ! =不等于5 != 5 / 得出0 大于5 5.5 / 得出0 =大于或等于6.3 = 5 / 得出1 关系运算符 n注意: 关系运算符的操作数应当是一个数值,字符是有效的 操作数,因为它们是用数值来表示的。 关系运算符两边的数值结果必须是类型相同的,否则 会容易出现关系判断的错误。 字符串不应当用关系运算符比较,因为被比较的不是 字符串的内容本身,而是字符串的地址。 *14 逻辑运算符 运算符名字实例 !逻辑非!(5 = = 5) / 得出 0 /结果i、j的值都为0 n多重赋值表达式不能出现在变量说明中。例如: int i=j=0;/非法 n例:有变量说明 int a=2,b; 指出下面表达式运算后a和b的结果。 b+=b=+a; *25 多重赋值表达式 n例: int m, n, p; m = n = p = 100; m = (n = p = 100) + 2; m += n = p = 10; *26 嵌入赋值 n将赋值运算与比较运算结合在一起形成嵌入赋值 。例如: while (ch=getchar()!=n); *27 求字节数运算符 nsizeof是一个单目运算符,用于计算表达式或数 据类型的字节数,其运算结果与不同的编译器和 机器相关。 *28 程序举例 n#include int main (void) cout =b ?) (b(CWnd *wnd)- FromHandle 结构或类中的域变量. (CWnd wnd). FromHandle 数组下标运算符nYearsMonthsDays1012366 内存分配运算符newnew CWnd 内存释放运算符deletedelete (CWnd *wnd) *34 优先级和结合性 *35 C+运算符的优先级和结合性 *36 优先级和结合性举例 na = b + c * d na = b += c nc = a + b * a b n不同类型的运算符混合使用时,即使实现优先级 与实际需要相符,最好也使用括号隔离之,以便 代码更加清晰。 *37 类型转换 *38 C+数据类型的转换 条件转换 较高级别操作数的类型为long double另一个操作数被转换为 long double 较高级别操作数的类型为 double 另一个操作数被转换为 double 较高级别操作数的类型为 float 另一个操作数被转换为 float 较高级别操作数的类型为 unsigned long 另一个操作数被转换为 unsigned long 较高级别操作数的类型为 long另一个操作数被转换为 long 较高级别操作数的类型为 unsigned int 另一个操作数被转换为 unsigned int 两个操作数为char, unsigned char, signed char,short, unsigned short类型 均转换为 int *39 自动类型转换 nchar ch=c; int a,b=13; float x=2.0; double y; a=ch+5; x=b/2/x; x=b/x/2; y=x/b; ndouble d = 1; int i = 10.5; i = i + d; *40 强制类型转换 n举例: (int) 3.14 / 3.14 转换成整型数3 (long) 3.14 / 3.14转换成长整型数3L (double) 2 / 2转换成双精度数2.0 (char) 122 / 122转换成Unicode码为122的字符 (unsigned short) 3.14 / 3.14转换成无符号整型数3 *41 强制类型转换 n类型标识符能被用于类型运算符。类型运算符是 单目运算符,并位于其操作数的左边的圆括号里 ,称之显式类型转换,或强制类型转换。显式类 型转换的一般形式为: (类型名)(表达式) *42 强制类型转换 例子转换前类型转换后类型结果 (int) 3.5双精度浮点型double整型int3 (long) -3.5 双精度浮点型double长整型 long-4 (double)2整型int双精度浮点型double2.0 (char)122整型int字符型char 0x7A (float) 2整型int单精度浮点型 float2.0F (unsigned short)3.5 双精度浮点型double 无符号短整型 unsigned short3 int (3.5)双精度浮点型double整型int3 *43 混合运算中的隐式类型转换 n举例: double d = 2; int i = 3.5; i = i - d; *44 类型转换举例 nshort ishort = 1000; unsigned char uichar; uichar = ishort; ishort = uichar; *45 表达式 *46 表达式的种类 n算术表达式 n关系表达式 n逻辑表达式 n条件表达式 n赋值表达式 n逗号表达式 *47 表达式 n注意: 在表达式中,连续出现两个运算符时,最好用空格符 分隔。如: a+b; (a+ +b ? a+ +b ? ) 在写表达式中,有时记不清楚运算符的优先级时,可 使用括号来确定运算符组合。 *48 表达式的值和类型 n在计算一个表达式的值时,应注意下述两点: 先确定运算符的功能。 确定计算顺序。 n表达式的类型由运算符的种类和操作符的类型决 定。 *49 算术表达式 n算术表达式是由算术运算符和位操作运算符组成的 表达式,其表达式的值是一个数值。表达式的类型 具体地由运算符和操作数决定。 n#include void main( ) int a,b, m=3,n=4; a=7*2+-3%5-4/3;/-3%5=-3,4/3=1 b=m+ - -n; cout void main( ) char x=m,y=n; int n; n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Z世代消费行为对品牌形象塑造的影响:2025年新消费品牌形象报告
- 2025年医院电子病历系统在医院信息化建设中的远程诊断应用报告
- 土壤改良技术革新:2025年新型土壤改良剂研发成果与应用报告
- 2025年医药行业CRO模式下的临床试验伦理审查与合规性评估报告
- 2025年工业废气催化燃烧技术环保设备行业发展趋势与市场分析报告
- 老年教育课程设置与教学方法创新基于2025年老年教育信息化建设的实践研究报告
- 保险考试题库及答案
- 线下演出市场复苏:2025年演出行业产业链协同创新报告
- 安全再培训试题及答案
- 安全试题100道及答案
- 麻精药品管理培训
- 航天器遥操作策略-全面剖析
- Revision Going to a school fair Lesson 1(教学设计)-2024-2025学年人教PEP版(2024)英语三年级下册
- 京东代理合同样本
- 2025外研版七年级下册英语全册教案
- 养老院火灾事故防范重点培训课件
- 《全断面岩石掘进机法水工隧洞工程技术规范(SLT 839-2025)》知识培训
- 危重患者的监测与管理
- 闽教版(2024)三年级英语下册全册大单元整体教学设计 教案
- 股东会议程及决议草案
- TLYCY 3071-2024 森林草原防火无人机监测技术规范
评论
0/150
提交评论