前言
初学c语言,有错误的地方还望纠正,后续有了新的理解也会不断补充。
分支结构
能够通过采用合适的分支条件和分析程序流程使问题简单化的结构,通常适用于具有逻辑或关系比较等条件判断的计算。
分支结构又称选择结构,其中包括if else判断语句和switch判断语句。
分支结构的基本类型包括:单一分支体,双(多)分支体,嵌套分支体。
1、if else
if else结构形式为
if (判断语句) { 语句块1 } else { 语句块2 } 通过判断语句后: 判断为真(1)则运行语句块1 判断为假(0)则运行语句块2
讯享网
当语句块中只有一条语句时可以不加花括号,但为了避免他人或自己在理解代码是发生偏差,并使代码更加规范,一般要求加上花括号。
当语句块2中没有语句时else可以省略。
(1)、单一分支体
由一组单一的if结构组成的分支体称为单一分支体。
如求a与b的较大值

讯享网#include <stdio.h> int main() { int a, b; scanf("%d %d",&a,&d); if(b > a) { a=b; } printf("两者中较大的数为%d",a); return 0;
(2)、双分支体
由一组if else结构组成的分支体称为单一分支体。
#include <stdio.h> int main() { int a, b; scanf("%d %d",&a,&b); if (a > b) { MAX = a; } else { MAX = b; } printf("两者中较大的数为%d", MAX); return 0;
(3)、多分支体
由两个及以上if else结构相连的分支体称为双(多)分支体。
如形式
讯享网if(判断语句) { 语句块 } else if(判断语句) { 语句块 }else if(判断语句) { 语句块 } ......
其中else可省
如判断分数
#include <stdio.h> int main () { int score; printf("你的成绩是%d",score); scanf("%d",&score); if (score>=90) { printf("\n优秀"); }else if (90>score>=80) { printf("\n良好“); }else if (80>score>=60) { printf("\n及格"); }else if (60>score) { printf("\n不及格); } return 0;
(4)、嵌套分支
形式如
讯享网if (条件) { if (条件) 语句块; else { if (条件) 语句块; else 语句块; } } else 语句块; 等类似的结构。
如判断a是否为最大值
#include <stdio.h> int main () { int a,b,c; scanf("%d %d %d",&a,&b,&c); if (a>=b) { if (a>=c) { printf("a最大”); } } else { printf("a不是最大的"); } return 0;
(5)、浮空else问题
如果有多个 if 和 else ,可以记住这样⼀条规则, else 总是跟最接近的 if 匹配。
2、switch
结构表示为
讯享网switch(判断部分) { case x1:语句块1;break; case x2:语句块2;break; case x3:语句块3;break; case ..:语句块..;break; default :语句块n:break; }
3、总结
以上为分支结构概述,以后会不断完善细节,也希望各位大佬多多指教。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/13096.html