c语言学习笔记_3

Posted z啵唧啵唧

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言学习笔记_3相关的知识,希望对你有一定的参考价值。


c语言学习笔记之循环语句

1.前言

在前面我们介绍了分支语句

if(条件)
{
	语句1}
else if(条件)
{
	语句2}
else
{
	语句3}

在这种if语句下,当我们的条件满足就能够执行下面的语句,但是执行完毕之后,就不能够再执行了,但在我们生活当中往往一件事情需要进行很多次,才能得到最终结果,所以同一件事我们要做很多次,那我们需要怎么做呢?在这里我们引入循环语句。
举个例子:
在这里插入图片描述
在这个流程图当中我们可以看到,傍富婆和勤奋学习这两个事情是在多次重复做的,这就是循环语句。

2.while循环

2.1while循环语法结构

//while语法结构
while(表达式)
	循环语句;

运用这个语句结构实现一下:
在屏幕打印1-10的数字

#include<stdio.h>
#include<windows.h>
int main()
{
	int i = 1;//条件初始化
	while (i <= 10)//条件判定
	{
		printf("%d ", i);
		i++;//条件更新
	}
	system("pause");
	return 0;
}

运行结果:
在这里插入图片描述
通过这样一个简单的例子,我们初步了解了while循环的基本语法。

2.2break语句

概念:break在循环语句中的作用就是在循环中只要遇到break,就停止break后期的所有循环,直接终止循环。
一个例子:

#include<stdio.h>
#include<windows.h>
int main()
{
	int i = 0;//条件初始化
	while (i < 10)//条件判定
	{
		printf("%d ", i);
		if (i == 5)
		{
			break;//while循环在这儿就停止了
		}
		i++;//条件更新
	}
	system("pause";
	return 0;
}

运行结果:
在这里插入图片描述

2.3continue语句

概念:continue语句在while循环中的作用也是一种终止循环,它和break的区别在于它不是全部终止,continue在执行时会终止本次continue后边的循环语句,直接跳转到while语句判断部分进行新的一次while循环。
一个例子:

#include<stdio.h>
#include<windows.h>
int main()
{
	int i = 0;
	while (i < 10)
	{
		
		if (i == 5)
		{
			i++;
			continue;//当i=5这一次就不会在执行最后的输出语句了,所以执行结果中不会包含5
		}
		printf("%d ", i);
		i++;
	}
		system("pause");
	return 0;
}

运行结果:
在这里插入图片描述

2.4while循环执行流程图

在这里插入图片描述

3. for循环

3.1for循环语法结构

for(表达式1;表达式2;表达式3)//表达式1:条件初始化;表达式2:条件判定;表达式3:条件更新
{
	循环语句;
}

一个例子:
在屏幕上打印出1-10的数字

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

运行结果:
在这里插入图片描述

3.2for循环中的break和continue语句

在for循环中也可以存在break和continue,意义同while一样,但是实际使用和while存在一些差别。
eg1:

#include<stdio.h>
#include<windows.h>
int main()
{
	int i = 0;
	for (i = 1; i <= 10; i++)
	{
		if (i == 5)//当i=5时直接跳出循环
		{
			break;
		}
		printf("%d ", i);
	}
	system("pause");
	return 0;
}

运行结果
在这里插入图片描述
eg2:

#include<stdio.h>
#include<windows.h>
int main()
{
	int i = 0;
	for (i = 1; i <= 10; i++)
	{
		if (i == 5)
		{
			continue;//从此处开始停止执行回到新一轮的for循环
		}
		printf("%d ", i);
	}
	system("pause");
	return 0;
}

运行结果:
在这里插入图片描述
注:在while循环中运用continue语句时一定要注意条件更新语句所在位置,防止出现死循环
如下:

#include<stdio.h>
#include<windows.h>
int main()
{
	int i = 0;
	while (i <= 10)
	{
		if (i == 5)
		{
			printf("continue ");//用来检测死循环
			continue;//一直卡死在i=5这个地方
		}
		printf("%d ", i);
		i++;
	}
	system("pause");
	return 0;
}

运行结果;
在这里插入图片描述

这样就会出现死循,,因为条件更新语句在continue后边,导致条件一直得不到更新就一直卡死。而for循环语句就不会出现这样的问题因为for循环的更新条件就在循环的最前边。

3.4for循环语句的流程图

在这里插入图片描述

3.4for循环的一些建议

1.不可以在for循环体内修改循环变量,防止for循环失去控制。
2.建议for循环语句的控制变量的取值采取前闭后开区间的写法

4.do while循环

4.1语法结构:

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

do语句的特点是:循环至少执行一次,其他用法和while基本一致。

4.2do while循环流程图

在这里插入图片描述

以上是关于c语言学习笔记_3的主要内容,如果未能解决你的问题,请参考以下文章

c语言学习笔记_4

c语言学习笔记_3

CUDA C Programming Guide 在线教程学习笔记 Part 3

Jsp入门EL表达式_学习笔记

算法笔记_213:第七届蓝桥杯软件类决赛部分真题(Java语言C组)

算法笔记_216:第六届蓝桥杯软件类校赛部分真题(Java语言C组)