Cathy Yang
2018 資訊之芽 C語法班
參考 2017 Bookgin's Slide
適合不知道次數時使用
適合不知道次數時使用、且至少執行一次
適合確定次數時使用
for ( 初始化 ; 繼續條件 ; 更新 ) {
迴圈內容;
}
for (int i = 0; i < 10; i++) {
std::cout << i << std::endl;
}
int i = 0;
std::cout << ++i << " ";
std::cout << i << " ";
// 輸出 1 1
int i = 0;
std::cout << i++ << " ";
std::cout << i << " ";
// 輸出 0 1
int i = 0;
while (i < 10) {
std::cout << i << std::endl;
i++;
}
for (int i = 0; i < 10; i++) {
std::cout << i << std::endl;
}
明確知道次數
不確定次數
// 一直持續到密碼輸入正確為止
while (password != 12345678) {
std::cin >> password;
}
// 輸入 n 個人的成績到 array 中
std::cin >> n;
for (int i = 0; i < n; i++) {
std::cin >> scores[i];
}
依照早期的標準,如果是純 C 檔案(*.c),必須要這樣寫
int i;
for (i = 0; i < 10; i++) {
...
}
但現在 C99 標準,以及 C++ 檔案(*.cpp) 可以寫在裡面
for (int i = 0; i < 10; i++) {
...
}
for ( 初始化 ; 繼續條件 ; 更新 ) {
迴圈內容;
}
for ( ; ; ) {
...
}
for (int i = 0, j = 1000; i < 10; i++, j++) {
std::cout << i << std::endl;
std::cout << j << std::endl;
}
中間用逗號,分開
// a * b = ?
for (int a = 1; a <= 9; a++) {
// 到這裡時,a 是固定的,只需要專心考慮 b 就好
for (int b = 1; b <= 9; b++) {
std::cout << a << "x" << b << "=" << a*b << std::endl;
}
// 跑完一輪所有的 b 之後,準備進入 a 的「更新」部份
}
九九乘法表
遇到 break 時,會直接結束目前的這個迴圈
int n = 77;
bool is_prime = true;
for(int i = 2;i < n; i++) {
if(n % i == 0){
is_prime = false;
break;
}
}
遇到 continue 時,會直接執行目前迴圈的「更新」的
區塊,在這個範例中就是 i++
// 印出奇數
for (int i = 0; i < 10; i++) {
if (i % 2 == 0)
continue;
std::cout << i << std::endl;
}