分支与循环结构(下):while语句、for语句、do...while语句

概要

本篇主要介绍C语言里的循环语句:while语句;for语句;do…while语句

while语句

while语句格式

while语句格式跟if语句格式相似,对比一下if跟while语句

if(表达式)
{
语句
}
while(表达式)
{
语句
}

都是对表达式进行判断,表达式结果为真,则执行代码段;为假则跳过改代码段,不同的是if只能执行一次,而while可以重复多次,而重复的次数则有表达式来决定。

小练习

循环打印9次“hehe”。

#include<stdio.h>
int main()
{
	int i = 0;
	while (i < 9)
	{
		printf("hehe\n");
		i++;
	}
	return 0;
}

其中“i<9”是判断表达式,“i++”是自动加1,i由0开始进行循环,一共循环9次,当循环进行到第10次时i已经加到了9,判定(9<9)为假,跳过循环。
运行结果如下(i由0加到9一共打印了9次):
在这里插入图片描述
这就是while语句,相对简单,接下来介绍for语句。

for语句

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

表达式1:对循环变量设置初值
表达式2:循环条件的判断
表达式3:对循环变量的调整
for语句的工作顺序是:
1.运行表达式1,对变量赋值
2.运行表达式2,对循环条件进行判断是否满足循环条件,满足条件运行代码段(也就是语句),不满足结束循环
3.运行代码段
4. 运行表达式3,对循环变量进行调整

小练习

打印1-10的数字

#include <stdio.h>
int main()
{
 int i = 0;
 for(i=1; i<=10; i++)
 {
 printf("%d ", i);
 }
 
 return 0;
}

循环变量由1开始运行,循环一次加1,打印当前循环变量的值,当加到11时不满不“i<=10”的条件,结束循环,在此期间一共循环了10次,刚好打印1-10的数字。
在这里插入图片描述
以上就是for循环的运行原理跟运行过程,以及一个简单的小练习,希望可以让您对for循环有更深的了解。

do…while循环

最后一部分内容来介绍一下do…while循环

do…while循环结构

在C语言循环语句中它do…while循环使用最少,它的结构如下:

do
语句;
while(表达式)

do…while语句与前两种有明显的差别,前两种都是先进行条件判断,在执行循环语句,而do…while语句是先进行一次循环再进行条件判断,判断结果为真进行下次循环,为假则不继续循环。

小练习

输⼊⼀个正整数,计算这个整数是⼏位数
这个练习比较适合用do…while循环,因为n如果是0,也是1位数。

#include <stdio.h>
int main()
{
 int n = 0;
 scanf("%d", &n);
 int cnt = 0;
 do
 {
 cnt++;
 n = n / 10;
 } while (n);
 printf("%d\n", cnt);
 return 0;
}

运行结果如图:
在这里插入图片描述
在这里插入图片描述
--------------------------------------------------分割符
在循环中有时候会用到break函数跟continue函数,break在上一篇文章里已经介绍过了,这里就不做过多解释了,接下来简单了解一下continue函数
continue 是继续的意思,在循环中的作⽤就是跳过本次循环中 continue 后边的代码,继续进⾏下⼀次循环的判断。他在不同的循环里面造成的影响不同。
一、在while循环里

#include <stdio.h>
int main()
{
 int i = 1;
 while(i<=10)
 {
 if(i == 5)
 continue;
 //当i等于5后,就执⾏continue,直接跳过continue的代码,去循环的判断的地⽅ //因为这⾥跳过了i = i+1,所以i⼀直为5,程序陷⼊和死循环
 printf("%d ", i);
 i = i+1;
 }
 return 0;
}

二、在for循环里

#include <stdio.h>
int main()
{
 int i = 1;
 for(i=1; i<=10; i++)
 {
 if(i == 5)
 continue;//这⾥continue跳过了后边的打印,来到了i++的调整部分 printf("%d ", i);
 }
 return 0;
}

大家可以复制去试着运行一下,运行结果的分析已经在代码里面标注了注释。
注:在for循环里continue并不会跳过“i++”这条代码,所以他的运行结果与while语句完全不同。

--------------------------------------------分隔符
至此本次介绍就全部结束了,感谢大家的观看,以上文章皆是我个人理解,如有错误请在评论区指正,谢谢大家

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值