黑马程序员技术交流社区
标题: 学习c语言中的逻辑与&&、逻辑或||、逻辑非!总结 [打印本页]
作者: CrazyMan 时间: 2014-11-20 13:20
标题: 学习c语言中的逻辑与&&、逻辑或||、逻辑非!总结
1、逻辑与: 条件1 && 条件2
逻辑与运算中,判断口诀(同真为真,一假皆假)
2、逻辑或: 条件1||条件2
逻辑或运算中,判断口诀(同假为假,一真皆真)
3、逻辑非: !条件
逻辑非运算中,(变真为假,变假为真)
就从代码中解释吧
#include <stdio.h>
int main()
{
//*****************逻辑与(&&)********************
/* int a = 10>3 && 2>7;
printf ("%d\n",a );//a的值为1
int b = 0 && 10;//会报警告
printf("%d\n",b );*/
/*--
int a = 10;
int b = 10;
int c= a<5 && ++b>=11;
printf("a=%d,b=%d,c=%d\n",a,b,c );//输出结果:a=10,b=10,c=0,因为判断a<5不成立即语句不进行逻辑与&&右边的语句,即++b不执行,b=10,c=0;
*/
/*-----
int a =10 ;
int b =10;
int c =a>5 && ++b>=11;
printf("a=%d,b=%d,c=%d\n",a,b,c );//输出结果:a=10,b=11,c=1,因为判断a>5成立,即再判断++b>=11也成立,即b=11,c=1
*/
//********************逻辑或(||)********************
/*int a=10;
int b=11;
int c=a<5||b++ - 10;
printf("a=%d,b=%d,c=%d\n",a,b,c);//输出结果:a=10,b=12,c=1,逻辑或刚好和逻辑与相反,逻辑或||左边如果不成立就要判断右边语句,如果右边也不成立即整个语句不成立,只要有一条语句成立就成立,判断a<5不成立,在判断b++ -10条件成立,则输出c=1,b进行自加得b=12;
*/
/*int a=10;
int b=11;
int c=a>5||b++ - 10;
printf("a=%d,b=%d,c=%d\n",a,b,c);//输出结果:a=10,b=11,c=1,因为判断a>5成立,即逻辑或运算不需要在进行判断b++ -10,则输出c=1,b++没执行,则b=11;
*/
//**********************逻辑非 !条件*******************
//int a=!(10>8);
//int a=!0;
int a=!!10;//非非为真
printf("%d\n",a );
return 0;
}
代码分别运行的结果如下图所示,
-
屏幕快照 2014-11-19 下午9.14.16.png
(47.34 KB, 下载次数: 15)
作者: CrazyMan 时间: 2014-11-21 00:57
没人看到我这个帖子吗??
作者: weizhang00 时间: 2014-11-21 00:58
逻辑运算符还看什么?:o
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |