分支与循环(2)(上)

简介: 分支与循环(2)

上节内容我们讲了if switch,这节课我们讲whilefor还有do while,现在开始我们的学习吧。

  1. while
  2. for
  3. do while

1.while

在上个内容中我们学会if语句的用法

if(条件)
   语句;

当条件满足的情况下,if语句后的语句执行,否则不执行。

但是这个语句只会执行一次。

由于我们发现生活中很多的实际的例子是:同一件事情我们需要完成很多次。

那我们怎么做呢?

C语言中给我们引入了: while 语句,可以实现循环。

下面我们来看while的基本语法结构

while (表达式)
   语句

下面我们用while输出一个简单的程序

int main()
{
  int i = 0;
  while (i < 10)
  {
    printf("好好学习\n");
    i++;
  }
  return 0;
}

上面我们可以看到用while语句输出十个好好学习,我们了解了while的语法结构,接下来我们继续深入了解while

1 while的break和continue

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

我们可以在编译器上看到打到五的时候停止,说明程序执行的时候,当i=5的时候退出while循环,所以break的作用是跳出循环并停止

break在while的作用总结:

其实在循环中只要遇到break,就停止后期的所有的循环,直接终止循环。

所以:while中的break是用于永久终止循环的。

while的continue

在之前讲的内容中我们都没有遇到continue,在while中continue有着重要作用,让我们一起学习一下吧

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

我们将上面的代码break改成continue 大家在编译器上可能看到的结果还是1234,但是我们可以看到有光标一直停留,说明他还在执行,我们的循环进入死循环,让我们来看一个原理图,可能画的有点丑

总结

continue是用于终止本次循环的,也就是本次循环中continue后边的代码不会再执行,而是直接跳转到while语句的判断部分。进行下一次循环的入口判断.

讲到这里大家应该对continue了解了吧,那我们继续讲解for语句

for

1 语法结构

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

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

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

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

下面我们举例子来演示一个用for循环打印1-10

#include<stdio.h>
int main()
{
  int i = 0;
  for (i = 1; i <= 10; i++)
  {
    printf("%d ", i);
  }
  return 0;
}

这就是for循环的基础用法,那我们现在对比一下for 和while 的不同

int i = 0;
//实现相同的功能,使用while
i=1;//初始化部分
while(i<=10)//判断部分
{
 printf("hehe\n");
 i = i+1;//调整部分
}
//实现相同的功能,使用while
for(i=1; i<=10; i++)
{
 printf("hehe\n");
}

我们可以看到for循环比较简单,for循环改的东西比较上,用起来也比较方便,但是for循环不是万能的,我们要根据不同条件下使用,结合for和while两个循环才能让你变得更加优秀

for循环的break和continue

在for循环中也有break和continue,那让我们来看看它的用法吧

#include <stdio.h>
int main()
{
 int i = 0;
 for(i=1; i<=10; i++)
 {
 if(i == 5)
 break;
 printf("%d ",i);
 }
 return 0;
}

可以看到for循环的break和while的break的功能一样,也是终止循环的作用

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

continue也是和while一样

建议

  1. 不可在for 循环体内修改循环变量,防止 for 循环失去控制。
  2. 建议for语句的循环控制变量的取值采用“前闭后开区间”写法。
#include <stdio.h>
int main()
{
 int i = 0;
 for(i=1; i<=10; i++)
 {
 i=2;//不建议改变循环变量
 printf("%d ",i);
 }
 return 0;
}

不建议改变循环变量

#include <stdio.h>
int main()
{
 int i = 0;
 for(i=1; i<10; i++)//指i变量的区间为前闭后开,[ , )
 {
 printf("%d ",i);
 }
 return 0;
}

for循环的变种


相关文章
|
8天前
|
程序员 编译器 C语言
分支和循环(一)
分支和循环(一)
|
8天前
|
C语言
分支和循环(二)
分支和循环(二)
|
2月前
|
C语言
分支和循环(2)
分支和循环(2)
35 3
|
2月前
|
C语言
分支和循环(1)
分支和循环(1)
22 0
|
2月前
|
Python
[重学Python] Day1 变量+分支+循环
[重学Python] Day1 变量+分支+循环
42 3
|
12月前
|
编译器 C语言
分支与循环(1)
分支与循环(1)
分支与循环(1)
|
8月前
|
程序员 编译器
分支与循环
分支与循环
|
12月前
|
监控 C++
分支与循环(2)(下)
分支与循环(2)(下)
|
12月前
|
C语言
分支与循环(3)
分支与循环(3)
|
12月前
|
C#
C#基础Ⅴ-顺序、分支、循环结构
C#基础Ⅴ-顺序、分支、循环结构