程式範例
#include <stdio.h>
#include <stdlib.h>
int main()
{
int x = 0;
do{
scanf("%d", &x);
}while(!(x % 2));
system("pause");
}
#include <stdlib.h>
int main()
{
int x = 0;
do{
scanf("%d", &x);
}while(!(x % 2));
system("pause");
}
程式意義
重複輸入數字,當輸入的數字為奇數時,結束迴圈。
程式解析
do{
//程式內容
}while(判斷式);
//程式內容
}while(判斷式);
當程式讀取到do時(do中譯就是做的意思,可以聯想成編譯器直接執行do while迴圈內之程式碼),會直接執行該迴圈內容一次,執行完迴圈內的內容後,再跳至while並判斷( )內之判斷式是否成立,成立回傳1,並跳至do執行迴圈內容、若不成立,則回傳0,並跳離迴圈。
程式優化
#include <stdio.h>
#include <stdlib.h>
int main()
{
int x = 0;
do{
scanf("%d", &x);
}while(!(x & 1));
system("pause");
}
#include <stdlib.h>
int main()
{
int x = 0;
do{
scanf("%d", &x);
}while(!(x & 1));
system("pause");
}
程式解析
由於取餘數%於電腦運算較耗時(∵此%於電腦中還需做除法、減法等運算),所以我們可改用位元操作"!(x&1)"(對x之第一個位元看看是否為1,若是則結束該迴圈)的方式來達到優化程式的效果。
沒有留言:
張貼留言