☀️光天化日学C语言☀️(32)- continue 关键字 | 下一个!
Posted 英雄哪里出来
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了☀️光天化日学C语言☀️(32)- continue 关键字 | 下一个!相关的知识,希望对你有一定的参考价值。
🔥让天下没有难学的算法🔥
C语言免费动漫教程,和我一起打卡! 🌞《光天化日学C语言》🌞
入门级C语言真题汇总 🧡《C语言入门100例》🧡
几张动图学会一种数据结构 🌳《画解数据结构》🌳
组团学习,抱团生长 🌌《算法入门指引》🌌
竞赛选手金典图文教程 💜《夜深人静写算法》💜
一、前言
本文作者是从 2007 年开始学 C语言 的,不久又接触了C++,基本就是 C/C++ 技术栈写了 14 年的样子,不算精通,但也算差强人意。著有《夜深人静写算法》系列,且承诺会持续更新,直到所有算法都学完。主要专攻 高中 OI 、大学 ACM、 职场 LeetCode 的全领域算法。由于文章中采用 C/C++ 的语法,于是就有不少读者朋友反馈语言层面就被劝退了,更何况是算法。
于是,2021 年 06 月 12 日,《光天化日学C语言》 应运而生。这个系列文章主要服务于高中生、大学生以及职场上想入坑C语言的志同道合之人,希望能给祖国引入更多编程方面的人才,并且让自己的青春不留遗憾!
这一章的主要内容是 continue 关键字。
【这里补个图片别忘了哟~】
二、人物简介
- 第一位登场的就是今后会一直教我们C语言的老师 —— 光天。
- 第二位登场的则是今后会和大家一起学习C语言的没什么资质的小白程序猿 —— 化日。
三、continue 关键字简介
continue
是一个关键字,continue;
是一个语句,区别就在于后者加了个分号。continue;
主要作用是跳过循环体中剩余的语句而强制进入下一次循环,主要用在两个地方:
1)while
/do while
语句中;
2)for
语句中;
四、for 中的 continue
- 对于一个字符串,我们输出时要求屏蔽一些字符,可以利用如下代码实现:
#include <stdio.h>
#include <string.h>
int main() {
int i;
char s[1000];
while(scanf("%s", s) != EOF) {
for(i = 0; s[i]; ++i) {
if(s[i] == 'x') continue; // (1)
printf("%c", s[i]);
}
puts("");
}
return 0;
}
- 上文中
(
1
)
(1)
(1) 的地方代表遇到字符
'x'
时,跳过本次循环,这样一来,它就会执行i++
这个表达式,而不会执行printf("%c", s[i]);
这个语句。从而起到跳过输出字符'x'
的作用。
五、while 中的 continue
- 对于 while 语句,我们是否也可以利用如下代码实现:
#include <stdio.h>
#include <string.h>
int main() {
int i;
char s[1000];
while(scanf("%s", s) != EOF) {
i = 0;
while(s[i]) {
if(s[i] == 'x') continue; // (1)
printf("%c", s[i]);
++i;
}
puts("");
}
return 0;
}
- 这段代码是有漏洞的,设想一下
(
1
)
(1)
(1) ,如果遇到
s[i] == 'x'
条件成立,那么执行continue;
以后,i
的值其实不会自增,这样就会导致s[i] == 'x'
条件一直成立,从而导致一直循环。 - 我们可以把代码改成如下形式:
#include <stdio.h>
#include <string.h>
int main() {
int i;
char s[1000];
while(scanf("%s", s) != EOF) {
i = -1; // (1)
while(s[++i]) { // (2)
if(s[i] == 'x') continue;
printf("%c", s[i]);
}
puts("");
}
return 0;
}
-
(
1
)
(1)
(1) 初始化
i
从 − 1 -1 −1 开始,每次循环先自增i
,这样无论有没有continue;
,本次循环下,i
的值都已经确定自增过了,不会产生死循环的情况。
通过这一章,我们学会了:
用 continue 来跳过本次循环;
- 希望对你有帮助哦 ~ 祝大家早日成为 C 语言大神!
课后习题
- 【第01题】A + B | 四种输入方式,开启刷题的序章
- 【第02题】给定 n,求 1 + 2 + 3 + … + n 的和 | 四种解法
- 【第57题】给定一个无序整型数组,再给出一个数字,求数字是否存在于数组中
🔥让天下没有难学的算法🔥
C语言免费动漫教程,和我一起打卡! 🌞《光天化日学C语言》🌞
入门级C语言真题汇总 🧡《C语言入门100例》🧡
几张动图学会一种数据结构 🌳《画解数据结构》🌳
组团学习,抱团生长 🌌《算法入门指引》🌌
竞赛选手金典图文教程 💜《夜深人静写算法》💜
以上是关于☀️光天化日学C语言☀️(32)- continue 关键字 | 下一个!的主要内容,如果未能解决你的问题,请参考以下文章
☀️光天化日学C语言☀️(33)- 函数入门 | 开启下一个篇章!
☀️光天化日学C语言☀️(29)- while 语句 | 死循环啦!