您现在的位置是:首页 >学无止境 >C语言:循环语句(while循环、for循环)网站首页学无止境

C语言:循环语句(while循环、for循环)

行十万里人生 2023-05-31 00:00:03
简介C语言:循环语句(while循环、for循环)

目录

一、 while循环

1. break 的功能

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

2. continue 的功能

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

二、 for循环

1. for循环语法

2. for循环中的 break 和 continue

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

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

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

4. for循环的一些变种


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


一、 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
");
	}
	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("
");
	}
	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("
");
	}
	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;
}
//多变量控制循环

本篇文章到此结束! 

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。