【隨堂筆記】程式語言概論 II(C語言)


  • for 迴圈:通常使用在已知需要重複多少次程式執行區塊,一般會搭配一個counter計數器決行執行次數
    for (計數器變數; 重複執行的條件; 累加器增加/減少方式) {
      // 迴圈程式重複執行區塊
    }
    
  • while 迴圈:使用在未知具體需要多少次程式執行區塊,透過條件判斷跳出迴圈來結束
    while(條件) {
      // 迴圈程式重複執行區塊
      // 修改條件,避免變成無窮迴圈跳不出去
    }
    
  • do...while 迴圈:為重複迴圈,但跟 while 迴圈不同在於do...while 條件判斷放在後面,所以即便條件不符合,至少會執行一次程式區塊,
    p.s. while 迴圈為不符合條件則不會執行
    do {
      // 即便條件不符合,至少會執行一次
      // 迴圈程式重複執行區塊
      // 修改條件,避免變成無窮迴圈跳不出去
    } while(條件);
    
  • break 迴圈中斷:在 for 迴圈、while 迴圈中途可使用break跳出執行
# include <stdio.h>

int main() {
    // 宣告 i 為計數器變數,初始化為 1。 當 i <= 3 時符合條件進入迴圈, i++ 代表每次執行區塊後計算器都累加 1(i++ 等同於 i = i + 1)。當 i > 3 則不符合條件,離開迴圈
    for (int i = 1; i <= 3; i++) {
        if (i == 2) {
            break;
        }
        // 縮排代表迴圈執行區塊 block
        // %d 為整數格式化,\n 為換行符號
        printf("目前第 %d 次執行\n", i);
    }
    printf("程式結束");
}
  • continue 迴圈中斷:跳過這次迴圈執行,直接到下一次迴圈執行
    p.s.
    continue:若條件符合還是會繼續執行,只是跳過這次而已
    break:直接跳出整個迴圈
# include <stdio.h>

int main() {
    // 宣告 i 為計數器變數,初始化為 1。 當 i <= 3 時符合條件進入迴圈, i++ 代表每次執行區塊後計算器都累加 1(i++ 等同於 i = i + 1)。當 i > 3 則不符合條件,離開迴圈
    for (int i = 1; i <= 3; i++) {
        if (i == 2) {
            continue;
        }
        // 縮排代表迴圈執行區塊 block
        // %d 為整數格式化,\n 為換行符號
        printf("目前第 %d 次執行\n", i);
    }
    printf("程式結束");
}
  • 無窮迴圈:因為沒有條件的更新(保持符合條件),持續執行不會跳出,有可能會造成資源消耗過多導致電腦當機
  • switch 判斷:相較於if邏輯判斷較為簡潔,但switch 判斷的運算式只能為單一字元或是數字,若是其他情況請使用 if...else 判斷
switch (運算式) {
    case value_1:
        // 執行程式區塊
        // 記得要 break 不然會往下執行下去
        break;
    case value_2:
        // 執行程式區塊
        break;
    case value_3:
        // 執行程式區塊
        break;
    default:
        // 都沒有符合執行區塊
}
  • 在 C 語言中對於陣列要求比較嚴格,陣列內元素必須為相同資料型別
    int numbers[3] = {1, 3, 7}; // array
    // index 0 的元素為 3
    printf("%d", number[1]); // 讀取元素
    // 更新資料
    number[2] = 7; // 重新賦值即可
    
  • 指標(pointer):負責儲存記憶體位置(memory address)
    Var 為一個一般變數,ptr 為一個指標變數,負責存 Var 的記憶體位址,當然 ptr 自己也有自己的記憶體位址。當要取 Var 值時,可以透過 *ptr 取值
    // 宣告一個指標變數(和取值的 * 意義不同,這邊是代表宣告 ptr 是一個指標變數)
    char *ptr;
    
  • C語言的函式名稱:add

    // 定義函式
    int add(int x, int y) {
      // 函式執行區塊,縮排
      int result;
      result = x + y;
      return x + y;
    }
    

    呼叫函式:有參數可以傳入參數,接收回傳值

    int main() {
      int z = add(1, 7);
    
      printf("相加結果:%d\n", z);
    }
    






你可能感興趣的文章

OOP - 5 抽象類別與介面 (2)

OOP - 5 抽象類別與介面 (2)

[筆記] 模組化與 Library (require & export)

[筆記] 模組化與 Library (require & export)

使用 Object Recognition Kitchen 的 Linemod 演算法辨識物體

使用 Object Recognition Kitchen 的 Linemod 演算法辨識物體






留言討論