# 應該是拿來教C++的地方啦(? ## 前言~~幹話~~ ### 作者自介 ~~我知道沒人在乎~~ 嗨嗨我是hawevin520wind 影風凜 ~~(中二)~~ 以下是小弟的自介 > TNFSH 110th 菜雞 > TFCIS 21st 邊緣人 > APCS 觀念4級+實作4級 > 除了C++ 還有自學Python跟Unity > ㄎㄧㄤ爆(看簡報就知道)~~邊緣人 qq~~ ### 這邊是拿來幹嘛的? 主要是提供有意願學習C++的朋友們快速入門~~與加速放棄~~ 基本上是包含了學校會教的&考APCS的基本水準 順便一提 小弟我並不是最強的 只是希望能藉由這種方式 能幫助到一些有心想補救資訊成績 或是想學C++但不知從何下手的人 讓大家一起成長 # 基礎教學 ~~(終於要進入正題了...)~~ 算是ㄧ些基本的東西 這裡的東西一定要記熟 ## 變數的啦 :::info 所謂的變數 簡單來說就是儲存一個會變動的東西 大概就像是你去學校美食廣場買便當 你每天買的店家不一定相同 便當的菜色也不一定會相同 ~~(如果你堅持每天吃一樣的東西就另當別論~~ 而你要吃哪間是你決定的 便當裡要塞什麼菜色也是你來決定的 ::: 進入正題 變數大致上包括: ```cpp= int a; //一個叫做 a 的數字 (最大只能到20億左右) long long int b; //一個叫做 b 的數字 (最大只能到400億億左右 4後面有18個0) double c; //一個叫做 c 的數字 (含有小數 像是1.5 8.7 12.3等) char d; //一個叫做 d 的字 (像是'f' 'g' 'o'等) string e //一個叫做 e 的句子 (像是"haha" "OuO" "qq"等) ``` ## 輸入與輸出的啦 ### 輸出的部分 :::info 所謂的輸出 就是從電腦裡面抓取資料 並且讓你看到 簡單來說 就像是你在操作提款機時螢幕上顯示的東西 ~~雖然說你操作不了提款機~~ ::: 輸出的指令通常是長的像這樣... ```cpp= cout << "你要輸出的內容1" << "內容2" << "內容3" << endl; ``` 至於 `endl` 的用途 等下的範例會講解 實際操作方法是: ```cpp= #include <iostream> using namespace std; int main(){ cout << "ouo" << endl; cout << "o3o" ; } ``` :::success Input: Output: ouo o3o ::: 這時我們稍微修改一下程式碼... ```cpp= #include <iostream> using namespace std; int main(){ cout << "ouo" ; cout << "o3o" ; } ``` :::success Input: Output: ouoo3o ::: 看出差別了嗎? 只要加上 `endl` 就會在行尾的時候換行喔喔喔喔喔 ### 簡單der練習 - 輸出 :::warning 請輸出一行文字 "Hello,C++" 行末需換行 不需輸出雙引號(") 範例如下 - input: output: Hello,C++ ::: :::spoiler 點開我查看答案 ```cpp= #include <iostream> using namespace std; int main(){ cout <<"Hello,C++" <<endl; } ``` ::: ### 輸入的部分 :::info 所謂的輸入 就是讓電腦知道你在想什麼 至於要輸入些什麼 就需要用到剛剛說過的 "變數" ::: ## 考好APCS從你我開始~~放棄~~ ### DFS的啦 #### 什麼是DFS? :::info DFS = 深度優先搜尋 簡單來說 就像是走迷宮時摸著一邊的牆壁一直走 走到死路盡頭時就回到上一個分岔路口 ::: #### 舉個~~栗子~~(? 如果說今天要來走迷宮 而你秉持著 `北>東>南>西` 的優先序來探索迷宮... ```cpp= void dfs(int x,int y){ // x由上往下遞增 y由左往右遞增 if(特定條件) return; ... dfs(x-1,y); //往北 dfs(x,y+1); //往東 dfs(x+1,y); //往南 dfs(x,y-1); //往西 return; } ``` ### BFS的啦 #### 什麼是BFS? :::info BFS = 廣度優先搜尋 簡單來說 就像是到一個新的班級 會先從周圍的同學開始認識 ::: #### 舉個~~粒子~~(? 在班上認識新同學時 先認識周圍的同學 再認識周圍同學周圍的同學 再認識周圍同學的周圍同學的周圍的同學.... ~~怎麼好像在繞口令~~ ```cpp= void bfs(){ } ```