1. 什么是分支结构?
生活中我们经常需要做判断:
如果下雨,我就带伞;否则就不带。
如果成绩≥90分,就是优秀;否则就是还需要努力。
在程序中,分支结构就是让计算机根据条件是否成立,来决定执行哪一段代码。
2. 三种基本分支结构
2.1 if 语句 —— 只有一种情况
语法结构:
示例说明:
#include<bits/stdc++.h>using namespace std;intmain(){ int score; cin >> score; if(score >= 90) { cout << "优秀呀"; } return 0;}
只有当 score >= 90 时,才会输出“优秀呀”。
2.2 if-else 语句 —— 两种情况二选一
语法结构:
if (条件) { // 条件成立时执行1} else { // 条件不成立时执行2}
示例说明:
#include<bits/stdc++.h>using namespace std;intmain(){ int score; cin >> score; if(score >= 60) { cout << "及格"; } else { cout << "不及格"; } return 0;}
二选一,总有一个分支会执行到的。
2.3 if-else if-else 语句 —— 多种情况选一个
语法结构:
if (条件1) { // 条件1成立时执行} else if (条件2) { // 条件1不成立,条件2成立时执行} else if (条件3) { // 条件1、2不成立,条件3成立时执行} else { // 所有条件都不成立}
示例说明:
#include<bits/stdc++.h>using namespace std;int main(){ int score; cin >> score; if (score >= 90) { cout << "优秀"; } else if (score >= 75) { cout << "良好"; } else if (score >= 60) { cout << "及格"; } else { cout << "不及格"; } return 0;}
从上往下判断,一旦某个条件成立,执行对应代码后直接跳出整个结构。
3. 条件表达式
关系运算符(比较两个值的关系)
注意:== 是判断相等,= 是赋值,初学者特别特别容易混淆。
逻辑运算符(连接多个条件)
注意:最常用的就是 并且&& 以及 或者||这两个#include<bits/stdc++.h>using namespace std;intmain(){ int y; cin >> y; // 判断闰年:能被4整除但不能被100整除,或者能被400整除 if((y % 4 == 0 && y % 100 != 0) || (y % 400 == 0)) { cout << "闰年"; } else { cout << "平年"; } return 0;}