《C++ Primer Plus》學習筆記——第五章 迴圈和關係表示式(二)
阿新 • • 發佈:2018-12-19
while迴圈
while迴圈是沒有初始化和更新部分的for迴圈,它只有測試條件和迴圈體。
while (test-condition)
{
body;
}
//當test-condition為true,即不為0時,執行迴圈體。
編寫延時迴圈
long wait=0;
while (wait<10000)
wait++;
此延時迴圈略顯粗糙,精度不夠。
若追求精度可使用clock()函式和標頭檔案ctime來建立延遲迴圈。
#include <iostream> #include <ctime> int main () { using namespace std; cout<<"Enter the delay time,in seconds:"; float secs; cin>>secs; //讀取延時多少秒 clock_t delay=secs*CLOCKS_PER_SEC; //符號常量CLOCKS_PER_SEC,該常量等於每秒鐘包含的 //系統時間單位數。 cout<<"starting\a\n"; clock_t start=clock(); while (clock()-start<delay); //開始延時 cout<<"done \a\n"; return 0; }
do while 迴圈
do while 迴圈先進行迴圈,再進行判斷。此為出口條件迴圈。
do while迴圈和while迴圈,適用於不同的情況。
do
{
body;
}while(test-expression);
基於範圍的for迴圈(C++11)
double prices[5]={4.99,10,7.8,5.67}; for (double x :prices) cout<<x<<std::endl; //x表示陣列的第一個元素。不斷迴圈,x依次表示其他元素,知道結束。 //上面無法對陣列元素進行修改,若要修改必須用到引用&。 for (double &x :prices) x=x*0.8;