条件语句

概念讲解

if 语句

123if (条件) {
    // 条件为真时执行
}

if-else 语句

12345if (条件) {
    // 条件为真时执行
} else {
    // 条件为假时执行
}

if-else if-else 语句

1234567if (条件1) {
    // 条件1为真
} else if (条件2) {
    // 条件2为真
} else {
    // 所有条件都为假
}

switch-case 语句

1234567891011switch (表达式) {
    case 值1:
        // 表达式等于值1
        break;
    case 值2:
        // 表达式等于值2
        break;
    default:
        // 其他情况
        break;
}

比较运算符

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

逻辑运算符

运算符 含义 示例
&& 逻辑与 a && b
|| 逻辑或 a || b
! 逻辑非 !a

考点分析

初赛考查方式

  1. 选择题: 条件判断
  2. 程序阅读: if-else 语句
  3. 填空题: 条件表达式

常见题型

  • 条件判断
  • 嵌套条件
  • 逻辑运算

例题精讲

例题 1:判断奇偶

题目: 判断一个数是奇数还是偶数。

解答:

12345if (n % 2 == 0) {
    cout << "偶数" << endl;
} else {
    cout << "奇数" << endl;
}

例题 2:成绩等级

题目: 根据成绩输出等级。

解答:

1234567891011if (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 << "F" << endl;
}

练习题

  1. 判断一个数是否是正数。
查看答案
12345if (n > 0) {
    cout << "正数" << endl;
} else {
    cout << "非正数" << endl;
}
  1. 判断一个年份是否是闰年。
查看答案
12345if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
    cout << "闰年" << endl;
} else {
    cout << "平年" << endl;
}

闰年条件:能被 4 整除但不能被 100 整除,或者能被 400 整除。

  1. 求三个数的最大值。
查看答案
1234int maxVal = a;
if (b > maxVal) maxVal = b;
if (c > maxVal) maxVal = c;
cout << maxVal << endl;

或使用三目运算符:

1int maxVal = (a > b) ? (a > c ? a : c) : (b > c ? b : c);

易错点

⚠️ 注意:

  1. == 是比较,= 是赋值
  2. 注意逻辑运算符的短路特性
  3. switch-case 要加 break
  4. 注意条件的边界