數字在 C++ 中

您好,有志者!我很高興能成為您進入 C++ 數字世界的引路人。作為一個教導編程多年的老師,我可以告訴您,理解數字就像學習編碼的 ABC。所以,讓我們深入探討,並讓數字成為我們的新朋友!

C++ Numbers

在 C++ 中定義數字

在 C++ 中,數字就像是我們數字世界的積木。它們有不同的類型,每種都有其特別的用途。讓我們從基礎開始:

整數

整數是像我們用於計數的完整數字。在 C++ 中,我們有幾種類型的整數:

int main() {
int apple_count = 5;
short small_number = 100;
long big_number = 1000000;
long long very_big_number = 1000000000000;

cout << "我擁有 " << apple_count << " 個蘋果。" << endl;
return 0;
}

在這個例子中,我們使用不同的整數類型來存儲各種數字。int 是你最常使用的類型,用於日常計數。

浮點數

現在,如果我們需要處理帶有小數點的數字呢?這時候就需要用到浮點數:

int main() {
float pi_approx = 3.14;
double more_precise_pi = 3.14159265359;

cout << "π 的近似值是 " << pi_approx << endl;
cout << "π 的更精確值是 " << more_precise_pi << endl;
return 0;
}

在這裡,float 給我們提供了相當的精確度,而 double 則提供了更多的小數位,當我們需要特別精確時。

字符作為數字

這裡有一個有趣的知識:在 C++ 中,字符實際上是作為數字來存儲的!

int main() {
char letter = 'A';
int letter_number = letter;

cout << "字母 " << letter << " 存儲為數字 " << letter_number << endl;
return 0;
}

這段代碼將輸出:"字母 A 存儲為數字 65"。這就像計算機使用的秘密代碼!

在 C++ 中的數學運算

現在我們知道了如何定義數字,讓我們學習如何讓它們跳起舞來!C++ 提供了許多數學運算,我們可以使用:

基本算術

int main() {
int a = 10, b = 3;

cout << "加法: " << a + b << endl;
cout << "減法: " << a - b << endl;
cout << "乘法: " << a * b << endl;
cout << "除法: " << a / b << endl;
cout << "取模(餘數): " << a % b << endl;

return 0;
}

這段代碼展示了基本的算術運算。注意整數之間的除法會給我們一個整數結果(3 而不是 3.33)。

递增和递减

C++ 有一个很酷的技巧,用于给数字加一或减一:

int main() {
int count = 5;

cout << "原始計數: " << count << endl;
count++;
cout << "遞增後: " << count << endl;
count--;
cout << "遞減後: " << count << endl;

return 0;
}

++-- 运算符就像魔杖一样,可以增加或减少一个数字的值。

數學函數

C++ 还提供了一个强大的数学库,让我们执行更复杂的计算:

#include <cmath>

int main() {
double x = 2.0;

cout << " " << x << " 的平方根是 " << sqrt(x) << endl;
cout << x << " 的三次方是 " << pow(x, 3) << endl;
cout << " " << x << " 的正弦值是 " << sin(x) << endl;

return 0;
}

記得包含 <cmath> 標頭以使用這些函數。這就像導入了一個滿滿的數學工具箱!

在 C++ 中生成隨機數字

現在,讓我們為我們的程序增加一些刺激,使用隨機數字!生成隨機數字就像在代碼中擲骰子:

#include <cstdlib>
#include <ctime>

int main() {
// 初始化隨機數生成器
srand(time(0));

// 生成一個 1 到 100 之間的隨機數
int random_number = rand() % 100 + 1;

cout << "魔術數字是: " << random_number << endl;

return 0;
}

這是發生了什麼:

  1. 我們包含 <cstdlib> 以使用 rand()srand(),以及 <ctime> 以使用 time()
  2. srand(time(0)) 根據當前時間設置種子,確保我們每次運行程序時都得到不同的隨機數。
  3. rand() % 100 + 1 生成一個 1 到 100 之間的隨機數。

這就像在程序中擁有一個數字骰子!

常用數學函數表

這裡是一個常用數學函數的便捷表格:

函數 描述 示例
abs(x) 絕對值 abs(-5) = 5
sqrt(x) 平方根 sqrt(16) = 4
pow(x, y) x 的 y 次方 pow(2, 3) = 8
sin(x) x 的正弦(x 以弧度計) sin(0) = 0
cos(x) x 的餘弦(x 以弧度計) cos(0) = 1
tan(x) x 的正切(x 以弧度計) tan(0) = 0
log(x) x 的自然對數 log(2.71828) ≈ 1
ceil(x) 向上取整 ceil(3.2) = 4
floor(x) 向下取整 floor(3.8) = 3
round(x) 四舍五入到最接近的整數 round(3.5) = 4

就是这样,各位!我們一起穿越了 C++ 數字的世界,從謙卑的整數到神秘的隨機數字生成。記住,熟能生巧,所以不要害怕在您自己的程序中試驗這些概念。

就像我總是告訴我的學生,編程就像學習一種新語言 - 你使用得越多,你就越流利。所以,勇往直前,計算、計算、創造吧!誰知道呢?下一個大應用程序或遊戲可能就從你今天學會操作的數字開始。開心編程!

Credits: Image by storyset