程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C語言while語句的用法詳解

C語言while語句的用法詳解

編輯:關於C語言
 

while語句的一般形式為:
    while(表達式) 語句
其中表達式是循環條件,語句為循環體。

while語句的語義是:計算表達式的值,當值為真(非0)時, 執行循環體語句。其執行過程可用下圖表示。


【例6-2】用while語句計算從1加到100的值。用傳統流程圖和N-S結構流程圖表示算法,見圖:

復制純文本新窗口
 
  1. #include <stdio.h>
  2. int main(void){
  3. int i,sum=0;
  4. i=1;
  5. while(i<=100){
  6. sum=sum+i;
  7. i++;
  8. }
  9. printf("%d\n",sum);
  10. return 0;
  11. }
#include <stdio.h>
int main(void){
    int i,sum=0;
    i=1;
    while(i<=100){
        sum=sum+i;
        i++;
    }
    printf("%d\n",sum);
    return 0;
}


【例6-3】統計從鍵盤輸入一行字符的個數。

復制純文本新窗口
 
  1. #include <stdio.h>
  2. int main(void){
  3. int n=0;
  4. printf("input a string:\n");
  5. while(getchar()!='\n') n++;
  6. printf("%d",n);
  7. return 0;
  8. }
#include <stdio.h>
int main(void){
    int n=0;
    printf("input a string:\n");
    while(getchar()!='\n') n++;
    printf("%d",n);
    return 0;
}

本例程序中的循環條件為getchar()!='\n',其意義是,,只要從鍵盤輸入的字符不是回車就繼續循環。循環體n++完成對輸入字符個數計數。從而程序實現了對輸入一行字符的字符個數計數。

使用while語句應注意以下兩點。

1) while語句中的表達式一般是關系表達或邏輯表達式,只要表達式的值為真(非0)即可繼續循環。

復制純文本新窗口
 
  1. #include <stdio.h>
  2. int main(void){
  3. int a=0,n;
  4. printf("\n input n: ");
  5. scanf("%d",&n);
  6. while (n--) printf("%d ",a++*2);
  7. return 0;
  8. }
#include <stdio.h>
int main(void){
    int a=0,n;
    printf("\n input n:    ");
    scanf("%d",&n);
    while (n--) printf("%d  ",a++*2);
    return 0;
}

本例程序將執行n次循環,每執行一次,n值減1。循環體輸出表達式a++*2的值。該表達式等效於(a*2; a++)。

2) 循環體如包括有一個以上的語句,則必須用{}括起來,組成復合語句

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved