C++ 速查手冊
4.1 - 算術運算
C++ 的算術運算子 (arithmetic operator) 包含加、減、乘、除、取餘數,皆需兩個運算元構成運算式,如下列表
運算子 | 功能 | 範例 |
---|---|---|
+ | 加 | a + b |
- | 減 | a - b |
* | 乘 | a * b |
/ | 除 | a / b |
% | 取餘數 | a % b |
以下為整數型態 (integer type) 做算術運算的例子
#include <iostream>
int main() {
int a, b, c;
a = 99;
b = 36;
c = a + b;
std::cout << "a + b = " << c << std::endl;
c = a - b;
std::cout << "a - b = " << c << std::endl;
c = a * b;
std::cout << "a * b = " << c << std::endl;
c = a / b;
std::cout << "a / b = " << c << std::endl;
c = a % b;
std::cout << "a % b = " << c << std::endl;
return 0;
}
/* 《程式語言教學誌》的範例程式
http://kaiching.org/
檔名:u0401_1.cpp
功能:示範 C++ 的算術運算
作者:張凱慶*/
編譯後執行,結果如下
$ g++ u0401_1.cpp |
$ ./a.out |
a + b = 135 |
a - b = 63 |
a * b = 3564 |
a / b = 2 |
a % b = 27 |
$ |
注意程式的第 18 行
c = a / b;
由於是利用整數型態進行計算,所以得到的結果,程式印出的第 4 行也會是整數 (integer) ,這被稱為整數除法 (integer division) 。
以下為浮點數型態做算術運算的例子,請留意,浮點數型態不能做取餘數的計算
#include <iostream>
int main() {
double a, b, c;
a = 9.9;
b = 3.6;
c = a + b;
std::cout << "a + b = " << c << std::endl;
c = a - b;
std::cout << "a - b = " << c << std::endl;
c = a * b;
std::cout << "a * b = " << c << std::endl;
c = a / b;
std::cout << "a / b = " << c << std::endl;
return 0;
}
/* 《程式語言教學誌》的範例程式
http://kaiching.org/
檔名:u0401_2.cpp
功能:示範 C++ 的算術運算
作者:張凱慶*/
編譯後執行,結果如下
$ g++ u0401_2.cpp |
$ ./a.out |
a + b = 13.5 |
a - b = 6.3 |
a * b = 35.64 |
a / b = 2.75 |
$ |
由於字元型態直接對應到 ASCII 編碼的整數值,因此可以利用算術運算來進行字元符號的轉換,如以下為英文大小寫轉換的例子
#include <iostream>
int main() {
char t = 'T';
std::cout << "before: " << t << std::endl;
t = t + 32;
std::cout << "after : " << t << std::endl;
return 0;
}
/* 《程式語言教學誌》的範例程式
http://kaiching.org/
檔名:u0401_3.cpp
功能:示範 C++ 的算術運算
作者:張凱慶*/
編譯後執行,結果如下
$ g++ u0401_3.cpp |
$ ./a.out |
before: T |
after : t |
$ |
相關教學影片