20251123_143325 C++运算符学习笔记:逻辑运算符、二元与一元运算符及应用
一、逻辑运算符(与、或、非)
(一)逻辑与(&&)
- 符号表示:
&&(数字7上方符号,英文输入模式) - 格式:
条件1 && 条件2 - 逻辑规则:两个条件同时满足时,结果才为“成立(true)”;只要有一个条件不满足,结果为“不成立(false)”
- 实例:找工作要求“工资≥6000元”且“离家距离≤3公里”,需用逻辑与判断,仅当两个条件都满足时才投递简历
(二)逻辑或(||)
- 符号表示:
||(按住Shift键点击第二排最后一个斜杠,英文输入模式) - 格式:
条件1 || 条件2 - 逻辑规则:两个条件中至少有一个满足时,结果为“成立(true)”;仅当两个条件都不满足时,结果为“不成立(false)”
- 实例:找工作要求“工资≥6000元”或“离家距离≤3公里”,用逻辑或判断,只要满足任一条件就投递简历
(三)逻辑非(! / not)
- 符号表示:
!或not(英文输入模式) - 格式:
!条件或not 条件 - 逻辑规则:对单个条件取反,条件成立时结果为“不成立(false)”,条件不成立时结果为“成立(true)”
- 实例:公司招聘演员“只要不是男性就录用”,定义变量
is_boy(1代表男性,0代表非男性),用if (not (is_boy == 1))或if (!(is_boy == 1))判断是否录用
二、二元运算符
(一)常见类型及符号
包括加减乘除取余,符号分别为:+(加)、-(减)、*(乘)、/(除)、%(取余)
(二)核心特性
- 定义:需要两个元素参与运算的运算符(如
a + b中,+左右各需一个数据) - 除法专项规则:
- 两个整数相除:结果为整数(仅保留整数部分),例:
5 / 3 = 1 - 运算中有小数参与:结果为小数,例:
5.0 / 3 = 1.66667、3.2 * 2 = 6.4 - 小数除法若整除:结果为整数形式,例:
10.0 / 2 = 5、10 / 2.0 = 5
- 两个整数相除:结果为整数(仅保留整数部分),例:
- 补充说明:除法保留小数点后两位数需导入
lmail IP相关工具,后续将提供专项备考资料
三、一元运算符(自增、自减)
(一)核心定义
仅需一个元素参与运算的运算符,核心为自增(++)和自减(--),功能是使变量值自身加1或减1
(二)自增运算符(++)
1. 后置自增(a++)
- 运算规则:先使用变量
a当前的值参与其他运算,再将a的值加1 - 实例:若
a = 100,执行b = a++后,b = 100(使用自增前的值),a = 101(自增后的值)
2. 前置自增(++a)
- 运算规则:先将变量
a的值加1,再使用加1后的结果参与其他运算 - 实例:若
a = 100,执行b = ++a后,a = 101(先自增),b = 101(使用自增后的值)
3. 复杂运算示例
- 表达式:
a = 100,计算b = a++ + ++a - 分步解析:
- 先执行
a++:b先取a自增前的值(100),a变为101 - 再执行
++a:a先自增为102,b再取102 - 结果:
b = 100 + 102 = 202
- 先执行
(三)自减运算符(--)
1. 规则说明
与自增运算符逻辑完全一致,仅将“加1”改为“减1”
- 后置自减(a--):先使用
a当前值,再将a减1 - 前置自减(--a):先将
a减1,再使用减1后的值
2. 实例:若a = 100,执行b = a--后,b = 100,a = 99;执行b = --a后,a = 99,b = 99
(四)运算优先级
复杂表达式中按“从左到右”顺序执行,需依次跟踪变量值的变化
四、综合练习题解析
(一)题目要求
在1到n(n为用户输入值,默认假定n = 100)的整数中,找出同时满足以下条件的整数个数,无符合条件的数则输出0:
- 除以3余2(
num % 3 == 2) - 除以5余3(
num % 5 == 3) - 除以7余2(
num % 7 == 2)
(二)解题核心思路
- 循环结构:使用
for循环遍历1到n的所有整数,循环需包含三要素(循环变量初始化、循环条件、循环变量变化) - 条件判断:用逻辑与(
&&)连接三个取余条件,判断当前整数是否符合要求 - 统计个数:定义计数变量(如
count = 0),每找到一个符合条件的数,计数变量加1 - 输出结果:循环结束后,输出计数变量的值(即符合条件的整数个数)
