C语言学习第7篇---C语言三大结构之一判断结构
知识来源主要是陈正冲老师的《C语言深度解剖》及Delphi Tang老师的《C语言剖析》,有兴趣的朋友可以看我置顶文章获取
if语句分析
1.if语句用于根据条件选择执行语句
2.else不能独立存在且总是与它最近的if想匹配
3.else语句后可以接其他if语句
if语句中零值比较的注意点
---bool型变量应该直接出现在条件中,不要进行比较
---变量和0值进行比较时,0值应该出现在比较符合左边
---float型变量不能直接进行0值比较,需要定义精度
switch语句分析
1.switch语句对应单个条件多个分值的情形
2.case语句分值必须有break,否则会导致分支重叠
3.default语句有必要加上,以处理特殊情况
switch语句分析
1.case语句中的值只能是整型或者字符型
2.case语句的排列顺序
---按照字符的排序个条语句
---正常情况放前边,异常情况放在后边(相对不常见,没必要每次都判断)
---default语句只用于处理真正的默认情况
实验1:if和switch使用实例
-
#include <stdio.h>
-
-
void f1(int i)
-
-
{
-
-
if( i < 6 )
-
-
{
-
-
printf("Failed!\n");
-
-
}
-
-
else if( (6 <= i) && (i <= 8) )
-
-
{
-
-
printf("Good!\n");
-
-
}
-
-
else
-
-
{
-
-
printf("Perfect!\n");
-
-
}
-
-
}
-
-
void f2(char i)
-
-
{
-
-
switch(i)
-
-
{
-
-
case 'c':
-
-
printf("Compile\n");
-
-
break;
-
-
-
-
case 'd':
-
-
printf("Debug\n");
-
-
break;
-
-
-
-
case 'o':
-
-
printf("Object\n");
-
-
break;
-
-
-
-
case 'r':
-
-
printf("Run\n");
-
-
break;
-
-
-
-
default:
-
-
printf("Unknown\n");
-
-
break;
-
-
-
-
}
-
-
}
-
-
int main()
-
-
{
-
-
f1(5);
-
-
f1(9);
-
-
f1(7);
-
-
-
-
f2('o');
-
-
f2('d');
-
-
f2('e');
-
-
return 0;
-
-
}
-
实例2:有趣的角色互换
-
#include <stdio.h>
-
-
void f1(int i)
-
-
{
-
-
switch( i < 6 )
-
-
{
-
-
case 1:
-
-
printf("Failed!\n");
-
-
break;
-
-
-
-
default:
-
-
switch( (6 <= i) && (i <= 8) )
-
-
{
-
-
case 1:
-
-
printf("Good!\n");
-
-
break;
-
-
-
-
default:
-
-
printf("Perfect!\n");
-
-
break;
-
-
}
-
-
break;
-
-
}
-
-
}
-
-
void f2(char i)
-
-
{
-
-
if( 'c' == i )
-
-
{
-
-
printf("Compile\n");
-
-
}
-
-
else if( 'd' == i )
-
-
{
-
-
printf("Debug\n");
-
-
}
-
-
else if( 'o' == i )
-
-
{
-
-
printf("Object\n");
-
-
}
-
-
else if( 'r' == i )
-
-
{
-
-
printf("Run\n");
-
-
}
-
-
else
-
-
{
-
-
printf("Unknown\n");
-
-
}
-
-
}
-
-
int main()
-
-
{
-
-
f1(5);
-
-
f1(9);
-
-
f1(7);
-
-
-
-
f2('o');
-
-
f2('d');
-
-
f2('e');
-
-
return 0;
-
-
}
小结:
1.if语句适用于复杂逻辑判断进行判断的时候
2.switch语句适合对离散值进行判断的情形中
3.if语句在switch语句在功能上可以相互替换
4.if语句对于“按片”分支判断的情形更加简洁
5.switch语句对于多分支判断情形更加简洁
文章来源: allen5g.blog.csdn.net,作者:CodeAllen的博客,版权归原作者所有,如需转载,请联系作者。
原文链接:allen5g.blog.csdn.net/article/details/78848655
- 点赞
- 收藏
- 关注作者
评论(0)