初识C语言--选择语句if/swich和循环语句while/for

一、选择语句     

注:当我们刚开始学习C语言时总是认为需要将其与else联合到一起使用,但这是不对的。if的作用便是,如果if中的内容为真则进行if内的指令。注:C语言中,0为假,其他数为真。

1、if语句

语法:if(条件)

                   语句;

选择语句if可以对一个指令进行选择,当我们只有一个选择的时候用一个if足矣,但是当我们涉及到了两个以上的选择分支的时候那么一个if显然是不够的,这时候我们就要用到else if。

例:当a<5时b=1;当5<a<10时b=2;当10<a<15时b=3;当15<a<20时b=4

int main()
{
    int a = 0;
    scanf("%d", & a);       //scanf()内不能使用\n
    if (a < 5)
        printf("b=1\n");
    else if (a > 5 && a < 10)
        printf("b=2\n");
    else if (a > 10 && a < 15)
        printf("b=3\n");
    else if (a > 15 && a < 20)
        printf("b=4\n");

    return 0;
}

2、switch语句:switch语句可以用于多种分支的情况,需要用到case。在多种分支下,如果再用else if的话将会显得很麻烦,因为每一种情况都需要用到else if,而且还需要把每一种情况都写下。

例:周一到周五需要上班(workday),但是周六周日可以休息(weekday)

int main()
{
    int a = 0;
    scanf("%d", &a);
    switch (a)
    { 
    case 1:                                       //case后需要用冒号“:”
    case 2:
    case 3:
    case 4:
    case 5:
        printf("workday\n");
        break;                                        //break可以跳出这个选项,如果这种情况没有break,输入一
    case 6:                                            个数的话,将会把后面的选项也输出出来。
    case 7:
        printf("weekday\n");
        break;
    }
    return 0;
}

二、循环语句

注:在循环中有两个特殊的情况便是:break和continue,break可以跳出循环,continue可以跳过continue后面的代码,直接返回到循环初,从循环初再次循环直到结束

1、while循环

语法:while(表达式)

                     循环语句

while语句语法简单,但是需要注意一点的是,while语句在continue下可能会变成死循环。

例:输出除5之外的1~10

#include <stdio.h>
int main()
{
    int a = 1;
    while (a <= 10)
    {
        if (a == 5)
            continue;
        printf("%d\n", a);
        a++;
    }
    return 0;
}

这个代码输出的结果是1 2 3 4 ,因为a++在continue的下面就导致当代码运行到continue的时候a==5,返回到循环出,但是由于a++在cuntinue下面导致a++被跳过,所以a只能永远等于5,打印输出的结果也只能到5,但是达不到5,这个循环就变成了死循环。

2、for循环

语法:

for(表达式1;表达式2;表达式3)

            循环语句

for循环会高级许多,而且三个表达式距离很近,在我们运用在很长的代码下,不会像while循环一样由于三个表达式距离很远而导致表达有误。而且可以很完美的避开while循环的continue导致的死循环。

例:输出除5之外的1~10

int main()
{
    int a = 0;
    for (a = 1; a <= 10; a++)
    {
        if (a == 5)
            continue;
        printf(" %d", a);
    }
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值