第2章 条件判断
用于比较数值的基本关系运算符:小于<;大于>;等于==。更多的关系运算符:大于等于>=;小于等于<=;不等于!=。
基本if语句的一般形式:
if(expression)
statement1;
next_statement;
扩展if语句(if-else语句)的一般形式:
if(expression)
statement1;
else
statement2;
next_statement;
在if语句中,可以用一个语句块替代单个语句。只要可以使用单个语句的地方,都可以使用放在括号中的语句块。也就是说,可以把一个语句块嵌套在另一个语句块中。else总是属于它之前、还没有else子句的那个if。
使程序便于理解是优秀编程风格的本质。
尽量避免使用逻辑非运算符(“!”),它会使代码难以理解。
条件运算符可用于测试数据,它根据一个逻辑表达式等于true还是false,执行两个表达式中的一个。被称为三元运算符,其一般形式:
condition ? expression1 : expression2
运算符的优先级确定了表达式中运算符的执行顺序。优先级相同的运算符的执行顺序有他们的相关性确定(左结合或右结合)。
所有的比较运算符的优先级都低于二元算术运算符,二元逻辑运算符的优先级低于比较运算符。因此,先执行算术运算,再比较,之后执行逻辑操作。条件运算符的优先级高于赋值运算符。
在C语言中,有两种方式处理多项选择问题:一种是采用else-if形式的if语句;另一种是switch语句。任意逻辑表达式都可以用作if条件,所以这个语句非常灵活,可以从任意多个选项中选择一项。switch语句没有这么灵活,但在很大情况下使用起来更简单。
switch语句中如果省略了某个case后面的break语句,就继续执行下一个case的语句。case值必须是常量表达式,即可以在编译期间计算的表达式,这意味case值不能依赖程序执行时确定的值。break语句会跳转到闭括号后面的语句上。
在使用goto语句时,会跳转到代码中用语句标签指定的位置。语句标签的定义方式与变量名相同,也是一组字母和数字,其中第一个字符必须是字母。语句标签后跟一个冒号(:),将它与它标记的语句分开。case标签就是语句标签。应尽可能避免使用goto语句。
千万不要混淆按位运算符和逻辑运算符。按位运算符的主要用途是测试并设置整数变量中的各个位。
用户1212045 2011-2-9 18:31