# [2020H401] 2020.6.22上課筆記 ## 今天課程重點 - C++教學:基本輸入與輸出複習 - C++教學:流程控制 if-else條件判斷式 - 撰寫期末專題[終極密碼] - C++教學:變數和基本型別 - 課程進度確認 ## C++教學:基本輸入與輸出複習 - 請確實複習課本內容 - 每個題目都要練習 ### iostream是最常用的輸入輸出函式庫 `cout` 輸出資料 `cin` 輸入資料 範例: ``` C++ #include <iostream> int main() { std::cout << "Hello World!\n"; } ``` ### 命名空間 using namespace 原本使用cin, cout,前面都要帶前綴字元std::,為了用更精簡的語法來寫程式,我們使用`using` #### 使用`using`前 ``` C++ #include <iostream> int main() { std::cout << "Hello World!\n"; } ``` #### 使用`using`後 ``` C++ #include <iostream> #using std::cout; //使用using宣告 int main() { cout << "Hello World!\n"; } ``` ## C++教學:流程控制 if-else條件判斷式 ### if-else ### 邏輯運算子 - AND: 兩個條件皆為True,則為True - OR: 兩者條件之一為True,則為True ## 撰寫期末專題[終極密碼] 終極密碼專題分析 1. 每次都會隨機出一個最終答案(1~100) 2. 使用者每次可輸入一個數字 - 如果輸入數字等於最終答案:告知使用者答對,遊戲結束 - 如果數字大於最終答案:告知使用者答案介於目前範圍最小值~輸入數字之間,使用者繼續猜 - 如果數字小於最終答案:告知使用者答案介於輸入數字~目前範圍最大值之間,使用者繼續猜 - 使用者猜超出範圍的數字:提示使用者重新輸入 產生亂數的方法 ```C++ #include <iostream> #include <cstdlib> /* 亂數相關函數 */ #include <time.h> int main(){ /* 產生亂數 */ srand((unsigned)time(NULL)); int x = rand()%100; std::cout << "x = " << x << std::endl; return 0; } ``` ## C++教學:變數和基本型別 電腦處理人類的各種資料,像是年紀、性別、收入金額、身高,為了讓電腦可以透過程式處理,在程式語言中會定義各種資料型態,來正確表示資料。 ### 資料型態 - 單個文字 char - 多個文字 char[ ] - 數字 int, short, long, double | 型別 | 意義 | | -------- | -------- | -------- | | `bool` | 布林值,表示真(1)或假(0) | | `char` | 單個字元 | | `int` | 整數 | | `float` | 單精度浮點數 | | `double` | 雙精度浮點數 | ### 變數 - 宣告語法 ``` C++ int a = 0 //宣告一個變數,名稱為a,並給予初始值0 ``` - 命名不可使用保留字 例如 `continue` `char` `operator` - 變數的範疇 (未來在函式單元補充) - 全域(Global Scope) - 區塊(Local Scope) ### 常數 - 宣告語法 ``` C++ const float pi = 3.14 //宣告一個常數,名稱為pi,並給予初始值3.14 ``` ### 處理文字更好用的變數:字串String - 程式一開頭必須先宣告以下函式庫引用、命名空間 ``` C++ #include <string> using std::string ``` - string的宣告 ``` C++ #include <string> using std::string void main(){ string s; //string的宣告 cin >> s; //輸入一個字串 cout << s << endl; //將剛剛輸入的字串輸出 return 0; } ``` - string的運算 - 比較 - 結合 - 計算字串長度 ### 課程進度確認 1. 以下規劃為**最充足學習時間**來考量,若學習狀況良好,會提前進度教學,增加專題實作 2. 7/31會做一次學習狀況檢核討論 | 日期 | 課程進度 | 備註 | | -------- | -------- | -------- | | 6/18(Thr.) | [C++教學] 基本觀念、輸入與輸出 | OK | | 6/22(Mon.) | [C++教學] 變數與資料型態(一) | | | 7/2(Thr.) | [C++教學] 變數與資料型態(二) | | | 7/6(Mon.) | [C++教學] 流程指令及迴圈(一) | | | 7/13(Mon.) | [C++教學] 流程指令及迴圈(二) | | | 7/20(Mon.) | [C++教學] 陣列與指標(一) | | | 7/27(Mon.) | [C++教學] 陣列與指標(二) | | | 8/3(Mon.) | [C++教學] 函式 | | | 8/10(Mon.) | [C++教學] 結構與類別(一) | | | 8/17(Mon.) | [C++教學] 結構與類別(二) | | | 8/24(Mon.) | [C++教學] 綜合練習(一) | | | 8/31(Mon.) | [C++教學] 綜合練習(二) | | ###### tags: `H400大學家教` `C/C++ `
×
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