運算式 (expression) 由運算元 (operand) 與運算子 (operator) 所組成,每個運算式都會計算出一個值 (value) 。最簡單的運算式為常數運算式,也就是只有以常數為運算元的運算式,如
001 | #include <iostream> |
002 | |
003 | int main() { |
004 | if (1) { |
005 | std::cout << "Hello, world!" |
006 | << std::endl; |
007 | } |
008 | |
009 | return 0; |
010 | } |
011 | |
012 | /* Kaiching Chang |
013 | u04_1.cpp |
014 | 2014-02 */ |
第 4 行
004 | if (1) { |
if 後面所接的小括弧需要一個運算式,此處只代入整數 1 ,亦即為常數運算式。
編譯後執行,如下
$ g++ u04_1.cpp |
$ ./a.out |
Hello, world! |
$ |
呼叫函數 (function) 也屬於運算式的一種,如以下程式呼叫屬於 C 語言的標準函數庫 (c standard library) math.h 的函數 abs()
001 | #include <iostream> |
002 | #include <cmath> |
003 | |
004 | int main() { |
005 | int a = -99; |
006 | int b = abs(a); |
007 | |
008 | std::cout << "a: " |
009 | << a |
010 | << std::endl; |
011 | std::cout << "abs(a): " |
012 | << b |
013 | << std::endl; |
014 | |
015 | return 0; |
016 | } |
017 | |
018 | /* Kaiching Chang |
019 | u04_2.cpp |
020 | 2014-02 */ |
第 6 行
006 | int b = abs(a); |
函數 abs() 來自 math.h ,這裡直接將 abs() 的回傳值指派給變數 b ,構成一個複合運算式。
C++ 中引入 C 語言的標準函數庫的功能,所採用的寫法為第 2 行
002 | #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 - 條件運算
- 4.11 - 摘要
continue ...
沒有留言:
張貼留言