两大分支语句 ——if&&switch

本文详细介绍了C语言中的选择结构,包括if和switch语句的使用。讲解了if语句的条件判断、代码块的执行以及else与if的匹配规则,并通过实例解释了可能出现的误解。同时,阐述了switch语句的工作原理,强调了case常量表达式、break语句的重要性。文章提醒开发者注意避免常见错误,如误用等于号以及未正确使用break导致的流程混乱。
摘要由CSDN通过智能技术生成

C语言三大结构之一-选择结构:

最简易可由  1.判断句if 或 switch 2.条件表达式  3. 条件成立需执行的相应代码段.   三部分组成,用于判断给定的条件,根据判断的结果判断某些条件,根据判断的结果来控制程序的流程。

例:

if (条件表达式)
{
    条件成立需执行代码;
}

由于在C语言中,非0为真,0为假。因此若条件表达式成立,表达式返回值1并会执行相应代码段,而若条件表达式不成立,返回值0并跳过相应代码段。

下面详细介绍if和switch两大分支语句:

1.if语句:

if (条件表达式1)
{  代码段1;}
else if (条件表达式2)
{  代码段2;}
else
{  代码段3;}

if-先判断条件表达式1,若成立则执行代码段1,结束后跳出这整个判断。

else if-若条件表达式1不成立,则判断条件表达式2,若成立则执行代码段2,结束后跳出整个判断

else-若以上判断全都不成立,则执行代码段3,判断结束

常用判断符: 1. 判断是否相等: ==    2.判断是否不等: !=   3.判断大小关系: <  >  >= <=

需注意:

1.判断相等时必须注意使用 == ,极易误用 = 进行了赋值而非判断

2.if支持嵌套判断,可根据需求使用

3.if后默认执行单个语句,若要执行多行代码,需用大括号“{}”将多行代码封装在一起,形成代码块

4.C语言中,else与最近的if语句进行匹配,而非根据缩进匹配语句!

例:以下代码会输出什么呢?

#include <stdio.h>
int main()
{
    if (0)
        printf("%d\n", 1);
        if (1)
            printf("%d\n",2);
    else
        printf("%d\n", 3);
    return 0;
}

 实际上,由于else与最近的第二个if进行匹配,这段代码并不会输出3,而是什么也不输出。可以看出,这样的代码风格极易令人误解,我们应将匹配的if-else语句缩进对齐。

2.switch语句:

switch (整型表达式)
{
    case (整型常量表达式1):
        代码段1;
        break;
    case (整型常量表达式2):
        代码段2;
        break;
    default:
        代码段3;
        break;
  
}

switch后面的(n)可以是表达式,也可以是变量,但必须是整型!表达式中的值会与下方case语句后方常量表达式的值进行匹配,从此处进入整个代码块并开始执行代码。若其与下方case均不匹配,则默认从default处进入,它匹配了任何和其它 case 都不匹配的情况。然而需注意,情况匹配处只决定了代码块的入口,如果没有遇到break语句跳出,程序会自上往下顺序执行,因此,我们应在每种情况的末尾加一个break语句作为出口。

需注意:

1.switch后方括号应输入整型表达式

2.case后方括号应输入整型常量表达式

3.一般情况下应在每种情况末尾添加break语句跳出,使程序更有序,能按所需情况进行相应执行

4.switch语句同样支持嵌套使用,但必须注意,使用break语句跳出switch分支时,只会自内向外跳出一层

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值