# 資訊之芽 ###### 03.03 鄭余玄 ###### 2018 資訊之芽 語法班 --- # 程式語言簡介 ---- ## 程式語言 - 「可以控制機器的人造語言」 - 方便我們撰寫程式的邏輯 <!-- .element: class="fragment" data-fragment-index="1" --> - 可轉換成機器能夠看懂、可以執行的「指令」<!-- .element: class="fragment" data-fragment-index="2" --> - 隨著時間發展而具備不同特性和面向<!-- .element: class="fragment" data-fragment-index="3" --> ---- ## 程式語言類別 - 高階語言 (Ex: C, C++, Python, Java) ```c SUM = A + B ``` - 組合語言 ```asm LOAD A ADD B STORE SUM ``` - 機器語言 ```txt 01001101011111010001010000010111 01010011011110110101110000001011 01000111100010101011101001101011 ``` ---- ## 電腦的組成 抽象來說,電腦內包含了: - **中央處理單元 (CPU)** - **記體憶單元 (Memory)** - 儲存單元 (Storage),ex: 硬碟 - 輸入單元 (Input),ex: 鍵盤、滑鼠 - 輸出單元 (Output),ex: 螢幕、印表機 ---- ## 關於大家要學的 C/C++ - C 語言與 Unix 作業系統的發展密不可分 - C++ 是從 C 衍生的語言,兩者相近但**相異** - 課程中會將容易困惑的 C 語法,以 C++ 較易解釋的部份取代 <!-- .element: class="fragment" data-fragment-index="1" --> - 各位將學的是 C++ 中偏向 C 的部份,並不探討 C++ 中其他的語言特性 <!-- .element: class="fragment" data-fragment-index="2" --> --- # C 新手入門 ## Hello World ---- ![](https://i.imgur.com/h8CIpjm.png) ---- ## 課程使用軟體 - 整合開發環境 (IDE) - **Dev-C++** (上課使用此軟體) - Microsoft Visual Studio - 編譯器 (Compiler) - GNU Compiler Collection (gcc, g++) - Intel C++ Compiler (icc, icpc) ---- # Hello World! - 請開啟一個新專案,輸入下列程式碼後編譯並執行 ```c++ #include <iostream> using namespace std; int main() { cout << "Hello World!" << endl; return 0; } ``` ---- ## 也可以這樣寫 ```c++ #include <iostream> int main() { std::cout << "Hello World!" << std::endl; return 0; } ``` ---- ## 簡略說明 ```c++ #include <iostream> // 加註解 int main() { std::cout << "Hello World!" << std::endl; // 要記得加上分號 return 0; } ``` - ```//```,加上單行程式碼註解(給人看的,隨意寫) - ```#```,開頭的是前置處理指令(給編譯器看的) ```c++ #include <檔案名> ``` - ```std::cout``` 和 ```std::endl``` 都是在 ```iostream``` 中 ---- ## 主程式 ```c++ #include <iostream> using namespace std; int main() { cout << "Hello World!" << endl; // 分號很重要!! return 0; // 分號很重要!! } ``` - ```int```,整數 integer,後面有詳細介紹 - ```main()```,程式進入點 - ```{}```,程式區塊範圍 - ```return 0;```,程式正常結束 ---- ## 標準輸入輸出 ```c++ std::cout << "Hello World!" << std::endl; ``` - ```std::cout```,輸出到螢幕 (console output) - ```<<```,串接要輸出的東西 - ```std::endl```,輸出換行(end-of-line) - 「**```;```**」,結束這行指令 ---- ## 串接 ```c++ std::cout << "Hello World!" << std::endl << "我愛資芽!"; ``` 或是 ```c++ std::cout << "Hello World!" << std::endl; std::cout << "我愛資芽!"; ``` ---- ## Tips - cout 唸作「see-out」,不是~~靠~~ - 指令(陳述式)結尾加「```;```」 - 不計換行、空白、定位(Tab),可以幫助程式碼編排 ```c++ #include <iostream> using namespace std; int main( ) { cout << "Hello World!" << endl; return 0; } ``` ---- ## 小練習 1\. 執行下列程式碼,看看有什麼不同 ```c++ #include <iostream> using namespace std; int main() { cout << "1 + 1" << endl; cout << 1 + 1 << endl; return 0; } ``` --- # 線上平測系統 (OJ) 教學 http://neoj.sprout.tw/</pre>
{"metaMigratedAt":"2023-06-14T15:48:29.882Z","metaMigratedFrom":"YAML","title":"資訊之芽","breaks":true,"slideOptions":"{\"theme\":\"serif\"}","contributors":"[]"}
    696 views