C语言是结构化的程序设计语言,因为C语言支持3种结构:顺序结构,选择结构,循环结构。
一、顺序结构
顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。
比如,把大象放进冰箱需要几步?打开冰箱->把大象放进去->关上冰箱门,只要我们按顺序执行这几步就可以完成了。(虽然没有这么大的冰箱,但意思就是这么个意思,这个就不多介绍啦)
二、选择结构
顾名思义,就是要你做出选择的一种结构。比如,假期去哪里旅游?同一时刻,你选择了去北京,就不能去海南,也就是在岔路口面临选择的情况。在计算机编程中,当满足条件A时选择执行一条语句,这是单分支结构,通常使用if实现;当满足条件A时选择执行a语句,否则执行b语句,这是双分支结构,可以用if-else实现;还有多分支结构,也是基于单双分支结构实现的。
选择结构示意图如下:
下面来分开讲讲单分支结构、双分支结构和多分支结构。
1.单分支结构
这一结构涉及if语句,if()里面的表达式成立(为真),则语句执⾏,表达式不成⽴(为假),则语句不执行。
if 语句的语法形式如下:
if(表达式)
语句 //可以是空语句
来个程序实例:如果用户输入的数据大于等于140,则打印Genius。
#include <stdio.h>
int main() {
int a;
while (scanf("%d", &a) != EOF) { // 注意 while 处理多个 case
if(a>=140)
printf("Genius");
}
return 0;
}
2.双分支结构
这一结构需要在if的基础上增加一个else分支。语法形式如下:
if(表达式)
语句1 //也可以执行多条语句
else
语句2
程序实例:若输入的数能被5整除(是5的倍数),则输出YES,否则输出NO。
#include <stdio.h>
int main()
{
int n = 0;
scanf("%d", &n);
if(n%5==0)
printf("YES\n");
else
printf("NO\n");
return 0;
}
3.多分支结构
在 if else 语句中, else 可以与另⼀个 if 语句连⽤,构成多重判断。语法形式如下:
if(表达式2)
语句1
else if(表达式2)
语句2
····· //中间还可以插入更多个else if分支
else
语句3
程序实例:判断从键盘输入的两个数的大小关系并打印。
#include <stdio.h>
int main() {
int a, b;
while (scanf("%d %d", &a, &b) != EOF) { // 注意 while 处理多个 case
if (a > b)
printf("%d>%d\n", a, b);
else if (a < b)
printf("%d<%d\n", a, b);
else printf("%d=%d\n", a, b);
}
return 0;
}
注:如果有多个 if 和 else ,可以记住这样⼀条规则, else 总是跟最接近的 if 匹配。
除了 if 语句外,C语⾔还提供了 switch 语句来实现分⽀结构。switch 语句是⼀种特殊形式的 if…else 结构,⽤于判断条件有多个结果的情况。它把多重的 else if 改成更易⽤、可读性更好的形式。语法形式如下:
switch (expression) {
case value1: statement
case value2: statement
default: statement
}
程序实例:输⼊任意⼀个整数值,计算除3之后的余数
#include <stdio.h>
int main()
{
int n = 0;
scanf("%d", &n);
switch(n%3) { //()内必须填整型表达式(字符本质是ASCII码,是整型,也可以放进去)
case 0: //case和后边的数字之间必须有空格
printf("整除,余数为0\n");
break; //每⼀个 case 语句中的代码执⾏完成后,需要加上 break ,才能跳出这个switch语句。否则下面case 1,2也会被顺序执行
case 1:
printf("余数是1\n");
break;
case 2:
printf("余数是2\n");
break;
//default可被省略
}
return 0;
}
在使⽤ switch 语句的时候,我们经常可能遇到⼀种情况,⽐如 switch 后的表达式中的值⽆法匹配代码中的 case 语句的时候,这时候要不就不做处理,要不就得在 switch 语句中加⼊default ⼦句。
以上就是C语言中分支结构的简单介绍和实现啦,祝大家学习愉快~