---
# System prepended metadata

title: 好像是放一些教學的地方
tags: [好色喔別亂看]

---

# 超基礎篇

## 基本架構
說到程式，當然是要從***Hello word***開始講起了
以下是正規的實現程式:
```cpp=
#include <iostream>

using namespace std;

int main()
{
    printf("Hello word");

    return 0;
}
```
我們可以把這程式拆解成三個部分
基本上所有的程式都是由這三大部分構成的
- **#include**
    > 符號 **#** 為C++中的預處裡指令
    > **include**為插入其他檔案(稱為標頭檔)中程式法的宣告，也就是所謂的引用，標準檔案庫 **iostream** 是用於資料的串流輸入與輸出的標頭檔，使程式可以使用**printf**
- **using namespace**
    >**using**等效於**typedef**，用於指定類型別名(這東西基本上在一般的比賽及考試中不需要知道其意思，暫不解釋)，**std**為標準輸入輸出
- **int main**
    >回傳值為**int**型態的函數，名為**main**，**main**在許多語言中都具有特殊意義，皆代表程式的切入點，也就是最開始可以執行的地方，後面的 **(  )** 為傳入數值，但因為是切入點故無傳入數值，而在 **{  }** 中為函數體，定義了主要邏輯(點單來說就是這個函數在做甚麼)

## 標準輸入輸出
>檔案流的一種，通常直接指向螢幕和鍵盤
- **輸出**
    >通常使用的函數有兩種
    >1. **printf**
    >比較特別的是這東西是從C移植過來的，繼承了C的特性，當需要輸出變數時需要使用格式指定字，參考我以前的[這篇](https://github.com/linn1121/coding-with-C/blob/main/1.%E5%9F%BA%E7%A4%8E/03.%E6%A0%BC%E5%BC%8F%E6%8C%87%E5%AE%9A%E5%AD%97.md)
    >範例:
    >```cpp
    >printf("Hello word");
    >```
    >2. **cout**
    >範例:
    >```cpp
    >cout<<"Hello word";
    >```
- **輸入**
    >在c++中只要記得**cin**就夠了
    >範例:
    >```cpp
    >int i;
    >cin>>i;
    >```
## 宣告

~~翻開覆蓋的陷阱卡，神之宣告~~
任何的實體，如函式、類別、列舉和變數等，都必須要先進行宣告，讓電腦知道那到底是什麼東西
通常的格式都是 **"資料型態 變數名稱;"** 如:
```cpp
int i;
```
完整的資料型態見我[這篇](https://github.com/linn1121/coding-with-C/blob/main/1.%E5%9F%BA%E7%A4%8E/01.%E8%B3%87%E6%96%99%E5%9E%8B%E6%85%8B.md)