C语言逻辑运算符的用法及解读

 更新时间:2026年03月24日 14:13:04   作者:言念君君子  
这篇文章主要介绍了C语言逻辑运算符的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

C语言逻辑运算符

在C语言中,逻辑运算符有&&、||、!

  • &&表示“与”的意思,需要两端的表达式的值都为true,该式的值才为true。
  • ||表示“或”的意思,两端的表达式的值只要有一端为true,该式的值就为true。
  • !表示“非”的意思,将该式的真值换成相反的真值,即false和true互换。

但是在C99里有这样的一个名为“短路”的特性

  • 使用&&时,如果左边false则右边不会执行
  • 使用||时,如果左边true则右边不会执行

&&运算符,举例

#include<stdio.h>
int main()
{
	int a=-1,b=0;
	if(a++&&b++)
		printf("%d %d",b,a);
	if(++b&&++a)
		printf("%d %d",a,b);
	return 0;
}

想想程序的输出结果是什么

答案是:

1 2

程序的流程是

先定义变量a=-1,b=0,然后进入第一个if()判断,&&左边的值是-1,右边的值为0,所以此if()下的语句不执行,但是由于&&左侧为true,所以&&右侧的b++也会得到执行,此行结束时,a的值为0,b的值为1。

第二次if(),左边的值为2,右边的值为1,所以`if()``下的语句得到执行,输出a的值1,b的值2。

||运算符同理,如果左边的表达式的值为true,则右边的表达式不会执行。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • C语言结构体内存对齐详解

    C语言结构体内存对齐详解

    大家好,本篇文章主要讲的是C语言结构体内存对齐详解,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01
  • C语言实现五子棋人人对战

    C语言实现五子棋人人对战

    这篇文章主要为大家详细介绍了C语言实现五子棋人人对战,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-12-12
  • C++实现鼠标控制的黑框象棋

    C++实现鼠标控制的黑框象棋

    这篇文章主要为大家详细介绍了C++实现鼠标控制的黑框象棋,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-05-05
  • C++虚继承原理与类布局深度分析

    C++虚继承原理与类布局深度分析

    这篇文章主要介绍了C++虚继承原理与类布局分析,本文的目标是探究虚继承的实现方式和类布局(Class Layout)的具体规则,需要的朋友可以参考下
    2024-04-04
  • C++ Boost Xpressive示例分析使用

    C++ Boost Xpressive示例分析使用

    Boost是为C++语言标准库提供扩展的一些C++程序库的总称。Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一,是为C++语言标准库提供扩展的一些C++程序库的总称
    2022-11-11
  • C++线程锁的使用

    C++线程锁的使用

    C++提供了多种锁机制,本文主要介绍了C++线程锁的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2026-02-02
  • C语言报错Use of Uninitialized Variable的原因及解决方案

    C语言报错Use of Uninitialized Variable的原因及解决方案

    Use of Uninitialized Variable是C语言中常见且危险的错误之一,它通常在程序试图使用一个未初始化的变量时发生,本文将详细介绍Use of Uninitialized Variable的产生原因,提供多种解决方案,并通过实例代码演示如何有效避免和解决此类错误,需要的朋友可以参考下
    2024-06-06
  • C++ opencv图像处理实现图片边缘检测示例

    C++ opencv图像处理实现图片边缘检测示例

    这篇文章主要为大家介绍了C++ opencv实现图片边缘检测示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • 一篇文章带你了解C语言内存对齐

    一篇文章带你了解C语言内存对齐

    在单片机下使用C语言编程时,内存对齐的知识点必须掌握。掌握内存对齐后,可以防止内存碎片化,并且证明你有能力优化内存。嵌入式单片机开发的后阶段,无非就是优化内存与优化代码执行效率。
    2021-08-08
  • Qt多版本共存使用实现组件增删

    Qt多版本共存使用实现组件增删

    本文主要介绍了Qt多版本共存使用实现组件增删,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02

最新评论