分支结构

分支结构让程序根据条件选择不同的执行路径。

比较运算符

用于比较两个值,结果是 bool 类型(true 或 false)。

运算符含义示例
>大于a > b
<小于a < b
>=大于等于a >= b
<=小于等于a <= b
==等于a == b
!=不等于a != b

注意:

  • = 是赋值,== 是判断相等。
  • 不要把 == 写成 =。

单分支结构

语法:

if (条件) {
    语句;
}

条件为真时执行大括号内的语句,否则跳过。

示例:

int n;
cin >> n;
if (n % 2 == 0) {
    cout << "偶数" << endl;
}

双分支结构

语法:

if (条件) {
    语句1;
} else {
    语句2;
}

条件为真执行语句1,否则执行语句2。

示例:

int score;
cin >> score;
if (score >= 60) {
    cout << "及格" << endl;
} else {
    cout << "不及格" << endl;
}

例题: 奇偶数判断、团队系统、判断数正负、公园门票、简单计算器


三目运算符

语法:

条件 ? 表达式1 : 表达式2

条件为真时取表达式1的值,否则取表达式2的值。

示例:

int a = 5, b = 3;
int maxx = (a > b) ? a : b;
cout << maxx << endl;   // 输出 5

逻辑运算符

运算符含义示例
&&逻辑与,两个都为真才为真a > 0 && b > 0
``
!逻辑非,取反!flag

短路求值:

  • && 左边为假,右边不再计算。
  • || 左边为真,右边不再计算。

示例:

int year;
cin >> year;
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
    cout << "闰年" << endl;
}

例题: 晶晶赴约会、收集瓶盖赢大奖、Apples、肥胖问题、判断是否为两位数、判断一个数能否同时被 3 和 5 整除、点和正方形的关系、数的性质


多分支结构

使用 if-else if-else 处理多个条件。

语法:

if (条件1) {
    语句1;
} else if (条件2) {
    语句2;
} else if (条件3) {
    语句3;
} else {
    语句n;
}

示例:

int score;
cin >> score;
if (score >= 90) {
    cout << "A" << endl;
} else if (score >= 80) {
    cout << "B" << endl;
} else if (score >= 70) {
    cout << "C" << endl;
} else if (score >= 60) {
    cout << "D" << endl;
} else {
    cout << "E" << endl;
}

例题: 判断能否被 3, 5, 7 整除、最大数输出、三角形判断、有一门课不及格的学生、闰年判断、月份天数


switch 语句

适用于判断一个变量是否等于多个常量。

语法:

switch (表达式) {
    case 常量1:
        语句1;
        break;
    case 常量2:
        语句2;
        break;
    ...
    default:
        语句n;
}

示例:

int day;
cin >> day;
switch (day) {
    case 1: cout << "Monday"; break;
    case 2: cout << "Tuesday"; break;
    case 3: cout << "Wednesday"; break;
    case 4: cout << "Thursday"; break;
    case 5: cout << "Friday"; break;
    case 6: cout << "Saturday"; break;
    case 7: cout << "Sunday"; break;
    default: cout << "Invalid";
}

注意:

  • break 用于跳出 switch,否则会继续执行后面的 case。
  • default 可选,处理其他情况。
  • switch 表达式只能是整型、字符型、枚举型。