<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;
}
```

在程式中,和平常進行運算時一樣,都是先乘除後加減,想先計算加減時,可用 `()` 包起來,最內層的 `()` 會先進行運算
<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;
}
```

也可讓一個變數的值 = 另一個變數的值(將一個變數的值賦予給另一個變數),甚至做運算
```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;
}
```

表示 `num = num + 3;` 時,可寫為 `num += 3;` ,其他 `-`、`*` 、`/`、`%` 也都可使用這種方法進行操作。
而 `num++;` 與 `num += 1;` 意義相同,`num--;` 也與 `num -= 1;` 相同