C++ 速查手冊
單元 4 - 運算式
運算式 (expression) 由運算元 (operand) 與運算子 (operator) 所組成,每個運算式都會計算出一個值 (value) 。最簡單的運算式為常數運算式,也就是只有以常數為運算元的運算式,如
#include <iostream>
int main() {
if (1) {
std::cout << "Hello, world!" << std::endl;
}
return 0;
}
/* 《程式語言教學誌》的範例程式
http://kaiching.org/
檔名:u04_1.cpp
功能:示範 C++ 的常數運算式
作者:張凱慶*/
第 4 行
if (1) {
if 後面所接的小括弧需要一個運算式,此處只代入整數 1 ,亦即為常數運算式。
編譯後執行,如下
$ g++ u04_1.cpp |
$ ./a.out |
Hello, world! |
$ |
呼叫函數 (function) 也屬於運算式的一種,如以下程式呼叫屬於 C 語言的標準程式庫 (c standard library) math.h 的函數 abs()
#include <iostream>
#include <cmath>
int main() {
int a = -99;
int b = abs(a);
std::cout << "a: " << a << std::endl;
std::cout << "abs(a): " << b << std::endl;
return 0;
}
/* 《程式語言教學誌》的範例程式
http://kaiching.org/
檔名:u04_2.cpp
功能:示範 C++ 的常數運算式
作者:張凱慶*/
第 6 行
int b = abs(a);
函數 abs() 來自 math.h ,這裡直接將 abs() 的回傳值指派給變數 b ,構成一個複合運算式。
C++ 中引入 C 語言的標準程式庫的功能,所採用的寫法為第 2 行
#include <cmath>
原本 C 語言程式庫名稱之前加上小寫英文字母 c ,其後不需要加上 .h 的副檔名。
編譯後執行,如下
$ g++ u04_2.cpp |
$ ./a.out |
a: -99 |
abs(a): 99 |
$ |
C++ 提供多樣、功能完整的運算子,由這些運算子與運算元結合成為運算式。下面我們分成數個部分介紹 C++ 的各種運算式
- 4.1 - 算術運算
- 4.2 - 遞增、遞減運算
- 4.3 - 關係運算
- 4.4 - 邏輯運算
- 4.5 - 位元運算
- 4.6 - sizeof 運算
- 4.7 - typeid 運算
- 4.8 - alignof 運算
- 4.9 - 指派運算
- 4.10 - 條件運算
相關教學影片