【C语言】选择语句

简介: C语言中选择语句的相关知识点

1. if 语句

1.1 if 语句的三种形式

1.1.1 if 语句

1.1.1.1 if 语句的语法格式

if (表达式)
    语句;

表达式部分必须用()括起来,它可以是一个常量或变量,也可以是关系表达式或逻辑表达式。

如果表达式的值为非0,则执行紧跟其后的语句,然后顺序执行后续语句;如果表达式的值为0,则跳过紧跟的语句,执行后续语句。(C语言中0表示假,非0表示真)

相当于“如果......那么......”。

1.1.1.2 if 语句的流程图

​​image.png

1.1.1.3 if 语句的使用

int main()
{
   
    int age = 0;
    scanf("%d", &age);
    if (age >= 18)
        printf("成年\n");
    return 0;
}

image.png

1.1.2 if-else 语句

1.1.2.1 if-else 语句的语法格式

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

if-else语句中的表达式可以是一个常量或变量,也可以是关系表达式或逻辑表达式。如果表达式的值为非0,则执行语句1;否则,执行语句2。(C语言中0表示假,非0表示真)

相当于“如果......否则......”。

1.1.2.2 if-else 语句的流程图

image.png

1.1.2.3 if-else 语句的使用

#include <stdio.h>
int main()
{
   
    int age = 0;
    scanf("%d", &age);
    if (age < 18)
        printf("未成年\n");
    else
        printf("成年\n");
}

image.png
image.png

if和else后面一般都用{ }将需要执行的语句括起来,执行语句只有一条语句时可以省略{ }。

1.1.3 if-else if 语句

1.1.3.1 if-else if 语句的语法格式

if (表达式1)
    语句1;
else if (表达式2)
    语句2;
else if (表达式3)
    语句3;
...
else if (表达式n)
    语句组n;
else
    语句组n+1;

if-else if语句中的表达式是一个常量或变量,也可以是关系表达式或逻辑表达式。依次计算各表达式的值,哪个表达式的值为非0,则执行相应的语句组,若所有表达式的值均为0时,则执行else后的语句组。(C语言中0表示假,非0表示真)

相当于“如果满足某种条件,进行某种处理;否则,如果满足另一种条件,则执行另一种处理......”

else总是和离它最近的if匹配。

1.1.3.2 if-else if 语句的流程图

image.png

1.1.3.3 if-else if 语句的使用

#include <stdio.h>
int main()
{
   
    int age = 0;
    scanf("%d", &age);
    if (age < 18)
        printf("少年\n");
    else if (age >= 18 && age < 30)
        printf("青年\n");
    else if (age >= 30 && age < 50)
        printf("中年\n");
    else if (age >= 50 && age < 80)
        printf("老年\n");
    else
        printf("老寿星\n");
    return 0;
}

image.png
image.png
image.png

2. switch 语句

2.1 switch 语句的使用

switch (表达式)
{
   
case 常量值1:
    语句1;
    break;
case 常量值2:
    语句2;
    break;
...
case 常量值n:
    语句n;
    break;
default:
    语句n + 1;
    break;
}

switch 语句的说明

(1)在switch 语句中,表达式需为整型或字符型。

(2)每一个case后的常量值必须是整型字符型,而且值不能相同,因为选择语句只允许一路选择所对应的语句被执行。

(3)在执行switch 语句中,从匹配表达式的相应case处入口,一直执行到break语句或到达switch的末尾为止。(这里的break语句是跳转,也就是跳出当前分支,如果在case对应的语句块中没有break,那么程序会一直向下执行,也就是说break语句的实际效果是把语句列表划分为不同的分支部分

(4)每个case后的语句可以是单个语句或空语句,也可以是复合语句。

(5) 在switch语句中,default和语句组n+1可以同时省略。

2.2 switch 语句的流程图

image.png

2.3 switch语句的使用

#include <stdio.h>
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:
        break;
    }
    return 0;
}

image.png

3. if 语句与switch 语句的比较

(1)使用if语句可以构成各种各样的选择结构,尤其适合在构成有复杂的逻辑条件判断的选择结构中。

(2)对于选择较多,且判断条件较简单的情况,如判断整型数值或字符值是否相等时,常用switch语句来构成选择结构。

(3)用switch语句构成的选择结构清晰,执行效率比if语句构成的选择结构高。但是switch语句判断的时候只能整型字符型不可以是一个区间

相关文章
|
3月前
|
C语言
C语言中的控制语句(1)
C语言中的控制语句(1)
|
3月前
|
存储 C语言
C语言中的if语句编程
C语言中的if语句编程
36 0
|
4天前
|
存储 编译器 C语言
C语言中的简单语句
C语言中的简单语句
|
1月前
|
C语言
C语言7 控制语句
C语言7 控制语句
11 1
|
3月前
|
算法 搜索推荐 程序员
C语言中的if语句
C语言中的if语句
58 1
|
3月前
|
C语言
if语句的应用(C语言零基础教程)
if语句的应用(C语言零基础教程)
|
3月前
|
程序员 C语言
【c语言】if 选择语句
【c语言】if 选择语句
33 3
|
3月前
|
存储 程序员 C语言
c语言中的if语句
c语言中的if语句
16 0
|
3月前
|
C语言
C语言if语句
C语言if语句
25 0
|
3月前
|
C语言
C语言的流程控制语句
C语言的流程控制语句
42 0