C控制语句之分支和跳转(一)

来源:互联网 发布:oracle数据库如何备份 编辑:程序博客网 时间:2024/06/07 11:05

学习c语言的道路上,我们会遇到越来越多的难题,这个时候,仅靠我们普通的套路是无法解决这些问题的,但是C为我们提供了这些降妖除魔的利器,就如上篇我们所说的用循环来处理重复的任务,那当我们遇到分支结构的时候,C又为我们提供了怎样的“兵器”呢?

是的,当我们路遇分叉口时,C为我们带来了ifswitch语句。

if语句

首先,我们从一个简单的例子开始,当我们有a,b,c三个不同大小的整数的时候,我们该怎样用计算机排列他们的大小关系呢?我想,当我们在想思路的时候,应该都是这样的吧,首先让ab比较,如果a大,那再让cb比较,如果c小,那从小到大的顺序就为c, b, a。如果cb大,我们再让ca比较大小,如果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;

}

 

得到的结果为:三个数由小到大的顺序排列为:3812

可以看出我们基本上用了几句几乎一模一样的语句,就解决了我们繁琐的思路得到了结果。可以看出if语句的简便,当然,这道题用if还有更加简便的思路和方法。不妨思考一下,如何用if做出更加简便的语句。