diff --git a/src/zh/02-program-structure/expression.md b/src/zh/02-program-structure/expression.md index 0bab570e..07fc8a86 100644 --- a/src/zh/02-program-structure/expression.md +++ b/src/zh/02-program-structure/expression.md @@ -61,7 +61,7 @@ a // 标识符a组成的基本表达式,值为标识符 a 所代表的对象 ::: info 结合性、优先级与表达式组成的关系 读者可能会觉得,这不就是数学运算的优先级吗? -是的,仅考虑算数运算的话,括号的作用就像数学中一样。但是,C++ 中的表达式不仅仅是算数运算,还有很多其他的表达式,有的看起来完全不像个运算;表达式还有一些数学算式所不具有的性质,这都需要对表达式有一个更直观的理解。 +是的,仅考虑算术运算的话,括号的作用就像数学中一样。但是,C++ 中的表达式不仅仅是算术运算,还有很多其他的表达式,有的看起来完全不像个运算;表达式还有一些数学算式所不具有的性质,这都需要对表达式有一个更直观的理解。 因此,这里采用了表达式结构的形式来解释表达式,而不是数学运算优先级的形式。 ::: @@ -99,7 +99,7 @@ a-- // 表达式 a-- 的值是 10,a 的值变为 9 ## 一元表达式 -一元表达式有很多种,这里暂时只介绍其中两种与算数相关的表达式:正运算符和负运算符表达式。其形式为: +一元表达式有很多种,这里暂时只介绍其中两种与算术相关的表达式:正运算符和负运算符表达式。其形式为: - `+ 一元表达式` - `- 一元表达式` @@ -201,7 +201,7 @@ int a = 10; ## 加性表达式和乘性表达式 -加性表达式和乘性表达式组成了 C++ 中,算数表达式的主要形式。 +加性表达式和乘性表达式组成了 C++ 中,算术表达式的主要形式。 ### 乘性表达式 diff --git a/src/zh/03-types/arithmetic-types.md b/src/zh/03-types/arithmetic-types.md index 7703cc84..e4ae857d 100644 --- a/src/zh/03-types/arithmetic-types.md +++ b/src/zh/03-types/arithmetic-types.md @@ -2,7 +2,7 @@ title: 3.2 算术类型 --- -算术类型是一类能对数据进行算数运算的类型。C++ 中的算术类型包括**整数类型**和**浮点类型**。 +算术类型是一类能对数据进行算术运算的类型。C++ 中的算术类型包括**整数类型**和**浮点类型**。 ## 整数类型 @@ -398,7 +398,7 @@ double d = 42; // d 的值是 42.0 现在,我们来综合地介绍一下。在需要操作数是算术类型的表达式中,会进行一些形式相似的转换,这种转换称为**一般算术转换**。 -对于算术类型,下列的表达式会先对操作数进行一般算数转换: +对于算术类型,下列的表达式会先对操作数进行一般算术转换: - [正运算符](../02-program-structure/expression.md#正运算符) - [负运算符](../02-program-structure/expression.md#负运算符) - [按位取反](../02-program-structure/expression.md#按位取反) @@ -407,7 +407,7 @@ double d = 42; // d 的值是 42.0 - [按位逻辑表达式](../02-program-structure/expression.md#按位逻辑表达式) ### 转换等级 -在一般算数转换中,整数转换遵循如下的整数转换等级: +在一般算术转换中,整数转换遵循如下的整数转换等级: - 有符号整数类型的等级高于任意位宽更小的有符号整数类型(例如,`std::int32_t` 高于 `std::int16_t`) - 下列类型的等级依次递减 @@ -429,7 +429,7 @@ double d = 42; // d 的值是 42.0 ### 一般算术转换 -一般算数转换的规则如下: +一般算术转换的规则如下: - 如果任一操作数是浮点数类型: - 如果两个操作数的类型相同,不需要转换 @@ -467,11 +467,11 @@ auto x2 = a + c; 5. 将一样大的有符号类型变成无符号类型。 ::: info 为什么? -一般算数转换的规则是对现实的概括和妥协。 +一般算术转换的规则是对现实的概括和妥协。 在常见的平台上,浮点和整数是通过两套不同的电路处理的,这一现实在 C++ 语言上体现为浮点和整数仿佛是两个冤家,在一个浮点数加入了聚会之后,整个聚会就被迫变成了浮点数的聚会,这时候那些位运算就被请出了门。如果非要让浮点数加入整数的聚会,我们就不得不费劲地把浮点数塞进整数的衣服里。 -这里这种“处理整数的电路”,它提供的很多功能要求数据至少有 `int` 的尺寸,并且参与处理的两个数据也要求大小相同。正因如此,一般算数转换中会将小于 `int` 的整数类型转换为 `int`,并且必须找到一个公共的类型来进行运算。 +这里这种“处理整数的电路”,它提供的很多功能要求数据至少有 `int` 的尺寸,并且参与处理的两个数据也要求大小相同。正因如此,一般算术转换中会将小于 `int` 的整数类型转换为 `int`,并且必须找到一个公共的类型来进行运算。 基础算术类型是对平台这种特性的一种抽象,它将硬件支持最佳的几种数据表示抽象为 `int`、`long int` 这些基础类型。然后再提供扩展类型,以适应更多的需求。