首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> C 語言基礎

C語言程式設計初步(七):do-while 循環與 for 循環完整指南

     編輯:C 語言基礎

do-while 循環


do
    語句;
while (運算式);
// 先執行一次,再判斷。至少執行一次循環體。

與 while 差異

特性whiledo-while
判斷時機先判斷後執行先執行後判斷
最少執行次數01
運算式後分號無必須有

相互轉換注意

轉換時需調整循環控制條件。例:


// while 版
int a=0,n; scanf("%d",&n);
while (n--) printf("%d ", a++*2);

// do-while 版:條件改為 --n
int a=0,n; scanf("%d",&n);
do printf("%d ", a++*2);
while (--n);

注意事項

  • do 與 while 間多語句需 {}
  • 可與 while/for 互相嵌套
  • 轉換時務必修改控制條件避免多/少執行一次

for 循環


for (運算式1; 運算式2; 運算式3)
    語句;
// 1. 初始化  2. 條件判斷  3. 修改循環變數

三運算式詳解

  • 運算式1:初始化(賦值運算式),可省略(外部初始化)
  • 運算式2:循環條件(關係/邏輯運算式),可省略(恆真,需內部 break)
  • 運算式3:修改循環變數(賦值運算式),可省略(內部修改)
  • 三者皆可為逗號運算式(多子運算式)
  • 分號不可省略,即使運算式省略

執行流程

  1. 計算運算式1(僅一次)
  2. 計算運算式2,真 → 執行循環體,假 → 跳出
  3. 計算運算式3,回步驟 2

經典範例


// 1+2+...+100
int n, s=0;
for (n=1; n<=100; n++) s += n;

// 輸出 n 個偶數(初始化在外部)
int a=0,n; scanf("%d",&n);
for (; n>0; a++, n--) printf("%d ", a*2);

// 省略所有運算式,靠循環體控制
for (;;) {
    a++; n--;
    printf("%d ", a*2);
    if (n==0) break;
}

空循環體


for (; getchar()!='\n'; n++);  // 統計字符數,循環體為空語句
// 注意:分號不可少,否則後面語句成為循環體

多重循環嵌套

for、while、do-while 可任意合法嵌套(不交叉)。例:印三角形


for (i=1; i<=3; i++) {
    for (j=1; j<=3-i+5; j++) printf(" ");
    for (k=1; k<=2*i-1+5; k++)
        if (k<=5) printf(" "); else printf("*");
    printf("\n");
}
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved