原创 闫小林 C语言入门到精通 2020-10-26

收录于话题

#小林C++代码基础

95个

点击上方“C语言入门到精通”,选择置顶

第一时间关注程序猿身边的故事


3.4 C++逻辑运算和逻辑表达式_c++


作者

闫小林

白天搬砖,晚上做梦。我有故事,你有酒么?


C++逻辑常量和变量


C++的逻辑常量只有两个:false和true,逻辑型变量的定义是用bool,bool类型的值只能是true或者false


bool x,y;
x=true;
y=false;


读者需要知道的一点,在编译系统处理逻辑型数据时,将true处理为1,将false处理为0。

C++的逻辑运算符


&& //逻辑与 
|| //逻辑或
//逻辑非


在C++的逻辑表达式中,如果这个逻辑表达式有多个逻辑运算符,则优先级会按照逻辑非->逻辑与->逻辑或,其中逻辑非优先级最高。


逻辑运算符中的&&和||优先级低于关系运算符,逻辑非!高于算术运算符。


//例如
(x>y)&&(m>n); //等效于x>y&&m>n
(x==y)||(m=n); //等效于x==y||m==n
(!x)||(m>n); //等效于!x||m>n


C++的逻辑表达式就是用逻辑运算符将两个关系表达式连接起来,逻辑表达式的一般形式为:表达式 逻辑运算符 表达式。


逻辑表达式的值是一个逻辑量真(1)或假(0),如果其值是0认为是假,如果其值非0认为是真。


在C++中,整型数据可以出现在逻辑表达式中,根据整型数据的值0或者非0,把它作为逻辑量假或真,然后参与逻辑运算。


案例:键盘输入一个整数,判别它是否为闰年。


#include<iostream> //头文件
using namespace std;
int main()       //主函数 
{
  int year; //定义变量 
  cin>>year; //输入函数 
  if((year%4==0&&year%100!=0)||year% 400== 0//判断条件 
  {
    cout<<year<<"是闰年"<<endl
  }
  else
  {
    cout<<year<<"不是闰年"<<endl
  }
  return 0
}


执行本程序之后

输入2000,会输出2000是闰年

输入2001,会输出2001不是闰年