---
# System prepended metadata

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

---

# [2020H401] 2020.6.18上課筆記

## 今天課程重點
- 設定課程目標
- 電腦基礎知識
- C++教學：基本輸入與輸出




## 設定課程目標
- 根據課程規畫把C++學好（12堂課內）
- 熟悉一門程式語言、選定自己喜歡的題目，做出屬於自己的作品集
- 檢定若學校要求，就好好準備，否則以做出自己的作品優先



### 課程規劃

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

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

## 電腦基礎知識

### 學習使用鍵盤快捷鍵
全選 `Ctrl + A`
複製 `Ctrl + C`
貼上 `Ctrl + V`

### 檔案大小
1 GB = 1024 MB
1 MB = 1024 KB
1KB = 1024 byte
1 byte = 8 bit

> 一張照片大約 4MB
> 手機硬碟容量 128GB 



### 構成電腦的必備五大單元
1. 運算邏輯單元：CPU
2. 控制單元：CPU
3. 記憶單元：RAM, HDD
5. 輸入單元：鍵盤
7. 輸出單元：螢幕、喇叭

> 補充知識：
> 記憶體是用來暫時儲存資料
> RAM的存取速度快、價格貴，是用來暫存程式的狀態
> HDD的存取速度較RAM慢、價格比較便宜，是用來儲存影片、照片檔案




## C++教學：基本輸入與輸出

### 基本程式結構
``` C++
#include <iostream>

int main() {
  std::cout << "Hello World!\n";
}
```
1. 開頭要先引入標頭檔iostream，否則編譯器會不懂cout之類的語法
``` C++
#include <iostream>
```

2. C++程式的執行進入點，都是從main()開始
``` C++
int main() {
  
}
```

3. C++程式的一般敘述句，後面都要加入分號
``` C++
std::cout << "Hello World!\n";
```

### 輸出
使用`cout`

``` C++
#include <iostream>

int main() {
  std::cout << "Hello World!\n";
}
```

### 輸入
使用`cin`

``` C++
#include <iostream>

int main() {
  char name[10];
  std::cout << "請輸入你的名字> ";
  std::cin >> name ;
  std::cout << "Hi, "<<name << "\n" ;
}
```

### 資料型態

- 單個文字 char
- 多個文字 char[ ]
- 數字 int, short, long, double


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