C语言学习记录-day12-分支和循环语句

今天学习分支和循环语句。

C语言是结构化的语言

生活中的结构分为:

顺序结构

选择结构

循环结构

分支语句:if语句

                  Switch语句

循环语句:while语句

                  For语句

                  Do while

C语言中由一个分号;隔开的就是一条语句。

If语句:

If语句的结构:

If(表达式)

      语句;

If(表达式)

      语句;

Else if(表达式)

      语句;

Else

      语句;

代码演示:

int main()

{

    int age = 10;

    if (age >= 18)

         printf("adualt");

    else

         printf("child");

    return 0;

}

输出:child

如果else后面带有两个语句则,

这种明显不合理,所以需要在else后加大括号

然后是elseif,我这么写想表达60不属于young,但是打印还是出了young,所以18<age<26这种写法不对,因为检测到18<age为真的时候就会执行打印。

正确写法为:age>=18 && age<26

int main()

{

    int age = 60;

    if (age <18)

         printf("child");

    else if(age>=18 && age<26)

         printf("young\n");

    return 0;

}

可以继续写:

int main()

{

    int age = 60;

    if (age < 18)

         printf("child");

    else if (age >= 18 && age < 26)

         printf("young");

    else if (age >= 26 && age < 40)

         printf("mid");

    else if (age >= 40 && age < 60)

         printf("high");

    else if (age >= 60)

         printf("old");

    return 0;

}

观察下面代码,猜测会打印什么

int main()

{

    int a = 0;

    int b = 2;

    if (a == 1)

         if (b == 2)

             printf("hehe");

    else

             printf("haha");

    return 0;

}

结果是不打印。原因是else和离他最近的一个if匹配,所以else和if匹配后,第一个if(a==1)不成立后直接结束。如果第一个if为真才会执行后面那个if、else。代码应该如下写:

int main()

{

    int a = 0;

    int b = 2;

    if (a == 1)

    {

         if (b == 2)

             printf("hehe");

         else

             printf("haha");

    }

    else

    {

         if (b == 2)

             printf("heihei");

         else

             printf("haha");;

    }

    return 0;

}

代码风格也是一种很重要的东西,如果else if else写到一行,你写出来以后再看都看不懂,看的很难受,所以一定要代码风格搞好增加可读性。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值