小朋友学C语言(8):条件判断

(一)if...else

先动手编写一个程序

#include <stdio.h>
int main()
{
    int x = -1;
    if(x > 0)
    {
        printf("x is a positive number!\n");
    }
    else
    {
        printf("x is not a positive number!\n");
    }
    return 0;
}

运行结果:

x is not a positive number!

程序分析: 定义一个整数x,并给他赋值。这个值要么大于0,要么不大于0(等于或小于0)。 若是大于0,则打印x is a positive number! 若不大于0,则打印x is not a positive number!

这里建议不要再使用在线编译器,而是使用本机编译器(苹果电脑推荐Xcode,PC推荐dev C++)。在本机编译器上设置断点逐步执行,会发现if中的printf语句和else中的printf语句只会执行一个。这是因为if和else是互斥的关系,不可能都执行。

(二)if...else if...else

稍微改动程序

#include <stdio.h>
int main()
{
    int x = 0;
    if(x > 0)
    {
        printf("x is a positive number!\n");
    }
    else if(x == 0)
    {
        printf("x is zero!\n");
    }
    else
    {
        printf("x is a negative number!\n");
    }              
    return 0;
}

运行结果:

x is zero!

程序分析: 假如条件不止两种情况,则可用if...else if...else...的句式。 这个程序里的条件分成三种: 大于0、等于0或小于0。 大于0则打印x is a positive number! 等于0则打印x is zero! 小于0则打印x is a negative number!

注意,x == 0,这里的等号是两个,而不是一个。 C语言中,一个等号表示赋值,比如b = 100; 两个等号表示判断等号的左右侧是否相等。

(三)多个else if的使用

#include <stdio.h>
int main()
{
    int x = 25;
    if(x < 0)
    {
        printf("x is less than 0\n");
    }
    if(x >= 0 && x <= 10)
    {
        printf("x belongs to 0~10\n");
    }
    else if(x >= 11 && x <= 20)
    {
        printf("x belongs to 11~20\n");
    }
    else if(x >= 21 && x <= 30)
    {
        printf("x belongs to 21~30\n");
    }
    else if(x >= 31 && x <= 40)
    {
        printf("x belongs to 31~40\n");
    }
    else
    {
        printf("x is greater than 40\n");
    }
    return 0;
}

运行结果:

x belongs to 21~30

程序分析: (1) 这里把x的值分为好几个区间:(负无穷大, 0), [0, 10], [11, 20], [21, 30], [31, 40], (40, 正无穷大) (负无穷大, 0)用if来判断 [0, 10], [11, 20], [21, 30], [31, 40]用else if来判断 (40, 正无穷大)用else来判断

(2) 符号“&&”代表“并且”,表示“&&”左右两侧的条件都成立时,判断条件才成立。

原文发布于微信公众号 - 海天一树(gh_de7b45c40e8b)

原文发表时间:2017-10-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏西枫里博客

Python学习笔记六(格式化字符串)

一周一更的Python学习楞是被我变成了一月一更,这种进度等于是前期白学了,接下来要强迫学习进度了,力争6月底前完成基础部分的学习。今天的主要内容是回顾上次关于...

10620
来自专栏北京马哥教育

这段代码很Pythonic | 相见恨晚的 itertools 库

18030
来自专栏WindCoder

日期判断

8710
来自专栏JavaQ

烂代码吐槽汇 | 奇葩命名

代码首先是给人看的,其次才是给机器看的。 烂代码特征:可读性差、逻辑混乱、性能低下。 1.奇葩项目(模块)名 项目(模块)名称使用汉语拼音、英汉双拼、超长的字母...

35750
来自专栏小樱的经验随笔

设计模式六大原则(2):里氏替换原则

        肯定有不少人跟我刚看到这项原则的时候一样,对这个原则的名字充满疑惑。其实原因就是这项原则最早是在1988年,由麻省理工学院的一位姓里的女士(Ba...

29280
来自专栏java一日一条

函数式编程的优与劣

如今函数式编程越来越流行。越来越多的编程语言支持函数式编程风格,人们学习如何使用它们。函数式编程已不像以前那么小众——现在Ruby,Java和JavaScrip...

7920
来自专栏WeTest质量开放平台团队的专栏

【《Effective C#》提炼总结】提高Unity中C#代码质量的21条准则

我们知道,在C++领域,作为进阶阅读材料,必看的书是《Effective C++》。 而《Effective C#》之于C# ,是类似《Effective C+...

13130
来自专栏Java学习网

Java 8的函数式编程学习

Java 8的函数式编程学习 函数式编程语言是什么? 函数式编程语言的核心是它以处理数据的方式处理代码。这意味着函数应该是第一等级(First-class)的...

27770
来自专栏java一日一条

函数式编程的优与劣

如今函数式编程越来越流行。越来越多的编程语言支持函数式编程风格,人们学习如何使用它们。函数式编程已不像以前那么小众——现在Ruby,Java和JavaScrip...

8210
来自专栏轮子工厂

4. C语言 -- 一个由数据类型和取值范围引发的 BUG

之前看到有人留言催更,老夫的心里的竟然有一丝惊喜和兴奋。上周说要改版嘛( 。_ 。) ✎然后我就紧赶慢赶出了这篇稿子,但是由于一些原因,在今天才与大家间面。

13120

扫码关注云+社区

领取腾讯云代金券