第六章、选择语句

什么是语句

语句 是程序执行的单位。通常一个语句作为一个完整的指令序列来执行。

C11 标准为我们提供的以下几种语句,供开发人员使用。它们分别是:

以下几章我们先来研究 C 语言的这些语句。

选择语句

选择语句(Selection Statements),也称为条件语句或分支语句。选择语句用于根据条件决定程序的执行路径。它们允许程序在不同的条件下执行不同的代码块。

C 语言中选择语句的种类:

  1. if 语句
  2. switch 语句

选择语句的语法如下:

if ( expression ) statement
if ( expression ) statement else statement
switch ( expression ) statement

1. if 语句

作用:

根据条件表达式的值来选择性的执行语句。

if 语句的语法格式有两种:

// 第一种
if (表达式) 语句1
// 第二种
if (表达式) 语句1 else 语句2

语法中:ifelse 是关键字。

if 语句语法说明

  1. 括号中的 表达式 先进行计算,如果表达式结果为真值(非零值)则执行语句1(仅执行一条语句)。
  2. 如果表达式结果为假值(零值)则如果有 else 子句(第二种语法)则执行语句2(也仅执行一条语句)。

示例1

写一个程序,输入你的年龄,如果年龄小于 18 岁,提示:你还未满18岁,不能在我驾校报名!,否则什么都不做。

#include <stdio.h>

int main(int argc, char *argv[]) {
    int age;

    printf("请输入年龄:");
    scanf("%d", &age);

    if (age < 18)
        printf("你还未满18岁,不能在我驾校报名!\n");
    printf("程序退出\n");
    return 0;
}

运行结果1如下:

请输入年龄:16
你还未满18岁,不能在我驾校报名!
程序退出

运行结果2如下:

请输入年龄:21
程序退出

可见语句 printf("你还未满18岁,不能在我驾校报名!\n"); 实际受 if 语句控制。有 if 语句决定是否执行。而 printf("程序退出\n"); 则不受 if 语句控制。因为 if 语句执行控制离它最近的一条语句。

if 语句实现二分支结构

使用 if 语句的第二种 if - else 的语法,可以实现二选一的分支结构。如:

写一个程序,输入你的年龄,如果年龄小于 18 岁,则提示:你是未成年人!,否则提示:你是成年人!

#include <stdio.h>

int main(int argc, char *argv[]) {
    int age;

    printf("请输入年龄:");
    scanf("%d", &age);

    if (age < 18)
        printf("你是未成年人!\n");
    else
        printf("你是成年人!\n");
    printf("程序退出\n");
    return 0;
}

运行结果1如下:

请输入年龄:12
你是未成年人!
程序退出

运行结果2如下:

请输入年龄:20
你是成年人!
程序退出

练习:

写一个程序,输入一个学生的二科成绩:

  1. 打印出最高分是多少?
  2. 打印出最低分是多少?