# C++基礎介紹 ## 2021/09/10 電算社體驗社課 --- ## 什麼是程式語言? ---- 大多數程式語言的程式碼 都由很多個指令構成 而電腦就會依照這些指令 按順序完成指定的工作 ---- 程式除了可以自動化執行 已經指定好的固定流程之外 當然也可以和使用者進行互動 ---- 程式跟使用者互動的方式分成兩種 一種是GUI ( 圖形使用者介面 ) 例如上網Google資料、用電腦內建的計算機等等 另一種叫做CLI ( 命令列介面 ) , 利用文字跟程式互動, 而程式的回應也是用文字為主 --- ## 編輯器、檔案建立與編輯 ---- 有很多編輯器都可以拿來寫C++ **線上**: [ideone.com](https://ideone.com/) [onlineGDB](https://www.onlinegdb.com/) [repl.it](https://repl.it/) **應用程式**: [Dev C++](https://sourceforge.net/projects/orwelldevcpp/) [CodeBlocks](https://www.codeblocks.org/) [Visual Studio Code ( VSCode )](https://code.visualstudio.com/) ---- 學校有Dev C++ 以及 CodeBlocks 選擇其中一個( 沒有經驗的人建議選DevC++ ), 點開之後,按下 檔案 -> 開新檔案 -> 原始碼 也可以直接按ctrl + N --- ## Hello World! ---- ### 執行程式碼 程式語言分成編譯式和直譯式 C++ 屬於編譯式 程式碼不能直接被執行 要經過編譯器將程式碼編譯成機器碼 ---- 讓DevC++ 執行請按F11 讓Codeblocks 執行請按F9 ---- 試著寫點東西吧! ---- ```cpp= #include<iostream> int main() { std::cout << "Hello World!" << std::endl; return 0; } ``` --- 來看看剛剛你寫了什麼 ---- 標頭檔 : 工具箱 ```cpp= #include<iostream> ``` ---- 主函式 ```cpp= int main() ``` 程式一開始執行就是執行這個main函式 ---- scope 該函式的範圍 ```cpp= { ... //中間塞一堆你要做的事 } ``` ---- 陳述句 statement ```cpp= std::cout << "Hello World!" << endl; ``` endl是換行 注意:cout後面接的是 << ---- 很煩不想一直std:: ```cpp= using namespace std; ``` ---- 回傳 ```cpp= return 0; ``` ---- ### 總結 一份C++程式需要一個main函式, 程式開始時會執行它的內容, 主要由許多陳述句組成 --- ### 註解 ---- 註解用來讓你(或別人)知道 你(或別人)寫的程式碼是甚麼意思 C++的註解分兩種 ```cpp= //我是單行註解 /* 我是 多行註解啦 哈哈 :D */ ``` 註解不會被編譯,編譯器到註解會直接跳過 ---- 另外,在Codeblock中, ctrl + shift + c 會幫你快速多行註解 在DevC++中, ctrl + / 會幫你快速多行註解 是非常實用的功能 --- ### 小練習 試著輸出 "CRC is the best." 吧 ---- ### 我是防雷頁 ---- ### 解答 ```cpp= #include<iostream> int main() { std::cout << "CRC is the best." << endl; return 0; } ``` --- ### Online Judge(OJ)介紹 ---- #### 社課常用 OJ GreenJudge 難度 : 很簡 -> 難 (各種題庫,但運行速度和題目測資垃圾) ZeroJudge 難度 : 簡 -> 難到靠北 (ZeroJudge的題序不是照著難度排的, 有些很前面的題目很毒瘤) ~~(線段樹 3n+1)~~ ~~CRCOJ~~ --- ### Green Judge練習 [a001 Hello!](http://www.tcgs.tc.edu.tw:1218/ShowProblem?problemid=a001) [a002 This is a book](http://www.tcgs.tc.edu.tw:1218/ShowProblem?problemid=a002)(相對複雜一點) --- ### 今天的社課結束了,謝謝大家 ##### 如果有空也可以到社辦走走喔!!!
{"metaMigratedAt":"2023-06-16T09:32:37.382Z","metaMigratedFrom":"YAML","title":"C++基礎介紹","breaks":true,"slideOptions":"{\"transition\":\"slide\",\"theme\":null}","contributors":"[{\"id\":\"4f731eff-9d88-41f4-af56-2e3e02f20cfc\",\"add\":1730,\"del\":303},{\"id\":\"9e7d687a-83f2-4e8a-8ee6-8846394e69a5\",\"add\":719,\"del\":114},{\"id\":\"68c94489-3c2e-4879-b847-e982f360b03c\",\"add\":304,\"del\":15}]"}
    683 views