分支与循环(2)——循环结构

本文详细介绍了C语言中的while、do-while、for循环以及循环嵌套的概念和使用方法,同时提到了goto语句的用法及其注意事项。通过实例展示了这些循环结构在实际编程中的应用。
摘要由CSDN通过智能技术生成

目录

一,while语句

二,do-while语句

三,for循环

四,循环嵌套

五,goto语句


接下来开始循环语句

一,while语句

while语句与if语句有些相似,都是根据判断条件的值来决定是否执行花括号内的执行语句的。两者的区别在于,while语句会反复地进行条件判断,只要条件成立,“{}”中的语句会一直执行。

while语句语法格式如下:

while(循环条件)
{        //只有一句时可以加可以不加,有 多个语句时必须加括号
      执行语句   //也叫循环体
}

流程:先判断循环条件,值为0,结束循环;循环条件不为0,则执行循环语句,语句执行完再继续判断循环条件,为0结束循环,不为0继续执行,由此形成一个循环。

举个例子说明:

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

i初始值为1,代入循环条件内进行判断,执行循环体,输出i的值,再将i+1赋值给i,再对循环条件进行判断,执行循环体,直到循环条件为0,结束循环,输出1—10的值。


二,do-while语句

在循环语句使用中,do-while语句的使用较少,do-while语句与while语句的功能类似,二者不同之处在于,while语句是先判断循环条件,如何根据判断结果来决定是否执行花括号中的代码,而do-while语句则是先执行一次循环体,然后再判断循环条件。

中心思想:至少执行一次循环语句。

do-while语句语法格式如下:

do
{
     执行语句;
}while(循环条件);

流程:先执行一次循环语句,再去执行循环条件,循环条件为0,结束循环;循环条件不为0,执行循环语句,直到循环条件为0。

例:判断一个数是几位数

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

三,for循环

for循环是三种循环中使用最多的,for的语法格式如下:

for(初始表达式1;循环条件2;操作表达式3)   //注意分号不能少哦
{
    执行语句4;
}

流程:首先执行表达式1(初始化表达式),接下来执行表达式2(循环条件),如果表达式为0,结束循环;表达式不为0,则执行语句,循环语句执行完之后去执行表达式3(操作表达式),再去表达式2能力进行判断停止循环或者继续执行语句。

整个循环过程中,初始化表达式只被执行一次,剩下的就是循环条件,操作表达式,循环语句在执行语句。

例:输出1~10

#include <stdio.h>
int main() 
{
	int i = 0;
	for (i = 1; i <= 10; i++) //循环顺序为1-2-4-3-2-3···结束循环
	{ 
		printf("%d ", i);
	}
	return 0;
}

注:

表达式1,2,3均可省略,但一般不可以省略

表达式1(初始化表达式)省略时,相当于省去了循环变量的初始值,此时需要在for语句之前赋值变量的初始值;

表达式2(循环条件)省略时,表示不判断循环条件,始终认为循环条件为真,此时循环会一直执行下去,形成死循环;

表达式3(操作表达式)省略时,没有操作表达式,如果循环条件为真,则循环无法结束。


四,循环嵌套

循环嵌套就是将三种循环嵌套一起使用,分为内层循环和外层循环,这样方便我们解决问题。

例:遍历某个范围的完美数

完美数:所有因子和等于本身的数。

#include<stdio.h>
int main()
{
	long int i, j, sum, num;//定义外层循环变量,内层循环变量,真因子和,查找范围
	printf("请输入要从查找的范围:\n");
	scanf("%d", &num);
	printf("%d范围内有以下完美数:\n", num);
	for (i = 2; i <= num; i++)   //外层循环,遍历2~num的数
	{
		sum = 0;
		for (j = 1; j < i; j++)  //内层循环,遍历小于i的数
		{
			if (i % j == 0)  //判断是否为真因子
				sum += j;
		}
		if (sum == i)     //判断真因子和是否等于原数
			printf("%d\n", i);
	}
	return 0;
}


五,goto语句

​
C语⾔提供了⼀种⾮常特别的语法,就是 goto 语句和跳转标号,
 goto 语句可以实现在同⼀个函数内跳转到设置好的标号处。

​

例:

#include <stdio.h>
int main() 
{
	printf("hehe\n");
	goto next; 
	printf("haha\n");
next:
	printf("跳过了haha的打印\n");
	return 0;
}
goto 语句如果使⽤的不当,就会导致在函数内部随意乱跳转,
打乱程序的执⾏流程,所以我的建议是能不⽤尽量不去使⽤;
但是 goto 语句也不是⼀⽆是处,在多层循环的代码中,如果
想快速跳出使⽤ goto 就⾮常的⽅便了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值