还剩58页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
妙用运算符号编程世界中运算符的奇妙之旅课程目标1掌握基本运算符熟悉各类符号功能与用法2理解运算优先级清晰表达式计算顺序3灵活应用组合技巧提升代码效率与简洁度4避免常见错误规避使用陷阱什么是运算符号?符号定义基本功能执行特定操作的特殊符号连接数据并执行计算分类方式按功能与操作数量分类运算符号的重要性程序基础提高效率表达逻辑构建算法的基本单元简化复杂操作的表达构建程序执行流程运算符号的分类逻辑运算符关系运算符位运算符,||,!==,!=,,,=,=,|,^,~,,算术运算符赋值运算符3+,-,*,/,%=,+=,-=,*=,/=2415算术运算符加法+1计算两数之和2减法-计算两数之差乘法*3计算两数之积4除法/计算两数之商取模%5计算两数相除的余数加法运算符+基本用法字符串连接自增简写a+b=和Hello+World=HelloWorld a+=b等价于a=a+b减法运算符-基本用法a-b=差负数表示-a表示a的负值自减简写a-=b等价于a=a-b乘法运算符*基本用法a*b=积与自身相乘a*a=a²自乘简写a*=b等价于a=a*b除法运算符/基本用法整数除法浮点除法a/b=商整数相除结果可能被截断浮点数相除保留小数取模运算符%基本用法典型应用a%b=余数判断奇偶性n%2==0循环索引环形数组index%size自增运算符++前置自增1++a先增加再使用后置自增2a++先使用再增加常见用途3循环计数器增加自减运算符--前置自减1--a先减少再使用后置自减2a--先使用再减少常见用途3倒计时、迭代器减量算术运算符优先级1最高优先级,++,--(前置)2第二优先级*,/,%3第三优先级+,-4最低优先级++,--(后置)算术运算符练习表达式结果解释5+3*211*优先级高于+5+3*216括号优先计算10%3+45先计算10%3得1++a与a++不同前置与后置效果不同关系运算符定义结果类型主要用途比较两个值之间的关系返回布尔值真或假条件判断、分支控制等于运算符==基本用法注意事项类型差异a==b判断两值是否相与赋值运算符=区分可能发生隐式类型转换等不等于运算符!=a!=b判断两个值是否不相等返回布尔值真不相等或假相等常用于条件判断排除特定情况大于运算符基本用法ab判断a是否大于b返回类型返回布尔值真或假常见应用数值比较、排序算法小于运算符返回类型2返回布尔值真或假基本用法1ab判断a是否小于b常见应用条件循环fori=0;i10;i++3大于等于运算符=1基本用法2组合逻辑a=b判断a是否大于或等于b相当于ab||a==b3常见应用范围检查、边界条件小于等于运算符=基本用法1a=b判断a是否小于或等于b组合逻辑2相当于ab||a==b常见应用3循环终止条件、区间判断关系运算符练习逻辑运算符定义处理布尔值间的逻辑关系与两条件同时为真才返回真或||至少一条件为真返回真非!取反真变假,假变真与运算符A BAB真真真真假假假真假假假假或运算符||A BA||B真真真真假真假真真假假假非运算符!用途双重否定A!A取反真假值、条件取反!!a等同于a真假假真逻辑运算符优先级最高优先级1!非中间优先级2与最低优先级3||或逻辑运算符练习truefalse=true||false=!truetrue=true||falsefalse=位运算符按位或|按位与对应位有1结果为12对应位都为1结果为11按位异或^3对应位不同结果为15移位,4按位取反~位整体左移或右移0变1,1变0按位与运算符53=1二进制101011=001只有对应位都为1时结果才为1常用于位掩码、奇偶校验按位或运算符|二进制示例集合类比实际应用5|3=7101|011=111类似于两个集合的并集设置标志位、权限组合按位异或运算符^1二进制操作对应位不同为1,相同为02计算示例5^3=6101^011=1103特殊性质a^a=0,a^0=a4实际应用简单加密、交换变量按位取反运算符~二进制操作将0变为1,1变为0计算示例~5=-6补码表示实际应用掩码反转、补码计算左移运算符二进制操作1位向左移动,右侧补0计算示例251=101011=1010数学等价3ab等价于a×2^b实际应用4快速乘法、位掩码右移运算符二进制操作位向右移动,左侧补符号位计算示例51=21011=10数学等价ab等价于a÷2^b实际应用快速除法、位提取位运算符练习赋值运算符简单赋值复合赋值=将右侧值赋给左侧变量+=,-=,*=,/=,%=,=,|=,^=作用简化代码、提高可读性简单赋值运算符=基本用法注意事项连续赋值a=5将5赋值给变量a不同于相等比较==a=b=c=0从右向左赋值复合赋值运算符+=,-=,*=,/=,%=a+=b a-=b a*=b等价于a=a+b等价于a=a-b等价于a=a*ba/=b等价于a=a/b赋值运算符练习初始值操作最终值a=10a+=515a=10a-=37a=5a*=420a=20a/=54a=10a%=31条件运算符:语法结构条件值1:值2执行逻辑条件为真取值1,否则取值2简化应用替代简单的if-else语句运算符优先级总结最高优先级
1、[]、-、.单目运算符2!、~、++、--、sizeof算术运算符3*、/、%、+、-移位运算符
4、关系和逻辑
5、、=、=、==、!=、、||常见运算符使用误区1赋值与比较混淆误用=而非==2逻辑运算短路效应忽略忽略和||的短路特性3位运算符与逻辑运算符混淆误用而非4运算优先级误判表达式计算顺序错误运算符的高级应用运算符组合位运算优化简写技巧复杂表达式构建技巧提升性能的位操作技巧简化代码的高效写法位运算在算法中的应用快速乘除移位代替乘除法a1等于a*2奇偶判断n1判断奇偶性交换数值a^=b;b^=a;a^=b;位图标记用单个整数表示多个布尔值运算符重载(特性)C++定义1自定义类的运算符行为常见重载2+、-、==、!=、、实现方式3类成员函数或友元函数应用场景4复数运算、矩阵计算运算符在字符串操作中的应用字符串连接字符串比较字典序比较str1+str2合并字符串str1==str2检查相等str1str2比较字典顺性序运算符在数组操作中的应用下标运算符[]指针算术数组比较arr[i]访问第i个元素ptr+i指向后第i个元素需逐元素使用关系运算符运算符在函数中的巧妙运用参数运算返回值处理1函数参数的预处理函数结果的后处理2链式调用函数指针43返回*this实现连续操作通过运算简化函数调用运算符在循环中的技巧循环控制i++vs++i的效率差异多条件循环使用、||组合循环条件循环优化位运算替代乘除运算跳转控制条件运算符简化分支运算符在条件判断中的妙用短路特性零值检测三目运算符利用和||的短路特性简化代码!ptr快速检查空指针max=aba:b运算符在数学计算中的应用普通算法运算符优化运算符在数据结构中的应用二叉树左子树2*i+1右子树2*i+2哈希表哈希索引计算hash%size堆操作比较排序parentchild综合练习1表达式结果解释5+3*211先乘法后加法7%2+8/431+2=3159|89159|8=9|8=9!053真两边都为真综合练习21真假判断5321||!false=2位运算计算15^~27=3自增问题int i=5;printf%d%d,i++,++i;4条件运算符int max=xyxzx:z:yzy:z;综合练习3编写函数不用比较运算符求两数最大值交换变量不使用临时变量交换两数位计数计算整数二进制表示中1的个数课程回顾2关系运算符算术运算符==,!=,,,=,=1+,-,*,/,%逻辑运算符3,||,!赋值与条件位运算符5=,+=,:,|,^,~,,4进一步学习资源推荐书籍在线资源视频教程《C/C++高级编程》《LeetCode、MIT开放课程、计算机算法艺术》Codeforces编程练习科学速成课结语与问答1课程总结掌握运算符是编程基础2实践建议多做练习巩固所学知识3进阶方向学习更多优化技巧4答疑环节欢迎提问交流。
个人认证
优秀文档
获得点赞 0