分支和循环语句

目录

一、分支和循环语句具体包括哪些语句

二、分支语句

1.if语句 

2.switch语句

易错点!!!

三、循环语句 

1.while语句

1.while中的break 

总结:

2.while中的continue

总结:

2.for语句

1.for中的break

总结:

2.for中的continue

总结:

3.for循环中一些特殊的用法

 3.do while语句

1.do while中的break

2.do while中的continue


一、分支和循环语句具体包括哪些语句

1.条件判断语句也叫分支语句,例如if语句,switch语句

2.循环执行语句,例如while语句,for语句,do while语句

二、分支语句

分支语句中包括了if语句和switch语句

1.if语句 

if(表达式)
{
语句1;
}
//如果表达式成立,则执行语句1


if(表达式)
{
语句1;
}
else
{
语句2;
}
//如果表达式成立,则执行语句1,否则执行语句2


if(表达式1)
{
语句1;
}
else if(表达式2)
{
语句2;
}
else
{
语句3;
}
//如果表达式1成立,则执行语句1
//表达式1不成立紧接着判断表达式2是否成立
//如果表达式2成立,则执行语句2
//如果两个表达式均不成立,则执行语句3


//悬空else的情况
int a=0;
int b=2;
if(a==1)
   if(b==2)
   printf("hehe");
else
printf("haha");
//此时运行程序,发现并没有打印haha
//这是因为,else总是和与它最近的if匹配
//即只有在a==1,b!=2的时候,我们才会打印出haha

//因此我们建议加上{}便于理解
int a=0;
int b=2;
if(a==1)
{   
   if(b==2)
   printf("hehe");
   else
   printf("haha");
}

由此我们可以得知,培养一个好的代码风格是很重要的

2.switch语句

switch语句经常用于多分支的情况

int main()
{
int day=0;
scanf("%d",&day);
switch(day)
  case 1:
        printf("星期一");
        break;
  case 2:
        printf("星期二");
        break;
  case 3:
        printf("星期三");
        break;
  case 4:
        printf("星期四");
        break;
  case 5:
        printf("星期五");
        break;
  case 6:
        printf("星期六");
        break;
  case 7:
        printf("星期日");
        break;
  default
        printf("输入错误");
}
switch(变量名)
//此时的变量可以为整型,也可以为字符型
  case 常量表达式:
                语句;
//表达式中的类型应与变量的类型一致,可以是整型,也可以是字符型
//输入对应的常量表达式时执行对应的语句

易错点!!!

1.如果没有在每一个case执行的语句后面加上break,程序不会跳出而会接着执行下一个case的语句直到程序结束

2.如果输入case以外的值时,程序会直接结束,如果想要提醒输入的值不在范围内,这时就该default登场了,如果我们输入的值不在case的情况之中,就会去执行default的语句,这样我们就可以知道输入的值不在范围内了

3.偷懒小技巧,虽然每一个case语句后面都需要加上break跳出程序,但是最后一个default语句因为后面没有语句了,就可以省略掉break

4.case与default没有顺序规定,但是我们习惯把default放在最后

int main()
{
int day=0;
scanf("%d",&day);
switch(day)
  case 1:
  case 2:
  case 3:
  case 4:
  case 5:
        printf("工作日");
        break;
  case 6:
  case 7:
        printf("双休");
        break;
  default
        printf("笨蛋,一周只有7天");
}

我们也可以使用多个case执行同一个语句

三、循环语句 

循环语句包括while语句,for语句和do while语句

1.while语句

int i=1;
while(i<=10)
{
printf("%d",i);
i++;
}
//while语句为先判断条件再决定是否执行
//如果满足while语句中的条件,则执行下方表达式,如果不满足则循环结束
//以上代码的结果为打印1到10的每一个数

在该循环语句中,执行条件的判断次数永远比执行次数多一次

1.while中的break 

int i=1;
while(i<=10)
{
   if(i==5)
   break;

  printf("%d",i);
  i++;
}
//此段代码的结果为打印1 2 3 4

该代码在i==5时,在if语句判断后break跳出循环,所以打印的为1 2 3 4

总结:

在循环语句中,break为跳出循环,后面的循环也会无法执行,所以while中的break是用于永久终止循环的

2.while中的continue

int i=1;
while(i<=10)
{
   i++;
   if(i==5)
   continue;

  printf("%d",i);
}
//此段代码的结果为打印2 3 4 (中间缺少一个5) 6 7 8 9 10 11

该代码在i==5时,在if语句判断后continue跳出本次循环开始下一次循环,所以打印的是2 3 4 6 7 8 9 10 11

总结:

在循环语句中,continue为跳出本次循环,开始下一次循环,所以while中的continue是用于结束本次循环而开始下一次循环的

2.for语句

for(表达式1;表达式2;表达式3)
{
循环语句;
}

表达式1为初始化部分,用于初始化循环变量

表达式2为条件判断部分,用于判断循环何时终止

表达式3为调整部分,用于调整循环的条件

1.for中的break

for(int i=0;i<10;i++)
{
 if(i==5)
   break;
 printf("%d",i);
}

此段代码运行的结果为打印0 1 2 3 4

总结:

break在for循环中的作用是跳出本次循环并永久结束循环

2.for中的continue

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

此段代码运行的结果为打印0 1 2 3 4 6 7 8 9

总结:

continue在for循环中的作用是跳出本次循环并进入下一次循环

3.for循环中一些特殊的用法

for(int i=1;;i++)
{
  if(i==5)
  break;

  printf("%d",i);
}

for(语句1;语句2;语句3)

语句2为空时,即for循环判断恒为真

如果需要结束for循环应该在循环语句中加入跳出循环的条件

例如上述代码中i==5时,if语句执行break永久跳出循环

 3.do while语句

循环至少执行一次,使用场景有限,很少会用到

do
循环语句;
while(表达式);

do while循环的使用是先运行一次再判断while中表达式是否成立从而决定是否再次运行

int i=1;
do
{
printf("%d",i);
i++
}
while(i<=5)

此段代码的运行结果为1 2 3 4 5

1.do while中的break

break用于立即结束本次循环,并不再进行之后的循环,用于在满足某条件时跳出循环

2.do while中的continue

continue用于立即结束本次循环,并开始下一次的循环,用于在某特殊条件下跳过循环

以上为个人对于分支和循环的理解,如有遗漏,欢迎在评论区进行补充

  • 28
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值