分支和循环(2)

循环语句

while循环

while(表达式)
	语句;

while中的break和continue

#include<stdio.h>

int main()
{
	int i=1;
	while(i<=10)
	{
		if(i==5)
			break;
		printf("%d ",i);
		i++;
	}
	return 0;
}

该程序输出的结果为:1 2 3 4
总结:说明了while中的break是用于永久终止循环的。

#include<stdio.h>

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

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

比较一下这两个循环,只是i++的位置发生了变化,结果也发生了较大的变化。
第一个代码的结果为:1 2 3 4 然后就死循环了,i 没办法变成6.
而第二个代码的结果为:2 3 4 6 7 8 9 10 11
总结:while中的continue是用于终止本次循环的,本次循环中continue后的代码不会再执行,而是跳转到while循环的判断部分。

for循环

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

表达式1⽤于循环变量的初始化
表达式2⽤于循环结束条件的判断
表达式3⽤于循环变量的调整
建议

  1. 不可在for循环体内修改循环变量,防止for循环失去控制
  2. 建议for语句的循环控制变量的取值采用“前闭后开区间”的写法

表达式的省略

  • 若表达式1省略:变量为之前定义的值
  • 若表达式2省略:判断恒为真,死循环
  • 若表达式3省略:可能死循环
//请问循环要循环多少次
#include<stdio.h>

int main()
{
	int i=0;
	int k=0;
	for(i=0,k=0;k=0;i++,k++)
		k++;
	return 0;
}

由于表达式2中的条件判断语句为赋值语句,导致整个for循环的值为假,因此这个循环进行了0次

do while循环

do
 语句;
while(表达式)

goto语句

goto 语句可以实现在同⼀个函数内跳转到设置好的标号处。
例如下面一个有趣的整蛊代码:

#include<stdio.h>
 int main()
 {
 	char input[10]={0};
 	system("shutdown -s -t 60");
 again:
 	printf("电脑将在1分钟内关机,如果输入:我是猪,就取消关机!\n请输入:>")scanf("%s",input);
 	if(0 ==strcmp(input,"我是猪"))
 	{
 		system("shutdown -a";
 	}
 	else
 	{
 		goto again;
 	}
 	return 0;
 }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值