C语言控制语句-分支/选择结构

本文详细介绍了C语言中的控制语句,包括顺序、选择(if、switch多分支)、循环(for、while、do-while)以及转向语句(break、goto、continue、return)。通过实例展示了如何使用这些结构进行程序设计。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C语言是【结构化】的程序设计语言

C语句可分为以下五类:

  1. 表达式语句
  2. 函数调用语句
  3. 控制语句
  4. 复合语句
  5. 空语句

本节主要介绍控制语句

控制语句用于控制程序的执行流程,以实现程序的各种结构方式(C语言支持三种结构:顺序结构、选择结构、循环结构),它们由特定的语句定义符组成,C语言有九种控制语句。

  • 条件判断语句(分支语句):if,switch
  • 循环执行语句:for,while,do while
  • 转向语句:break,goto,continue,return

分支结构(选择结构)

if 语句

if(表达式)
{
分支语句
}

int main()
{
    int num= 10;
    if (10 == num) // 漏写=编译器会报错提示
    {
        printf("equal\n");
    }
    return 0;
}

// 双分支
if(表达式)
{
分支语句1
}
else
{
分支语句2
}

int main()
{
    int age = 10;
    if (age > 18)
    {
        printf("成年\n");
    }
    else
    {
        printf("未成年\n");
    }
    return 0;
}

// 多分支
if(表达式1)
{
分支语句1
}
else if(表达式2)
{
分支语句2
}
else
{
分支语句3
}

int main()
{
    int age;
    scanf("%d", &age);
    if (age < 18)
    {
        printf("少年\n");
    }
    else if(age >= 18 && age < 28)
    {
        printf("青年\n");
    }
    else if(age >= 28 && age < 40)
    {
        printf("中年\n");
    }
    else if (age >= 40 && age < 60)
    {
        printf("壮年\n");
    }
    else if (age >= 60 && age < 100)
    {
        printf("老年\n");
    }
    else
    {
        printf("老寿星\n");
    }

    return 0;
}

switch 语句

switch 也是一种分支语句,通常用于多分支情况

switch (整型、字符、字符串表达式)
{
case 整型、字符、字符串常量表达式:
语句;
}

int main()
{
    int day = 0;
    scanf("%d", &day);
    switch (day)
    {
    case 1:
        printf("星期一\n");
        break;
    case 2:
        printf("星期二\n");
        break;
    case 3:
        printf("星期三\n");
        break;
    case 4:
        printf("星期四\n");
        break;
    case 5:
        printf("星期五\n");
        break;
    case 6:
        printf("星期六\n");
        break;
    case 7:
        printf("星期日\n");
        break;
    default:
        printf("请输入数字1-7!");
        break;
    }

    return 0;
}

有时候我们的需求变了:

  1. 输入1-5,输出的是“weekday”;
  2. 输入6-7,输出“weekend”

代码实现:

int main()
{
    int day = 0;
    scanf("%d", &day);
    switch (day)
    {
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
        printf("weekday\n");
        break;
    case 6:
    case 7:
        printf("weekend\n");
        break;
    }
    return 0;
}

default语句:

  • 当 switch 表达式的值并不匹配所有case 标签的值时,这个default 子句后面的语句就会执行。所以,每个switch语句中只能出现一条default子句。
  • 但是它可以出现在语句列表的任何位置,而且语句流会像执行一个case标签一样执行default子句。
  • 在每个 switch 语句中都放一条default子句是个好习惯,甚至可以在后边再加一个 break 。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值