第一章 while循环和do...while循环
第一节 while语句
while(整型表达式){...} ,如果整型表达式为真,即可进入循环体。举例说明:
其中需要注意的是1. break和continue 都只有在循环体中才可以使用。2. break是结束循环,continue是不执行后面语句,重新进入循环,继续循环。
//该现象会进入死循环,因为到了i==5时,下面语句不执行,i始终为5——所以输出1234
int i = 1;
while(i <= 10)
{
if(i==5)
continue; //continue后面语句不再继续执行,直接跳回第一条语句继续循环
printf("%d ",i);
i++;
}
本例中的循环会陷入死循环,主要原因是continue的使用方法。那如果想要改变这样的结果,该如何进行操作呢?读者朋友们可以思考一下。
实际上关键点既然是continue,那就从这个点入手,让i++在continue之前即可,防止continue后无法进行i++。
int i = 0; //输出为1 2 3 4 6 7 8 9 10 11
while(i<=10)
{
i++;
if(i==5)
continue;
printf("%d ",i);
}
第二节 do...while语句
do{...}while(整型表达式);
该语句先执行一遍循环体,再进行判断。需要注意的是在使用过程中不能忘记结尾的分号(;),否则会出现语法错误。总而言之,和while语句用法差不多,只是while是先判断再执行,do...while是先执行再判断。
第二章 for循环
1. for (循环变量赋初值; 循环条件; 循环变量增值)
{
语句;
}
举个例子:
#include<stdio.h>
int main()
{
int i = 0;
for( i = 0; i < 10; i ++)
{
printf("hehe\n");
}
return 0;
}
我们来分析一下这段简单的程序。首先给这个循环变量 i 的初始赋值为0,判断 i < 10 是否成立,如果成立则执行循环体语句,打印hehe,随后i ++ 。此时 i = 1 再次判断 i < 10 是否成立。反复如此,具体的循环过程主要是以下图片所示;如果不成立,则跳出循环。
循环语句最擅长的就是和break、continue等中断循环语句配合使用,从而达到逻辑上的合理。此外,还有一个goto语句也可以实现中断循环的目的。
第三章 goto语句
goto语句通常搭配again语句实现。一般来说不常用goto语句,容易打破逻辑,而且利用循环语句也可以达到目的,但是对于多重循环的话,goto语句则更有效率。
#include<stdio.h>
int main()
{
for(){
for(){
for(){
printf("...");
goto again;
}
}
}
again:
printf("你好!");
return 0;
}
对于这个三重循环来说,想要跳出循环,首先想到的就是用三个break,一层一层跳出;但是如果使用goto语句则可以直接跳出到again所在位置,打印你好。我们可以做一个练习,从中了解到goto语句的具体使用方法。
//*****************关机程序*************
//cmd关机语句 shutdown -s -t 60
//cmd取消关机语句 shut down -a
char input[20];
system("shutdown -s -t 60"); //system()--执行系统命令
again:
printf("请注意你的电脑将在1min内关机。如果输入:我是猪,则取消关机\n请输入>:");
scanf("%s",input);
if (strcmp(input,"我是猪") == 0)
{
system("shutdown -a");
}else
{
goto again;
}
// while(1){
// printf("请注意你的电脑将在1min内关机。如果输入:我是猪,则取消关机\n请输入>:");
// scanf("%s",input);
// if (strcmp(input,"我是猪") == 0)
// {
// system("shutdown -a");
// break;
// }
// }
总结
对循环语句的基本知识和用法都有了些许了解,想要提升编程能力,还是需要自己多多思考和编写,锻炼编程思维,累计大量算法,才能实现质的飞跃。所以接下来也会出一部分练习题,仅供读者参考。