---
# System prepended metadata

title: 應該是拿來教C++的地方啦(?

---

# 應該是拿來教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(){
    
}
```