C语言入门笔记之分支结构

对于刚入门的同学来说,绝对不能急躁,不要说想一下子把知识学完。也不要学了一点就感觉自己要做什么什么的。之所以要说这些使用为我曾经就是这样。但是越这样越学不进去东西也做不出东西,到头来还是要学会去学习,积累然后再去应用。好了,废话不多说了,来看看本次的知识点——分支结构

  • 分支结构是进行逻辑运算后,执行特定的指令。常用的逻辑运算有大于>,小于<,等于==,小于等于<=,大于等于>=.
  • 由于C语言没用布尔类型的变量,所以使用0代表假,非0为真来表示逻辑运算的结果

一个例子

#include <stdio.h>

int main()
{
    int a = 3;
    if(a >= 3)
    {
        printf("%d大于等于3\n");
    }
    else
    {
        printf("%d小于3\n");
    }
    return 0;
}

运行查看结果

关于分支结构

这个分支结构就是由if...else... 判断语句构成的。分支结构理解也比较简单,但是却非常重要,一个复杂的问题不可避免的需要用到判断语句。

//if...else...分支结构
if(条件语句)  //先运算if中的语句,判断结果是真是假,0为假,非0即真
{
    //如果判断为真,执行此代码块
}
else
{
    //反之,执行此代码块
}

关于if

  • if可以单独存在
if(条件语句)
{
    //为真执行
}
  • 多个判断
if(条件语句)
{
    //满足条件执行
}
else if(条件语句)
{
    //满需条件执行
}
.
.      //多个条件
.
else if(条件语句)
{
    //满足田间执行
}
else
{
    //一个条件都不满足时执行
}

再来一个例子

#inlcude<stdio.h>

int main()
{
    int a;
    scanf("%d",&a);
    switch(a % 2)   //%对2取余运算,结果就是0或1
    {
        case 1: printf("输入的是一个奇数"); break;
        case 0: printf("输入的是一个偶数\n"); break;
        default: printf("鬼知道发生了什么\n");
    }
}

当问题处理的分支情况比较多时,使用if分支的话,使用if就不太美观了,可读性也比较差。因此,使用switch开关语句。开关,就是一个供电厂,如果一个地区需要电力,那么它向供电厂发送一个信息,叫做area ,然后不同地区发送的信息也就不同,也就是area是变量 ,最后供电厂接收area这个变量,通过area中存储的信息,供电厂来决定向那个地区供电。
对上面例子的解释: 首先用户输入一个数字,存在变量a中,对a取余。结果就是0或1,然后开关接收这个信号,在下面的选项中查找与收到信息一致的。就执行后面的语句序列
关于break: 每一个case 后面的语句序列,可以使用break,或者不用,如果不适用的话,那么,当找到匹配的信息后,就会继续执行下面的case,不论是否匹配,知道结束。所以,break要根据需求选择是否使用。
default: 当信息与case都不匹配,那么就会执行default后面的语句序列。


分割线


好了,分支语句的主要内容已经分享完了,由于文章例子比较简单。所以,以后会在文章最后多展示一些例子

  • 三角形判定

输入三个整数,分别为三角形的三边,判断是否能够构成三角形

#include <stdio.h>

int main()
{
    printf("输入三个数字,用空格隔开:\n");
    scanf("%d %d %d",&a,&b,&c);
    //三角形判定:两边之和大于第三边
    if(a+b>c && a+c>b && b+c>a)
    {
        printf("可以构成三角形\n");
    }
    else
    {
        printf("不可以构成三角形\n");
    }
    return 0;

}

三个数排序

输入三个整数,然后从小到大依次输出三个整数

#include <stdio.h>

int main()
{
    int a,b,c;
    int t;
    scanf("%d %d %d",&a,&b,&c);
    //比较任意两个数,讲较小的一个数和与他比较的那个数交换位置,最终a<b<c
    //输出a,b,c
    if(a>b)
    {
        t=a;
        a=b;
        b=t;
    }
    if(a>c)
    {
        t=a;
        a=c;
        c=t;
    }
    if(b>c)
    {
        t=b;
        b=c;
        c=t;
    }
    printf("%d %d %d\n",a,b,c);
}

猜你喜欢

转载自blog.csdn.net/weixin_36382492/article/details/80714405
今日推荐