[C语言]- 初阶-1.1循环语句

一、循环语句概况

        1.设置循环语句的原因

                在生活中,我们一件事情可能要多次进行,而顺序结构和分支结构每一段代码只能执行一次,多次执行需要重复书写代码,让代码显得冗杂,这时,循环语句能充分简化代码,实现更多的功能

        2.循环语句分类

                while

                for

                do while

        3.循环语句的展示

                

 二、while语句

        1.语法结构

while (/*表达式*/)
{
	//循环语句
}

        2.实现1-10的打印

#include<stdio.h>

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

	return 0;
}

        2.1对代码块的分析

                1.循环语句都由三部分:所需变量的初始化判断调整变量大小

                2.虽然在该程序中,初始化部分,判断部分,和调整部分一目了然,但是,当while循环的循环体部分过于庞大时,三部分会相隔甚远,会造成一定的不便,所以,有了for循环来解决这个问题

三、for循环

        1.语法结构

for (初始化; 判断; 调整)
{
	//循环语句
}

        2.执行流程

                 for循环执行过程中,只会初始化一次,然后判断,循环语句,调整依次执行,直到判断条件为假后终止

        3.注:

                尽量不要在循环过程中改变循环变量,减少死循环的发生

        4、for循环的变种

                4.1.省略条件

#include <stdio.h>
int main()
{
	for (;;)
	{
		printf("hehe\n");
	}
}

                for循环中的初始化部分,判断部分,调整部分是可以省略的,但是不建议初学时省略,容易导致问题。

                4.2省略初始化条件

#include <stdio.h>
int main()
{
	int i = 0;
	int j = 0;
	for (; i < 10; i++)
	{
		for (; j < 10; j++)
		{
			printf("hehe\n");
		}
	}
}

                省略初始化条件导致 j 的值在第一次循环结束后就变为了11, 后面进入循环时 j 都为11,无法进入第二层循环

                4.2.使用多余一个变量控制循环
        

#include <stdio.h>
int main()
{
	int x, y;
	for (x = 0, y = 0; x < 2 && y < 5; ++x, y++)
	{
		printf("hehe\n");
	}
	return 0;

}

四、do while 循环

        1.do while 循环的特点

                与for循环和while循环不同,do while 循环会先执行一遍循环语句,再判断需不需要接着进行循环

        2.语法结构

do
{
	//循环语句

} while (判断条件);

五、循环中的break

        1.break的作用

                在循环中一旦执行到break,程序就会终止并跳出它所在的一层循环

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

六、循环中的continue

        1.continue的作用

                continue可以跳过本次循环中 continue 之后的所有代码。(不包括 do while 循环的判断部分)

        2.for循环中的continue

        

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

                对于for循环来说,continue仅仅跳过本次循环,不影响后续循环的正常运行

        2.while循环,do while循环中的continue 

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

                这两种情况的输出结果都为死循环

                 出现这种情况的原因:continue跳过后续代码的同时,调整部分也一并跳过,导致条件还按照上一次的条件判断和继续执行continue,导致了代码的死循环。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值