- C++
条件判断if/else
- 2025-8-23 22:23:53 @
以下是结合你提供的 C++ 代码和知识点整理的学习笔记教程,包含代码注释与知识讲解,帮助理解条件判断(if
/else
)、输入输出及简单逻辑实现:
一、基础语法与输入输出回顾
-
头文件与命名空间
#include<iostream>
:引入输入输出流库,让程序能实现控制台的输入(cin
)和输出(cout
)。using namespace std;
:使用标准命名空间,避免重复写std::
(如std::cout
可直接写cout
)。
示例框架:
#include<iostream> using namespace std; int main() { // 程序逻辑写在这里 return 0; // 程序正常结束标志 }
-
输入(
cin
)与输出(cout
)cin >> 变量;
:从控制台读取用户输入,赋值给变量(会自动跳过空格、换行)。cout << 内容;
:向控制台输出内容,endl
用于换行(等价于\n
)。
二、条件判断(if
/else
)核心逻辑
作用:根据条件是否成立,决定程序执行哪一段代码,实现“分支选择”。
1. 语法结构
if (条件表达式) {
// 条件成立时执行的代码
} else {
// 条件不成立时执行的代码(else 可选,按需使用)
}
- 条件表达式:结果是布尔值(真
true
/非 0,假false
/0 ),常用比较运算符(>
<
>=
<=
==
!=
)、逻辑运算符(&&
且、||
或、!
非 )构建。
三、案例实践与代码解析
以下结合“判断奇偶”“判断是否及格”两个案例,详解代码逻辑,注释清晰标注每一步作用。
案例 1:判断奇偶(输入自然数,输出 Odd
/Even
)
#include<iostream>
using namespace std;
int main() {
int n; // 定义变量,存储用户输入的自然数
cin >> n; // 读取用户输入,存入 n
// 判断是否为偶数:n 除以 2 的余数为 0
if (n % 2 == 0) {
cout << "Even"; // 余数为 0 → 偶数,输出 "Even"
}
// 判断是否为奇数:n 除以 2 的余数为 1
if (n % 2 == 1) {
cout << "Odd"; // 余数为 1 → 奇数,输出 "Odd"
}
return 0; // 程序结束
}
关键逻辑:
n % 2
是取余运算,结果为n
除以 2 的余数。- 余数为
0
→ 能被 2 整除 → 偶数;余数为1
→ 不能被 2 整除 → 奇数。
案例 2:判断是否及格(输入成绩,输出 YES
/NO
)
#include<iostream>
using namespace std;
int main() {
int score; // 定义变量,存储成绩
cin >> score; // 读取用户输入的成绩
// 条件:成绩 >= 60 分 → 及格
if (score >= 60) {
cout << "YES"; // 及格,输出 "YES"
}
// 条件:成绩 < 60 分 → 不及格
if (score < 60) {
cout << "NO"; // 不及格,输出 "NO"
}
return 0; // 程序结束
}
简化写法(用 else
优化):
因为“及格”和“不及格”是互斥条件,用 else
更简洁,减少重复判断:
#include<iostream>
using namespace std;
int main() {
int score;
cin >> score;
if (score >= 60) {
cout << "YES";
} else {
// 不满足 if 条件(即 score < 60 )时执行
cout << "NO";
}
return 0;
}
四、额外拓展:时间差计算(开头代码解析)
你提供的第一段代码是计算两个时间的秒差(按 时:分:秒
格式输入),虽然和 if
无关,但可拓展学习输入处理与逻辑计算:
#include<iostream>
#include<cmath> // 实际这里没用到,可删;若用数学函数(如 sqrt )才需要
using namespace std;
int main() {
int h1, m1, s1; // 存储第一个时间的 时、分、秒
int h2, m2, s2; // 存储第二个时间的 时、分、秒
char t; // 用于读取分隔符(如 ":" )
// 输入第一个时间,格式如:12:34:56
cin >> h1 >> t >> m1 >> t >> s1;
// 输入第二个时间,格式如:12:35:00
cin >> h2 >> t >> m2 >> t >> s2;
int res = 0; // 存储总秒差
// 小时差 → 转成秒:1 小时 = 3600 秒
res += (h2 - h1) * 3600;
// 分钟差 → 转成秒:1 分钟 = 60 秒
res += (m2 - m1) * 60;
// 秒差
res += s2 - s1;
cout << res; // 输出总秒差
return 0;
}
逻辑说明:
- 把时间拆分为“时、分、秒”,分别计算差值,再转换为统一单位(秒)累加,得到最终时间差。
五、总结
- 输入输出:
cin
读数据、cout
写数据,实现程序与用户交互。 - 条件判断:
if
根据条件执行不同分支,else
处理“不满足条件”的情况,让程序有“选择逻辑”。 - 实践场景:可用于判断奇偶、成绩是否及格、时间计算等,是程序处理复杂逻辑的基础。
多动手改改代码(比如给判断奇偶加 else
、调整时间差逻辑),就能更快掌握这些知识点啦~
0 条评论
目前还没有评论...