2.1 变量类型

  • 变量必须要初始化
    • 如 int i = 0;
      • 声明并初始化(即赋值)
    • 不同平台下,只定义但未初始化的变量值不同
    • 三种初始化方式
      • =
      • ()
      • {}
  • 可使用 sizeof()操作符返回变量的字节数
    • 如 sizeof(int)
  • char 型:字符型
    • 占 8 位整数
    • 使用 单引号`` 来进行赋值
      • 或直接用 = 编码值
      • 如果为中文,需要两个字节以上来表达
        • 如 char 16,char 32
        • 赋值为 char 16_t c =u' 字'
          • 为 c++11 的标准,编译时要注意
  • bool 型
    • true 可以当做 1 来参与计算
    • bool 类做类型转换时,只要数值不为 0,转换的 bool 型均为 1(true)
  • float 型浮点数
    • 判断两个浮点数相等的方法
      • if (f1 == f2)
        • 不推荐,因为浮点数有精度的差异,这种判断会出问题
      • if (fabs (f1 - f2 )< FLT_EPSILON)\
        • 推荐这样判断,两个浮点数相减取绝对值,如果绝对值小于一个ε(为宏定义) ,则判断误差内的相等
  • auto 型
    • 根据赋值来灵活定义为不同的数据类型
    • 变量的数据类型在初始化定义后,在之后不会发生改变
  • 数据宽度越来越窄(即丢失精度)
    • long double → double → float → long → int → short → char

2.4 运算

  • 除法
    • 若进行一个整数除法,如 17/5,得到的结果会是 int 型,即 3
      • 此时若再将其初始化为 float 型,则会得到 3. f
      • 但若算术表达式中只要有一个浮点数,就会变为浮点运算
        • 如 17/5.0,会得到 3.4 f