在C语言学习中容易忽视的知识点(5)

这篇文章我们来讲一下C语言中的循环语句

  • C语言提供了三种循环语句,分别是whiile语句,for语句和do语句。

我们先来讲一下while语句:

  • 它的表达式为while(表达式)语句 。
  • 这里的圆括号是必须加上的,是C语言规定的语法。
  • 循环体在不加上花括号的前提下,只可以包含一条语句,但在加上花括号后,则可以加上多条语句。
  • while循环可以制造无限循环,可以这么表达:while(1),这样如果没有break,goto,return这些语句的话,它将无法跳出循环。

do语句

  • 它的表达式为do 语句while(表达式);
  • 它不像while循环和for循环需要在执行之前先判定该值是否满足该循环的条件,而是直接先执行该循环 ,到最后面的时候在判定它是否满足该循环条件。所以就是说不管这个值是什么它都要执行一次循环。
  • 而判断部分则给了while语句。
  • 比如:
  • #include <stdio.h>
    int main()
    {
       int a = 3;
       do
       {
          a -= 1;//语句
       }while(a);//判断部分,当a = 0的时候该循环就结束了。切记加上 ;号。
    }

    for语句

  • for语句的表达式为:for(表达式1;表达式2;表达式3)语句。

  • for语句是功能较为强大的一种循环,也是比较复杂的一种循环。

  • 下面让我用例子来说明:

  • #include <stdio.h>
    int main()
    {
       int i = 0;
       for (i = 0; i < 10; i++)//先将i = 0赋值给i,然后再判段i是否小于十,如果是就进入该循环,执行完语句内容后,先i++,然后在判断i是否小于十,如果还是的话,就继续循环,直到i的值已经不满足i < 10,循环结束。
       {
          int a = 1;//在循环内定义的值,只可以在该循环内部中使用。
          a++;
       }
       printf("%d\n", a);//最终a的值为10.
    }

    退出循环

  • 退出循环的语句有break语句,continue语句,goto语句,return语句。

  • return语句后面不能跟break语句,紧跟在return语句后的break语句永远不会执行。

  • break语句是跳出整个循环,continue语句是结束当前循环,开启新一次的循环,它不可以跳出整个循环,goto语句是允许程序从一条语句跳到另一条语句。

  • continue语句只能用于循环,所以在switch语句中是不可以用continue语句的,但如果switch语句在某个循环体中,那么continue语句就可以用于switch语句中。

  • 关于goto语句我用代码来描述可能效果会更好一些:

  • #include <stdio.h>
    int main()
    {   
       int a = 0
       //done: //done也可以写在这里,但是会进入死循环,还有就是不可以包含两个done,其中done不是C语句,是可以由我们自己命名的。
        a = 3;//不可以在done下面声明变量。
       while (1)
       {
          a++;
          goto done;    //直接跳出循环。    
       }
      done://来到这里,接着执行下面语句的内容。
      if (a > 3)
      printf("%d\n", a);
    }

    空语句

  • 什么是空语句,就是除了末尾处的分号外什么符号也没有,比如i = 3;        ;  j = 2; ,中间空的内容就是空语句了。

  • 循环也可以写成空语句,比如while(表达式);for(表达式1;表达式2;表达式3);,比如:

#include <stdio.h>
int main()
{
   int i = 10;
   while (i > 0); //此时它会陷入无限循环,因为分号使它成为空语句。
   {
      i--;
   }
}
  
———————————————————————————————————————————————————————————————————————————————————————————

#include <stdio.h>
int main()
{
   int i = 0;
   for (i = 10; i > 0; i--);//同样道理,如果去掉分号,它将进入无限循环。
   {
      i++;//等循环结束后再执行它。
   }
} 
  • 空语句循环通常不会比有语句的循环更加高效,但它更加简洁。

以上就是本文的全部内容了,作者也是C语言的初学者,希望通过写文章的形式,记录自己学习C语言的过程,如果文章哪里有错误,欢迎大家指出,感谢你的阅读。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值