一.关于stdbool.h(布尔类型文件)
(1)C语言标准(C89)没有定义布尔类型,使用true/false会出现错误;
(2)头文件:#include<stdbool.h>;
(3)输出仍然为整数,而不会是true/false的值;
二.逻辑运算(对逻辑量进行运算,结果只有0或1)
——————注明:逻辑量是关系运算或逻辑运算的结果
(1)三种运算符及其意义
- !——逻辑非————示例:a!b;
- ||——逻辑或————示例:a||b(二者满足一个);
- &&——逻辑与————示例:a&&b(二者同时满足);
(2)TRY(表达数学区间)
举例:1.x∈[4,6]————写出c的表达式————(x>4)&&(x<6)
例2.如何判断一个字符c是否为大写字母:————c>='A'&&c<='Z'
特殊例子(含有两个运算符)!age<20
!为单目运算符,单目运算符的优先级高于双目运算符,所以!会与age结合在一起,如果age等于0,那么!age就会变成1,否则!age就会为0,然后再与age进行比较。
同理,若需要表达age<20的反面,则应该整体加一个括号——表示为!(age<20)
(3)优先级
!>&&>||;
关系运算>逻辑运算>赋值运算(+=、-=、*=…)
(4)短路
错例:a>0 &&a++>1/a==6 && b+=1;
意义:逻辑运算是自左向右进行的,如果左边的结果已经能够决定结果了,就不会做右边的计算