空语句 : 一个分号 ;
表达式语句: x = y+3;
y+3; //当这语句被执行,结果并不被保持因为没有使用赋值操作符
副作用(side effect)
a++; // 语句没被赋值,但是 a加1了,这就是副作用
代码块:
{
...
}
if 语句 :
if (expression)
statement
else
statement
c语言不具备 布尔类型,用0表示假,非0为真
while 语句 :
while(expression)
statement
break 和 continue语句:
break : 永久终止循环
continue : 终止当前的那次循环
for 语句:
for(expression1; expression2; expression3)//初始化,条件,调整
statement
do 语句:
do
statement
while(expression); //至少循环一次
switch 语句:
switch(expression)
statement
常量表达式,每个case标签必须唯一。
goto 语句:
goto 语句标签;
表达式
算数移位 : 根据符号位移
逻辑移位 : 补0
位操作符:
& , | , ^
sizeof : 判断操作数的类型长度
sizeof(int) //返回整形所占的字节数
sizeof x //返回变量x所占的字节数
(类型) //强制转换 ,(float)a
逗号操作符:整个逗号表达式的值就是最后那个表达式的值
下标引用,函数调用和结构成员:
array[下标]
*(array + (下标))
. 和 -> 操作符用于访问一个结构的成员
s.a ,s 本身是个结构变量,如果是指向结构的指针的话,就要用->
左值:能够出现在赋值符号左边的值,左值意味着一个位置
右值:能够出现在赋值符号右边的值,右值意味着一个值
操作符的属性:优先级,结合性和操作符是否控制执行顺序