C语言笔记----选择结构

一,if语句:
1.单纯的if:

# include <stdio.h>

int main()
{
    int i;

    scanf("%d",&i);

    if(i ==1) printf("i为 1\n");

    return 0;
}

if就是如果的意思嘛,它的格式是
if(条件)
{
语句;
}
(当你只在其中写一条语句时,是可以不用花括号的,但是多条语句时,必须要用花括号,其实无论是几条语句最好都把括号带上,这样会使程序看起来更清晰一些)
即当if后面的括号里的条件成立时,执行后面的语句,如上面代码所示,如果输入的i是1,则会执行printf(“i为 1\n”);语句,在屏幕上会显示,i为 1
如果输入的i非1,则程序无输出结果。

2.if…else语句:

# include <stdio.h>

int main()
{
    int i;

    scanf("%d",&i);

    if(i ==1) printf("i为 1\n");
    else printf("i非 1\n");

    return 0;
}

else 是否则的意思,
语句格式为
if(条件) 语句1;
else 语句2;
如上述代码,当输入1,条件成立,则执行语句1;当输入…比如说2时,条件不成立,则执行与条件相对相反的else语句,执行语句2;
(这种相对相反的关系被称为布尔型,在以后你可能经常会看到这个名词。)

3.if…else if…else语句:
else if是…另一种条件下的意思,
它的格式为:
if(条件 1) 语句 1;
else if(条件 2) 语句 2;
else if(条件 3) 语句 3;
else if(条件 4) 语句 4;
:
else 语句 n;
(只要需要,你想写几个else if就可以写几个else if)

# include <stdio.h>

int main()
{
    int i;

    scanf("%d",&i);

    if(i ==1) printf("i为 1\n");
    else if(i == 2) printf("i为 2\n");
    else if(i == 3) printf("i为 3\n");
    else printf("i不是1也不是2,不是3,是其它的整数\n");

    return 0;
}

二,switch语句:

# include <stdio.h>

int main()
{
    int i;

    scanf("%d",&i);

    switch(i)
    {
        case 1:
            printf("哈哈\n");
            break;
        case 2:
            printf("嘿嘿\n");
            break;
        case 3:
            printf("哼哼\n");
            break;
        default:
            printf("啦啦\n");
    }

    return 0;
}

它的格式是:
switch(字符的变量或是数字的变量)
{
case 数字或字符:
语句1;
break;
case 数字或字符:
语句 2;
break;
:
default:
语句 n;
break;
}
case的意思是条件,就是说switch后面的括号中变量中存的是什么,
default的意思是默认,当case 们都匹配不上switch后的变量时,就会执行default中的语句。
break是打破的意思,意思是跳出当前区域,这里指的是switch,break是必要的,因为如果你不使用break,可能会出现以下情况:
如:

# include <stdio.h>

int main()
{
    int i;

    scanf("%d",&i);

    switch(i)
    {
        case 1:
            printf("哈哈\n");
            break;
        case 2:
            printf("嘿嘿\n");
        case 3:
            printf("哼哼\n");
            break;
        default:
            printf("啦啦\n");
    }

    return 0;
}

我们删去了case 2:中的break,你在运行的过程中就会发现,当输入"2"时,会在屏幕上显示,
嘿嘿
哼哼
竟然把case 3中的语句也执行了!!!我们可以大胆猜测switch的运行原理,就是当swtich接收到变量的值时,会在众多的case 中进行比对,当找到匹配的case 进入执行该语句,然后像滑滑梯一样往下执行,如果没有break拦着,就会将该case以下的语句全部执行。
看起来很麻烦的样子,但是,swtich不常用,我们有逻辑更清晰的if语句,用switch干什么嘛,是吧?
欢迎提问哦。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值