c语言逻辑运算符用法大全,C语言逻辑运算符介绍和示例

1、逻辑运算符介绍

在日常生活中,要做出某个决定,需要判断的条件往往不止一个,需要判断多个条件,例如超女选秀,参与选秀的女孩子有以下基本数据:

年龄:取值16-50岁。

身高:取值150cm-190cm。

身材:1-火辣;2-普通;3-飞机场。

颜值:1-漂亮;2-一般;3-歪瓜裂枣。

女神标准是:1)年龄25-30岁;2)身高165cm-175cm;3)身材火辣;4)颜值漂亮或一般(可以整容)。

大脑中的逻辑是这样的:年龄25-30岁 并且 身高165cm-175cm 并且 身材火辣并且(颜值漂亮 或者 颜值一般)。

用C程序来表达大概如下:

if ( (年龄 >= 25) 并且 (年龄 <= 30) )

{

if ( (身高 >= 165) 并且 (身高 <= 175) )

{

if (身材 == 火辣)

{

if ( (颜值 == 漂亮) 或者 (颜值 == 一般) )

{

printf("超女选秀合格,送往后宫。\n");

}

}

}

}

示例(book25.c)

/*

* 程序名:book25.c,此程序演示在if中使用逻辑运算符。

* 作者:C语言技术网(www.freecplus.net) 日期:20190525

*/

#include

int main()

{

int age=0; // 年龄

int height=0; // 身高,单位:厘米cm

int sc=0; // 身材,1-火辣;2-普通;3-飞机场。

int yz=0; // 颜值,1-漂亮;2-一般;3-歪瓜裂枣。

printf("请输入年龄、身高、身材(1-火辣;2-普通;3-飞机场):");

scanf("%d %d %d",&age,&height,&sc);

printf("请输入颜值(1-漂亮;2-一般;3-歪瓜裂枣):");

scanf("%d",&yz);

if ( (age >= 25) && (age <= 30) ) // 年龄在25-30之间

{

if ( (height >= 165) && (height <= 175) ) // 身高在165-175之间

{

if (sc == 1) // 身材,1-火辣

{

if ( (yz == 1) || (yz == 2) ) // 颜值,1-漂亮或者2-一般

{

printf("超女选秀合格,送往后宫。\n"); return 0;

}

}

}

}

printf("超女选秀不合格,发放五两银子后送回家。\n");

}

运行效果

245cb159964482b2b41ccf5d7c920e92.png

2、逻辑表达式的书写

在book25.c中,采用了if嵌套的方法,其实可以采用一个复杂的if逻辑表达式一次性完成全部的判断,采用括号、对齐、空格、换行有助于更清晰的表达复杂的逻辑表达式。

示例(book26.c)

/*

* 程序名:book26.c,此程序演示在if中使用逻辑运算符。

* 作者:C语言技术网(www.freecplus.net) 日期:20190525

*/

#include

int main()

{

int age=0; // 年龄

int height=0; // 身高,单位:厘米cm

int sc=0; // 身材,1-火辣;2-普通;3-飞机场。

int yz=0; // 颜值,1-漂亮;2-一般;3-歪瓜裂枣。

printf("请输入年龄、身高、身材(1-火辣;2-普通;3-飞机场):");

scanf("%d %d %d",&age,&height,&sc);

printf("请输入颜值(1-漂亮;2-一般;3-歪瓜裂枣):");

scanf("%d",&yz);}

if ( ( (age >= 25) && (age <= 30) ) && // 年龄在25-30之间

( (height >= 165) && (height <= 175) ) && // 身高在165-175之间

( (sc == 1) ) && // 身材,1-火辣

( (yz == 1) || (yz == 2) ) ) // 颜值,1-漂亮或者2-一般

{

printf("超女选秀合格,送往后宫。\n");

}

else

{

printf("超女选秀不合格,发放五两银子后送回家。\n");

}

}

book26.c采用一个if表达式就实现了全部逻辑的判断功能,效果与book25.c相同,如果实在理解不了,就采用book25.c中的表达方式。

3、不得不说的逻辑非

逻辑运算符有三种,上文介绍了&&和||,还有一个!没介绍,在我看来,这个运算符就不应该存在,它很容易搞乱人的思维。

大家可以先看看它是怎么回事,也可以写代码测试一下它的用法,然后就忘了它。

!就是非,取相反的意思。

例如:

if (age==25) // 判断年龄是25岁

等同

if (!(age!=25)) // 判断年龄不是25岁再取反

这是吃饱了撑着。

4、版权声明

C语言技术网原创文章,转载请说明文章的来源、作者和原文的链接。

作者:码农有道

如果这篇文章对您有帮助,请点赞支持,或在您的博客中转发此文,让更多的人可以看到它,谢谢!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值