分支可分为if...elseif...else,switch...case...default等等
还有一类分支较为特殊,eg:b=(a>5?3:-3)
if相关
if是较为常用的条件分支,之后跟随小括号,小括号内加范围,若为真,则判为非0,执行下方在大括号内的语句(不加大括号可能程序也能运行,但是有时会出现漏代码执行的情况,所以建议用大括号防止歧义。
**下述为部分代码片段
if(IQ>=140);
printf("天才\n");
printf(”请问阁下姓名?“);
若不加大括号,很可能两句代码运行结果不可知,造成日后bug
而加上大括号以后
if(IQ>=140);
{
printf("天才\n");
}
printf(”请问阁下姓名?“);
显而易见,后者更加清晰,不易造成误解,也方便后期调试
补充
b=(a>5?3:-3)这其中用到了一个包含if逻辑的三目操作符。
三目此处分别是a>5, 3 ,-3,中间的?与第一个对象起到if的逻辑作用,若为真(满足对象一)则输出第二个对象的值,反之则输出第三个值。
switch相关
switch和case
switch后也带括号,与if不一样的是,switch后面的括号是一个不带判断的算式。
而算式的结果,则用于执行与case相对应的命令。
default在此起到”兜底“的作用,也就是说,若结果不满足所有case,执行default
**需要注意,default和case无顺序要求。
***更新:根据刚刚作业结果来看,case语句若不在结尾处打break,则自动运行下一条case,default同理。