while 重覆迴路只管條件判斷,由判斷結果的真假來決定它這一次是否要執行。其單行指令原型如下
while (condition) statement;
多行while loop指令的流程圖如下圖,在while() 指令會檢查是否滿足 condition,若滿足則進入迴路內,執行block內的指令碼內容,完成後再循箭頭指引回到while() 檢查。若檢查結果不滿足,即跳過迴路,直接進入後續的程式。
while()回路流程圖
原型如下
while (condition)
{
block of statements
}
while 迴路的與for迴路相較,省掉了迴路控制變數的初始及增算,等效於
for ( ;condition; ) statement;
它也可以另定迴路控制變數,而且變數型態不限於整數,但是其初始及增算必需額外的程式指令。
例如以下範例會印出所有字元:
範例:列印字元
#include "c4mlib.h" //引入ASA Seriesc函式庫
#include "math.h" //引入math,h函式庫
#include "stdlib.h" //引入stdlib函式庫
int main(void)
{
C4M_DEVICE_set(); //執行ASAM128板初始設定
char ch;
ch='1'; //額外的初始
while (ch !='9')
{
scanf("%c\n",ch);
ch++; //額外的增算
}
}
顯示結果
程式將由1開始往下遞增,到9之前停止