if语句实现选择结构

一、if 语句的概念

if 语句是专门用来实现选择结构的语句。它根据表达式的真假决定程序的执行路径。

二、if 语句的语法形式

基本语法:

if (表达式)
    语句1
else
    语句2Code language: JavaScript (javascript)

执行顺序:首先计算表达式的值,若表达式的值为 true(非 0),则执行语句 1;否则执行语句 2。

三、语句1 和语句2 的形式

语句 1 和语句 2 不仅可以是一条语句,也可以是用大括号括起来的多条语句(复合语句)。

示例:输出 x 和 y 中的较大值

int x, y;
x = 23;
y = 19;
if (x > y)
    cout << x;
else
    cout << y;Code language: JavaScript (javascript)

使用复合语句的示例:

int x, y;
x = 23;
y = 190;
if (x > y)
{
    // cout << x;
    cout << "x比y大,x的值是:" << x;
}
else
{
    cout << "x比y小,y的值是:" << y;
}Code language: JavaScript (javascript)

四、省略 else 的情况

当语句 2 为空时,else 可以省略。此时语法形式为:

if (表达式)
    语句

示例:

int score = 85;
if (score >= 60)
    cout << "及格" << endl;
// 否则什么都不做Code language: JavaScript (javascript)

五、代码示例

以下代码演示了 if 语句的完整用法:

#include <iostream>
using namespace std;

int main()
{
    // 示例1:基本if-else,输出较大值
    int x = 23, y = 19;
    if (x > y)
        cout << "较大值是:" << x << endl;
    else
        cout << "较大值是:" << y << endl;

    // 示例2:复合语句
    int a = 10, b = 20;
    if (a > b)
    {
        cout << "a > b" << endl;
        cout << "a = " << a << endl;
    }
    else
    {
        cout << "a <= b" << endl;
        cout << "b = " << b << endl;
    }

    // 示例3:省略else
    int score = 85;
    if (score >= 60)
        cout << "成绩合格" << endl;

    // 示例4:判断闰年
    cout << "请输入年份:" << endl;
    int year;
    cin >> year;
    if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
    {
        cout << year << "是闰年" << endl;
    }
    else
    {
        cout << year << "不是闰年" << endl;
    }

    // 示例5:单分支if
    int num = -5;
    if (num < 0)
        num = -num;   // 取绝对值
    cout << "绝对值:" << num << endl;

    return 0;
}Code language: PHP (php)

六、注意事项

  • if 后面的表达式通常是关系表达式或逻辑表达式,也可以是任意算术表达式。值为非 0 时视为 true,为 0 时视为 false。
  • 语句 1 和语句 2 如果有多条语句,必须用大括号 {} 括起来形成复合语句,否则只有第一条语句受 if 或 else 控制。
  • else 总是与离它最近的、尚未匹配的 if 配对。
  • 在 if 语句后误加分号会导致逻辑错误:
if (a > b);      // 空语句,条件判断后什么也不做
    cout << "a > b";   // 无论条件如何都会执行Code language: JavaScript (javascript)
  • 判断闰年条件:(year % 4 == 0 && year % 100 != 0) || year % 400 == 0。注意逻辑运算符的优先级,&& 高于 ||,括号不能省略。

七、小结

  • if 语句根据表达式的真假选择执行不同的代码路径。
  • 语法形式:if (表达式) 语句1 else 语句2。
  • 语句 1 和语句 2 可以是单条语句或复合语句。
  • 当语句 2 为空时,else 可以省略。
  • else 与最近的 if 配对。
  • 判断闰年:能被 4 整除且不能被 100 整除,或能被 400 整除。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注