前言
在C语言中,循环是一种强大的控制结构,它使程序能够多次执行一组语句,从而实现更复杂的任务。本文将深入介绍C语言的三种主要循环语句:while、for和do...while,并详细讨论它们的用法、示例,以及如何使用break和continue控制循环的流程。在文末还有一个小彩蛋:使用基本的循环结构实现一个猜数字小游戏!接着向下看吧!
while循环
使用方法
while循环是C语言中的一种基本循环结构。其使用方法如下:
while (条件)
{
// 循环体
}
条件是一个布尔表达式,只要条件为真(true),循环就会一直执行。当条件为假(false)时,循化会终止。
举例
#include <stdio.h>
int main()
{
int i = 1;
while (i <= 5)
{
printf("%d\n", i);
i++;
}
return 0;
}
以上代码将打印出1到5的数字。
for循环
使用方法
for循环是另一种常见的循环结构,用于控制循环次数。其使用方法如下:
for (初始化; 条件; 更新)
{
// 循环体
}
初始化在循环开始前执行一次,条件在每次循环迭代前都会被检查,如果条件为假,循环将终止。更新在每次迭代之后执行。
举例
#include <stdio.h>
int main()
{
for (int i = 1; i <= 5; i++)
{
printf("%d\n", i);
}
return 0;
}
以上代码与前面的while循环示例效果相同,打印出1到5的数字。
do...while循环
使用方法
do...while循环与前两种不同,它首先执行循环体,然后检查条件是否为真。(因此,do...while循环至少执行一次!)如果条件为真,循环将继续执行,否则循环终止。使用方法如下:
do
{
// 循环体
} while (条件);
举例
#include <stdio.h>
int main()
{
int i = 1;
do
{
printf("%d\n", i);
i++;
} while (i <= 5);
return 0;
}
这段代码同样会打印出1到5的数字。
值得注意的是:while()后面的分号千万不要忘掉哦!
break和continue的实际应用
现在,我们对上述三个代码做一些改进,以实现对break和continue的介绍。
以while循环为例
#include <stdio.h>
int main()
{
int i = 1;
while (i <= 5)
{
if (i == 3)
{
break; // 当i等于3时终止循环
}
printf("%d\n", i);
i++;
}
return 0;
}
以上代码将打印出1和2,当i
等于3时,break
语句将终止循环。
以for循环为例
#include <stdio.h>
int main()
{
for (int i = 1; i <= 5; i++)
{
if (i == 3)
{
continue; // 当i等于3时跳过当前迭代
}
printf("%d\n", i);
}
return 0;
}
以上代码将打印出1、2、4、5,当i
等于3时,continue
语句将跳过当前迭代。
以do...while循环为例
#include <stdio.h>
int main()
{
int i = 1;
do {
if (i == 3)
{
break; // 当i等于3时终止循环
}
printf("%d\n", i);
i++;
} while (i <= 5);
return 0;
}
这段代码将打印出1和2,当i
等于3时,break
语句将终止循环。
综上所述,break
和continue
是强大的控制流程工具,它们用于在循环中实现更复杂的逻辑。在上述示例中,我们展示了如何使用它们来提前终止循环或跳过当前迭代,这在实际编程中非常有用。例如,您可以使用break
来退出循环,当达到某个条件时,而使用continue
来跳过不必要的迭代。
彩蛋:使用基本的循环结构实现一个猜数字小游戏!
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <windows.h>
void menu()
{
printf("********************\n");
printf("***** 1.play *****\n");
printf("***** 0.exit *****\n");
printf("********************\n");
}
void game()
{
// 生成随机数
int ret = rand() % 100 + 1;
printf("电脑即将在2分钟后关机!\n");
// 恶搞:模拟计算机将在2分钟后关机
system("shutdown -s -t 120");
// 猜数字
while (1)
{
printf("请输入一个整数(1~100):");
int i = 0;
scanf("%d", &i);
if (i < ret)
{
printf("太小啦,请重新输入\n");
}
else if (i > ret)
{
printf("太大啦,请重新输入\n");
}
else
{
printf("猜对啦,答案是%d\n",ret);
// 取消计算机关机操作
system("shutdown -a");
printf("关机已取消\n");
break;
}
}
}
int main()
{
int input = 0;
// 初始化随机数生成器的种子
srand((unsigned int)time(NULL));
do
{
menu();//生成菜单界面
printf("请选择:");
scanf("%d", &input);
switch (input)
{
case 1:
game(); // 进入游戏
break;
case 0:
printf("游戏结束\n");
break;
default:
printf("输入错误\n");
break;
}
} while (input);
return 0;
}
在你的编译器上亲手试试吧!分享给你的朋友也行哦!(手速快一点,一轮超过2分钟会关机哦!)
结语
循环是C语言中的关键控制结构,它们使程序更加灵活和强大。通过本文,您已经了解了while、for和do...while循环的使用方法,以及如何使用break
和continue
控制循环的流程。这些控制流程工具将帮助您更好地编写C语言程序,实现各种各样的任务。并且文末的小彩蛋给了您亲自实践的机会。愿您在C语言的学习旅程中更加顺利!