# C++程式語言以及HackMD ## C++ ![ISO_C++_Logo.svg](https://hackmd.io/_uploads/ryq1L_sYT.png) ### 簡介 比雅尼·斯特勞斯特魯普博士在貝爾實驗室工作期間在20世紀80年代發明了C++。 屬於靜態語言,也就是宣告一個變數時,需要同時宣告變數的資料類別。 ```cpp= //靜態語言(C++) int a; cin>>1; cout<<a; //結果為1 a="apple"; //出現錯誤因為a的類別是整數 ``` 而動態語言則可以任意改變變數的資料類別。 ```python= a=1 print(a) #結果為1 a="apple" print(a) #結果為apple ``` 同時也是編譯式語言。 編譯式: 當我們寫完程式腳本時,我們需要先將腳本 compile(編譯)成電腦懂的腳本,在將整包腳本拿去執行。 直譯式: 當我們寫完程式腳本時,直接使用直譯器一行一行翻譯成電腦語言並執行。 ### 基礎語法 1. 開頭 ```cpp= #include<bits/stdc++.h> using namespace std; int main() { } //開頭必須寫的程式,而主程式要寫在大括號中 ``` 2. 變數 ```cpp= int a=5; //整數 float b=5.8; //有浮點的數字 char c='c'; //字元 string d="dot"; //字串 bool=true; //布林值的對 bool=false; //布林值的錯 ``` 3. 輸入與輸出 ```cpp= int a; cin>>a; //輸入資料到變數a裡 cout<<a; //輸出a變數 ``` 4. 運算 ```cpp= int a,b; a=5; b=2; cout<<a+b; //加法 =7 cout<<a-b; //減法 =3 cout<<a*b; //乘法 =10 cout<<a/b; //除法 =2 (結果如有小數則無條件捨去) cout<<a%b; //取餘數 =1 ``` 5. 條件判斷 ```cpp= if(){} else{} //情況符合小括號的條件則執行大括號中的程式,否則執行else的程式 if(a==b){} //a等於b if(a!=b){} //a不等於b if(a<b){} //a小於b if(a<=b){} //a小於等於b if(a>b){} //a大於b if(a>=b){} //a大於等於b if(a>=b||a!=0){} //a大於等於b或是a不等於0 if(a==b&&a==3){} //a等於b並且a等於3 ``` 6. 迴圈 ```cpp= for(一開始執行的動作; 迴圈執行條件; 每次迴圈跑完要執行的動作){ 迴圈內的程式; } for(int a=1;a<10;a+=1) //a+=1是指a這個變數本身+1 { cout<<a; } //結果是123456789 while(判斷條件){ 迴圈內的程式; } int a=1; while(a<10) { cout<<a; a+=1; } //結果是123456789 ``` 7. 列表 ```cpp= int a[5]; //a列表可以填入5個整數 string b[3]; //b列表可以填入3個字串 a[0]=12; //a的第一個數值是12(列表的第一個數值的編號是0) b[1]="hello" //b的第二個數值是hello ``` ### 程式練習 我使用zerojudge,一款 Online Judge 系統的線上解題系統。 在2006 年,由國立高雄師大附中的江其勳老師創建。 以下的連結是我在上面做的題目,並將程式碼整理而成的筆記: https://hackmd.io/@yohamn/ryh4zZxP6 ![螢幕擷取畫面 2024-01-21 233606](https://hackmd.io/_uploads/Sy6qth5Ya.png) 總共有收錄71題,除了有些j和k類別是原創題不公開。 其餘63題都可以在zerojudge中找到。 除了自己寫完,我也在討論區中公布我的筆記供他人參考。 ![1](https://hackmd.io/_uploads/SkQzeKqYT.png) ![2](https://hackmd.io/_uploads/HyjGgKcFp.png) 累積至2024/1/21有2569的觀看次數。 ## HackMD ![dwqtf519ulpkepbfvidf](https://hackmd.io/_uploads/HJ72ya5F6.png) ### 簡介 HackMD 是個跨平台的 Markdown 即時協作筆記,可以在電腦、平板甚至是手機與其他人做筆記。 同時也是這篇文章與程式練習的文章使用的軟體。 ### 基礎語法 1. 標題 ``` # h1 ## h2 ### h3 #### h4 ##### h5 ###### h6 ``` 分別顯示的結果如下: # h1 ## h2 ### h3 #### h4 ##### h5 ###### h6 2. 程式碼 ``` ```cpp= #include<bits/stdc++.h> using namespace std; ``` int main() 其中 需夾住程式碼,cpp的位置可換成別類型的語言 { ``` cout<<"hello world" } ``` ``` 顯示結果 ```cpp= #include<bits/stdc++.h> using namespace std; int main() { cout<<"hello world" } ``` 3. 數學式 ``` $1+1=2$ 置左 $$1+1=2$$ 置中 ``` 顯示結果 $1+1=2$ $$1+1=2$$ ``` $$a^b$$ 平方 $$a_b$$ 下標 $$\sum_{a=1}^b$$ Sigma符號 $$\frac{a}{b}$$ 分數 $$\le$$ 小於等於符號 $$\ge$$ 大於等於符號 ``` $$a^b$$ $$a_b$$ $$\sum_{a=1}^b$$ $$\frac{a}{b}$$ $$\le$$ $$\ge$$