信奥AC之路-第一级-A学段
-
第一课 开发环境与基础输出4 主题|小节
-
第二课 算数运算符6 主题|小节
-
第三课 输入与运算3 主题|小节
-
第四课 数值操作4 主题|小节
-
第五课 表达式与运算符3 主题|小节
-
第六课 三目运算与双分支(缺导语+本课目标)2 主题|小节
-
第七课 多分支结构(缺导语+本课目标)1 主题|小节
-
第八课 多if语句1 主题|小节
-
第九课 三种分支结构的比较1 主题|小节
-
第十课 巩固学习分支结构1 主题|小节
-
第十一课 switch与复合语句3 主题|小节
-
第十二课 while循环2 主题|小节
-
第十三课 while循环的简单条件输出1 主题|小节
-
第十四课 while循环的输入序列处理1 主题|小节
-
第十五课 while循环的复杂条件输出2 主题|小节
-
第十六课 while循环与数据统计1 主题|小节
-
第十七课 for循环结构3 主题|小节
-
第十八课 for循环的输入序列处理)1 主题|小节
-
第十九课 深入探索for循环2 主题|小节
-
第二十课 三种循环的对比2 主题|小节
-
第二十一课 程序调试(一)3 主题|小节
-
第二十二课 调试工具的使用2 主题|小节
-
第二十三课 综合复习2 主题|小节
-
第二十四课 学习评估1 主题|小节
### 5.2.1 逻辑运算符
“小朋友们,生活中我们经常需要同时判断多个条件,” 我一边说着,一边在黑板上画了一个小朋友吃冰淇淋的图画。
“比如说,小明想吃冰淇淋,他需要同时满足两个条件:天气热,而且有零花钱。这就需要用到’与’运算符。”
“再比如,小红想去游乐园,只要满足一个条件就行:要么是周末,要么是假期。这就要用到’或’运算符。”
小朋友们听得很认真,我拿出三张新的卡片:
“`
&&(与):两个条件都为真,结果才为真
||(或):有一个条件为真,结果就为真
!(非): 把真变成假,把假变成真
“`
##### 🔬 实验四:逻辑运算
题目描述:
编写一个程序来演示逻辑运算符(&&、||、!)的使用。程序将对一个学生的年龄(12岁)和考试分数(85分)进行复合条件判断,展示如何组合使用多个条件。这个程序帮助理解逻辑运算符的功能和使用方法。
输入格式:
无需输入,使用预设的age变量(值为12)和score变量(值为85)
输出格式:
多行文本,显示:
– 三种不同的逻辑运算结果
– 每个逻辑运算的详细判断过程
结果中1表示真,0表示假
数据范围:
使用预设的整数值:age=12,score=85
样例输出:
“`
=== 使用&&运算符 ===
年龄大于10且分数大于80吗?
结果是:1
=== 使用||运算符 ===
年龄小于10或分数大于90吗?
结果是:0
=== 使用!运算符 ===
分数不及格吗?
结果是:0
“`
代码实现:
“`cpp
#include
using namespace std;
int main() {
int age = 12; // 设置年龄
int score = 85; // 设置分数
// 使用&&(与)运算符
cout << "=== 使用&&运算符 ===" << endl;
cout << "年龄大于10且分数大于80吗?" << endl;
cout << "结果是:" << (age > 10 && score > 80) << endl << endl;
// 使用||(或)运算符
cout << "=== 使用||运算符 ===" << endl;
cout << "年龄小于10或分数大于90吗?" << endl;
cout << "结果是:" << (age < 10 || score > 90) << endl << endl;
// 使用!(非)运算符
cout << "=== 使用!运算符 ===" << endl;
cout << "分数不及格吗?" << endl;
cout << "结果是:" << !(score >= 60) << endl;
return 0;
}
```
代码说明:
1. 定义两个变量存储年龄和分数
2. 分别演示三种逻辑运算符
3. 使用括号确保运算优先级正确
4. 每个运算都配有清晰的说明文字
注意事项:
1. 逻辑运算符的优先级要注意
2. 复合条件要用括号括起来
3. 条件的排列要有逻辑性
4. &&和||的短路特性要理解
### 5.2.2 逻辑运算符的组合使用
"这些逻辑运算符可以组合使用,让我们来看看更复杂的判断," 我继续说道。
##### 🔬 **实验五:组合逻辑判断**
题目描述:
编写一个程序来演示复杂的逻辑判断。程序将判断一个学生是否符合参加比赛的条件,需要同时满足年龄(12岁)、成绩(85分)和身高(150厘米)三个条件。这个程序帮助理解如何组合多个逻辑条件进行判断。
输入格式:
无需输入,使用预设变量:
- age = 12(年龄)
- score = 85(分数)
- height = 150(身高)
输出格式:
多行文本,显示:
- 三种不同的组合逻辑判断结果
- 每个判断的详细说明
结果中1表示真,0表示假
数据范围:
使用预设的整数值
样例输出:
```
年龄大于10岁,且分数大于80,且身高超过140厘米吗?
结果是:1
不是(年龄小于10且分数小于60)吗?
结果是:1
年龄大于15或者(分数大于80且身高超过140)吗?
结果是:1
```
解题思路:
1. 设置三个条件变量
2. 使用&&组合多个条件
3. 使用!和&&的组合
4. 使用||和&&的组合并注意优先级
代码实现:
```cpp
#include
using namespace std;
int main() {
int age = 12; // 设置年龄
int score = 85; // 设置分数
int height = 150; // 设置身高(厘米)
// 判断是否满足所有条件
cout << "年龄大于10岁,且分数大于80,且身高超过140厘米吗?" << endl;
cout << "结果是:" << (age > 10 && score > 80 && height > 140) << endl << endl;
// 使用!和&&的组合
cout << "不是(年龄小于10且分数小于60)吗?" << endl;
cout << "结果是:" << !(age < 10 && score < 60) << endl << endl;
// 使用||和&&的组合
cout << "年龄大于15或者(分数大于80且身高超过140)吗?" << endl;
cout << "结果是:" << (age > 15 || (score > 80 && height > 140)) << endl;
return 0;
}
```
代码说明:
1. 定义三个变量存储判断条件
2. 使用多个&&运算符连接条件
3. 使用括号明确运算优先级
4. 使用!运算符进行条件取反
注意事项:
1. 多个条件时要注意运算符优先级
2. 复杂条件要用括号明确分组
3. 条件的排列要有逻辑性
4. 输出要有清晰的提示信息