---
# System prepended metadata

title: '[2020H401] 2020.8.17上課筆記'
tags: ['C/C++ ', H400大學家教]

---

# [2020H401] 2020.8.17上課筆記

## 今天課程重點
- CH7 陣列


### 課程進度確認

1. 以下規劃為**最充足學習時間**來考量，若學習狀況良好，會提前進度教學，增加專題實作
2. 7/31會做一次學習狀況檢核討論

| 日期     | 課程進度   | 備註     |
| -------- | -------- | -------- |
| 6/18(Thr.)    | [C++教學] 基本觀念、輸入與輸出     |  OK    |
| 6/22(Mon.)    | [C++教學] 變數與資料型態(一)      |  OK    |
| 7/2(Thr.)     | [C++教學] 學期總複習練習          |  OK    |
| 7/6(Mon.)     | [C++教學] 流程指令及迴圈(一)      |   OK   |
| 7/13(Mon.)    | [C++教學] 流程指令及迴圈(二)    |  OK    |
| 7/20(Mon.)    | 老師請假                      |  OK  |
| 7/27(Mon.)    | [C++教學] 陣列與指標(一)       |  OK    |
| 8/3(Mon.)     | [C++教學] 陣列與指標(二)       |  OK    |
| 8/10(Mon.)    | 老師請假     |   OK   |
| 8/17(Mon.)    | [C++教學] 函式     |      |
| 8/24(Mon.)    | [C++教學] 結構與類別(一)      |      |
| 8/31(Mon.)    | [C++教學] 結構與類別(二)       |      |

## 函式
### 公用函式(Library Function）
例如rand(), srand


### 使用者定義函式（User-defined Function）
```
[函式回傳值型態] [函式名稱] (參數){
    函式實作內容
}
```
例如：

```C++=
//函式回傳值型態 int
//函式名稱 area_cal
//參數 a, b

int area_cal (int a, int b){
    int area = 0;
    area = a * b;            
}

void main(){
    int a = 2;
    int b = 3;
    cout >> area(a,b) >> endl;

}
    
```
### 多載函式

同樣函式名稱，可以有不同回傳值跟不同參數，稱為多載（overloading）

### 遞迴函式

自己呼叫自己的函式
``` C++=
//費伯納西數列
int fib(int n){
    if (n==0)
        return 0;
    else if (n==1)
        return 1;
    else 
        return fib(n-1) + fib(n-2);
}

```




###### tags: `H400大學家教` `C/C++ `

