选择与循环结构
运算符优先级
!(非) |
(高) |
算术运算符 |
|
关系运算符 |
|
&& |
|
|| |
|
赋值运算符 |
(低) |
逻辑表达式
逻辑表达式求解中,并不是所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符。
eg:(m=a>b)&&(n=c>d)
当a=1,b=2,c=3,d=4,m和n原值为1时,由于“a>b”的值为0,因此m=0,此时已能够判定整个表达式不可能为真,不必再进行“n=c>d”的运算,因此,n的值不是0而仍保持原值1。
条件运算符
max=(a>b)?a:b;或者a>b?(max=a):(max=b);
表示当a>b时max=a,当a<=b时max=b;
a>b?printf(“%d”,a):printf(“%d”,a);
表示当a>b时输出a的值,当a<=b时输出b的值。
这是C语言中唯一一个三目运算符。
switch语句
switch(表达式){
case 常量1:语句1
… … …
case 常量n:语句n
default:语句
}
注意:在执行switch语句时,根据switch表达式的值找到匹配的入口标号,并不再进行条件检查,执行完一个case标号后面的语句后,就从此标号开始执行下去,不再进行判断。因此一般执行一个case语句后使用break跳出switch结构,最后一个default子句可不必加,因为已经到了结束处。
循环语句
do{}while();(注意while()后面要加“;”)和while(){}中条件语句使用i++和++i有区别,且是加完跳进循环段;
for()中条件语句使用i++和++i没有区别,且是运行循环段再加。
break(终止整个循环)和continue(终止本次循环)只跳出一重循环,要跳出多重循环可在外面的循环加条件判断和break或continue。
exit(int)为结束程序。int可为任意整数,用不同整数表示不同类型的结束。