C语言学习笔记:循环结构

✨博文作者:烟雨孤舟
💖 喜欢的可以 点赞 收藏 关注哦~~

✍️ 作者简介: 一个热爱大数据的学习者

✍️ 笔记简介:作为大数据爱好者,以下是个人总结的学习笔记,如有错误,请多多指教!

目录

简介

while 循环

do...while 循环

for 循环

嵌套循环

break 语句

continue 语句

goto 语句

总结


简介

循环语句允许我们多次执行一个语句或语句组

while 循环

只要给定的条件为真,C 语言中的 while 循环语句会重复执行一个目标语句

while(表达式)
{
   循环体;
}
循环体可以是一个单独的语句,也可以是几个语句组成的代码块。
当条件为true时执行循环。当条件为false时,退出循环,程序流将执行紧接着循环的下一条语句。

实例:
#include <stdio.h>
 int main ()
{
   int a = 10;/* 局部变量定义 */
   while( a < 20 )   /* while 循环执行 */
   {
      printf("a 的值: %d\n", a);
      a++;
   }
   return 0;
}

do...while 循环

do{
循环体;
}while(表达式);
条件表达式出现在循环的尾部,所以循环中的循环体会在条件被测试之前至少执行一次。如果条件为真,控制流会跳转回上面的do,然后重新执行循环中的 循环体,这个过程会不断重复,直到给定条件变为假为止。
do-while循环与while循环类似,但do-while循环会确保至少执行一次循环。
实例:
#include <stdio.h>
int main ()
{
   int a = 10;
   /* do 循环执行,在条件被测试之前至少执行一次 */
   do
   {
       printf("a 的值: %d\n", a);
       a = a + 1;
   }while( a < 20 );
   return 0;
}

for 循环

for ( init; condition; increment ){
   循环体;
}
for循环执行指定次数的循环控制结构。
init会首先被执行,且只会执行一次,这一步允许声明并初始化任何循环控制变量,也可以不在这里写任何语句,只要有一个分号出现即可。接下来,程序会判断 condition,如果为真,则执行循环主体;如果为假,则不执行循环主体,且控制流会跳转到紧接着for循环的下一条语句。在执行完for循环主体后,控制流会跳回上面的increment语句。该语句允许更新循环控制变量也可以留空,只要在条件后有一个分号出现即可。条件再次被判断,如果为真,则执行循环,这个过程会不断重复(循环主体,然后增加步值,再然后重新判断条件)。在条件变为假时,for 循环终止。

实例:
#include <stdio.h>
int main (){
   for( int a = 10; a < 20; a = a + 1 ){
      printf("a 的值: %d\n", a);
   }
   return 0;
}

 

嵌套循环

嵌套for循环语句的语法:
for(init;condition;increment){
    循环体;
   for(init;condition;increment){
      循环体;
    }
    ... ... ...
}
嵌套 while循环语句的语法:
while (表达式1){
     循环体;
    while (表达式2){
        循环体;
    }
    ... ... ...
}
嵌套do-while循环语句的语法:
do{
    循环体;
    do{
        循环体;
        ... ... ...
    }while (表达式2);
    ... ... ...
}while (表达式1)hile (condition1)

break 语句

终止循环或switch语句,程序流将继续执行紧接着循环或switch的下一条语句。
当break语句出现在一个循环内时,循环会立即终止,且程序流将继续执行紧接着循环的下一条语句。
在switch语句中break可用于终止switch语句中的case。
在嵌套循环中(即一个循环内嵌套另一个循环),break语句会停止执行最内层的循环,然后开始执行该块之后的下一行代码。

continue 语句

continue语句的作用是跳过循环体中剩余的语句而强行执行下一次循环,即中断本次循环
对于for循环,continue语句执行后自增语句仍然会执行。对于while和 do-while 循环,continue 语句重新执行条件判断语句。

goto 语句

将控制转移到被标记的语句,但是不建议在程序中使用goto语句,主要是因为它将使程序层次不清且不易读。
goto语句不仅可以用在循环体中,还可以用在程序的任何位置。与continue和break不同,它可以跳转到同一个函数中任何有标记的语句处。goto依赖于定义在语句开头的标识符,goto语句的形式为:goto 标识符;
#include <stdio.h>
int main()
{
  int i = 0;
  while (i < 10)
  {
    switch(i)
    {
    case 0:
    case 1:
      printf("%d 小于 4\n", i);
      break;
    default:
      goto bigThan4;
    }
    i++;
  }
 bigThan4: printf("i开始不小于4\n");
  return 0;
}

总结

1.遇到循环问题,应该使用三种循环语句中的哪一种,通常情况下,这三种语句是通用的,但在使用上各有特色,略有区别。
一般说来,如果给定了循环次数,首选for语句,它看起来最清晰,循环的4个组成部分一目了然:如果循环次数不明确,需要通过其他条件控制循环,通常选用while语句或do-while 语句;如果必须先进人循环,经循环体运算得到循环控制条件后,再判断是否进行下一次循环,使用do-while语句最合适。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烟雨孤舟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值