欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

使用C语言编写循环语句(while循环、for循环)

最编程 2024-08-11 22:05:31
...

延续上文,本篇中我将为你们介绍循环语句。


一、 while循环

在if语句中,如果条件满足,则执行语句内容,否则不执行。但是语句只能执行一次。

C语言中,为我们引入了 while语句,可以在条件满足的情况下,实现语句内容的多次执行

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

如上代码,我们就可以一次性把1~10所有整数打印在屏幕上。

如果我们加上一点要求,比如:1、当 i > 5 时,不再打印;2、在打印 1 ~ 10 的过程中跳过5。

为了实现 1 , 2 ,我们需要引入两个新的关键词: breakcontinue

1. break 的功能

图1:

网络异常,图片无法展示
|

当 i > 5 时,执行 if 语句中的 break ,终止循环。

图二:

网络异常,图片无法展示
|

图一图二 进行对比 ,我们可以得出结论:

break 能够终止 其所在的 while 循环。

2. continue 的功能

网络异常,图片无法展示
|

网络异常,图片无法展示
|

continue 的作用总结:

本次循环中continue后边的代码不会再执行

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

 


二、 for循环

1. for循环语法

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

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

表达式 2: 条件判断部分,用于判断循环是否继续进行;

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

这里,我将用for循环 为读者演示 while循环部分 代码功能的实现;

打印1 ~ 10 的数字:

网络异常,图片无法展示
|

for (i = 1; i <= 10; i++)
{    //i=1 初始化循环变量 ; 判断循环终止条件 ; 调整循环变量 
  printf("%d ", i);
}

2. for循环中的 break 和 continue

break:

网络异常,图片无法展示
|

continue:

网络异常,图片无法展示
|

可以看出,for循环中 break 和 continue 在功能上 与 二者在while循环中并无不同

3. for语句的循环控制变量

不可在for 循环体内修改循环变量,防止 for 循环失去控制

在这里,我故意写一个错误代码:

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

这里是运行结果:

网络异常,图片无法展示
|

(死循环地打印 5 )

4. for循环的一些变种

//代码1

for循环中的初始化部分,判断部分,调整部分是可以省略的

#include<stdio.h>
int main()
{
  for (;;)
  {
    printf("hehe\n");
  }
  return 0;
}

(死循环打印"hehe")

(建议新手不要这么用)

//代码2

#include<stdio.h>
//代码2
int main()
{
  int i = 0;
  int j = 0;
  for (; i < 4; i++)
  {
    for (; j < 4; j++)
      printf("hehe ");
        printf("\n");
  }
  return 0;
}
//给出代码3,供读者比较
//代码3
int main()
{
  int i = 0;
  int j = 0;
  for (i = 0; i < 4; i++)
  {
    for (j = 0; j < 4; j++)
      printf("hehe ");
    printf("\n");
  }
  return 0;
}

读者觉得 代码2 的运行结果 与代码3 相比如何?

代码2:

代码3 :

之所以两段代码在结果上产生不同,其原因在于 代码3 中第二个for循环起始都对 j进行了初始化 。

//代码4

#include<stdio.h>
int main()
{
  int i = 0;
  int j = 0;
  for (i = 0, j = 0; i < 2 && j < 5; ++i, j++)
  {
    printf("hehe ");
  }
  return 0;
}
//多变量控制循环

本篇文章到此结束!