--- slideOptions: theme: serif --- # 資訊之芽 ###### 02.25 鄭余玄 ###### 2017 資訊之芽 語法班 --- ## 課程使用軟體 - 撰寫程式需要安裝具有編譯 C/C++ 程式能力的整合性開發環境或編譯軟體 : - 編譯器 (Compiler): - Microsoft Visual C++ (MSVC++) - The GNU Compiler Collection (GCC, G++) - 整合開發環境 (IDE: 包含某套編譯軟體): - **Microsoft Visual Studio (MSVC++)** - Dev C++ (GCC), Code blocks, Qt Creator, 等等. - 上課示範將以 Microsoft Visual Studio 為主。 --- # 程式語言簡介 ---- ## 程式語言 - 「可以控制機器的人造語言」 - 方便我們撰寫程式的邏輯 <!-- .element: class="fragment" data-fragment-index="1" --> - 可轉換成機器能夠看懂、可以執行的「指令」<!-- .element: class="fragment" data-fragment-index="2" --> - 隨著時間發展而具備不同特性和面向<!-- .element: class="fragment" data-fragment-index="3" --> ---- ## 電腦的組成 抽象來說,電腦內包含了: - 輸入單元 (Input): 例如鍵盤和滑鼠 (感官) - 輸出單元 (Output): 例如螢幕和印表機 (嘴巴、肢體) - 輔助儲存單元 (Storage) : 例如硬碟和光碟 - **記憶單元 (Memory)**: 例如記憶體 - **中央處理單元 (CPU)** ---- ## 程式語言分階 - 高階語言 (Ex: C, C++, Python, Java) ```c SUM = A + B ``` - 組合語言 ```asm LOAD A ADD B STORE SUM ``` - 機器語言 ```txt 01001101011111010001010000010111 01010011011110110101110000001011 01000111100010101011101001101011 ``` ---- ## 關於大家要學的 C/C++ - C++ 是從 C 衍生出的是語言,兩者相近但相異 - C 語言在 1970 年代由 Dennis Ritchie 與 Ken Thompson 發展出來,與 Unix 作業系統的發展密不可分 - 課程中會將容易困惑的 C 語法,以 C++ 較易解釋的部份取代 <!-- .element: class="fragment" data-fragment-index="1" --> - 結論,各位將學的是 C++ 中偏向 C 的部份,並不探討 C++ 中其他的語言特性 <!-- .element: class="fragment" data-fragment-index="2" --> --- # C 新手入門 ## Hello World ----  ---- # 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> int main() { std::cout << "Hello World!" << std::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> int main( ) { std::cout << "Hello World!" << std::endl; return 0; } ``` ---- ## 小練習 1. 輸出「你的名子」 1. 執行下列程式碼,看看有什麼不同 ```c++ #include <iostream> using namespace std; int main() { cout << "1 + 1" << endl; cout << 1 + 1 << endl; return 0; } ``` --- # 線上平測系統 (OJ) 教學 http://neoj.sprout.tw/
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up