1 本课主要内容:
- 逻辑判断的应用
- if 判断:if, if...else, if...else if...else 语句格式和实例代码
2 主要知识点:
-
思考一个问题
如果学生某科目的考试成绩达到95分以上,则可以评为A+,类似这种场景就需要用到 if 判断,代码例子如下:
int fraction{0}; // 考试成绩
// 通过数据查询,或者用户输入代码
...
if (fraction >= 95) {// 评为A+,执行相应代码...
}
else {// 非A+成绩,执行其他代码...
}
-
if 判断语句的作用
利用 if 判断语句,结合关系运算符(==、!=、>、>=、<、<=)等逻辑运算符,可以实现分支处理;
-
简单 if 判断语句
语句格式:
if (...) {
...
}
执行顺序如下:
1 判断 (...),true 执行 {...} 代码;false 跳过 {...} 执行后面代码
// 例子:
int a = 10; // 请修改其他值
int b = 20; // 请修改其他值
// 判断a的值小于b的值;
if (a < b) {// 结果true执行下面{true...}代码块代码// true...
}
-
if...else 判断语句
语句格式:
if (...) {
...
}
else {
...
}
执行顺序如下:
1 判断 (...),true 执行 if 后面 {...} 代码;false 执行 else 后面 {...} 代码
// 例子
int a = 10; // 请修改其他值
int b = 20; // 请修改其他值
// 判断a的值小于b的值;
if (a < b) {// 结果true执行下面{true...}代码块代码// true...
}
else {// 结果false执行下面{false...}代码块代码// false...
}
-
多个 else if 判断语句
语句格式:
if (...) {
...
}
else if (...) {
...
}
else {
...
}
执行顺序如下:
1 判断 if (...),true 执行 if 后面 {...} 代码;false 进入 2
2 判断 else if (...),true 执行 else if 后面 {...} 代码;false 进入 3
3 执行 else 后面 {...} 代码,然后结束
// 例子
int a = 10; // 请修改其他值
int b = 20; // 请修改其他值
if (a < b) {// 判断a的值小于b的值,结果true执行下面{true1...}代码块代码// true1...
}
else if (a == b) {// 判断a的值等于b的值,结果true执行下面{true2...}代码块代码// true2...
}
else {// 其他情况执行下面{false...}代码块代码// false...
}
-
多逻辑与、逻辑或判断语句
// 多逻辑与、逻辑或判断例子
int a = 10; // 请修改其他值
int b = 20; // 请修改其他值
int c = 30; // 请修改其他值
if (a < b && a < c) {// 判断a小于b,并且a小于c;结果true执行以下{true1...}代码// true1...
}
else if (a > b || a > c) {// 判断a大于b,或者a大于c;结果true执行以下{true2...}代码// true2...
}
else if ((a > b || a > c) && b > c) {// 支持()优先运算,有()优先判断()里面的逻辑// true3...
}
else {// 其他情况执行下面{false...}代码块代码// false...
}
3 一些建议:
- 如果 {...} 代码块里面写的代码行数太多,建议编写成函数来调用;
if (a > b) {set_value(); // 添加函数调用
}
4 课后练习:
- 练习1:提示用户输入二个整数,然后用 if 判断二个整数的值,在屏幕上打印不同的信息;
- 练习2:利用std::generate_canonical 产生100组[0,1)范围内随机浮点数,分别计算=0.5的随机数个数,把计算结果输出到屏幕;
附录:在线视频课程
【C++程序员必修第一课】C++基础课程