c语言循环语句该怎么弄?循环语句一大家
c语言循环语句该怎么弄?循环语句一大家先来看看 for 语句的语法:#include <stdio> int main() { while(1==0){ printf("while \n"); } do{ printf("do while\n"); }while(1==0); } 编译执行后,程序会输出 “do while”。使用 do/while 语句要注意的事项和 while 语句一致,只是还要确保 do/while 语句的最后 while后一定要有“;”,否则编译器无法判断这是一个do/while循环的结尾还是另一个while循环的开头。break 和 continue 应作为独立的语句,要用 ;结尾。它们让循环更加灵活了。do/while 循环语句和 while 循环语句非常像,只是 do/while 循环语句把条件表达式放在后面,它的语法如下:do{ 语句; }while(条件表达式); 程
上一节介绍了 C 语言的 while 循环语句,可以很方便的让计算机执行很多次数的迭代,事实上,while 循环语句还有很多兄弟语句也能实现循环操作,可以视实际情况选择合适的语句。此外,C 语言还提供了 break 和 continue 关键字用于控制循环。下面我们一一介绍。
C 语言的 break 和 continue 关键字当循环语句遇到 break 时,直接跳出循环,而遇到 continue 时,则结束本次循环,开始一次新的循环。这么说有点虚,还是来看几个例子吧:
int cnt = 0; while(1) { cnt = cnt 1; if(cnt ==3) break; } printf("cnt=%d\n" cnt);
以上代码,while(1) 本应是个死循环,按理说,程序应该永远停在 while 循环语句里了。但是在 cnt 等于 3 的时候,程序遇到 break 了,于是跳出循环体,执行了 printf 语句,程序最后输出 “cnt=3”。再来看看 continue 关键字:
int cnt = 0; while(cnt < 4) { cnt = cnt 1; if(cnt ==2) continue; printf("cnt=%d " cnt); }
代码很简单,就是把 cnt 依次从 0 加一加到 4,然后打印出它的值。程序最后输出:”1 3 4 “,少了 2 对不?这是因为在 cnt 等于 2 的时候,直接就结束本次循环,跳到程序开头了,也即 cnt 等于 2 的时候,printf 语句被跳过了。现在应该理解“当循环语句遇到 break 时,直接跳出循环,而遇到 continue 时,则结束本次循环,开始一次新的循环。” 这句话了。
break 和 continue 应作为独立的语句,要用 ;结尾。它们让循环更加灵活了。
C 语言的 do/while 循环语句do/while 循环语句和 while 循环语句非常像,只是 do/while 循环语句把条件表达式放在后面,它的语法如下:
do{ 语句; }while(条件表达式);
程序遇到 do/while 循环语句后,会先执行循环体里的语句,到末尾才判断条件表达式真假决定是否循环。说到这里,就看出它与 while 循环语句的区别了:如果条件表达式为假,while 循环直接就被跳过了,不会执行;而 do/while 循环语句则至少执行一次循环。例如:
#include <stdio> int main() { while(1==0){ printf("while \n"); } do{ printf("do while\n"); }while(1==0); }
编译执行后,程序会输出 “do while”。使用 do/while 语句要注意的事项和 while 语句一致,只是还要确保 do/while 语句的最后 while后一定要有“;”,否则编译器无法判断这是一个do/while循环的结尾还是另一个while循环的开头。
C 语言的 for 语句先来看看 for 语句的语法:
for(控制表达式1;控制表达式2;控制表达式3) 语句
如果不考虑 continue(为什么呢,可以思考一下) ,则 for 语句相当于:
控制表达式1; while(控制表达式2) { 语句 控制表达式3; }
我们用 for 语句来计算 n!,请看如下代码:
int factorial(int n) { int result = 1; int i; for(i = 1; i <= n; i) result = result * i; return result; }
i 的作用和 i 1; i=i 1; 一样,如果 i = 0,那么执行 a = i; 语句后,a 等于 1,i 也等于 1。类似还有 –i,表示自减。现在来分析一下 for 语句:“i=1”,表示 for 循环体里的 i 从 1 开始;“i<=n”,表示如果 i<=n 为真,则循环,否则跳出循环; i 表示每执行一次循环,就把 i 加一。
现在,已经知道 C 语言循环语句一大家子和它的管家们(break,continue)了吧。
欢迎在评论区一起讨论,质疑。文章都是手打原创,每天最浅显的介绍C语言,喜欢我的文章就关注一波吧,可以看到最新更新和之前的文章哦。