---
# System prepended metadata

title: 新莊高中 社團教材 C++

---

# 新莊高中 社團教材 C++ 

### 編者們想說的話
>[!tip]括號裡不是我們奇怪想法(也可以是啦~0.0)。
> 主要是紀錄編寫進度和小題醒的啦~~

:::info
我忽然發現我不應該翻譯的...應該要用原文。。。
那我就直接加在標題後面囉!!!
:::

## 補充.01
### 先備知識
 * [快捷鍵](https://hackmd.io/nbXkESsjTd6w1ObHRuF-BA) (我忽然發現很多人不知道欸...)

### Operating system (OS)
 * [Windows](https://hackmd.io/P1xRxPQPQTi5H4bjrNRDIQ)
 * [Linux](https://hackmd.io/WpRRGmf2SCaAFpAeI9qr6Q) 

### 可用軟體 Development software
 * [Dev_C++](https://hackmd.io/9Xqpcil1R5WggGcgPR02tg?both) (學校。。。)
 * [Code_Block](https://hackmd.io/ohRjX2qWTjeCzbLq_YY4FA) (APCS考試用)  (還行) (現在不行了，我覺得他好爛，動不動就卡)
 * [Visaul_studio](https://hackmd.io/jCjAlIu7TS6qcFTFOB6Z6Q) (推薦)
 * [Visaul_studio_code]() (推薦) //需配置C++建置環境 (維護中)

### 基本觀念(AKA不能不知道的常識)
 * [空白鍵及註解](https://hackmd.io/vLO6bmEzR6yStoXC_Jpr_g)
 * [標頭檔!](https://hackmd.io/aB4tDRDFQzKxFeivCgHdKQ) 
 * [cout的<<和cin的>>是什麼??](https://hackmd.io/CkeBSO5CSDavuLuGyyQ4ow)配合.02
 * [跳脫字元?!超級jump~](https://hackmd.io/YDV8h4z6QDKPkgK7N31Yyg)(施工)配合.02
 * [溢位!哦?滿出來了?](https://hackmd.io/6wQB3K9KTm2p_T78XAJwwQ)
 * [std命名空間](https://hackmd.io/6rWyfeMySH6QuCHSnWVgrA)
 * [return 0;](https://hackmd.io/CDFQ4UBcSkucQa_BvZ6hdg)

## 基礎語法

### link start（[靈魂發音](https://www.youtube.com/watch?v=EUcrAwZamls)）
 * [hello world](https://hackmd.io/qIyWkk8mTSe21dUyvqa20w)            :flying_saucer:
 
### 基礎語法.01_變數 Variable
 * [變變變變數](https://hackmd.io/g_RsiqxiR_yKzZd2BKVdXw?both) 
 * [型別(資料型態)](https://hackmd.io/4fxPQG7eQWGC8OYOBQ3mNA?both)
 * [兩數交換](https://hackmd.io/csa1quP5RUuNu4Embmi7VQ?view#%E5%85%A9%E6%95%B8%E4%BA%A4%E6%8F%9B%E6%95%99%E5%AD%B8) (基礎)
 * [區域全域/初始化](https://hackmd.io/a1nYt2yyS8eDzukILFAFUA)

### 基礎語法.02_輸出輸入 Input/Output
 * [IO輸出](https://hackmd.io/6cYI2FnGRq2cfAToN8UTJA?both)-cout   **(含小數點後取數)**
 * [IO輸出](https://hackmd.io/1EWeguy9QFWmUnDpWcWE7Q)-printf
 * [IO輸入](https://hackmd.io/dFSs3Di8RJWePlXuHY3Nvg)-cin
 * [IO輸入](https://hackmd.io/sHmzJWPJQWKitSRvo0PxZQ)-scanf

### 基礎語法.03_運算式 Expression
 * [算數運算子](https://hackmd.io/tQ_NYtRgRn2iRm9yT88glQ)
 * [關係運算子](https://hackmd.io/lahtyV5NQq2_qoIIqGNGaA?both)
 * [邏輯運算子](https://hackmd.io/3wKG7vSISsqVVrQ44_rUbA)
### 基礎語法.04_條件判斷 Conditional statement
 * [if-else](https://hackmd.io/GMZm7CqpTWysal-lnp0fvg)
 * [switch-case](https://hackmd.io/uIugaNEBT1q41A1ZwBQcLQ?both)
### 基礎語法.05_迴圈 Loop
 * [for迴圈](https://hackmd.io/-21CRsIrTVC_QijjD-vVnQ)
 * [do while/while迴圈](https://hackmd.io/9SkRblHJSxKZFpzfzGpw8w)
 * [範圍型for loop](https://hackmd.io/rUBjka0eSlqHNqzoGXNe9g)
### 基礎語法.06_陣列 Array
 * [陣列](https://hackmd.io/-qdSUSDRRZCekbiOC7uFUw)
 * [二維陣列](https://hackmd.io/RCAKXRBUQvak5KikMcIKEg)
### 基礎語法.07_函式 Function
 * [函式](https://hackmd.io/jGlNQrBjTtiYDtwsCzwk1w)
 * [遞迴](https://hackmd.io/BMgvEbYlTJaed-r517oJtw?both) 

## (緩衝區開始)
> [!Caution]緩衝區過後即是...有趣又好玩的地方喔!!!...請各位做好準備

### 二進位
 * [位元運算](https://hackmd.io/kRX3zJ0YTpSn80wJj_vJpw)

### 各種排序 Sort||我絕對不會告訴你這是重點...絕對不會...絕對||(目前沒有東東)
 * [氣泡排序法(Bubble sort)]()
 * [Bubble_ANS]()
 * [選擇排序法(Selection sort)]()
 * [Selection_ANS]()
 * [插入排序法(Insertion sort)]()
 * [Insertion_ANS]()
 * [合併排序法(Merge sort)]()
 * [Merge_ANS]()
 * [快速排序法(Quick sort)]()
 * [Quick_ANS]()

### 字串 String
 * [stringstream](https://hackmd.io/rAJRLSLGRNKTnYVChpe3ZA?both)
 * [自訂輸入](https://hackmd.io/WQAJEernTG-vNzBXa7BEOA?both)
 * 各式string函式用法

## (緩衝區結束)

## 補充.02
### 進階觀念
 * 時間複雜度
 * 空間複雜度
 * 記憶體分配

## 進階邏輯
### 數學
 * 計算 $1$ ~ n 相加總和
 * 快速冪
 * 輾轉相除法 GCD
 * 判斷質數
 * 前綴和
 * 回朔法
 * 離散化

## 進階語法
### 進階語法.01_指標 Pointers (THE BOSS)
 > 補充 : YT搜尋"CodeBeauty"，我覺得她講得不錯，語速還在可以接受的範圍
 > 英文也很標準，雖然不是印度腔XDD，但是還是可以的

為什麼要在這裡講 C++ 的大Boss呢?
因為之後的 (其實前面也有啦!只是妳們沒發現而已) 很多東西都跟這可怕東西有關係，
~~但是其實好像也沒有很可怕~~，所以先放在這裡。
社課我應該是講不到了...嗚嗚嗚~。

 * pointers
 * reference
 * Pointers to an Array
 * new && delete

### 進階語法.02_演算法 Algorithm
 * lambda 表達式
 * sort
 * BFS
 * DFS
 * 二分搜
 * 動態規劃 DP
 * min/max

### 進階語法.03_基礎資料結構 Basic data structure 
 * [Vector](https://hackmd.io/bD1Hqz55S4W4BrqkH85KPQ)
 * Stack
 * Queue
 * Priority_Queue(不知道有沒有拼錯字XD)
 * Double_End_Queue
 * Set
 * Map
 * Unordered Set
 * Unordered Map
 * List

### 進階語法.04_自訂義結構 Struct
 * [Struct](https://hackmd.io/4FCpr-w3TqOlnxLaLSiYXw?view) 
 * Operator Overloading

### 進階語法.05_鏈結串列 Linked list
 * linked list

---
::: warning
## 聲明
本講義由新北市立新莊高級中學程式研究社所撰(有興趣者皆可取用，但翻印修改必究)
:::