表达式

一个表达式是一系列运算符和算子的组合,用来计算一个值

运算符

+,-,*,/,%(取余)……

还有

运算符优先级

举个例子:a=b=1,是先把1赋给b,再把b的值赋给a

算子

参与运算的值,可以是常数,变量,返回值…..

关系运算的结果

成立则为1,否则为0

复合赋值

有五种分别为

+= -= *= /= %=

举例: a += 1即a = a + 1

特殊的递增递减运算符

++与—

作用是给变量加1或减1

举例: a++ 即 a += 1 即 a = a + 1

a++ 与 ++a 不一样,原因如图

注释

1
2
3
4
5
//单行注释内容

/*多行注释内容
多行注释内容
多行注释内容*/

流程图

高中讲过一部分,如图

判断

if的四种用法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
1.if(条件成立){

...

}
2.if(条件成立)
...;
//也可以这样写,但要注意分号的位置

3.if(条件成立){

...

}else{
...
}

4.if(条件成立){

...

}else if{
...
}else if{
...
}else{
...
}
//级联if-else if,else只和最近的那个if匹配

循环

常见类型

1
2
3
4
5
6
7
8
9
10
11
12
13
14
1.while (...){
...
}
//进循环前就需要检查条件是否满足
2.do {
...
} while (...);
//做完一轮循环后再检查条件是否满足
3.for (初始动作;条件;每轮的动作)
{
...
}
//c99 only

使用场景

如果有固定的次数,用for

如果必须执行一次,用do_while

其他情况用while

逻辑运算符

true对应的值是1,false对应的值是0

优先级如图

即 非 > 或 > 且

C语言中逗号的作用

1.做运算符,若干式子用逗号隔开,自左向右依次运行

2.做分隔符,主要在for中使用,如:

1
for (a=1,b=2;a<b;a++,b++)......

进一步的判断

1
2
3
4
5
6
7
8
switch (...) {
case 1: ...
case 2: ...
break;
case 3: ...
default:...
}
//c99 only

switch-case可以表示多路分支,其中编译器读到break时会跳出当前判断,因此case1,case2会一起执行,但case3不会执行,如果情况都不符,执行default