# 政附資訊二十屆 ## 第一堂社課 --- ## Hello World ---- ## C++的架構 ```cpp= #include<iostream> using namespace std; int main(){ //你的主程式寫在這裡 } ``` ```#include<iostream>``` :c++輸入/輸出的資料庫 (輸入輸出串流標頭檔) ```using namespace std;```:讓你不用打一堆字(std::cout->cout)(但如果你想寫也不是不行) ```int main()```: 主程式開始的地方 ---- ## Hello, World! ```cpp= #include<iostream> using namespace std; int main(){ cout <<"Hello, World!"<<endl; } ``` output: ``` Hello, World! ``` ```cout``` : 輸出 ```"Hello, World!"``` : 在寫程式的時候,任何文字一定要用雙引號包起來 ```endl ```: 換行,也可以用```"\n"``` --- ## Q1.跟社長打招呼 今天是政附資訊第一天,學員們都很高興可以認識新的朋友,尤其是我們的誠毅哥哥(社長)。 請寫出一段程式可以和小誠意Say Hello! 輸出: ``` Hello President of ZFCSC! Hello Little ChengYi! ``` ---- ## 答案 ```cpp= #include<iostream> using namespace std; int main(){ cout<<"Hello President of ZFCSC!\nHello Little ChengYi!\n"; } ``` --- ## 資料型別 ---- 在學習輸入之前,我們要先學會變數 | 名稱 | 儲存值 | 例子 | | -------- | -------- | -------- | | int | 整數 | 1 | | float | 浮點數(小數) | 1.1 | | bool | 布林值(1或0) | true | | char | 字母 | a | | string | 字串 | XiaoChengYi | ---- 大部分變數都有他的最高存取值 int最多只能存到2147483647 可以透過以下方法增大存儲上限: | 名稱 | 儲存值 | 例子 | | -------- | -------- | -------- | | long long int | 長整數 | 2315236424243 | | double | 雙精度浮點數(小數) | 1234.15323 | long long int 的上限是 9,223,372,036,854,775,807 double 是更精準的小數點,建議要存小數就直接用double不要用float ---- ```cpp= #include<iostream> using namespace std; int main(){ int a; a=2008; int b=1007; int c=111111,d=a+b; double e= 3.1415926; cout <<a<<" "<<b<<" "<<c<<" "<<d<<" "<<e<<endl; } ``` output: ``` 2008 1007 111111 3015 3.14159 ``` ```<<```:連續輸出資料時,用```<<```連接 ```=```:用於"賦值" 將該運算子右邊的值賦予給左邊的變數 --- ## 算術運算子 ---- 接下來我們簡單介紹幾個運算中常用到的運算子: | 運算子 | 用途 | 範例 | |:------:| :----: | :----: | | + | 將左值加上右值 | ```a=3+2``` | | - | 將左值減去右值 | ```a=3-2``` | | * | 將左值乘上右值 | ```a=3*2``` | | / | 將左值除以右值 | ```a=3/2``` | | % | 取左值除以右值的餘數 | ```a=3%2``` | ---- ## 注意!!! (一) 算數運算子的運作方式與我們數學的四則運算一樣 "先乘除後加減" 用括號括起來的部分也會先運算 (二) 而當寫到"```a=a+2```"或"```a=a*2```"這樣子的寫法時 都可以簡化成"```a+=2```"或"```a*=2```" ---- ## 注意!!! (三) 寫程式時要記得寫```a+=2```,要避免只寫```a+2``` 電腦只會算出```a+2```是多少,但不會存進```a```裡 (四) ``` int a=3,b=2; cout<<a/b<<'\n'<<(float)a/b<<endl; ``` output: ``` 1 1.5 ``` --- ## 輸入 ---- 現在我們可以學輸入啦! ```cpp= #include<iostream> using namespace std; int main(){ int a,b;//宣告整數變數 a 和 b cin>>a>>b; cout<<"a/b= "<<(float)a/b<<endl; return 0; } ``` input: ``` 3 2 ``` output ``` a/b= 1.5 ``` --- ## Q2.平均數 輸入整數a,b,c,d 計算這4個數字的平均,請輸出小數 ``` 範例輸入1: 1 2 3 4 範例輸出1: 2.5 ``` ``` 範例輸入2: 3 4 6 8 範例輸出2: 5.25 ``` ---- ## 答案 ```cpp= #include<iostream> using namespace std; int main(){ int a,b,c,d; cin>>a>>b>>c>>d; cout<<(a+b+c+d)/4.<<endl; return 0; } ``` --- ## Q3.歲數 誠毅的年齡是小誠意的年齡的2倍+3, 而凱凱的年齡的十位數和誠毅相同,個位數和小誠意相同(保證凱凱、誠毅、小誠意的年齡都是2位數),現在給你小誠意的年齡, 試著找出凱凱幾歲 ``` 範例輸入1: 8 範例輸出1: 18 ``` ``` 範例輸入2: 12 範例輸出2: 22 ``` ---- 答案: ```cpp= #include<iostream> using namespace std; int main(){ int kaikai, chengyi, xiaochengyi; cin>>xiaochengyi; chengyi=xiaochengyi*2+3; kaikai=(chengyi-chengyi%10)+xiaochengyi%10; cout<<kaikai<<endl; return 0; } ``` --- ## 推薦zerojudge題目: a001哈囉 a002簡易加法