一、關係表達式

關係表達式用於比較兩個值的大小或相等性,結果是一個 布爾值(truefalse

常見關係運算符:

運算符

含義

示例

説明

==

等於

a == b

注意是兩個等號!

!=

不等於

a != b

<

小於

a < b

>

大於

a > b

<=

小於等於

a <= b

>=

大於等於

a >= b

示例:

/*
關係表達式:<、<=、==、!=、>、>=、
*/
#include<iostream>
using namespace std;

int main() {

    // == 與 =
    int number[] = {10, 10, 10, 10, 9, 8, 80};
    for (int i = 0; number[i] == 10; i++) {
        cout << "i = " << i << ", number[i] = " << number[i] << endl;
    }

    // 如果 == 寫錯成 = 一般編譯器都有編譯錯誤,否則程序就有bug
    // 因為 c++ 非 0 是true,所以 下面就是死循環
    for (int i = 0; number[i] = 10; i++) {
        cout << "i = " << i << ", number[i] = " << number[i] << endl;
    }
    //i = 2275, number[i] = 10
    //段錯誤 (核心已轉儲)

    return 0;
}

關係表達式常用於 if 條件判斷 和 循環控制條件 中。

二、while 循環

先判斷條件,再執行循環體。如果一開始條件為假,循環體一次也不執行。

語法:

while (條件表達式) {
    // 循環體
}

示例:

/*
while 循環

while(真值表達式) {
  while 循環體語句
  while 循環體語句
  ...
}

*/
#include<iostream>
using namespace std;

int main() {
    // for循環實現
    for (int i = 0; i < 5; i++) {
        cout << "C++ konws loops." << endl;
    }

    // while 循環實現
    int i = 0;
    while (i < 5) {
        cout << "C++ konws loops." << endl;
        ++i;
    }

    // for 循環第二種實現
    for (; i < 5;) {
        cout << "C++ konws loops." << endl;
    }


    return 0;
}

三、do...while 循環

先執行一次循環體,再判斷條件。因此,循環體至少執行一次

語法:

do {
    // 循環體
} while (條件表達式);  // 注意分號!

示例:

/*
do while 循環

很少用,最近在java中只用過一次,還寫了一個bug ,hhh
*/
#include<iostream>
using namespace std;

int main() {
    /*for (int i=0;i<=5; i++){
        cout << "C++ konws loops." << endl;
    }*/
    int i = 0;
    // 至少執行一次,下面會打印6次
    do {
        cout << "C++ konws loops." << endl;
        i++;
    } while(i <= 5);
    
    return 0;
}