C语言——分支语句 and 循环语句2

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

这串代码输出的结果是什么呢?

d608a4c793fb4fadbc2b7d17d689ddab.png

很显然他只输出了1-4

总结:

break在while循环中的作用:

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

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

continue介绍

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

这串代码又会输出什么呢?

2a82f4e386104e66970f4a96bbe4a796.png

我们会发现程序到这里就崩掉了,崩掉的原因是什么呢?

我们来看看这串代码:

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

运行结果>

4ef1dfa51c9b43b09ceb93388a79c076.png

总结:

continue在while循环中的作用就是:

continue是用于终止本次循环的,也就是本次循环中continue后边的代码不会再执行,

而是直接跳转到while语句的判断部分。进行下一次循环的入口判断


3.2for循环

我们已经知道了while循环,但是我么为什么还要一个for循环呢?

首先来看看for循环的语法:

3.2.1语法

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


表达式1

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

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

表达式3

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

实际应用

使用for循环 在屏幕上打印1-10的数字。

#include <stdio.h>
int main()
{
int i = 0;
//for(i=1/*初始化*/; i<=10/*判断部分*/; i++/*调整部分*/)
for(i=1; i<=10; i++)
{
printf("%d ", i);
}
return 0;
}



25b555a1e6334116adef5a40ccdfcb44.png

3.2.1break和continue在for循环中

for循环中的break 和continue和while循环中的意义是一样的

但还是有点点差异:

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


a6f34c2f37e543d3bb1c7e7dc2ae9f02.png


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

5458390c5b384307a3c1b873f4ba3da8.png

3.3do…while()循环

3.3.1do语句的语法:

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

3.3.2执行流程

981f8d97d8a14fdb9b505ca8a7665a91.png

3.3.3do语言的特点

循环至少执行一次,使用的场景悠闲,所以不是经常使用。

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


f6d1d958dc43460693fd54b32bdc5777.png


3.3.4do while循环中的break和continue

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


这里就不做演示了效果与上面相同

4.go to语句

C语言中提供了可以随意滥用的 goto语句和标记跳转的标号。

从理论上 goto语句是没有必要的,实践中没有goto语句也可以很容易的写出代码。

但是某些场合下goto语句还是用得着的,最常见的用法就是终止程序在某些深度嵌套的结构的处理过

程。

例如:一次跳出两层或多层循环。

多层循环这种情况使用break是达不到目的的。它只能从最内层循环退出到上一层的循环。

goto语言真正适合的场景如下:


for(...)
  for(...)
 {
    for(...)
   {
      if(disaster)
        goto error;
   }
 }
error:
if(disaster)
    // 处理错误情况

下面是使用goto语句的一个例子,然后使用循环的实现方式替换goto语句:

一个关机程序

#include <stdio.h>
int main()
{
  char input[10] = { 0 };
  system("shutdown -s -t 60");
again:
  printf("电脑将在1分钟内关机,如果输入:我是猪,就取消关机!\n请输入:>");
  scanf("%s", input);
  if (0 == strcmp(input, "我是猪"))
  {
    system("shutdown -a");
  }
  else
  {
    goto again;
  }
  return 0;
}



相关文章
|
29天前
|
C语言
初识C语言2——分支语句和循环语句
初识C语言2——分支语句和循环语句
64 5
|
13天前
|
C语言
【c语言】分支语句
C语言通过三种基本结构——顺序、选择和循环,构建复杂的程序逻辑。本文主要介绍了C语言的选择结构,即if-else语句及其变体,包括简单的if语句、if-else组合、else if多分支判断、嵌套if以及解决悬空else问题的方法。此外,还详细讲解了逻辑运算符和关系运算符的使用,以及如何利用条件操作符简化逻辑判断。最后,文章对比了if-else与switch语句在实现多分支逻辑时的应用,并解释了switch语句中的break和default关键字的作用。
25 8
|
13天前
|
C语言
【c语言】循环语句
循环结构是C语言中用于简化重复操作的重要工具,主要包括while循环、do-while循环和for循环。while循环是最基本的形式,通过不断检查条件来决定是否继续执行循环体。do-while循环则先执行循环体,再检查条件,至少执行一次。for循环逻辑更复杂,但使用频率最高,适合初始化、条件判断和更新变量的集中管理。此外,循环中还可以使用break和continue语句来控制循环的提前终止或跳过当前迭代。最后,循环可以嵌套使用,解决更复杂的问题,如查找特定范围内的素数。
28 6
|
30天前
|
Serverless C语言
C语言控制语句:分支、循环和转向
C语言控制语句:分支、循环和转向
|
23天前
|
C语言
教你快速理解学习C语言的循环与分支
教你快速理解学习C语言的循环与分支
14 0
|
24天前
|
小程序 C语言
初识C语言:走近循环
初识C语言:走近循环
|
22天前
|
C语言 C++
C语言 之 内存函数
C语言 之 内存函数
30 3
|
C语言
《C语言及程序设计》实践项目——三种循环语句
返回:贺老师课程教学链接  【项目1:利用循环求和】求1000以内所有偶数的和要求:请编出3个程序来,分别用三种循环语句完成,注意体会各种循环语句的执行过程及语法特点。[参考解答]【项目2:求阶乘】输入n,求 n! 并输出[参考解答] 【项目3:输出这样的整数】输出1000以内能被3整除且个位数为6的所有整数。请在下面代码的基础上完成程序: #include &lt;stdio.h&gt; i
1019 0
|
13天前
|
存储 缓存 C语言
【c语言】简单的算术操作符、输入输出函数
本文介绍了C语言中的算术操作符、赋值操作符、单目操作符以及输入输出函数 `printf` 和 `scanf` 的基本用法。算术操作符包括加、减、乘、除和求余,其中除法和求余运算有特殊规则。赋值操作符用于给变量赋值,并支持复合赋值。单目操作符包括自增自减、正负号和强制类型转换。输入输出函数 `printf` 和 `scanf` 用于格式化输入和输出,支持多种占位符和格式控制。通过示例代码详细解释了这些操作符和函数的使用方法。
30 10
|
6天前
|
存储 算法 程序员
C语言:库函数
C语言的库函数是预定义的函数,用于执行常见的编程任务,如输入输出、字符串处理、数学运算等。使用库函数可以简化编程工作,提高开发效率。C标准库提供了丰富的函数,满足各种需求。