小朋友学C语言(13):逻辑运算符

逻辑运算符有三种,“&&”(逻辑与)、“||”(逻辑或)和“!”(逻辑非)

(一)逻辑与&&

“&&”相当于生活中说的“并且”,就是两个条件都同时成立的情况下“&&”的运算结果才为“真”。只要有一个条件不成立,则结果为“假”。 1 && 1 = 1 1 && 0 = 0 0 && 1 = 0 0 && 0 = 0

验证程序:

#include <stdio.h>
int main()
{
    int x = 50;
    if(x >= 0 && x <= 100)
    {
        printf("x is between 0~100\n\n");
    }
    int y = 200;
    if(y >= 0 && y <= 100)
    {    
        printf("y is between 0~100\n");
    }
    return 0;
}

运行结果:

x is between 0~100

(二)逻辑或||

“||”相当于生活中说的“或者”,只要有一个条件成立,“||”的运算结果就为“真”。两个条件都不成立结果才为“假”。 1 || 1 = 1 1 || 0 = 1 0 || 1 = 1 0 || 0 = 0

验证程序:

#include <stdio.h>
int main()
{
    int x = 50;
    if(x < 0 || x > 100)
    {
        printf("x is not between 0~100\n");
    }
    int y = 200;
    if(y < 0 || y > 100)
    {
        printf("y is not between 0~100\n");
    }
    return 0;
}

运行结果:

y is not between 0~100

(三)逻辑非!

如果条件为真,加上“!”后判断为假;如果条件为假,加上”!”后判断为真。 !0 = 1 !1 = 0 注意,计算机非0即为真,比如x = 1或x = 3或x = 50或x=-27,这些情况下if(x)判断都为真。

验证程序:

#include <stdio.h>
int main()
{
    int x = 50;
    if(!x)
    {
        printf("x is zero\n");
    }
    int y = 0;
    if(!y)
    {
        printf("y is zero\n");
    }
    return 0;
}

运行结果:

y is zero

分析: if(判断语句) { printf("xxx"); } 只有“判断语句”为真的情况下,printf()语句才能被执行。 这里if(!x),只有!x为真,printf()语句才会被执行。 既然!x为真,则x为假。所以printf()一旦被执行,必然说明x的值就是0。

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

原文发表时间:2017-11-01

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Python小屋

Python运算符is与==的区别

在Python中,关系运算符==用来测试两个对象的值是否相等,而同一性测试运算符is用来测试两个对象是否是同一个对象,如果两个变量是同一个对象,那么它们的内存地...

24240
来自专栏用户2442861的专栏

C++ STL空间配置源码分析以及实现二

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/haluoluo211/article/d...

10720
来自专栏漫漫深度学习路

python命名空间

python的命名空间 python使用命名空间记录变量。python中的命名空间就像是一个dict,key是变量的名字,value是变量的值。 python中...

23260
来自专栏不想当开发的产品不是好测试

java多线程 基础demo

join() 让主进程等待子进程全部执行完 例子如下: package mocker; public class TestThread5 extends Thr...

23060
来自专栏Petrichor的专栏

python: map函数

对 sequence 中的 item 依次执行 function(item),将 执行结果 组成一个 List 返回。

34320
来自专栏C/C++基础

C++11 原生字符串

原生字符串(Raw String)指不进行转义“所见即所得”的字符串。很多编程语言早已支持原生字符串,如C#、Python、Shell等。C++作为一门高级程序...

22520
来自专栏深度学习之tensorflow实战篇

golang 格式“占位符”%d,%f,%s等应用类型

golang 的fmt 包实现了格式化I/O函数,类似于C的 printf 和 scanf。 红色部分为常用占位符 ? ? ? ? ? ? ? 对于 ...

39770
来自专栏java学习

工程师笔试题2(答案解析)

一、单项选择题 1.二进制数 11101 转化为十进制数是( )。 A.23 B.17 C.26 D.29 2.以下可以对对象加互斥锁的关键字是( )。 ...

33660
来自专栏GreenLeaves

JavaScript之面向对象学习五(JS原生引用类型Array、Object、String等等)的原型对象介绍

1、原型模式的重要性不仅仅体现在创建自定义类型方面,就连所有的原生的引用类型(Obejct、Array、String等等)都在构造函数的原型上定义方法和属性。如...

225100
来自专栏Python自动化测试

Python的元组学习(五)

本节来学习python的元组,在python语言中,元组的关键字是tuple同时元组是不可变的,列表与字典是可变的,元组的定义是一个(),下面通过代码...

12340

扫码关注云+社区

领取腾讯云代金券