跳转到内容

现代 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++:精华篇
 ← 世界对它的反应 数值计算 现在变得有趣了。 → 
华夏公益教科书