C语言——分支,循环语句

简介: C语言——分支,循环语句

1.分支语句


话说小乐最近在表白一个女孩,他面临一个问题就是:1.那个女孩也喜欢他,他就能追到.2. 女孩没有回复他,说明还有可能3.那个女孩不喜欢他,他追不到.那么,我们怎么可以帮他实现呢?我们把女孩喜欢他为1,不喜欢他为0


看下面的代码!那个女孩的选择交给读者手中

#include <stdio.h>
int main()
{
  int x;
  printf("喜欢按1,不喜欢按0\n");
  printf("女孩做出选择:");
  scanf("%d", &x);
  if (x == 1)
  {
    printf("她们在一起了\n");
  }
  else if(x==0)
  {
    printf("小乐没有机会\n");
  }
  else
  {
    printf("小乐还有机会\n");
  }
  return 0;
}

上面的这个是用if-else语句实现的。兄弟们,学了吗?

知识知识来了(if里面包含多种语句的时候要用大括号,else只与上面与他最近的没有匹配的if 进行匹配,好的代码风格是每个if,else-if,else的后面的用大括号

下面用switch--case语句进行实现

#include <stdio.h>
int main()
{
  int x;
  printf("喜欢按1,不喜欢按0\n");
  printf("女孩做出选择:");
  scanf("%d", &x);
  switch (x)
  {
  case 0:
    printf("小乐没有机会\n");
    break;
  case 1:
    printf("她们在一起了\n");
    break;
  default:
    printf("小乐还有机会\n");
    break;
  }
  return 0;
}

它们的基本形式是switch(整型表达式),case后面的是也是整型表达式,整个的一个case为一个语句项。

switch 语句的形式是这样的:

switch (整型变量)
{//这是语句项
  case 整型变量表达式:
    语句;
}

执行完一个case最后要用break进行跳出,但有些时候就不需要(这里的break是跳出它所在的switch语句的)。看这个:

#include <stdio.h>
int main()
{
  int day;
  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("非法输入");
    break;
  }
 
  return 0;
}

这个就不需要在每个case里面加上break,只需要在关键地方加上就可以。

2.循环语句

哎😒,女孩没有给小乐回复,小乐觉得还有机会,就对这个女孩发起了猛攻,天天缠着他。

但这最后还是有两个结果:1.女孩同意他了,2.女孩感觉他非常烦人,拒绝他了.

下面,我们用while循环来帮他实现追女神的代码:while(循环条件)

#include <stdio.h>
int main()
{
  int x;
  printf("喜欢按1,不喜欢按0\n");
  printf("女孩做出选择:");
  while(scanf("%d", &x)!=EOF)
  {
    switch (x)
    {
    case 0:
      printf("小乐没有机会\n");
      break;
    case 1:
      printf("她们在一起了\n");
      break;
    default:
      printf("小乐还有机会\n");
      break;
    }
    if (x == 1)
    {
      break;
    }
  }
  return 0;
}

但过程并不像我们想的这么简单,女孩只给了小乐10次机会(给的太少了),那我们如何实现呢?

这次我们用for循环实现,

它的形式for(初始化;判断条件;调整)

#include <stdio.h>
 
int main()
{
  int x = 0 , n = 0;
  printf("喜欢按1,不喜欢按0\n");
  printf("女孩做出选择:");
  for (n = 0; n < 10; n++)
  {
    scanf("%d", &x);
    switch (x)
    {
    case 0:
      printf("小乐没有机会\n");
      break;
    case 1:
      printf("她们在一起了\n");
      break;
    default:
      printf("小乐还有机会\n");
      break;
    }
    if (x == 1)
    {
      break;
    }
  }
  return 0;
}

我们发现这两处地方都有break语句 它的意思是跳出它所在的循环体。

小乐追女生追的很辛苦,在第五次的时候就放弃了一下,那该这么实现呢?

只需要在循环体里面加一个continue;——它的意思是终止此次循环,进入下一次循环(循环体中

continue后面的语句不执行,程序进入循环体开头的地方

    if (n == 5)
    {
      continue;
    }
2.

但是如果用while循环这样写,就只能女孩同意了,小乐才能跳出去。

看:

  while ( n <= 10)
  {
    scanf("%d", &x);
    switch (x)
    {
    case 0:
      printf("小乐没有机会\n");
      break;
    case 1:
      printf("她们在一起了\n");
      break;
    default:
      printf("小乐还有机会\n");
      break;
    }
    if (x == 1)
    {
      break;
    }
    if (n == 5)
    {
      continue;
    }
    n++;
  }
2.

do--while和while差不多

do--while的形式为

do
{
循环体的部分
}while(条件判断部分);//注意这里有分号
相关文章
|
9天前
|
C语言
【C语言基础】:分支与循环
【C语言基础】:分支与循环
|
23天前
|
算法 C语言 索引
C语言中的for循环:深入探索与实用技巧
C语言中的for循环:深入探索与实用技巧
16 1
|
23天前
|
C语言
C语言中如何避免循环死循环
C语言中如何避免循环死循环
18 1
|
2天前
|
C语言
C语言---正方形图案--循环
C语言---正方形图案--循环
|
2天前
|
C语言
C语言----循环---n的k次方
C语言----循环---n的k次方
|
2天前
|
C语言
C语言---循环迭代的方式求第n个斐波那契数
C语言---循环迭代的方式求第n个斐波那契数
|
2天前
|
C语言
C语言---循环迭代---n的阶乘
C语言---循环迭代---n的阶乘
|
2天前
|
C语言
C语言-----分支和循环
C语言-----分支和循环
33 0
|
17天前
|
C语言
c语言循环题目
c语言循环题目
|
18天前
|
C语言
C语言控制流程详解:分支与循环语句
C语言控制流程详解:分支与循环语句
12 0