跳轉到內容

現代 C++:精華篇/數值計算

來自華夏公益教科書,開放的書籍,開放的世界

你面前的機器實際上只是一臺非常高階的計算器,所以讓我們讓它計算吧。

程式碼

[編輯 | 編輯原始碼]
#include <iostream>
#include <string>

int main()
{
	std::string input;
	int a, b;
	
	std::cout << "Enter two integers to multiply.\n";
	
	// Take input.
	std::cin >> input;
	// Parse it as an int.
	a = std::stoi(input);
	
	// Take input.
	std::cin >> input;
	// Parse it as an int.
	b = std::stoi(input);
	
	std::cout << a << " * " << b << " = " << a * b << "\n";
}

首先我們有一個名為 "input" 的 std::string 變數和兩個名為 "a" 和 "b" 的 int 變數。int 是一個整數或整數值,因此它不能包含小數點。

重要: =(等號)不代表相等。在 C++ 中,它是賦值運算子;它將右邊的值放入左邊的變數中,覆蓋該變數的任何先前值。

std::stoi 是一個函式,其名稱代表string to int。它接收一個字串(在本例中,是 input 的值)並將其轉換為整數。如果這不可能,或者你輸入了一個很大的數字,程式將崩潰,你可能會看到有關“未處理異常”的內容。如何防止此問題將在接下來的幾章中介紹。

你可以在 cplusplus.comcppreference.com 上閱讀有關 std::stoi 的資訊。它還有一些朋友同樣

C++ 中的乘法運算子是 *(星號)。除法是 /(斜槓)。

嘗試輸入 3.14 作為其中一個整數。糟糕!std::stoi 找到了有效的整數 3 並忽略了它之後無效的輸入。對於 3sdjgh,你將獲得相同的結果。接下來的幾章應該讓你能夠編寫一個更好的整數解析器。

  • 修改上面的程式,使其可以接受小數點(浮點數float 值)。提示:檢查此頁面上的連結。
int
一個整數或“整數值”。不能表示分數。
賦值運算子
將右邊的值放入左邊的變數中,覆蓋該變數的任何先前值。語法:=
函式
一段命名的程式碼。稍後將詳細介紹。
float
一個浮點數或“小數”。(最後一個有點令人困惑。)可以表示某些分數。
現代 C++:精華篇
 ← 世界對它的反應 數值計算 現在變得有趣了。 → 
華夏公益教科書