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

C說話 while語句的用法詳解

編輯:關於C++

C說話 while語句的用法詳解。本站提示廣大學習愛好者:(C說話 while語句的用法詳解)文章只能為提供參考,不一定能成為您想要的結果。以下是C說話 while語句的用法詳解正文


在C說話中,共有三年夜經常使用的法式構造:

次序構造:代碼早年往後履行,沒有任何“旁敲側擊”;

選擇構造:也叫分支構造,重點要控制 if else、switch 和前提運算符;

輪回構造:反復履行統一段代碼。

後面講授了次序構造和選擇構造,本節開端講授輪回構造。所謂輪回(Loop),就是反復地履行統一段代碼,例如要盤算 1+2+3+……+99+100 的值,就要反復停止99次加法運算。

while輪回

while輪回的普通情勢為:
    while(表達式){
        語句塊
    }

個中表達式稱為輪回前提,語句塊稱為輪回體。

while語句的意思是:先盤算表達式的值,當值為真(非0)時, 履行輪回體語句;履行完輪回體語句,再次盤算表達式的值,假如為真,持續履行輪回體……這個進程會一向反復,直到表達式的值為假(0),就加入輪回,履行前面的語句。其履行進程以下圖所示:

用while語句盤算1加到100的值:

#include <stdio.h>
int main(void){
  int i=1, sum=0;
  while(i<=100){
    sum+=i;
    i++;
  }
  printf("%d\n",sum);
  return 0;
}

運轉成果:

5050

代碼剖析:

1) 法式運轉到while語句時,由於 i=1,i<=100 的值為真,所以履行輪回體;履行停止後 i 的值變成 2,sum 的值變成 1。

2) 接上去會持續斷定 i<=100能否成立,由於此時 i=2,i<=100 成立,所以持續履行輪回體;履行停止後 i 的值變成 3,sum 的值變成3。

3) 反復履行步調 2)。

4) 當輪回停止到第100次,i 的值變成 101,sum 的值變成5050;由於此時 i<=100 不再成立,所以就加入輪回,不再履行輪回體,轉而履行while輪回前面的代碼。

再看一個例子,統計從鍵盤輸出的一行字符的個數:

#include <stdio.h>
int main(){
  int n=0;
  printf("Input a string:");
  while(getchar()!='\n') n++;
  printf("Number of characters: %d\n", n);
  return 0;
}

運轉成果:

Input a string:c.biancheng.net
Number of characters: 15

本例法式中的輪回前提為getchar()!='\n',其意義是,只需從鍵盤輸出的字符不是回車就持續輪回。輪回體n++;完成對輸出字符個數計數。

do-while輪回

除while輪回,在C說話中還有一種 do-while 輪回。

do-while輪回的普通情勢為:

do{
    語句塊
}while(表達式);

do-while輪回與while輪回的分歧在於:它會先履行輪回體,然後再斷定表達式能否為真,假如為真則持續輪回;假如為假,則終止輪回。是以,do-while 輪回至多要履行一次輪回體。其履行進程可用下圖表現:

用do-while盤算1加到100的值:

#include <stdio.h>
int main(){
  int i=1, sum=0;
  do{
    sum+=i;
    i++;
  }while(i<=100);
  printf("%d\n", sum);
  return 0;
}

運轉成果:

5050

留意while(i<=100);最初的分號;,這個必需要有。

while輪回和do-while各有特色,年夜家可以恰當選擇,現實編程中應用while輪回較多。

以上就是對 C說話while 語句用法的具體引見,有須要的同窗可以參考下。

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