目录

  • 1 第一章 C语言简介
    • 1.1 C语言前世今生
    • 1.2 主流开发环境介绍
    • 1.3 第一个小程序解析
    • 1.4 常见编译错误
    • 1.5 章节知识点小结
  • 2 算法基础
    • 2.1 算法-程序的灵魂
    • 2.2 算法的描述-流程图
  • 3 数据类型与运算符
    • 3.1 数据描述
    • 3.2 运算符和表达式1
    • 3.3 运算符和表达式2
    • 3.4 章节知识点小结
  • 4 顺序结构程序设计
    • 4.1 输入和输出
    • 4.2 顺序结构程序设计
    • 4.3 章节知识点小结
  • 5 选择结构程序设计
    • 5.1 关系运算符和关系表达式
    • 5.2 逻辑运算符和逻辑表达式
    • 5.3 if语句
    • 5.4 条件运算符
    • 5.5 switch语句
    • 5.6 章节知识点小结
  • 6 循环结构程序设计
    • 6.1 while循环结构
    • 6.2 do_while循环结构
    • 6.3 for循环结构
    • 6.4 循环的嵌套
    • 6.5 break语句和continue语句
    • 6.6 章节知识点小结
  • 7 数组
    • 7.1 一维数组
    • 7.2 二维数组
    • 7.3 字符数组
    • 7.4 章节知识点小结
  • 8 函数
    • 8.1 子程序设计
    • 8.2 函数定义
    • 8.3 函数的调用
    • 8.4 局部变量和全局变量
    • 8.5 参数传递
    • 8.6 函数递归调用
    • 8.7 章节知识点小结
  • 9 指针
    • 9.1 指针的基本概念
    • 9.2 指针变量的定义及引用
    • 9.3 通过指针引用数组元素
    • 9.4 指向多维数组的指针和指针变量
    • 9.5 用指向数组的指针作函数参数
    • 9.6 指针与字符串
    • 9.7 函数指针和指针函数
    • 9.8 章节知识点小结
  • 10 用户自己建立数据类型
    • 10.1 定义和使用结构体变量
    • 10.2 使用结构体数组
    • 10.3 结构体指针
    • 10.4 章节知识点小结
  • 11 编译预处理
    • 11.1 宏定义预处理
    • 11.2 文件包含预处理
    • 11.3 条件编译预处理
    • 11.4 章节知识点小结
  • 12 文件
    • 12.1 文件的基本知识
    • 12.2 文件的基本操作
    • 12.3 章节知识点小结
逻辑运算符和逻辑表达式


1.逻辑运算符

&&(逻辑与)  ||(逻辑或)  !(逻辑非)

其中:&&||是双目()运算符!是一目()运算符

  • Ø逻辑运算的真值表


  • 逻辑运算符的优先次序

&& ||      !为三者中最高)

  • 与其他运算符的优先次序


2.逻辑表达式

用逻辑运算符将关系表达式或其他逻辑量连接起来的式子。

逻辑表达式的值应该是逻辑量“真”或“假”。编译系统在表示逻辑运算结果时,以数值1代表“真”,以0代表“假”;但在判断一个量是否为“真”时,以0代表“假”,以非0代表“真”。

注意:将一个非零的数值认作为”。

(1) a=4,则!a的值为0

(2) a=4b=5,则a && b的值为1

(3) ab值分别为45,则a||b的值为1

(4) ab值分别为45,则!a||b的值为1

(5) 4 && 0 || 2的值为1

注意:在逻辑表达式的求解中,并不是所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符。

例如:

① a&&b&&c    只有a为真(非0)时,才需要判别b的值,只有a和b都为真的情况下才需要判别c的值。只要a为假,就不必判别b和c(此时整个表达式已确定为假)。如果a为真,b为假,则不判别c,整个表达式运算结果为假。

② a||b||c    只要a为真(非0),就不必判断b和c;只有a为假,才判别b;a和b都为假才判别c。


例题1:逻辑运算符的应用。

#include <stdio.h>

int main( )       

int x=4,y=5,z,m;

z=(x++==5) && (++y);

printf("z=%d,x=%d,y=%d\n",z,x,y);

m=(x++) || (++y);

printf("m=%d,x=%d,y=%d\n",m,x,y);

return 0;

}



例题2:写出以下各题的逻辑表达式。

(1)判断年龄(age)在13至17岁之内

            age>=13 && age<=17

(2)判断(age)年龄小于12或大于65

            age<12 || age>65

(3)判别某一年是否闰年

   闰年的条件是符合下面二者之一:

    ①能被4整除,但不能被100整除,如2008

    ②能被400整除,如2000

        (year % 4 == 0 && year 100 !=0) || year % 400 == 0