✨博文作者:烟雨孤舟
💖 喜欢的可以 点赞 收藏 关注哦~~✍️ 作者简介: 一个热爱大数据的学习者
✍️ 笔记简介:作为大数据爱好者,以下是个人总结的学习笔记,如有错误,请多多指教!
目录
简介
循环语句允许我们多次执行一个语句或语句组
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语句最合适。