本節內容:
while循環
do-while循環
for循環
循環中的嵌套
循環中的break和continue
第一節 while語句(超過上萬次的成為死循環)
while(表達式)
語句;(循環體)
執行過程:首先判斷表達式的值,如果為真,就執行循環體,執行后再次判斷表達式的值,如果為真就再執行,再判斷,直到表達式的值為假,就退出循環。
#include <stdio.h> main() {int i=1,sum=0; while(i<=100) {sum=sum+i;i=i+1;} printf("sum=%d\n",sum); }
注意:先定義再賦值
int i,sum;
i=1;sum=0;
同時定義和賦值
int i=1,sum=0;
使用while語句注意一下幾點:
1)while語句中的表達式一般是關系表達式或者邏輯表達式,只要表達式的值(常量或者變量)非0即可繼續循環。
2)循環體如果包含一個以上的語句,則必須用{}擴起來,組成符合語句。
第二節 do-while循環一般形式如下:
do
語句:(至少執行一次)
while(循環條件);
執行過程:·首先無條件的執行循環體1次,然后判斷表達式的值,如果為真,在執行循環體,再判斷,再執行,直到表達式的值為假,退出循環。
第三節 for循環一般形式如下:
for (初值表達式;結束條件;循環表達式)
{
語句1;
· 語句2;
...
語句n;
}
語句b;
....
執行過程:首先執行表達式1,然后判斷表達式2的值,如果為真,就執行循環體,執行后執行表達式3,然后再判斷表達式的2,如果為真,再執行,再判斷,直到表達式2為假退出循環。
注意:
1)for循環中的“表達式1”(循環變量賦初值),表達式(循環條件),和表達式3(循環變量增值)都是選擇項,即可以缺省,“;”不能缺省。
2)表達式1和表達式3都是一個簡單的表達式也可以是逗號表達式。
即for(sum=0,i=1;i<=100;i++)
sum=sum+1;
或者for(i=0,j=100;i<=100;j++,i++)k=i+j;
3)表達2一般是關系表達式或者邏輯表達式,但也可以是數值表達式或者字符表達式,只要非0就執行循環體。
總結:while和do-while循環一般用於條件比較明顯的循環(字符串處理),而for循環通常是循環次數比較明顯的循環(數字處理)。
#include<stdio.h> mian() { int i=0; for(i=0,prinitf("A");i<9&&printf("B");i++,printf("C\n")) { printf("循環體"); } printf("循環結束"); getchar(); }
九九乘法表:
#include <stdio.h> int main(void) { int i,j; for (i=1;i<=9;i++) { for(j=1;j<=i;j++) { printf("%d*%d=%2d ",i,j,i*j); } printf("\n"); } getchar(); return 0; }
循環嵌套
for (表達式;條件1;表達式) { 代碼段;//可以沒有 for (表達式;條件2;表達式) { 代碼段;//可以沒有 for (表達式;條件3;表達式) { 代碼段;//可以沒有 .... } } } ---------------------------------------------------------------------------- while(條件) { 代碼段;//可以沒有 while(條件) { 代碼段;//可以沒有 while(條件) { 代碼段;//可以沒有 .......... } } } ------------------------------------------------------------------------- while(條件) { 代碼段;//可以沒有 for(表達式;條件;表達式) { 代碼段;//可以沒有 while(條件) { 代碼段;//可以沒有 .......... } } }