从零开始的学习C语言路程一面道中——分支结构

        C语学习路漫长,面对的东西也会变多,如果说输出打印是杂兵那定义变量就是精英怪了,见识了杂兵和精英怪就说明要遇到BOSS了,但是这才一半所以来到的不是关底而是道中——分支结构。分支结构作为一面道中还算是比较简单的,一共才三种 if - else 、 else if 和 swithc 。

        先对付 if - else 的 if ,if由一个布尔表达式后跟一个或多个语句组成。

if实例:

if ( i < 10)
{
    printf("max = 10");
}

接下来加上 else  ,一个 if 语句 后可跟一个可选的 else 语句,else 语句在布尔表达式为 false 时执行

if - else实例:

if ( i < 10)
{
    printf("max = 10");
}
else
{
     printf("max = %d" , i );
}

如果布尔表达式为 true,则执行 if 块内的代码。如果布尔表达式为 false,则执行 else 块内的代码。C 语言把任何非零和非空的值假定为 true,把零或 null 假定为 false。

一个 if 语句后可跟一个可选的 else if...else 语句,这可用于测试多种条件。

当使用 if...else if...else 语句时,以下几点需要注意:

1、一个 if 后可跟零个或一个 else,else 必须在所有 else if 之后。

2、一个 if 后可跟零个或多个 else if,else if 必须在 else 之前。

3、一旦某个 else if 匹配成功,其他的 else if 或 else 将不会被测试。

else if实例:

if ( i < 10)
{
    printf("max = 10");
}
else if( i == 5)
{
    printf("not max");
}
else
{
     printf("max = %d" , i );
}

else if 的语句写法和 if 一样都是 “如果”(条件),注意一旦某个 else if 匹配成功,其他的 else if 或 else 将不会被测试。

        if 、else 、 else if 就这么简单无非就是“如果”“其他”“再如果”,接下来就要面对switch语句,switch 语句是一种有限制的控制流语句,它用于根据表达式的值执行不同的代码块。

一个 switch 语句允许测试一个变量等于多个值时的情况,每个值称为一个 case,且被测试的变量会对每个 switch case 进行检查。

switch语法:

switch(i)
{
    cast 1:
        printf("no");
        break;
    cast 2:
        printf("yep");
        break;
    default:
        printf("null");
}

switch 后面的表达式的值将会与每个 case 后面的常量值进行比较,直到找到匹配的值或者执行到 default(如果存在)。
如果找到匹配的值,将执行相应 case 后面的代码块,然后跳出 switch 语句。
如果没有匹配的值,并且有 default,则执行 default 后面的代码块。
如果没有匹配的值,并且没有 default,则跳过整个 switch 语句直到结束。

注意 switch 语句必须遵循下面的规则:
1、switch 表达式的类型: switch 语句中的表达式必须是整数类型(char、short、int或枚举),或者是能够隐式转换为整数类型的表达式。
2、case 标签的唯一性: 在 switch 语句中,每个 case 标签必须是唯一的,不能有重复的值。
3、默认情况的可选性: switch 语句中的 default 标签是可选的。如果没有匹配的 case 标签,则会执行 default 标签下的代码块(如果存在)。
4、case 标签中的常量值: case 标签中只能是常量值,不能是变量或表达式。
5、case 标签的顺序: switch 语句中的 case 标签的顺序并不重要,它们可以按照任意顺序编写。程序会按照 case 标签出现的顺序依次匹配。
6、break 语句的使用: 在每个 case 标签的代码块结束处通常需要使用 break 语句来终止 switch 语句的执行。如果没有 break 语句,程序将会继续执行下一个 case 标签中的代码,直到遇到 break 语句或 switch 语句结束。
7、switch 语句的嵌套: switch 语句可以嵌套在其他 switch 语句中,但是需要注意代码的可读性和复杂性。
8、case 标签和表达式的范围: switch 语句的 case 标签可以是整数常量表达式,但不能是浮点数或字符串。

以上所有参考资料源自:菜鸟教程 - 学的不仅是技术,更是梦想! (runoob.com)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值