【C语言精讲】——选择语句(分支语句) if、switch语句

本文详细介绍了C语言中的控制语句,包括条件判断的if语句及其多层次使用,以及switch语句和default子句的应用。强调了if语句中的代码块使用以及switch语句的执行流程,同时提醒了default子句在多分支结构中的作用,为理解和使用C语言的控制结构提供了清晰的指导。
摘要由CSDN通过智能技术生成

目录

控制语句

分支语句(选择结构)

if语句

switch语句

 default子句


C语言的语句可以分为以下五类:

1.表达式语句

int a = 10;
int b = 20;
int c = 0;
c =  a + b;

2.函数调用语句

printf("你好\n");

3.控制语句(本篇文章详解)

4.复合语句(顾名思义,将各种语句复合在一起)

5.空语句

    ;

控制语句

控制语句用于控制程序的执行流程,以实现程序的各种结构方式,它们由特定的语句定义符组成,C语 言有九种控制语句。可分成以下三类:

  1. 条件判断语句也叫分支语句:if语句、switch语句
  2. 循环执行语句:do while语句、while语句、for语句
  3. 转向语句:break语句、goto语句、continue语句、return语句

选择语句(分支结构)

if语句

表达式为真,则执行对应语句(0为假,非0为真)

if(表达式)
    语句;

if(表达式)
    语句1;
else
    语句2;

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

最终只执行其中一个语句。

 !!注意:以下错误示范:

这种情况下系统只会按照顺序进行逻辑判断:即首先判断18 <= age,如果为真则当作1处理,如果为假则当作0处理,然后继续进行判断。

 要执行多条语句,应使用代码块   {     }

#include <stdio.h>
int main()
{
    if(表达式)
   {
        语句列表1;
   }
    else
   {
        语句列表2;
   }
    return 0;
}

else和离他最近的if进行匹配,和缩进没有关系。因此建议使用代码块表示。 

switch语句

switch(整型表达式)
{
    语句项;
}

//语句项就是一些case语句,如下:

case 整形常量表达式:
    语句;

示例:

#include <stdio.h>
int main()
{
    int day = 0;
    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;
   }
    return 0;
}

 注意:

  1. switch后面的表达式必须是整型表达式(或枚举类型),case后面的必须是必须是整型常量表达式(或枚举类型)
  2. 分支的入口是case,分支的出口是break

在多种条件都可以执行同样语句时,可以使用如下方法:

#include <stdio.h>
int main()
{
    int day = 0;
    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中的语句。(注意必须有break出口)

在每个 switch 语句中都放一条default子句是个好习惯,甚至可以在后边再加一个 break 。

int day = 0;
switch(day)
{
case 1:
case 2:
    printf("weekday\n");
    break;
case 3:
    printf("weekend\n");
    break;
default:
    break;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值