C语言——循环语句(详解)
目录
前言:
1.循环语句是什么?
2.while循环语句:
2.1.while循环的语法以及使用
2.2.while循环中的break语句
2.3.while循环中的continue语句
3.for循环
3.1.for循环的语法以及使用
3.2.对比while循环以及for循环
3.3.for循环中的break语句和continue语句
3.4.for循环的一些变种
4.do while 循环
4.1.do while循环语法以及使用
4.2.do while循环中的break语句和continue语句
总结
前言:
c语言中有三种循环语句:while循环、do while循环、for循环,下面我会一一介绍它们的用法和它们各自的特点。
1.循环语句是什么?
学会循环语句我们首先搞明白什么是循环语句。循环语句是用于重复执行某条语句(循环体)的语句,它包含三个部分,分别是初始化部分、判断部分和调整循环部分。C语言提供了3中循环语句,分别为while
语句,do while
语句和for
语句。
举个例子:
只要坚持买彩票和学习我们终会走上人生巅峰,当然这也是我举得不是那么不恰当的例子,图片中的黑线就是我们一直循环的部分,红线蓝线就是终止循环的条件。一个完整的循环语句不仅要有循环判断条件表达式,还要有循环语句。
2.while循环语句:
2.1.while循环的语法以及使用
while循环的语法结构类似选择语句中的if语句。
if(表达式){语句;}//while循环的语法
while(表达式)
{循环语句;
}
注意:当while循环的表达式为真时,程序进入循环体内执行循环体内的语句。
了解了语法结构,下面我来书写一个简单的小程序,通过while循环来打印1-10数字。运行代码如下:
#include<stdio.h>int main()
{int n = 1; //创建一个临时变量来存放打印的值//当表达式为真时才进入循环while (n <= 10){printf("%d ", n); n++;//调整循环的部分}return 0;
}
倘若没有调整循环的语句(n++),每次都是n=1进入while循环,程序会变成死循环,如下图所示:
while循环中一定要注意在循环体内调整循环的次数。
2.2.while循环中的break语句
在之前的switch语句学习中,我们知道break语句在选择语句是有打破该次语句的意思。在while循环内也是一样,当程序运行到break语句后会结束该次循环。下面我还是以上面代码为例加入break语句。
#include<stdio.h>int main()
{int n = 1; //创建一个临时变量来存放打印的值//当表达式为真时才进入循环while (n <= 10){if (n == 4)break;printf("%d ", n); n++;//调整循环的部分}return 0;
}
这时为什么屏幕上输出的是1 2 3呢?因为当n=3时n++后,程序进入循环,if(n == 4)语句为真,程序走到break语句的代码行,执行break语句后循环结束,所以屏幕上只会输出1 2 3.
break语句在while循环的作用:
在while循环中,只要遇到break就停止后期的所有的循环,直接终止循环。 所以:while中的break是用于永久终止循环的。
2.3.while循环中的continue语句
首先我给大家出一道题目
int main()
{int i = 1;while (i <= 10){if (i == 5)continue;printf("%d ", i);i = i + 1;}return 0;
}
请问当程序运行时,屏幕上输出的数字什么呢?
1 2 3 4
1 2 3 4 5
1 2 3 4 5 6 7 8 9 10
1 2 3 4 6 7 8 9 10
continue在while循环中的作用:
continue是用于终止本次循环的,也就是本次循环中continue后边的代码不会再执行, 而是直接跳转到while语句的判断部分。进行下一次循环的入口判断。
所以上面的程序当i++的值为5时,if(i == 5)为真,执行continue语句,本次循环结束返回while循环表达式进行判断。此时i依旧=5,又进入if( i ==5)语句中,再次执行continue语句。程序死循环了,所以屏幕上输出的是1 2 3 4
3.for循环
3.1.for循环的语法以及使用
for(表达式1; 表达式2; 表达式3)
{
循环语句;
}
表达式1为初始化部分,用于初始化循环变量的。
表达式2为条件判断部分,用于判断循环时候终止。
表达式3为调整部分,用于循环条件的调整。
下面使用for循环来打印1-10的数字,代码如下
#include<stdio.h>int main()
{int i = 0;for (i = 1; i <= 10; i++){printf("%d ", i);}return 0;
}
下面是运行的结果:
3.2.对比while循环以及for循环
#include<stdio.h>int main()
{int i = 0;//初始化部分;判断部分;调整循环部分for (i = 1; i <= 10; i++){printf("%d ", i);}return 0;
}int main()
{int n = 1; //初始化部分while (n <= 10)//判断部分{printf("%d ", n); n++;//调整循环的部分}return 0;
}
通过对比我们发现,由于语法问题while循环的三个部分的位置彼此之间并不想连,不方便集中管理和修改。for循环的三个部分相连,语法风格更胜一筹,这就是为什么for循环是最常用的循环语句。
3.3.for循环中的break语句和continue语句
还是和上面while循环代码一样
#include <stdio.h>
int main()
{int i = 0;for (i = 1; i <= 10; i++){if (i == 4)break;printf("%d ", i);}return 0;
}
代码运行结果:
break语句在while循环和for循环中的效果是一样的,都是终止其所在循环语句。
continue语句在for循环中的代码以及与运行结果:
#include <stdio.h>
int main()
{int i = 0;for (i = 1; i <= 10; i++){if (i == 5)continue;printf("%d ", i);}return 0;
}
这里我们可以看到,程序运行结束后并没有像while循环那样进入死循环,而是在屏幕上输出了1 2 3 4 6 7 8 9 10 这九个数。因为当i++ 后i = 5时,进入循环部分后,if(i == 5)为真,执行continue语句,然后不执行continue语句后面的部分,程序又回到 i++,然后程序直到 i <= 10 为假结束循环。所以当continue放在调整循环次数语句后面时,容易造成程序的错误。
3.4.for循环的一些变种
史上最简单for循环
int main()
{for (;;){printf("haha\n");}return 0;
}
for循环的初始化部分、判断部分、调整部分都是可以省略的,但是不建议随意省略,容易造成程序的错误。
当我们运行这个代码:
屏幕上无休止的输出"haha",这是因为我们省略了判断部分,调整部分。
for循环的嵌套
#include<stdio.h>int main()
{int i = 0;for (i = 0; i < 10; i++){int j = 0;for (j = 0; j < 10; j++){printf("hehe ");}printf("\n");}return 0;
}
运行程序时,本次循环会打印多少次"haha"呢?接下来我们让程序运行起来看看结果:
这里程序从外层循环进入,再通过 外层循环i进入内层循环 j中。0当 i=0 时,程序从外层循环来到 内层循环,进入内层循环后 ,内层循环只有在 j < 10 是终止循环 ,再从内层循环回到外层循环中。外侧循环的第一次循环结束,此时内层循环已经循环了10次 printf("hehe");。所以当外层循环执行完最后一次后,此时程序应该输出100(10 * 10) 次hehe。
如果省略掉初始化部分,下面的程序会打印多少个hehe?
#include<stdio.h>int main()
{int i = 0;int j = 0;for (; i < 10; i++){for (; j < 10; j++){printf("hehe ");}}return 0;
}
下面是代码的运行结果
为什么程序这里只打印了10个hehe呢?
让我们按键盘的f10进行调试,同时在打开监视窗口,打开监视窗口步骤如下:
此时我们对代码进行调试并且监视
下图为第一次执行打印以及j值得变化
下图为来到内循环最后一步
这时我们发现程序只进入了一次内循环,内循环结束后,程序返回外循环,此后程序不再进入内循环进行打印。所以屏幕上只打印了10个hehe 而不是100个hehe。省略初始化会导致程序不受我们的控制,建议不要随意省略for循环的初始化部分。
我们也可以通过多变量来控制for循环
int main()
{int i = 0;int j = 0;for (i = 0, j = 0; i < 2 && j < 5; ++i, j++){printf("hehe\n");}return 0;
}
代码运行结果:
这里因为当循环++i 等于 2时,for循环的判断部分为假,循环结束。所以只会打印两次。
最后我给大家留一道小小的题目,可以在留言区告诉我你的答案。
//请问该循环执行多少次?
#include <stdio.h>
int main()
{int i = 0;int k = 0;for(i =0,k=0; k=0; i++,k++)k++;return 0;
}
4.do while 循环
4.1.do while循环语法以及使用
do
{循环语句;
}while(表达式);
do while循环与while循环的语法类似,不同的是do while循环至少会执行一次循环体内的内容。因此使用场景有限,不是经常被使用。
下面是在屏幕上输出1-10数字,使用do while循环的代码
#include <stdio.h>
int main()
{int i = 1;//初始化部分do{printf("%d ", i);i = i + 1;//调整部分} while (i <= 10);//判断部分return 0;
}
4.2.do while循环中的break语句和continue语句
break语句实现:
#include <stdio.h>
int main()
{int i = 1;do{if (4 == i)//把常量放在前面可以避免出错break;printf("%d ", i);i = i + 1;} while (i <= 10);return 0;
}
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;
}
通过代码演示,可以发现do while循环中的continue语句和break语句与while循环中的用法和特点是一样的。
总结
本篇博客依次介绍了while循环、for循环 以及do while循环。循环语句是C语言语法中很重要的一环,看完了本篇博客也许你有些许收获,但是也请你一定要动手敲敲代码,实践是检验所学知识的重要途径。最后祝愿你能学有所成!
C语言——循环语句(详解)相关推荐
- c语言输入循环语句,C语言中输入输出和循环语句详解.ppt
C语言中输入输出和循环语句详解 C语言的输入输和循环分支语句详解 本章主要向大家介绍下C语言的输入和输出功能以及循环分支语句的使用 第4章 顺序结构程序设计 3.1 C语言语句 3.2 赋值语句 3. ...
- 单片机c语言常用的语句有几条,单片机C语言常用语句详解
<单片机C语言常用语句详解>由会员分享,可在线阅读,更多相关<单片机C语言常用语句详解(22页珍藏版)>请在人人文库网上搜索. 1.C51编程中常见语句的总结.首先,C51定义 ...
- smarty手册-smarty中foreach循环语句详解
原文地址:smarty手册-smarty中foreach循环语句详解作者:谭博 {foreach}循环也有自身属性的变量,可以通过{$smarty.foreach.name.property}访问,其 ...
- 单片机c语言常用语,单片机C语言常用语句详解
<单片机C语言常用语句详解>由会员分享,可在线阅读,更多相关<单片机C语言常用语句详解(22页珍藏版)>请在人人文库网上搜索. 1.C51编程常用语句总结,一.C51定义SFR ...
- C语言初级篇-----循环语句详解
目录 循环语句 一.while循环 二.for循环 三.do...while循环 四.循环语句练习 getchar 与 putchar 总结 循环语句 if 语句:当条件满足的情况下,if语句后的语 ...
- C语言详解系列——循环语句详解(1)while语句的语法结构
文章目录 while语句 break continue while语句 之前的学习中我们了解到了if语句的用法,这个语句只会执行一次,但在我们的生活当中有许多事情是需要重复去做的,那我们应该怎么实现呢 ...
- C语言详解系列——循环语句详解(3)do while语句的语法结构
文章目录 do while语句 do while语句中的break和continue break continue do while语句与while语句的不同点 简单练习 do while语句 之前的 ...
- C语言详解系列——循环语句详解(2)for语句的语法结构
文章目录 for语句 break与continue 关于if语句的建议 关于for循环的变种写法 一道笔试题 for语句 在之前的学习中我们已经了解到了循环结构中while语句的用法,那么为什么我们还 ...
- python循环语句-详解Python中的循环语句的用法
一.简介 Python的条件和循环语句,决定了程序的控制流程,体现结构的多样性.须重要理解,if.while.for以及与它们相搭配的 else. elif.break.continue和pass语句 ...
- C语言循环结构详解【基础知识点+例子】
循环结构 for循环 表达式结构: for(表达式1:表达式2:表达式3) {语句: } 表达式1:设置初始条件,只执行一次.可以为零个,一个,多个变量设置初值: 表达式2:是循环条件表达式,用来判断 ...
最新文章
- PyTorch 按索引赋值
- 专用人格计算机测验题目,《应征入伍公民体格检查心理检测标准(暂行)》
- Java中集合中根据对象的某个属性去重
- CentOS 6.9配置网卡IP/网关/DNS命令详细介绍及一些常用网络配置命令(转)
- 基于事件驱动架构构建微服务第10部分:在docker容器内运行单元测试
- [0630]Tyvj 1063 数字串
- vue中给window添加滚动监听无效的解决方案
- jQuery.validate 中文API
- java中将url下载并转换为MultipartFile文件
- 质量管理:PDCA循环
- armlinux开发板用户自动登录
- 2022年信息安全工程师考试知识点:信息安全法律法规
- java月利率计算(等额本息贷款)
- ES数据的操作(二)
- 对称加密php,PHP实现对称加密与解密
- Glide 显示圆形头像
- 翻新iPad可以购买吗?有什么需要注意的地方
- Parallels Desktop 16 网络初始化失败和不能连接USB设备解决方法
- PTA 1047 编程团体赛(c语言)
- JESD204B 参数理解