1. if语句
(1)if语句用于根据条件选择执行语句
(2)else不能独立存在且总是与它之前最近的if相匹配
(3)else语句后可以接连其他if语句
(4)if语句中零值比较的注意点
①bool型变量直接出现于条件中,不要进行比较
②变量和0值比较时,0值应该出现在比较符号左边
③float型变量不能直接进行0值比较,需要定义精度
2. switch语句分析
(1)switch语句对应单个条件多个分值的情形
(2)case语句分支必须要有break,否则会导致分支重叠
(3)default语句有必要加上,以处理特殊情况
(4)case语句中的值只能是整型或字符
(5)case语句的排列顺序
①按字母或数字顺序排列各条语句
②正常情况放在前面,异常情况放在后面
③default语句只用于处理真正的默认情况
【编程实例】
if和switch的使用示例 | 有趣的角色互换 |
#include <stdio.h> void f1(int i) { if( i < 6 ) { printf("Failed! "); } else if( (6 <= i) && (i <= 8) ) { printf("Good! "); } else { printf("Perfect! "); } } void f2(char i) { switch(i) { case 'c': printf("Compile "); break; case 'd': printf("Debug "); break; case 'o': printf("Object "); break; case 'r': printf("Run "); break; default: printf("Unknown "); break; } } int main() { f1(5); f1(9); f1(7); f2('o'); f2('d'); f2('e'); return 0; } |
#include <stdio.h> void f1(int i) { switch( i < 6 ) { case 1: printf("Failed! "); break; default: switch( (6 <= i) && (i <= 8) ) { case 1: printf("Good! "); break; default: printf("Perfect! "); break; } break; } } void f2(char i) { if( 'c' == i ) { printf("Compile "); } else if( 'd' == i ) { printf("Debug "); } else if( 'o' == i ) { printf("Object "); } else if( 'r' == i ) { printf("Run "); } else { printf("Unknown "); } } int main() { f1(5); f1(9); f1(7); f2('o'); f2('d'); f2('e'); return 0; } |
3. 小结
(1)if语句适用于复杂逻辑进行判断的情形中
(2)switch语句适用于离散值进行判断的情形中
(3)if语句和switch语句在功能上可能相互替换
(4)if语句对于“按片”分支判断的情形更加简洁
(5)switch语句对于多分支判断的情形更加简洁