一)条件分支语句包括:if语句和switch语句两大类。
a)if语句有3种形式:
单分支条件语句、双分支条件语句和多分支条件语句。
b)switch语句:开关语句,只能对小范围的数值型开关管理。
if语句能实现所有switch语句的功能,但是switch语句不能实现所有if语句能表达的功能。
二)循环语句包括:while语句和for语句两大类。
a)while语句:
初始化区,条件判断区,递增区三个条件框架区独立分布,层次清晰。
b)for语句:
初始化区,条件判断区,递增区三个条件框架区混合在语句头部,方便灵活。
三)while和for语句对比:
a)while语句还包括一种do..while格式,当第一次必须无条件执行时使用。
b)所有while语句能表达的功能for语句全都能实现,反之亦然。
一)基本运算符:
a)常量和变量的空间测量sizeof
不是运行时计算,而是编译时计算,sizeof得出的结果是常量。
字符串常量得出的尺寸包括结尾符号'0'
b)加减乘除和取模:+ - * / %
int a = 10;
int b = a/5;
int c = a%b;
a = c+b*3/2;
优先级别 : (* / %)三种是相同等级,高于(+ -)。
c)条件运算符号:
?: 凡是if都可以转化为这个条件运算符表示
原因主要是书写方便,缩减代码行数。
d)引用和地址运算符:&
e)自增自减:
++自增运算符 --自减运算符
f)自运算符号: += 、 -= 、 *= 、 /= 、 %=
符号的优先级
1级优先级 左结合
() 圆括号 []下标运算符 ->指向结构体成员运算符 .结构体成员运算符
2级优先级 右结合
! 逻辑非运算符 ~ 按位取反运算符 ++ 自增运算符 -- 自减运算符 - 负号运算符 (类型) 类型转换运算符 * 指针运算符 & 地址与运算符 sizeof 长度运算符
3级优先级 左结合
* 乘法运算符 / 除法运算符 % 取余运算符
4级优先级 左结合
+ 加法运算符 - 减法运算符
5级优先级 左结合
<< 左移运算符 >> 右移运算符
6级优先级 左结合
、>= 关系运算符
7级优先级 左结合
== 等于运算符 != 不等于运算符
8级优先级 左结合
& 按位与运算符
9级优先级 左结合
^ 按位异或运算符
10级优先级 左结合
| 按位或运算符
11级优先级 左结合
&& 逻辑与运算符
12级优先级 左结合
|| 逻辑或运算符
13级优先级 右结合
? : 条件运算符
14级优先级 右结合
+= -= *= /= %= = >= < <= &= ^= |=
全为赋值运算符
15级优先级 左结合
8级优先级 左结合
& 按位与运算符
9级优先级 左结合
^ 按位异或运算符
10级优先级 左结合
| 按位或运算符
11级优先级 左结合
&& 逻辑与运算符
12级优先级 左结合
|| 逻辑或运算符
13级优先级 右结合
? : 条件运算符
14级优先级 右结合
+= -= *= /= %= = >= < <= &= ^= |=
全为赋值运算符
15级优先级 左结合