# 新莊高中 社團教材 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 ## 聲明 本講義由新北市立新莊高級中學程式研究社所撰(有興趣者皆可取用,但翻印修改必究) :::
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up