【C语言—零基础第八课】循环结构与break continue

举报
昵称: 发表于 2022/03/23 17:59:25 2022/03/23
【摘要】 ​目录while()循环语句do-while语句for()循环语句Break和continueBreak语句continue语句   生活总最不缺的就是循环了,地球绕着太阳转、一周7天、一天24小时、一小时60分钟这就是循环。在C语言中也存着循环。如果让你使用C语言答应出100条“我喜欢C语言”,你会选择什么样的方法,我想你一定不想打出100条print(“我喜欢C语言\n”);太累了,又无...

目录

while()循环语句

do-while语句

for()循环语句

Break和continue

Break语句

continue语句



   生活总最不缺的就是循环了,地球绕着太阳转、一周7天、一天24小时、一小时60分钟这就是循环。在C语言中也存着循环。如果让你使用C语言答应出100条“我喜欢C语言”,你会选择什么样的方法,我想你一定不想打出100条print(“我喜欢C语言\n”);太累了,又无脑。所以我们学的循环结构就是用来解决这个问题的,循环语句有while、do-while、for。

while()循环语句

格式

While(条件){

语句;

}

执行条件:先判断条件,当条件为真是执行循环语句,直到条件为假结束循环。

int i = 1;
	while (i<=10)
	{
		printf("%d",i);
		i++;
	}

结果:12345678910

循环三要素:循环初值、循环条件、循环增量(步长值)

do-while语句

格式:do 语句

While(条件);

执行过程:先执行语句,在判断条件,当条件为真时继续执行循环语句,直到条件为假结束。

int i = 1;
	do
		printf("%d", i);
		while (i>5);

结果:1

int i = 1;
	do 
    printf("%d",i++);
		while (i<5);

结果:1234   i++使用的是后值用法 

Do-while和while循环语句的区别

Do-while至少执行一次循环,while语句可能一次也不执行。

Do-while循环语句的结束标志是;

for()循环语句

格式

For(条件一:初值;条件二:条件;条件三:增量){

语句;

}

for ( int i = 0;  i <= 100;  i++)
	{
		printf("%d\n",i);
	}

结果: 打印出0-100的值

计算1-100的累加和

int sum = 0;

	for ( int i = 1;  i <= 100;  i++)
	{
		sum += i;
	}
	printf("1-100的累加和为%d",sum);

 结果: 1-100的累加和为5050

For循环的特点:多用于指定初始值和已知终止条件的循环、循环次数可控

进入for循环先执行循环一的语句(在for循环中只执行一次),然后进行判断条件,如果成立则进入循环,然后下一次执行条件三——条件二是否成立然后依次这样的,直到条件不成立。

Break和continue

Break语句

Break语句:跳出终止当前的循环。

没有break的语句

for (int i = 1;i <= 5;i++) {
		printf("%d\n",i);
	}

 结果:

1
2
3
4
5

有break的语句

在for循环中

for (int i = 1;i <= 5;i++) {
		printf("%d\n",i);
		break;
	}

 结果:

1

程序只执行了一次就跳出了循环;

for (int i = 1;i <= 5;i++) {
		if (i == 3) {
			break;
		}

		printf("%d\n",i);
		
	}

 结果:

1

2

程序只执行到判断条件成立直接跳出for循环;

在while循环中

int i = 1;
	while (1) {//非0都为真,所以while的条件永远为真
		if (i > 5) { i>5 退出while循环
			break;
		}
		printf("%d\n",i++);
	}

 结果:

1

2

3

4

5

在switch循环中

我们可以利用break计算出每个月的天数,因为在switch中没有break就一直往下执行,直到遇到break停止。

int i ;
	scanf("%d",&i);
	switch (i)
	{
	case 1:
	case 3:
	case 5:
	case 7:
	case 8:
	case 10:
	case 12: printf("31");break;
	case 2:
	case 4:
	case 6:
	case 9:
	case 11:printf("30");break;
	default:
		printf("28或29");
		break;
	}

continue语句

continue:结束本次循环进行下一次循环

在for循环中

for (int i = 0;i <= 5;i++) {
		if (i == 4)continue;
		printf("%d",i);
	}

结果:01235

在while循环中

int i = 0;
	while (i++<5)
	{
		if (i == 4)continue;
		printf("%d",i);
	}

结果:1235

continue:不在选择语句中使用(switch语句),只在循环语句中使用。

循环嵌套

什么是嵌套:在一个循环体语句中又包含另一个循环语句,打个比方你现在正在看电视而电视屏幕中的人也在看电视。

例1:

for (int i = 0; i < 2; i++){
		for (int  j = 0; j < 1; j++)
		{
			printf("%d,%d\n", i, j);
		}
	}

 结果:

0,0
1,0

分析:我们可以看到第一次输出0,0即先执行外层for循环i=0,然后进入内层for循环i=0,输出0,0然后内层for循环j+1 等于1,1<1条件不成立执行外层for循环,i=1;然后内层for循环j=0 然后输出1,0 然后内层for循环等于1不符合条件退出外层for循环i=2不符合条件退出循环。

 例2:

for (int i = 0; i < 1; i++){
		for (int  j = 0; j < 5; j++)
		{
			if (i == 3) {

				break;
			}
			printf("j=%d\n", j);
		}
		printf("i=%d\n", i);
	}

结果:

j=0
j=1
j=2
j=3
j=4
i=0

break;语句是跳出距离它最近的for循环的。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。