首页 > 其他分享 >【C语言】逻辑操作符详解 - 《真假美猴王 ! 》

【C语言】逻辑操作符详解 - 《真假美猴王 ! 》

时间:2024-07-18 14:25:39浏览次数:11  
标签:逻辑 示例 int C语言 美猴王 操作符 && printf

目录

C语言逻辑操作符详解

逻辑操作符用于进行逻辑运算,通常用于条件判断和控制流。C语言提供了三种逻辑操作符:

操作符描述示例
&&逻辑与 (AND)A && B
||逻辑或 (OR)A || B
!逻辑非 (NOT)!A

1. 逻辑与 (&&)

逻辑与操作符用于判断两个表达式是否都为真。只有当两个操作数都为真时,结果才为真。

示例

#include <stdio.h>

int main() {
    int A = 1;  // 真
    int B = 0;  // 假
    
    if (A && B) {
        printf("A && B is true\n");
    } else {
        printf("A && B is false\n");
    }
    
    return 0;
}

输出

A && B is false

2. 逻辑或 (||)

逻辑或操作符用于判断两个表达式是否至少有一个为真。只要有一个操作数为真,结果就为真。

示例

#include <stdio.h>

int main() {
    int A = 1;  // 真
    int B = 0;  // 假
    
    if (A || B) {
        printf("A || B is true\n");
    } else {
        printf("A || B is false\n");
    }
    
    return 0;
}

输出

A || B is true

3. 逻辑非 (!)

逻辑非操作符用于将一个表达式的逻辑值取反。如果表达式为真,结果为假;如果表达式为假,结果为真。

示例

#include <stdio.h>

int main() {
    int A = 1;  // 真
    
    if (!A) {
        printf("!A is true\n");
    } else {
        printf("!A is false\n");
    }
    
    return 0;
}

输出

!A is false

4. 逻辑操作符应用实例

示例 1:条件判断

逻辑操作符常用于条件判断和控制流中。例如,判断一个数是否在某个范围内:

#include <stdio.h>

int main() {
    int x = 5;
    
    if (x > 0 && x < 10) {
        printf("x is between 0 and 10\n");
    } else {
        printf("x is not between 0 and 10\n");
    }
    
    return 0;
}

输出

x is between 0 and 10

示例 2:多条件判断

逻辑操作符可以组合多个条件进行判断。例如,检查一个字符是否是元音字母:

#include <stdio.h>

int main() {
    char ch = 'e';
    
    if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u') {
        printf("%c is a vowel\n", ch);
    } else {
        printf("%c is not a vowel\n");
    }
    
    return 0;
}

输出

e is a vowel

5. 逻辑操作符的短路特性

逻辑操作符 &&|| 都具有短路特性,即当左边的表达式已经能够确定整个表达式的值时,右边的表达式将不再被计算。这在条件判断中可以用来防止不必要的计算或避免潜在的错误。

示例

#include <stdio.h>

int main() {
    int x = 0;
    int y = 5;
    
    // 由于 x 为 0,左边表达式为假,右边表达式不会被计算
    if (x != 0 && y / x > 1) {
        printf("This won't print\n");
    } else {
        printf("Short-circuit prevents division by zero\n");
    }
    
    return 0;
}

输出

Short-circuit prevents division by zero

6. 逻辑操作符的优先级

逻辑非 (!) 的优先级高于逻辑与 (&&),而逻辑与 (&&) 的优先级高于逻辑或 (||)。在复杂表达式中,使用括号可以提高可读性并确保按预期顺序进行运算。

示例

#include <stdio.h>

int main() {
    int A = 1;  // 真
    int B = 0;  // 假
    int C = 1;  // 真
    
    if (A && !B || C) {
        printf("Expression is true\n");
    } else {
        printf("Expression is false\n");
    }
    
    return 0;
}

输出

Expression is true

在这个示例中,!B 首先被计算,然后是 A && !B,最后是 A && !B || C

通过掌握逻辑操作符的使用,你可以在条件判断和控制流中更有效地编写程序,提高代码的清晰度和可靠性。

7. 参考文献

  1. Kernighan, B. W., & Ritchie, D. M. (1988). The C Programming Language (2nd ed.). Prentice Hall.
  2. ISO/IEC. (1999). ISO/IEC 9899:1999. Programming Languages – C.
  3. ISO/IEC. (2024). ISO/IEC DIS 9899. Programming Languages – C.
  4. Harbison, S. P., & Steele, G. L. (2002). C: A Reference Manual (5th ed.). Prentice Hall.

8. 结束语

  1. 本节内容已经全部介绍完毕,希望通过这篇文章,大家对C语言中的逻辑符操作符有了更深入的理解和认识。
  2. 感谢各位的阅读和支持,如果觉得这篇文章对你有帮助,请不要吝惜你的点赞和评论,这对我们非常重要。再次感谢大家的关注和支持

标签:逻辑,示例,int,C语言,美猴王,操作符,&&,printf
From: https://blog.csdn.net/EleganceJiaBao/article/details/140463604

相关文章

  • 学习c语言第八天(函数练习)
    1.打印100-200之间的素数#define_CRT_SECURE_NO_WARNINGS打印100-200之间的素数循环方法#include<stdio.h>#include<math.h>intmain(){ inti=100; while(i<=200) { intx=2; while(x<=i) { if(i%x!=0) { x++; if(x==i) ......
  • c语言代码代码风格配置
    1、设置tabsize缩进为4修改点两个位置,然后搜索"detectindentation"将前面的勾选取消 二、配置c语言格式化代码1、打开设置,选择用户配置,找到文本编辑器"DefaultFormatter"(如果找不到可以直接在上方搜索) 安装了C/C++插件后可以选择:C/C++ms-vscode.cpptools2、配置键入......
  • C语言函数:编程世界的魔法钥匙(1)
    目录1.C语言中的函数是什么?2.函数的分类:2.1标准库函数2.1.1库函数的诞生:2.1.2库函数的作用:2.1.3如何学习使用库函数2.2自定义函数2.2.1函数的组成:2.2.2自定义函数的优点  2.2.3 例题3.函数的参数3.1实际参数(实参):3.2形式参数(形参):4.函数的调用4.1......
  • C语言运算符与表达式
    1.变量赋初值1.定义时直接赋值    例如:inti=10;变量i初始化。2.先定义,后赋值    例如:inti;i=10;给变量i赋初值。2.C语言算术运算符和算术表达式1.C语言运算符有以下几类算术运算符:包括加(+)、减(-)、乘(*)、除(/)、取余(%)。关系运算符:用于比较两......
  • C语言数据类型
    1.整型数据整型数据的分类:int:这是最常见的整型类型,通常在大多数系统中占用4个字节(32位),表示的范围大致是 -2147483648 到 2147483647 。shortint(或者简称为 short):占用的存储空间通常比 int 少,一般为2个字节(16位),表示的范围相对较小。longint(或者简称为 long):通......
  • C语言中常见库函数(1)——字符函数和字符串函数
    文章目录前言1.字符分类函数2.字符转换函数3.strlen的使用和模拟实现4.strcpy的使用和模拟实现5.strcat的使用和模拟实现6.strncmp的使用和模拟实现7.strncpy函数的使用8.strncat函数的使用9.strncmp函数的使用10.strstr的使用和模拟实现11.strtok函数的使用12.strerror......
  • 运动会分数统计(数据结构课设)(C语言版)
         本文为数据结构与算法的课程设计《运动会分数统计》的一个分享,使用了顺序表的数据结构。并且将信息以表格的方式打印输出和在txt文件中导入导出。目录1.设计内容和要求2.代码实现1.结构体定义2.全局变量和变量定义3.键盘输入信息4.信息显示5.文件导入导出......
  • C语言中if、else、switch的使用方法
    目录一、if语句1、以下是if语句的语法:2、else的表达形式二、switch语句C语言程序的构建基石是三大基本结构:顺序结构、选择结构(分支)与循环结构。理解这些结构及其组合应用,有助于深入学习并减轻初学者对C语言的畏难情绪。我们可以使用以下5个函数来构成结构体:if、switch(实......
  • C语言中for、while、do while、break、continue、goto的使用方法
    目录一、while循环二、for循环三、dowhile循环四:break和continue语句break语句continue语句goto语句今天介绍一下循环函数for、while、dowhile 然后再看一看break、continue、goto语句循环结构是必须要学习好的,几乎所有代码都会应用到循环结构一、while循环whi......
  • 7.17 C语言程序引言
    一、一个C语言程序运行程序,输入4,输出24,即4的阶乘    C程序由函数(Function,一种子程序)所组成。上述程序涉及4个函数:main()、factorial()、scanf()和printf()。其中,scanf()和printf()是系统事先设计好的函数,分别用于数据的输人和输出:factorial()是程序中定义的函......