• 循环简介

    • 当程序第一次到达while循环时,会检查圆括号中的条件是否为真。当运行到循环范围内最后一条语句时,程序返回while入口部分检查条件
    • 代码使用一对花括号{}来标出循环的范围,花括号之间的内容就是要被重复执行的内容
    • 花括号以及被花括号括起来的部分被称为块(block)
    • 循环会一直执行到条件为假,控制转到紧跟while循环后面的第一条语句
  • 基本运算符

    • C用运算符(operator)表示算数运算
  • 赋值运算符

    • 在C语言中,=并不意味着相等,而是一个赋值运算符,读作把值赋给变量
    • i = i + 1; 找出变量i的值,把该值+1,然后把新值赋值给变量i
    • 实际上,赋值运算符左侧必须引用一个存储位置,最简单的方法就是使用变量名。概括的说,C使用可修改的左值(modifiable lvalue)标记那些可赋值的实体
  • 几个术语:数据对象、左值、右值和运算符

    • 赋值表达式语句的母的是把值存储到内存位置上。用于存储值的数据存储区域统称为数据对象(data object)。C标准只有在提到这个概念时才会用到对象这个术语。使用变量名是标识对象的一种方法
    • 左值(lvalue)是C语言的术语。用于标识特定数据对象的名称或表达式。因此,对象指的是实际的数据存储,而左值是用于标识或定位存储位置的标签

      • 可修改的左值(modifiable lvalue)对象定位值(object locator value)
    • 右值(rvalue)指的是能赋值给可修改左值的量,且本身不是左值,。右值可以是常量、变量或者其他可求值的表达式(如函数调用)

      • 表达式的值(value of an expression)
      • 临时值,在计算完毕后便被丢弃
    • 在学习名称时,被称为“项”(如,赋值运算符左侧的项)的就是运算对象(operand)。运算对象是运算符操作的对象。例如,可以把“吃汉堡”描述为:“吃”(运算符)操作“汉堡”(运算对象)。类似地可以说,=运算符地左侧运算对象应该是可修改的左值
    • 三重赋值,从右往左赋值
  • 加法运算符:+

    • 加法运算符(addition operator),用于加法运算,使其两侧的值相加。相加的值(运算对象)可以是变量,也可以是常量
  • 减法运算符:-

    • 减法运算符(subtraction operator),用于减法运算
    • +和-运算符都被称为二元运算符(binary operator),即这些运算符需要两个运算对象才能完成操作
  • 符号运算符:-和+

    • 减号加号还可以标明或改变一个值的代数符号。以这种方式使用的负号被称为一元运算符(unary operator)
  • 乘法运算符:*

    • 符号*表示乘法
  • 除法运算符:/

    • C使用符号/来表示除法。/左侧的值是被除数,右侧的值是除数
    • 在C语言中,整数除法结果的小数部分被丢弃,不会四舍五入,这一过程被称为截断(truncation)
    • 混合整数和浮点数计算的结果是浮点数,实际上,计算机不能用真正的浮点数除以整数,编译器会把两个运算对象转换成相同的类型。整数会转换成浮点数
    • 趋零截断
  • 运算符优先级

    • 和数学运算相同,有括号先算括号。一元负号从右往左是因为一元负号与它右侧的量相结合,形成负数
  • 优先级和求值顺序

    • 结合律值适用于共享同一运算对象的运算符
最后修改:2024 年 03 月 11 日