0Pricing
C++ Academy · 课时

基本运算符和类型转换

掌握算术、比较和逻辑运算符,以及隐式和显式类型转换。

基本运算符和类型转换 是 CoddyKit 上的免费 C++ Academy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 C++ Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 C++ Academy 课程共包含 4 节课。

算术运算符

标准算术运算符包括:+ - * /,以及取模运算符 %。取模只能用于整数。

int a = 17, b = 5;
std::cout << a + b << "\n";  // 22
std::cout << a - b << "\n";  // 12
std::cout << a * b << "\n";  // 85
std::cout << a / b << "\n";  // 3 (integer division)
std::cout << a % b << "\n";  // 2

整数除法与浮点除法

当两个操作数都是整数时,除法会向零截断。将其中一个操作数转换为浮点类型,即可进行浮点除法。

int a = 7, b = 2;
std::cout << a / b << "\n";              // 3
std::cout << static_cast<double>(a) / b; // 3.5

递增与递减

++ 和 -- 会加一或减一。前缀形式(++x)先递增,然后返回值。后缀形式(x++)先返回原值,然后递增。

复合赋值

将算术运算与赋值结合起来:+=、-=、*=、/=、%=。这些写法更简短,通常也更清晰。

int total = 0;
total += 5;     // total = total + 5
total *= 2;     // total = total * 2

比较运算符

六种比较运算符会返回 bool:==、!=、<、<=、>、>=。

逻辑运算符

使用 &&(与)、||(或)和 !(非)组合布尔值。它们会进行短路求值——如果结果可以提前确定,剩余部分就不会被计算。

bool valid = (age >= 18) && (age < 120);
bool weekend = (day == "Sat") || (day == "Sun");

位运算符

用于位操作的运算符包括:&(与)、|(或)、^(异或)、~(非)、<<(左移)、>>(右移)。

隐式转换

C++ 会在许多上下文中自动转换数值类型,有时还会悄无声息地损失精度。处理混合类型表达式时请务必小心。

int i = 10;
double d = i;       // OK: int to double
int j = 3.7;        // OK but truncates to 3

static_cast:显式转换

这是在相关类型之间进行转换的首选方式。转换会在编译时进行检查。

double price = 9.99;
int dollars = static_cast<int>(price);  // 9

其他转换:reinterpret_cast、const_cast

另外还有三种转换,适用于特殊情况:

  • reinterpret_cast—重新解释位模式(很少使用)
  • const_cast—移除 const(使用频率更低)
  • dynamic_cast—用于多态类型的运行时转换

避免使用 C 风格转换

旧式的 (int)x 语法含义不明确——它可能表示四种转换中的任意一种。请使用与意图相符的具名转换。

快速检查

在 C++ 中,当两个操作数都是 int 时,7 / 2 的计算结果是什么?

回顾

C++ 提供算术、比较、逻辑和位运算符。隐式转换可能导致数据丢失——请优先使用 static_cast 进行显式转换,并避免使用 C 风格转换。

常见问题解答

「基本运算符和类型转换」课时是免费的吗?

是的 — 「基本运算符和类型转换」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 C++ Academy 课程的其余内容,请升级到 CoddyKit PRO。 C++ Academy 课程共包含 4 节课。

「基本运算符和类型转换」这节课中我会学到什么?

掌握算术、比较和逻辑运算符,以及隐式和显式类型转换。 你通过在浏览器中直接运行的动手代码来练习 C++ Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 C++ Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 C++ Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。

「基本运算符和类型转换」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 C++ Academy 课中编写并运行代码吗?

能。每节 C++ Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 配置 C++ 编译器
  2. Hello World 和构建过程
  3. 变量、自动类型推导和 constexpr
  4. 基本运算符和类型转换
← 返回 C++ Academy