学习c语言的道路上,我们会遇到越来越多的难题,这个时候,仅靠我们普通的套路是无法解决这些问题的,但是C为我们提供了这些降妖除魔的利器,就如上篇我们所说的用循环来处理重复的任务,那当我们遇到分支结构的时候,C又为我们提供了怎样的“兵器”呢?
是的,当我们路遇分叉口时,C为我们带来了if和switch语句。
if语句
首先,我们从一个简单的例子开始,当我们有a,b,c三个不同大小的整数的时候,我们该怎样用计算机排列他们的大小关系呢?我想,当我们在想思路的时候,应该都是这样的吧,首先让a和b比较,如果a大,那再让c和b比较,如果c小,那从小到大的顺序就为c, b, a。如果c比b大,我们再让c和a比较大小,如果a大,那顺序就为b, c, a,否则就是b,a, c。是不是感觉一轮下来自己都快晕了,if语句就像是我们的如果,为我们进行着判断。首先我们来看看if的形式。
形式1:
if (表达式)
{
语句1;
}
表达式为真执行语句1
形式:2
if (表达式)
{
语句1;
}
else
{
语句2;
}
表达式为真执行语句1;为假,执行语句2
形式:3
if (表达式1)
{
语句1;
}
else if(表达式2)
{
语句2;
}
else
{
语句3;
}
表达式1为真 执行语句1;为假,如果表达式2为真执行语句2;否则,执行语句3
来看看使用if语句怎样解决上面的题目
#include <stdio.h>
int main()
{
int a = 8;
int b = 3;
int c = 12;
int tmp;
if (a > b)
{
tmp = a;
a = b;
b = tmp;
}
if(a > c)
{
tmp = a;
a = c;
c = tmp;
}
if (b > c)
{
tmp = b;
b = c;
c = tmp;
}
printf (“三个数由小到大的顺序排列为:%d, %d, %d\n”, a, b, c);
return 0;
}
得到的结果为:三个数由小到大的顺序排列为:3,8,12
可以看出我们基本上用了几句几乎一模一样的语句,就解决了我们繁琐的思路得到了结果。可以看出if语句的简便,当然,这道题用if还有更加简便的思路和方法。不妨思考一下,如何用if做出更加简便的语句。