C语言编程从入门到实践 第一章:初识C循环

Posted Zheng"Rui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言编程从入门到实践 第一章:初识C循环相关的知识,希望对你有一定的参考价值。

第一章 C语言的循环结构

前言

什么是循环?在任何语言中,循环结构都是非常重要的一部分,因为循环能帮助我们完成大量重复的工作。机器语言中只有0和1,机器的思维模式也非常简单,很多在我们看来很简单的问题,在机器眼中却异常复杂,这都是因为,机器有足够快速的运算去执行每一个重复工作,去计算问题。就比如,在【1,5,4,15,26,75,11,45,35,46】中找出最大的数字,我们人类可能一眼就看出来了,但是机器却要一个一个数字的比较去找出来。
这种思维方式看似笨拙,但实际上,这是机器独有的优势,因为机器有着超高的计算能力,所以它能够承受这种‘复杂的’运算。
当然,说了这么多,只是想指出,机器的这种特点可以成为我们编程的有利工具,在编程时,需要熟练使用循环结构,不仅可以简化编程,还可以提供一个简洁的设计思路。
C语言中有三种循环结构,分别是for循环,while循环和do~while循环
下面分别介绍这三种循环。

一、for循环

1.for循环的语法结构

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

这里的表达式1,用来做数据的初始化,表达式2是循环的控制结束条件,表达式3是每一次循环都要做的代码,用于步进循环条件。

2.for循环实例

下面看一个简单的for循环实例

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

这就是一个简单的打印0到9的for循环语句,可以看到,只有两条语句,就能实现打印的任务,其中,int i = 0;是初始化数据,i<10 是循环继续的条件,每执行一次循环体都要执行一次i++;

二、while循环

1.while循环的语法

while(循环条件){
	循环体;
}

在while循环中,while后面首先接小括号,小括号中提供循环继续的判断条件,之后的花括弧中写入循环语句。

2.while循环实例

以上个实例为例,在while循环中,实现同样的功能:

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

在这个实例中,我们可以看到,while和for循环的区别,在while循环中,因为语法结构的不同,数据的初始化,条件判断,步进执行被写在了程序的不同位置,而在for循环中,这三个语句较为集中,这也就导致了,在实际编写程序时,我们会更多的编写for循环的代码。

三、do~while循环

do~while的语法结构

do{
	循环体;
}while(判断条件);

在do~while循环中,从语法中可以看到,不管循环条件是否满足,都会执行一次循环体,然后再进行循环条件的判断。这种语法确实能够在特定的时候满足编程的需求,但是,同时如果编写不严谨,就可能出现问题,比如下面这串代码

int i = 0;
do{
printf("%d ",i);
i++;
}while(i > 0);

在这个程序中,我们不希望打印数字,但是,使用do~while循环使得这个程序进入了死循环,出现错误。

四、break 和 continue的使用

在循环中,我们经常需要使用一些技巧来提前结束循环或跳过当前循环。这就需要使用到这两个关键字。其中,break的作用是跳过整个循环,而continue的作用是跳过当前循环。
举个简单的例子:教室里,老师让同学们轮流唱歌(这就类比于一个循环),从第一个同学开始,到第二个,第三个,第四个同学时,如果使用break语句终止整个循环,就相当于,老师在第四个同学唱完之后,说不唱歌了,进行下一个游戏。而如果使用continue语句,就相当于,第四个同学唱的太难听了,刚唱到一半,老师就让他坐下,让下一个同学继续唱。

下面以具体代码为例讲解:

for(int i = 0;i < 10; i++){
	if(i == 5){
		break;//此时,只打印了0到4,然后退出了循环,之后的数字不在打印
	}
	printf("%d ",i);
}

for(int i = 0;i < 10; i++){
	if(i == 5){
		continue;//此时,跳过打印数字5,之后会继续打印数字6,7,8....
	}
	printf("%d ",i);
}

总结

在本章中,我们学习了三种循环结构,和两个关于循环的关键字,break和continue。我们需要注意区别这三种循环结构的使用方法,在使用中,我们一般不适用do~while循环,但是,并不是说,do-while循环不能实现另外两个循环能够实现的内容,在编程上,这三种循环都是可以互相转换的。
还有,break和continue只能使用在循环语句中,(除了switch语句),要注意在不能再其他场合使用。

以上是关于C语言编程从入门到实践 第一章:初识C循环的主要内容,如果未能解决你的问题,请参考以下文章

Python-入门基础-《Python编程-从入门到实践》-第一章

《C语言深度剖析》第一章 关键字详解 p4 C语言从入门到入土(进阶篇)

C语言基础自学图文第一章第一节

C语言从入门到入土(入门篇P3)

初识Python第一章

社区共读《Python编程从入门到实践》第一天阅读建议