0
点赞
收藏
分享

微信扫一扫

C语言零基础入门—循环结构程序设计

菜头粿子园 2022-10-17 阅读 227

C语言零基础入门—循环结构程序设计-2


任务:

    三种循环的比较

    循环的嵌套

    break与continue的再次比较



1.  三种循环的比较

其实三种循环在我看来都是一样的,实在要说有什么不一样那就是:每一种循环中,可以人为设置的参数,属性的位置不同而已

三种循环都要有:初始参数,循环终止条件,每一次循环后的处理。这三部分的内容。但是三种循环对他们放置的位置不同。


1.1 差异比较

for循环比较简洁,直接把这三个信息的位置给固定好了,就写在他的小括号内就可以了。

其余两个while的初始参数都写在进入循环之前的地方,循环终止条件都写在小括号内,每一次循环后的处理都写在大括号的最后就可以了。

至于循环体就不说了,因为都是在打括号内


1.2 各自特点

值得一提的就是:

- for循环一般用于 **已知循环次数的时候**。
- do...while会在**循环条件判断之前**就执行一下循环的内容,所以用到的时候一定要考虑好循环次数表达式该怎么写。
- while循环一般可以把他写成死循环 用来提示每一次操作后的消息提示。

Tips:三种循环一般熟练使用for,然后其他两个任选其一使用,另一个知道有他的存在就好了。开发中最常用的就是for与while,很少见到do...while。


2. 循环的嵌套

三种循环可以做到你中有我,我中有你的效果。也就是说任意一个循环中都可以 再加入三个循环中的任何一个,而且这种嵌套可以是很多很多层的,(一般不建议超过三层,因为层数越多,效率越低)。

栗子:




while( ... ){

for( ...;...;...){

do{
...
}while(...);

}

while( ... ){

while( ... ){
...
}

}

}


3. 循环的中断

我们在使用循环的时候,有些取值并不是我们想要的,因此需要控制循环的执行,让循环在适当的地方停止。

我们控制循环有两种方式,这两种方式我们之前提到过,就是break与continue。前边讲过一点点,我们在循环这里在讲一遍它的作用。


3.1 break

break的作用比较强,可以中止整个循环。


3.1.1 break栗子-1


#include <stdio.h>
#include <stdlib.h>

void main()
{

for( int i=0 ; i < 10; i++){

if(i == 3){
break;
}

printf(" i 的值是:%d \n",i);
}

printf("循环 i 之后的内容\n");

}

执行结果

C语言零基础入门—循环结构程序设计_#include

看,是不是很神奇吖,整个循环还没输出完,就被结束了。这个程序很简单的,就是只要程序执行到了break,那么这个循环就会完全结束,跳出循环往下执行。

3.1.2 break栗子-2


上边的例子只能证明break具有中止整个循环的作用,但是还不足以完全说明它的特性,那么什么是break的特性呢?就一句话:break 只会 终止距离他最近的一个循环

如果要说明break的特性,请看下边的栗子。



#include <stdio.h>
#include <stdlib.h>

void main()
{

for( int i=1 ; i <= 5; i++){

for(int j=1 ; j <= 5; j++){

if(j == 3){
break;
}
printf(" j 的值是:%d \n",j);

}

printf(" *** i *** 的值是:%d \n",i);
}

}


结果

C语言零基础入门—循环结构程序设计_嵌套_02

结果分析

C语言零基础入门—循环结构程序设计_#include_03

3.2 continue


continue的作用效果没有break那么强烈,它的作用只是小范围的。它的作用就是:终止循环中的某一次循环,而不是结束整个循环。看下边栗子。




#include <stdio.h>
#include <stdlib.h>

void main()
{

for( int i=0 ; i < 10; i++){

if(i == 3){
continue;
}
if(i == 6){
continue;
}

printf(" i 的值是:%d \n",i);
}

printf("循环 i 之后的内容\n");

}


运行结果

C语言零基础入门—循环结构程序设计_嵌套_04

结果分析

C语言零基础入门—循环结构程序设计_嵌套_05

结束


最近有点忙,忙着准备毕设的内容,所以有点托更了。

下节课我会找一下题目,总结下我们循环的内容。


C语言零基础入门—循环结构程序设计_嵌套_06


举报

相关推荐

0 条评论