---
# System prepended metadata

title: 第一個程式說了些甚麼？

---

# 第一個程式說了些甚麼？
## 第一個程式的內容
```c=
#include <stdio.h> //先行處理指令 <標頭檔> .h的h是指head

int main(){
    
}
```
- `<stdio.h>`此標頭檔中定義了很多關於輸入輸出的指令
    - `#inclued <*.h>`就是告訴編譯器會用到標頭檔裡面的函數
    - Standard input output.header
#### 備註：C語言中的四種括號
- `()`
- `{}`
- `[]`
- `<>`
```c=+
int main(){
}
```
- int:表示整數 一種修飾字
- main:主要
    - `main()`要把小括號合起來用
        - C/C++的指令（函數）格式便是`***()`
        - main指令是所有C語言程式執行時會被系統自動執行的指令
        - main的小括號內可以放入參數
            - 參數就是程式執行時可以參考的數值
                - 空白代表沒有 此括號（嗎？待考）不可省略
    - `{}`放入要執行的程式碼
    - 課外閱讀：[為什麼C語言是int main()](https://blog.moli.rocks/2016/12/15/why-should-main-return-in-c/)
    - 物聯網你可以寫成void main()
    - 課外閱讀：[C++ 的 void main() / int main() … 不要再用 void main() 了!](https://www.peterdavehello.org/2014/10/void-main-int-main-in-c-and-cpp/)
- `printf("要印的字");`
    - f:formt
    - 要印的字是參數
- 編碼問題
    - 半形1byte可存256符號
    - 中文Big5 盡量不要用
      - code page頁碼950
        - ANSI:符合使用語系的編碼
    - UTF-8
        - 應該把PowerShell改成UTF-8
        - `chcp 65001`
- 程式檔案的命名習慣
    - `_`可以表小版本
- PowerShell改透明底蠻方便的