Day02--预习
2026-07-12 20:23:43
发布于:广东
🧮 C++ 数学函数 · 预习
一、准备工作:用数学工具前要“喊”一声
数学函数不在默认工具箱里,需要额外引入:
#include <cmath> // c + math → 数学工具箱
💡 就像你要用锤子得先从工具箱里拿出来一样,用数学函数要先写这行代码,放在文件最上面(
#include <iostream>的旁边)。
完整框架示例:
#include <iostream>
#include <cmath> // 👈 数学工具箱
using namespace std;
int main() {
// 这里就能用数学函数了
return 0;
}
二、5 个最常用的数学函数
1️⃣ max() —— 比大小,取大的
功能:比较两个数,谁大要谁。
int a = 10, b = 20;
cout << max(a, b); // 输出 20
| 关键点 | 说明 |
|---|---|
| 参数要求 | 两个数类型要一样(都是 int 或都是 double) |
| 返回结果 | 较大的那个 |
cout << max(3.14, 2.71); // 输出 3.14(double 类型)
cout << max(7, 7); // 输出 7(相等就输出这个数本身)
2️⃣ min() —— 比大小,取小的
功能:比较两个数,谁小要谁。
int a = 10, b = 20;
cout << min(a, b); // 输出 10
| 关键点 | 说明 |
|---|---|
| 参数要求 | 两个数类型要一样 |
| 返回结果 | 较小的那个 |
cout << min(3.14, 2.71); // 输出 2.71
cout << min(100, 50); // 输出 50
3️⃣ pow() —— 算次方(幂运算)
功能:计算 a 的 b 次方,即
🎯 C++ 分支结构 · 课前预习笔记
明天要学的东西叫 “分支结构” ——说白了就是让程序学会做判断,像人一样根据不同情况走不同的路。
一、先搞懂一个概念:程序怎么“做决定”?
我们平时会这样说话:
“如果明天下雨,我就带伞;否则就不带。”
这就是分支——根据条件是否成立,选择做不同的事。
C++ 里做决定靠的是 条件判断,条件的结果只有两个:成立(真) 或 不成立(假)。
二、单分支结构 —— “如果……就……”
语法
if (条件) {
// 条件成立时执行的代码
}
生活例子
如果 今天作业写完了,就 看电视。
if (作业写完了) {
看电视();
}
流程图
开始 → 判断条件 → 成立→执行代码 → 结束
→ 不成立→直接跳过 → 结束
💡 记住:条件不成立时,啥也不干,直接跳过。
三、双分支结构 —— “如果……否则……”
语法
if (条件) {
// 条件成立时执行
} else {
// 条件不成立时执行
}
生活例子
如果 明天下雨,就 待在家;否则 出去踢球。
if (下雨) {
待在家();
} else {
去踢球();
}
流程图
开始 → 判断条件 → 成立→执行A → 结束
→ 不成立→执行B → 结束
💡 记住:两条路必走一条,没有中间路线。
四、三目运算符 —— “简写版 if-else”
这是一个偷懒写法,适合简单的情况。
语法
条件 ? 值1 : 值2;
// 条件成立 → 取 值1;不成立 → 取 值2
例子
// 普通写法
int a = 10, b = 20;
int max;
if (a > b) {
max = a;
} else {
max = b;
}
// 三目运算符写法(一行搞定)
int max = (a > b) ? a : b;
💡 记住:
?前面是条件,:左边是成立时的结果,右边是不成立时的结果。适合简单赋值,别写太复杂。
五、多分支结构 —— “如果……否则如果……否则……”
当情况不止两种时用这个。
语法
if (条件1) {
// 条件1成立
} else if (条件2) {
// 条件1不成立,但条件2成立
} else if (条件3) {
// 条件1、2都不成立,但条件3成立
} else {
// 所有条件都不成立
}
生活例子
考试成绩:
- 90分以上 → 优秀
- 80~89分 → 良好
- 60~79分 → 及格
- 60分以下 → 不及格
if (score >= 90) {
cout << "优秀";
} else if (score >= 80) {
cout << "良好";
} else if (score >= 60) {
cout << "及格";
} else {
cout << "不及格";
}
⚠️ 注意顺序很重要! 条件要从严格到宽松(从小到大或从大到小排列),不然会出错。
六、switch 语句 —— “多选一”
和 if-else if 类似,但适合判断一个变量的具体值。
语法
switch (变量) {
case 值1:
// 变量等于值1时执行
break; // 执行完跳出
case 值2:
// 变量等于值2时执行
break;
case 值3:
// 变量等于值3时执行
break;
default:
// 所有case都不匹配时执行
}
例子
int day = 3;
switch (day) {
case 1:
cout << "周一";
break;
case 2:
cout << "周二";
break;
case 3:
cout << "周三";
break;
default:
cout << "其他";
}
// 输出:周三
⚠️ 注意:忘记写 break 会发生“穿透”——会继续往下执行后面的 case,一般不是想要的效果。
switch vs if-else if 怎么选?
| switch | if-else if | |
|---|---|---|
| 适合 | 判断固定值(整数/字符) | 判断范围或复杂条件 |
| 例子 | switch(星期几) |
if(分数>=90) |
七、字符变量 —— char
基础用法
char c = 'A'; // 用单引号,只能存一个字符
char grade = 'A';
字符可以比较大小!
字符背后有对应的 ASCII 码值,所以能比较:
char c1 = 'A', c2 = 'B';
if (c1 < c2) {
cout << "A在B前面"; // 会执行
}
常见用法
- 菜单选择:用户输入
'A'、'B'、'C' - 成绩等级:
'A'、'B'、'C'、'D'
八、分支嵌套 —— “判断里面套判断”
就是一个 if 里面再写一个 if。
生活例子
如果 是周末:
- 如果 天气好 → 去公园
- 否则 → 在家看电影
否则 → 去上学
if (是周末) {
if (天气好) {
去公园();
} else {
看电影();
}
} else {
去上学();
}
注意事项
// ❌ 这样写容易混乱(不知道else跟哪个if配对)
if (a > 0)
if (b > 0)
cout << "a和b都大于0";
else
cout << "???"; // 这个else到底跟谁?
// ✅ 加上大括号,清清楚楚
if (a > 0) {
if (b > 0) {
cout << "a和b都大于0";
}
} else {
cout << "a不大于0";
}
💡 黄金规则:不确定的时候,加花括号
{},让代码一目了然。
九、逻辑运算符(复习 + 加深)
| 运算符 | 名字 | 意思 | 例子 |
|---|---|---|---|
&& |
与 | 都成立才行 | 分数>=90 && 出勤>=20 |
| ` | ` | 或 | |
! |
非 | 取反(成立变不成立) | !下雨 → 没下雨 |
常见场景
// 判断成绩是否优秀(>=90且出勤>=20天)
if (score >= 90 && attendance >= 20) {
cout << "优秀";
}
// 判断是否可以休息(周末或者放假)
if (isWeekend || isHoliday) {
cout << "可以休息";
}
十、运算符优先级(了解即可)
就像数学里 先乘除后加减 一样,C++ 的运算符也有先后顺序。
记忆口诀(从高到低)
单目算术关,逻条赋逗号
通俗版排名:
| 优先级 | 运算符 | 例子 |
|---|---|---|
| 🥇 最高 | () 括号 |
括号里最先算 |
| 🥈 高 | ! ++ -- 单目运算 |
!a |
| 🥉 中 | * / % |
乘除取余 |
| 4 | + - |
加减 |
| 5 | < > <= >= |
比较 |
| 6 | == != |
等于/不等于 |
| 7 | && |
与 |
| 8 | ` | |
| 🥉 低 | ? : |
三目运算符 |
不用死记,记住两点:
- 先乘除后加减,括号最优先
- 不确定就加括号
(),又清楚又安全
// 不清晰的写法
if (a > 0 && b > 0 || c > 0)
// 加括号就清晰了(推荐!)
if ((a > 0 && b > 0) || c > 0)
📝 快速记忆卡(明天用得着)
| 结构 | 关键词 | 一句话总结 |
|---|---|---|
| 单分支 | if |
条件成立才做 |
| 双分支 | if-else |
两条路选一条 |
| 三目运算符 | ? : |
简写版 if-else |
| 多分支 | if-else if-else |
多条路选一条 |
| switch | switch-case |
根据具体值选一条 |
| 分支嵌套 | if 里套 if |
层层判断 |
| 逻辑运算符 | && ` |
🔥 预习小任务(试着想想)
明天上课前,想一下这 3 个问题:
- 如果让你写一个 判断闰年 的程序(能被4整除但不能被100整除,或者能被400整除),你会用哪个分支结构?
if (a = 5)和if (a == 5)有什么区别?(提示:一个是赋值,一个是判断)- 你觉得什么时候用
if-else if,什么时候用switch?
明天上课带着这些问题来,效果翻倍!🚀
这里空空如也











有帮助,赞一个