循环简介
- 当程序第一次到达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 日
© 允许规范转载