<style> html, body, .ui-content { background-color: #333; color: #ddd; } body > .ui-infobar { display: none; } .ui-view-area > .ui-infobar { display: block; } .markdown-body h1{ color: #9CCEF2; } .markdown-body h2, .markdown-body h3{ color: #B1D6CA; } .markdown-body h4, .markdown-body h5, .markdown-body h6 { color: #ddd; } .markdown-body h1, .markdown-body h2 { border-bottom-color: #ffffff69; } .markdown-body h1 .octicon-link, .markdown-body h2 .octicon-link, .markdown-body h3 .octicon-link, .markdown-body h4 .octicon-link, .markdown-body h5 .octicon-link, .markdown-body h6 .octicon-link { color: #fff; } .markdown-body img { background-color: transparent; } .ui-toc-dropdown .nav>.active:focus>a, .ui-toc-dropdown .nav>.active:hover>a, .ui-toc-dropdown .nav>.active>a { color: white; border-left: 2px solid white; } .expand-toggle:hover, .expand-toggle:focus, .back-to-top:hover, .back-to-top:focus, .go-to-bottom:hover, .go-to-bottom:focus { color: white; } .ui-toc-dropdown { background-color: #333; } .ui-toc-label.btn { background-color: #191919; color: white; } .ui-toc-dropdown .nav>li>a:focus, .ui-toc-dropdown .nav>li>a:hover { color: white; border-left: 1px solid white; } .markdown-body blockquote { color: #bcbcbc; } .markdown-body table tr { background-color: #5f5f5f; } .markdown-body table tr:nth-child(2n) { background-color: #4f4f4f; } .markdown-body code, .markdown-body tt { color: #eee; background-color: rgba(230, 230, 230, 0.36); } a, .open-files-container li.selected a { color: #5EB7E0; } </style> ###### tags: `tgirc早修book` # 四則運算 ## 常用運算符號 * **加法**:x + y * **減法**:x - y * **乘法**:x \* y * **除法**:x / y (小數點無條件捨去) * **取餘數(mod)**:x % y (5%3 == 2) ## 其他運算函式 可引入數學函式庫,使用更多的功能 `#include <cmath>` **x的y次方**:pow(x, y) **根號x**:sqrt(x) <font color="F5F6B6">**範例 1**</font> 計算 x^2^+1 ```cpp= #include <iostream> #include <cmath> using namespace std; int main(){ int x; //宣告整數變數x cin>>x; //將輸入內容存入x cout<<pow(x,2)+1<<"\n"; //輸出x的平方 ( pow(x,2) ) 加一之後,再輸出一個換行 ("\n") return 0; } ``` ![](https://i.imgur.com/BEkHKPt.png) 在程式中,和平常進行運算時一樣,都是先乘除後加減,想先計算加減時,可用 `()` 包起來,最內層的 `()` 會先進行運算 <font color="F5F6B6">**範例 2**</font> ```cpp= #include <iostream> using namespace std; int main(){ cout<<(6+(7+8*(9-4)))*2<<"\n"; //先執行最內層括號內的9-4等於5 //然後5再先乘除後加減,將5*8等於40 //40+7等於47 //至此,將47加上6等於53,最後再乘上最外層的2=106 return 0; } ``` ## 賦值 除了使用 `cin` 給予變數一個值以外,可以使用 `=` 直接賦予變數一個初始值 ```cpp= #include <iostream> using namespace std; int main(){ int num,num2=2,num3; //宣告num與num3,不賦予初始值 //宣告num2,並賦予初始值為2 //此時num2的值為2 num3=3; //將3賦予num3,此時num3的值為3 cin>>num; //將輸入值賦予給num cout<<num<<" + "<<num2<<" + "<<num3<<" = "; //用雙引號「"」框起來的為字串,沒框起來的是變數依各符號功能做處理 //依序輸出 num、「+」符號、num2、「+」符號、num3 cout<<num+num2+num3<<"\n"; //輸出 num+num2+num3 的「值」 return 0; } ``` ![](https://i.imgur.com/0C5s0ak.png) 也可讓一個變數的值 = 另一個變數的值(將一個變數的值賦予給另一個變數),甚至做運算 ```cpp= #include <iostream> using namespace std; int main(){ int num=3,num2,num3; //宣告num,並賦予初始值3 num2=num; //將num的值3賦予num2,此時num2的值為3 num3=num+num2*2; //將num+num2*2,也就是等於3(num的值)+3(num2的值)*2 //所以3+3*2=3+6=9,將9賦予num3 //此時num3的值為9 cout<<"num: "<<num<<"\nnum2: "<<num2<<"\nnum3: "<<num3<<"\n"; //「\n」表示換行 return 0; } ``` ![](https://i.imgur.com/WVCfAuh.png) 表示 `num = num + 3;` 時,可寫為 `num += 3;` ,其他 `-`、`*` 、`/`、`%` 也都可使用這種方法進行操作。 而 `num++;` 與 `num += 1;` 意義相同,`num--;` 也與 `num -= 1;` 相同