C语言分支循环语句的介绍及运用(下)

6 篇文章 0 订阅
5 篇文章 0 订阅

关于do-while循环

在循环语句中 do while 语句的使⽤最少,它的语法如下:

do
  语句;
while(表达式)

while 和 for 这两种循环都是先判断,条件如果满⾜就进⼊循环,执⾏循环语句,如果不满⾜就跳
出循环;
⽽ do while 循环则是先直接进⼊循环体,执⾏循环语句,然后再执⾏ while 后的判断表达式,表
达式为真,就会进⾏下⼀次,表达式为假,则不再继续循环。
举例:
用do-while语句在屏幕上打印1-10的值
int main()
{
int i = 1;
do
{
printf("%d ", i);
i++;
} while (i <= 10);
}

#include"stdio.h"
int main()
{
	int i = 1;
	do
	{
		printf("%d ", i);
		i++;
	} while (i <= 10);
}

在这里插入图片描述
⼀般 do while 使⽤在循环体⾄少被执⾏⼀次的场景下,所以较少⼀些。
假设输⼊⼀个正整数,计算这个整数是⼏位数?
例如:
输⼊:1234 输出:4
输⼊:12 输出:2

#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);
 }

这⾥并⾮必须使⽤ do while 语句,但是这个代码就⽐较适合使⽤ do while 循环,因为n即使是
0,也是1位数,要统计位数的

关于break和countine语句

在循环执⾏的过程中,如果某些状况发⽣的时候,需要提前终⽌循环,这是⾮常常⻅的现象。C语⾔中
提供了 break 和 continue 两个关键字,就是应该到循环中的。
• break 的作⽤是⽤于永久的终⽌循环,只要 break 被执⾏,直接就会跳出循环,继续往后执
⾏。
• continue 的作⽤是跳过本次循环 continue 后边的代码,在 for 循环和 while 循环中有所
差异的。

break

#include <stdio.h>
int main()
{
 int i = 1;
 while(i<=10)
 {
 if(i == 5)
 break;//当i等于5后,就执⾏break,循环就终⽌了
 printf("%d ", i);
 i = i+1;
 }
 return 0;
}

continue

#include"stdio.h"
int main()
{
	int i = 1;
	while (i <= 10)//由于下方i==5,回到了上面
	{
		if (i == 5)
			continue;
		printf("%d ", i);
		i++;//因为跳过i++所以死循环
	}
}

循环的嵌套

学习了三种循环 while , do while , for ,这三种循环往往会嵌套在⼀起才能更好的解决
问题,举例:
要从100~200之间找出素数,⾸先得有100-200之间的数,这⾥可以使⽤循环解决。
2. 假设要判断i是否为素数,需要拿2~~i-1之间的数字去试除i,需要产⽣2~i-1之间的数字,也可以使⽤
循环解决。
3. 如果2~i-1之间有数字能整除i,则i不是素数,如果都不能整除,则i是素数。

#include <stdio.h>
int main()
{
 int i = 0;
 //循环产⽣100~200的数字
 for(i=100; i<=200; i++)
 {
 //判断i是否为素数
 //循环产⽣2~i-1之间的数字
 int j = 0;
 int flag = 1;//假设i是素数
 for(j=2; j<i; j++)
 {
 if(i % j == 0)
 {
 flag = 0;//打印的为假(因为素数是1和他本身整除,此处余数为0,被除尽,故不是余数)
 break}
 }
 if(flag == 1)//打印的为真(是余数)
 printf("%d ", i);
 }
 return 0;
}

关于goto语句

#include"stdio.h"
int main()
{
again://设定一个字母
	printf("haha\n");//找到后,故打印(因为冒号:)
	goto again;//找到那个设定的字母
	return 0;
}

goto 语句如果使⽤的不当,就会导致在函数内部随意乱跳转,打乱程序的执⾏流程,所以我们的建
议是能不⽤尽量不去使⽤;但是 goto 语句也不是⼀⽆是处,在多层循环的代码中,如果想快速跳出
使⽤ goto 就⾮常的⽅便了。

for(...)
{
 for(...)
 {
 for(...)
 {
 if(disaster)
 goto error;
 }
 }
 }
error:
 //...

本来 for 循环想提前退出得使⽤ break ,⼀个 break 只能跳出⼀层 for 循环,如果3层循环嵌套
就得使⽤3个 break 才能跳出循环,所以在这种情况下我们使⽤ goto 语句就会更加的快捷。

以上就是我对循环语句的理解与运用,希望在大家编程的路上能带来一定的作用.

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值