#include <iostream> int main() { if (1) { std::cout << "Hello, world!" << std::endl; } return 0; } /* 《程式語言教學誌》的範例程式 http://pydoing.blogspot.com/ 檔名:constexpr.cpp 功能:示範常數運算式 作者:張凱慶 時間:西元 2010 年 10 月 */
第 5 行
if (1) {
if 後面所接的小括弧需要一個運算式,此處只代入整數 1 ,亦即為常數運算式。
編譯後執行,如下
呼叫函數 (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 << "a 的絕對值為 " << b << std::endl; return 0; } /* 《程式語言教學誌》的範例程式 http://pydoing.blogspot.com/ 檔名:funexpr.cpp 功能:呼叫函數的運算式 作者:張凱慶 時間:西元 2010 年 10 月 */
第 9 行
std::cout << "a 的絕對值為 " << abs(a) << std::endl;
函數 abs() 來自 math.h , C++ 中引入 C 語言的標準函數庫的功能,所採用的寫法為第 2 行
#include <cmath>
函數庫名稱之前加上小寫英文字母 c ,其後不需要加上 .h 的副檔名。
編譯後執行,如下
C++ 提供多樣、功能完整的運算子,由這些運算子與運算元結合成為運算式。依運算子結合後運算的優先次序,如下列表
運算子 | 結合規則 | |
---|---|---|
1 | :: | 左到右 |
2 | () | 左到右 |
[] | ||
-> | ||
. | ||
++ | ||
-- | ||
dynamic_cast | ||
static_cast | ||
reinterpret_cast | ||
const_cast | ||
typeid | ||
3 | ! | 右到左 |
not | ||
~ | ||
compl | ||
++ | ||
-- | ||
- | ||
+ | ||
* | ||
& | ||
sizeof | ||
new | ||
new [] | ||
delete | ||
delete [] | ||
(type) | ||
4 | ->* | 左到右 |
.* | ||
5 | * | 左到右 |
/ | ||
% | ||
6 | + | 左到右 |
- | ||
7 | << | 左到右 |
>> | ||
8 | < | 左到右 |
<= | ||
> | ||
>= | ||
9 | == | 左到右 |
eq | ||
!= | ||
not_eq | ||
10 | & | 左到右 |
bitand | ||
11 | ^ | 左到右 |
xor | ||
12 | | | 左到右 |
bitor | ||
13 | && | 左到右 |
and | ||
14 | || | 左到右 |
or | ||
15 | ?: | 右到左 |
16 | = | 右到左 |
+= | ||
-= | ||
*= | ||
/= | ||
%= | ||
&= | ||
and_eq | ||
^= | ||
xor_eq | ||
|= | ||
or_eq | ||
<<= | ||
>>= | ||
17 | throw | |
18 | , | 左到右 |
中英文術語對照 | |
---|---|
運算式 | expression |
運算元 | operand |
運算子 | operator |
值 | value |
函數 | function |
C 語言的標準函數庫 | c standard library |
您可以繼續參考
運算式
型態轉換
相關目錄
回 C++ 快速導覽
回 C++ 教材
回首頁
參考資料
C++ reference
cplusplus.com
Cprogramming.com C++ Tutorial
C++ Primer, Fourth Edition, Stanley B. Lippman...
本文於 2013 年 1 月更新
沒有留言:
張貼留言