当前位置:网站首页>从零开始的循环之旅(下)
从零开始的循环之旅(下)
2022-08-02 14:19:00 【随风的浪】
循环语句
前言
在上期中,我们掌握了 if 语句:
if(条件)
语句;
当条件满足的情况下,if语句后的语句执行,否则不执行。
但是这个语句只会执行一次。
很多情况下我们执行的某件事情需要反复执行,这时我们就需要使用 while 语句来实现循环。
1.1、while
while 语句如下:
while(表达式)
循环语句;
我们来看下面的例子,来更好的学习它。
#include <stdio.h>
int main() //在屏幕上打印1~10
{
int i = 1;
while(i<=10) //当i<=10时为真,执行while里的语句
{
//当i=11时为假,不执行while里的语句
printf("%d ", i);
i = i+1; //每次打印完i加一,再回到(i<=10)进行判断
}
return 0;
}
1.2、while语句中的break和continue
在上期的 switch 中,我们了解了 break ,那它在 while 语句中又是怎样的呢?
话不多说,我们上代码:
#include <stdio.h>
int main() //大家觉得最终输出结果是什么呢?
{
int i = 1;
while(i<=10)
{
if(i == 5)
break;
printf("%d ", i);
i = i+1;
}
return 0;
}
输出结果:1 2 3 4
从这个输出结果我们可以猜出 break 的作用就是退出循环了
下面我们再来看一下 continue 作用,话不多说直接上代码:
#include <stdio.h>
int main() //大家可以猜猜这个代码输出结果是啥
{
int i = 1;
while(i<=10)
{
if(i == 5)
continue;
printf("%d ", i);
i = i+1;
}
return 0;
}
输出结果:1 2 3 4
那么 continue 的作用是什么呢?
continue是用于终止本次循环的,也就是本次循环中 continue 后边的代码不会再执行,而是直接跳转到while语句的判断部分。进行下一次循环的入口判断。
2.1、for循环
我们来看一下 for 循环的语法:
for(表达式1; 表达式2; 表达式3)
循环语句;
表达式1为初始化部分,用于初始化循环变量的。
表达式2为条件判断部分,用于判断循环时候终止。
表达式3为调整部分,用于循环条件的调整。
我们来看个简单例子:
#include <stdio.h>
int main() //打印数字1~10
{
int i = 0;
for(i=1; i<=10; i++)
printf("%d ", i);
return 0;
}
对比 while 循环,for 循环更加简洁明了,更容易修改。
所以 for 循环的使用频率最高。我们也优先选择 for 循环。
2.2、for循环中的break和continue
在for循环中也可以使用break和continue,break 的作用不变,continue 略有差异。
我们上代码来看看吧
#include <stdio.h>
int main()
{
int i = 0;
for(i=1; i<=10; i++)
{
if(i == 5)
continue;
printf("%d ",i);
}
return 0;
}
我们来看输出结果吧 :1 2 3 4 6 7 8 9 10
这里的 continue 作用是直接回到 for 后面的 i++ ,也就是表达式3,使得5没有被打印。
3.1、do…while()循环
do语句的语法:
do
循环语句;
while(表达式);
do语句的特点:
循环至少执行一次,使用的场景有限,所以不是经常使用。
#include <stdio.h>
int main()
{
//打印1~10
int i = 1;
do
{
printf("%d ", i);
i=i+1;
}
while(i<=10); //若i<=10,进入循环语句
return 0;
}
3.2、do while循环中的break和continue
break 作用还是退出循环
我们来看看 continue 吧
#include <stdio.h>
int main()
{
int i = 1;
do
{
if(5 == i)
continue;
printf("%d ", i);
i=i+1;
}
while(i<=10);
return 0;
}
输出结果:1 2 3 4
那么 continue 的作用也就很明显了,就是直接去到 i<=10 ,也就是表达式里进行判断。
总结
break和continue的用法大同小异,记住这几点就没错了:
1、break 是退出该循环。
2、continue 是用于终止本次循环的,也就是本次循环中 continue 后边的代码不会再执行,而是直接跳转到循环语句的判断部分(for 循环是跳到表达式3)。
最后
如果有错误的地方还请大家指出,有问题也可以在评论区讨论,我们下期见。
边栏推荐
- 2021年华为杯数学建模竞赛E题——信号干扰下的超宽带(UWB)精确定位问题
- 一个简单的 erlang 的 udp 服务器和客户端
- 为什么 RTP 的视频的采样率是 90kHz ?
- 假的服务器日志(给history内容增加ip、用户等内容)
- Explain in detail how the bit manipulation operators in C language can be used?
- idea使用jdbc对数据库进行增删改查,以及使用懒汉方式实现单例模式
- 小知识点系列:数组与多维数组
- DOM —— 事件机制及事件链
- mongodb连接本地服务失败的问题
- Principles of permutation entropy, fuzzy entropy, approximate entropy, sample entropy and approximate entropy implemented by MATLAB
猜你喜欢
随机推荐
Principles of permutation entropy, fuzzy entropy, approximate entropy, sample entropy and approximate entropy implemented by MATLAB
支付系列文章:PCI合规能力建设
lammps聚合物建模——EMC
Scala的基础语法(小试牛刀)
ssm整合
smart_rtmpd 轻松突破 C100K 测试
在命令行或者pycharm安装库时出现:ModuleNotFoundError: No module named ‘pip‘ 解决方法
小知识点系列-基于H2数据库单元测试
一、QT界面开发 --QT安装
DOM - Event Delegate
【数据读写】csv文件与xls/xlsx文件
一分钟之内搭建自己的直播服务器?
Homebrew的简单介绍
DOM —— 事件代理
【故障诊断】基于PSO_VMD_MCKD方法的风机轴承微弱故障诊断
Mysql理解MVCC与BufferPool缓存机制
golang中使用泛型
Scala的安装和IDEA的使用(初入茅庐)
CPU缓存一致性协议MESI
Jenkins 参数化构建(Extended Choice Parameter)









