第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > C语言基础入门48篇_14_逻辑运算符(逻辑与() 逻辑或(||) 逻辑非(感叹号) 逻辑运算

C语言基础入门48篇_14_逻辑运算符(逻辑与() 逻辑或(||) 逻辑非(感叹号) 逻辑运算

时间:2023-09-17 07:08:45

相关推荐

C语言基础入门48篇_14_逻辑运算符(逻辑与() 逻辑或(||) 逻辑非(感叹号) 逻辑运算

C语言中的逻辑运算符有&&||、及,他们分别被称为逻辑与逻辑或逻辑非前两者是二元运算符,逻辑非是一元运算符

1.逻辑与运算符 `&&`

逻辑与运算符的基本语法是:表达式1 && 表达式2其求值的结果规则是:

(1)当两个表达式均为非0时,求值结果为1

(2)其他情况(只要有至少一个表达式为0),求值结果为0

实例:判断一个数字既可以被5整除又可以被7整除

#include <stdio.h>int main(int argc, char* argv[]){int nValue = 0;scanf("%d", &nValue);if (nValue % 5 == 0 && nValue % 7 == 0){printf("这个数字既可以被5整除,也可以被7整除\r\n");}return 0;}

2.逻辑或运算符`||`

逻辑或运算符的基本语法是:表达式1 || 表达式2其求值的结果规则是:

(1)当两个表达式均为0时,求值结果为0

(2)其他情况(只要有至少一个表达式为非0),求值结果为1

实例:判断一个年份,是否为闰年,判断闰年的标准是:能被100整除,同时能被400整除;或者不能被100整除,但是能被4整除

#include <stdio.h>int main(int argc, char* argv[]){int nYear = 0;scanf("%d", &nYear);//能被100整除,同时能被400整除// nYear % 100 == 0 && nYear % 400 == 0//不能被100整除,但是能被4整除// nYear % 100 != 0 && nYear % 4 == 0if ((nYear % 100 == 0 && nYear % 400 == 0)|| (nYear % 100 != 0 && nYear % 4 == 0)){printf("这个是闰年\r\n");}else{printf("不是闰年\r\n");}return 0;}

3.逻辑非运算符`!`

逻辑非就是将表达式结果“反置”,其基本语法是:!原表达式其求值规则是:

(1)如果原表达式为0,则求值后结果为1

(2)如果原表达式结果为非0,则求值后结果为0

实例:

#include <stdio.h>int main(int argc, char* argv[]){int nValue = 0;scanf("%d", &nValue);printf("原有表达式的值:%d\r\n", nValue);nValue = !nValue;printf("逻辑取反后的表达式的值:%d\r\n", nValue);return 0;}

运行结果:

4.逻辑运算符的短路特点

先看一段代码,推测以下代码的打印结果:

#include <stdio.h>int main(int argc, char* argv[]){(printf("Hello, world!\r\n") ) || (printf("something else\r\n!"));return 0;}

运行结果:

实际上,这样的打印结果,与逻辑运算符的短路特性有关。

简单总结如下:

(1)如果||运算符左边的表达式为真(非0),则右边的表达式不再执行

(2)如果&&运算符左边的表达式为假(0),则右边的表达式不再执行

5.学习视频地址:C语言基础入门48篇_14_逻辑运算符

C语言基础入门48篇_14_逻辑运算符(逻辑与() 逻辑或(||) 逻辑非(感叹号) 逻辑运算符的短路特点:左为0右不执行 ||左为1右不执行)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。