前言
上一篇博客介绍了if语句,switch语句,while语句,for语句。此篇博客将介绍do while语句,goto语句。
do…while语句
介绍do…while语句前先回忆一下while语句的结构:
while(表达式)
循环语句;//若循环语句是代码块则需要加花括号
while执行循环语句之前要先判断是否满足表达式若满足则执行,反之则不执行。
而do…while语句的结构如下:
do
循环语句;//若循环语句是代码块则需要加花括号
while(表达式);//不要忘记加分号
与while语句不同的是do…while会不管三七二十一先执行一次循环语句然后判断是否满足表达式来决定要不要重复执行循环语句。以下为代码样例:
#include <stdio.h>
int main()
{
int i;
i = 1;
do
{
printf("hello");
printf("world");
} while (i != 1);
return 0;
}
若把do…while换成while:
#include <stdio.h>
int main()
{
int i;
i = 1;
while(i!=1)
{
printf("hello");
printf("world");
}
return 0;
}
如上图所示while会先判断是否满足表达式来决定要不要执行循环语句,而do…while则会先执行在判断是否满足表达式。
goto语句·
C语言提供了可以随意滥用的goto语句和标记跳转的标号。其实对于程序的编写者而言goto语句在解决某些困难上是非常好用的,因为goto语句在某些情况下可以让程序猿偷懒,有些时候goto对于程序来说就相当于外挂对于游戏一样可以绕过很多繁琐的步骤来实现目标。其结构如下:
goto 跳转标志;
跳转标志: 语句;
代码样例:
#include <stdio.h>
int main()
{
printf("hehe\n" );
goto flag;
printf("haha\n");
flag:
printf("heihei\n");
return 0;
}
如图所示当程序运行到goto flag;时会直接跳到flag:而后程序将从flag:开始执行一直到程序结束。goto语句更常用于结束多个循环。样例如下
for(...)
{
for(...)
{
for(...)
{
goto A:
}
}
}
例如以上代码若用break语句来跳出循环则需要三个break放置在三个不同的位置,而用goto语句则简便很多。
但是,行业内并不建议使用goto语句,因为在C语言学习后期可能一次性要写成百上千行代码,如果过多的使用goto语句,编写程序者自己会很轻松,但当你把这份代码分享给你的同事或者老师时,因为goto语句过多且程序较为冗长他们看起程序时就会很恼火,因为goto语句会使程序跳来跳去。所以在编写程序时并不建议过多使用goto语句。
对于goto语句的总结是从理论上goto语句是没有必要的,实践中没有goto语句也可以很容易的发出代码。
但是某些场合下goto语句还是用得着的,最常见的用法就是终止程序在某些深度嵌套的结构的处理过程.
最后写作不易,请各位观众老爷们点个一键三连,欢迎在评论区发表建议或者指出不规范的地方。