C语言基础——判断与循环(1)

C语言基础——判断与循环

                        ——判断篇

目录

回顾:

一、判断篇

(一)if判断

(二)else if

(三)Switch、break语句

(四)If嵌套

(五)Continue语句

二、循环篇:


回顾:

上一篇章中,我们很正经的了解了C语言的表达式的相关内容,同时结合代码分析了各种类型的表达式的用法。其中在讲到判断表达式的时候说,这个类型的表达式在“判断与循环”部分会经常用到。没错,它来了,今天我们结合例子讲一下什么是判断,什么是循环,什么时候用。

一、判断篇

定义:不用官方概念了,根据名称我们也知道,判断就是判断条件是否成立。这个条件可以是一个表达式,也可以是一个变量。

扫描二维码关注公众号,回复: 9471459 查看本文章

我们知道,判断的结果只有两种,正确/失败,在计算机中对应的是真(1)/假(0),值得注意的是,常量/变量的值为0时表示条件的结果为假,值为1时表示判断的结果为真;

(一)if判断

首先我们了解最基础的判断if语句,先给出代码的格式:

if(判断条件)

{

    执行的代码块

 }

也就是说,只有判断的条件为真的时候,才会执行后面的花括号中的内容。值得注意的是一对花括号中的内容为一个小整体,顺序全部执行。

举例说明,判断数字的大小:

#include<stdio.h>

int main()

{

    int a = 0;

    printf("请输入一个整数:");

    scanf("%d", &a);

    if(a > 5)

    {

    printf("a > 5");

    }

    printf("game over");

    return 0;

}

分析,输入一个数字a ,判断,当a>5成立的时候会执行输出语句显示a>5,同时打印“you win”,接着执行最后的“game over”;我们看一下执行结果:

 

如果条件不成立,就不会执行if后面的代码块,只打印game over,我们看一下执行结果:

 

  • (二)else if

有时候我们会进行多次判断,获取最佳的结果,这个时候我们就可以用else if语句,这个语句配合if使用,根据字面意思便可知道是:“否则的话,如果:”

依然举个例子,依然是判断数字的大小:

#include<stdio.h>

int main()

{

    int a = 0;

    printf("请输入一个整数:");

    scanf("%d", &a);

    if(a > 5)

    {

    printf("a > 5");

    }

    else if(a > 3)

    {

        printf("3 < a <=5");

    }

    else

    {

        printf("a <= 3");

    }

    return 0;

}

分析代码,当输入的数字大于5时打印“a>5”,不然的话判断“a>3”,成立的话打印“3<a<=5”;如果都不成立便打印“a<3”;以此获取输入的数字的范围。我们看一下代码的执行结果:

首先是a > 5:

 

接着是3<a<=5:

 

最后是a <= 3:

 

  • (三)Switch、break语句

switch语句也可以进行多分支判断

举例如下:

#include<stdio.h>

int main()

{

    int a = 0;

    printf("请输入一个整数:");

    scanf("%d", &a);

    switch(a)

    {

    case 1:

    {

        printf("a==1");

    }

    case 2:

    {

        printf("a==2");

    }

    default:

    {

        printf("a为其它数字");

    }

}

return 0;

}

当a==1成立时打印a==1,a==2成立时打印a==2,否则打印a为其它数字。结果真的是这样的吗?我们执行一下:

 

可以看到我们输入5的时候结果是没有问题的,我们尝试输入2:

 

我们发现它打印了a==2 与 a为其他数字,好像有问题,再尝试打印1:

 

我们发现它打印了所有的语句,好像不太对,为什么呢?

原来是因为switch会遍历所有的条件,当成立的时候便会从这个代码块开始一直执行下去,怎么解决这个问题呢?我们用“break”语句,当程序运行到break时便会跳出本次判断,执行后面的内容,我们修改代码为:

#include<stdio.h>

int main()

{

    int a = 0;

    printf("请输入一个整数:");

    scanf("%d", &a);

    switch(a)

    {

    case 1:

    {

        printf("a==1");

        break;

    }

    case 2:

    {

        printf("a==2");

        break;

    }

    default:

    {

        printf("a为其它数字");
    
        break;

    }

}

return 0;

}

我们看一下执行结果:

 

没问题,有兴趣的可以执行一下其它的可能

  • (四)If嵌套

什么是if嵌套?就是在if的代码块中嵌套if判断,举例说明:

#include<stdio.h>

int main()

{

    int a = 0;

    printf("请输入一个整数:");

    scanf("%d", &a);

    if(a > 5)

    {

    if(a < 10)

    {

        printf("5 < a < 10");

    }

    else{

        printf("a > 10");

    }

}

    return 0;

}

只有当5<a<10 时执行输出“5<a<10”:

我们看一下运行结果:

 

没问题,我们再尝试输入11:

 

好的没问题

(五)Continue语句

Continue语句类似于break语句,作用都是跳出本次执行,不一样的时,break语句执行后面的代码,continue继续重新执行本次代码,但是continue语句经常放在循环中,因此我们在循环中讲continue。

二、循环篇:

下次介绍

发布了31 篇原创文章 · 获赞 43 · 访问量 5248

猜你喜欢

转载自blog.csdn.net/qq_41582910/article/details/97504153