分支和循环语句

本文详细介绍了C语言中的if、else、if...else、if...elseif...else、switch以及while、for和do...while等控制结构,包括它们的用法、注意事项和适用场景,强调了不同结构在编程中的合理运用。
摘要由CSDN通过智能技术生成

分支语句:

        if 语句:

             注意点:0为假,1为真

                        else是与上面,最近的if匹配,而不是看对齐程度

#include <stdio.h>
int main()
{
    int a = 0;
    int b = 3;
    if(a == 1)
   {
        if(b == 3)
       {
            printf("Hei Tuo\n");
       }
   }
    else//这个else是与if(b==3)这一条if语句匹配
   {
         printf("hei tuo\n");
   }      
    return 0;
}

              第一种:只写if

if(条件)
{
执行语句
}

               第二种:if...else结合

if(条件)
{
if语句成立执行的语句
}
else
{
否则执行的语句
}

               第三种: if...else if...else if...else复合语句

if()
{
}
else if()
{
}
i
else if()
{
}
else
{
}

   为什么要用if..else if的复合语句,而不直接多个if语句呢?就是在最后的时候可以不写条件。

                                             

        switch语句:

 注意点:

  1.   default语句可以不写,也可以写在switch语句中任何位置。
  2.   default语句是执行除了case的其他情况
  3.   switch()括号中只能放整型
  4.   case和常量表达式之间要有空格;
  5.   在switch语句中,是不能直接实现分支的,必须要搭配break使用才能实现真正的分支。
  6.   在case的语句后面要加break;两个语句用花括号包起来
  7.   如果没有break语句,则会从满足条件的地方(即与switch(表达式))括号中表达式匹配的case)开始执行,直到switch结构结束          
switch(整型表达式)
{
    语句项;
}

常规写法:

​
#include <stdio.h>
//switch代码演示
int main()
{
    int day = 0;
    scanf("%d",&day);
    switch(day)
   {
        case 1:printf('a');break;

        case 2:printf('b');break;

        case 3:printf('c');break;

        case 4:printf('d');break;
   }
    return 0;
}

​

也可以写成这样:

#include <stdio.h>
//switch代码演示
int main()
{
    int day = 0;
    switch(day)
   {
        case 1:
        case 2:
        case 3:
        case 4:
        case 5:
            printf("weekday\n");
            break;
        case 6:
        case 7:
            printf("weekend\n");
            break;
   }
    return 0;
}

如果不写break,则会从满足条件的地方(即与switch(表达式))括号中表达式匹配的case)开始执行,直到switch结构结束   

​
#include <stdio.h>
//switch代码演示
int main()
{
    switch(2)
   {
        case 1:printf('a');

        case 2:printf('b');

        case 3:printf('c');

        case 4:printf('d');
   }
    return 0;
}
//会打印出 bcd
​

循环语句:

while循环

//while 语法结构
while(表达式)

{
 循环语句;

}

for循环

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

{
 循环语句;

}

表达式1:设置初始条件,只执行一次。可以为零个、一个或多个变量设置初始值。

表达式2:是条件判断部分,用于判断循环时候终止。

表达式3:作为循环的调整部分,用于循环条件的调整。例如使循环变量增值,它是在执行循环体后才进行的。

 先初始化(表达式1),在判断是否进入循环(表达式2的判断),然后调整循环(表达式3)

之后不再执行表达式1,只执行表达式2和3.

 常见的for循环写法

for(int i=0;i<n;i++)//把i写到这里,表示i是一个局部变量,出了for循环就销毁

{

        循环语句;
}

do...while()循环

do

{
 循环语句;

}while(表达式);

 三者的区别:

他们三个没有好坏之分,存在即合理。是要看适用的场景。

1.for循环把初始条件,判断条件,循环调整条件都写在一起,对于长的代码可以一下子看到这三者。而对于while循环,他们三个是分开的,当代码长的时候,会找不到。

2. while和for循环都是先判断后执行,do...while()循环是先执行一次之后判断

 三者相同的地方:

 都可以使用break跳出循环,continue结束本次循环

  • 29
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值