vlambda博客
学习文章列表

5.C语言之分支结构(1)

大家好!今天我们来学习C语言的分支结构。

在学习之前我们要知道,顺序结构的程序只能按照程序语句先后顺序的方式来执行处理数据,但是现实问题往往不会那么简单,有时候需要根据不同的情况执行不同的操作,这时我们就要求计算机能够对问题进行判断,根据判断的结果不同,选择处理的方式也就不同,这就要用到今天讲的分支结构了。

能够实现分支结构的有两种,一种是if结构另外一种就是switch结构。今天我们先来学习if结构。

if语句有很多种,最简单的是单分支结构,再其次就是二叉结构,还有就是嵌套结构。

我们首先来学习if语句的单分支结构,其形式一般是:

if(表达式)

<语句A>

其中表达式一般为条件表达式或者是逻辑表达式,if结构的功能是:先判断表达式的逻辑值,若该逻辑值为真,则执行语句A否则什么也不执行。

if语句中的语句A一般都是以复合语句的形式出现,即用一对花括号{}括起来。如果if语句中的语句只有一条,则可以不需要花括号。

我们来看一个例子:(此例是在visual  stdio 2019编译器下运行)

比较两个数的大小,并且按从小到大输出。

#include<stdio.h>

int main()

{

    int a, b, c;

    printf("请输入要比较的两个数:\n");

    scanf_s("%d%d", &a, &b);

    if (a > b)

    {

         c = a;

         a = b;

         b = c;

    }

    printf("两数从小到大依次为:%d,%d", a, b);

    return 0;

}

下面我们在来学习if-else语句,if-else语句是一种二叉结构,其形式为:

if(表达式)

   <语句A>

else

   <语句B>

其中表达式一般为条件表达式或者是逻辑表达式。

if-else语句的功能是:先判断表达式的值,若值为真,则执行语句A,若值为假,则执行语句B

我们来看一个例子:

输入ab,如果ab大则计算两数之差,如果ab小则计算两数之和。(此例是在visual stdio 2019中编译运行)

代码如下:

#include<stdio.h>

int main()

{

    int a, b,c;

    printf("请输入ab的值:\n");

    scanf_s("%d%d", &a, &b);

    if (a > b)

    {

         c = a - b;

         printf("两数之差:%d", c);

    }

    else

    {

         c = a + b;

         printf("两数之和:%d", c);

    }

    return 0;

}

好了,今天我们讲完了,如果有疑问,请私聊我。

本文原创未经允许不得转载。