C++ 數學函式、標頭檔案及布林型別詳解

小万哥丶發表於2024-04-01

C++ 數學

C++ 有許多函式可以讓您在數字上執行數學任務。

最大值和最小值

max(x, y) 函式可用於找到 x 和 y 的最大值:

示例

cout << max(5, 10);

min(x, y) 函式可用於找到 x 和 y 的最小值:

示例

cout << min(5, 10);

C++ <cmath> 標頭檔案

其他函式,例如 sqrt(平方根)、round(四捨五入)和 log(自然對數),可以在 <cmath> 標頭檔案中找到:

示例

// 包含 cmath 庫
#include <cmath>

cout << sqrt(64);
cout << round(2.6);
cout << log(2);

其他數學函式
以下是來自 <cmath> 庫的其他流行數學函式列表:

函式 描述
abs(x) 返回 x 的絕對值
acos(x) 返回 x 的反餘弦值
asin(x) 返回 x 的反正弦值
atan(x) 返回 x 的反正切值
cbrt(x) 返回 x 的立方根
ceil(x) 將 x 的值四捨五入為最接近的整數
cos(x) 返回 x 的餘弦值
cosh(x) 返回 x 的雙曲餘弦值
exp(x) 返回 e 的 x 次方的值
expm1(x) 返回 e 的 x 次方的值減 1
fabs(x) 返回浮點數 x 的絕對值
fdim(x, y) 返回 x 和 y 之間的正差值
floor(x) 將 x 的值向下舍入到最接近的整數
hypot(x, y) 返回 sqrt(x²+y²) 而不會發生中間溢位或下溢
fma(x, y, z) 在不失去精度的情況下返回 x*y+z
fmax(x, y) 返回浮點數 x 和 y 中的最高值
fmin(x, y) 返回浮點數 x 和 y 中的最低值
fmod(x, y) 返回 x/y 的浮點餘數
pow(x, y) 返回 x 的 y 次冪的值
sin(x) 返回 x 的正弦值(x 以弧度表示)
sinh(x) 返回雙精度值 x 的雙曲正弦值
tan(x) 返回角度的正切值
tanh(x) 返回雙精度值的雙曲正切值

C++ 布林型別

在程式設計中,經常需要一個只能擁有兩個值之一的資料型別,比如:

  • 是 / 否
  • 開啟 / 關閉
  • 真 / 假

為此,C++ 提供了一個 bool 資料型別,它可以取 true(1)或 false(0)的值。

布林值

布林變數由 bool 關鍵字宣告,只能取 truefalse 的值:

示例

bool isCodingFun = true;
bool isFishTasty = false;
cout << isCodingFun;  // 輸出 1(true)
cout << isFishTasty;  // 輸出 0(false)

從上面的示例中,您可以看出 true 值返回 1,false 返回 0。

但是,透過比較值和變數來返回布林值更為常見(請參見下一頁)。

C++ 布林表示式

布林表示式返回一個布林值,要麼是 1(true),要麼是 0(false)。

這對於構建邏輯和找到答案很有用。

您可以使用比較運算子,例如大於(>)運算子,來判斷表示式(或變數)是否為 true 或 false:

示例

int x = 10;
int y = 9;
cout << (x > y); // 返回 1(true),因為 10 比 9 更大

甚至更簡單:

示例

cout << (10 > 9); // 返回 1(true),因為 10 比 9 更大

在下面的示例中,我們使用等於(==)運算子來評估一個表示式:

示例

int x = 10;
cout << (x == 10);  // 返回 1(true),因為 x 的值等於 10

示例

cout << (10 == 15);  // 返回 0(false),因為 10 不等於 15

現實生活示例

讓我們考慮一個“現實生活示例”,在這個示例中,我們需要找出一個人是否足夠年齡投票。

在下面的示例中,我們使用 >= 比較運算子來判斷年齡(25)是否大於等於投票年齡限制,這個限制被設定為 18:

示例

int myAge = 25;
int votingAge = 18;

cout << (myAge >= votingAge); // 返回 1(true),意味著 25 歲的人可以投票!

很酷,不是嗎?一個更好的方法(因為我們現在在進行中),是將上面的程式碼包裝在 if...else 語句中,這樣我們就可以根據結果執行不同的操作:

示例

如果 myAge 大於或等於 18,則輸出“足夠年齡投票!”。否則輸出“不足年齡投票。”:

int myAge = 25;
int votingAge = 18;

if (myAge >= votingAge) {
  cout << "足夠年齡投票!";
} else {
  cout << "不足年齡投票。";
}

// 輸出:足夠年齡投票!

布林型別是所有 C++ 比較和條件的基礎。

填寫缺失部分以列印值 1(表示 true)和 0(表示 false):

bool isCodingFun = true;
bool isFishTasty = false;
cout << isCodingFun;
cout << isFishTasty;

最後

為了方便其他裝置和平臺的小夥伴觀看往期文章:

微信公眾號搜尋:Let us Coding,關注後即可獲取最新文章推送

看完如果覺得有幫助,歡迎點贊、收藏、關注

相關文章