逻辑运算符
2008-02-23 05:29:41来源:互联网 阅读 ()
一、逻辑运算符
C 语言提供了三个逻辑运算符:
运算符 | 含义 | 学名 | 结合律
--------------------------------------------
&& | 并且 | 逻辑和 | 从左到右
--------------------------------------------
|| | 或 | 逻辑或 | 从左到右
--------------------------------------------
! | 非 | 逻辑非 | 从右到左
--------------------------------------------
下面我们通过一个简单的例子来学习这三个运算符。
/*--------------------------------------------------------------
| 作者: Antigloss @ http://stdcpp.cn @ 蚂蚁的 C/C 标准编程
|
| 功能: 演示 &&、|| 及 ! 的用法
-------------------------------------------------------------*/
#include <stdio.h>
int main(void)
{
int i_num;
printf("Please enter an integer: ");
scanf("%d", &i_num);
if ( !i_num ) /* 效果等同于 i_num == 0 */
{ /* 假如用户输入 0 */
printf("i_num got a value of zero.\n");
}
else if ( i_num >= 1 && i_num <= 9 )
{ /* 假如用户输入介于 1 到 9 之间(包括 1 和 9)*/
printf("i_num is between 1 and 9, inclusive.\n");
}
else if ( i_num < -9 || i_num > 9 )
{ /* 假如用户输入小于 -9 或大于 9 */
printf("i_num is less than -9 or greater than 9.\n");
}
else
{ /* 其他情况 */
printf("i_num is between -9 and -1, inclusive.\n");
}
return 0;
}
程式重点:
1. !i_num
假如 i_num 的值不为零,则 !i_num 为假;假如 i_num 的值为零,则 !i_num 为真。
也就是说,! 的作用是把真变为假,把假变成真。
2. i_num >= 1 && i_num <= 9
只有 i_num >= 1 和 i_num <= 9 同时为真,该表达式的值才为真。
3. 别以为 i_num >= 1 && i_num <= 9 能够像数学里那样写成 9 >= i_num >= 1 或
1 <= i_num <= 9。以 9 >= i_num >= 1 为例,由于关系运算符是从左到右进行结合的,
所以该表达式等同于 (9 >= i_num) >= 1。当 9 >= i_num 为真时,则该表达式为
1 >= 1,其值为真;当 9 >= i_num 为假时,则该表达式为 0 >= 1,其值为假。
4. i_num < -9 || i_num > 9
只要 i_num < -9 和 i_num > 9 当中有一个为真,该表达式的值就为真。
5. if else if ... else if ... else
也许您现在对 if else if ... else if ... else 这种用法仍然不太了解,觉得难以理解。
不用担心,其实很简单,上面的代码我们能够改写成:
if ( !i_num ) /* 效果等同于 i_num == 0 */
{ /* 假如用户输入 0 */
printf("i_num got a value of zero.\n");
}
else
{
if ( i_num >= 1 && i_num <= 9 )
{ /* 假如用户输入介于 1 到 9 之间(包括 1 和 9)*/
printf("i_num is between 1 and 9, inclusive.\n");
}
else
{
if ( i_num < -9 || i_num > 9 )
{ /* 假如用户输入小于 -9 或大于 9 */
printf("i_num is less than -9 or greater than 9.\n");
}
else
{ /* 其他情况 */
printf("i_num is between -9 and -1, inclusive.\n");
}
}
}
怎么样,是不是容易理解多了?但是,习惯上,我们会采用前一种写法。其实,假如您习惯了
前一种写法,会觉得前一种写法更容易理解。if else if ... else 的基本结构为:
if ( condition1 )
一条语句/复合语句
else if ( condition2 )
一条语句/复合语句
else if ( condition3 )
一条语句/复合语句
... ...
else if ( conditionN )
一条语句/复合语句
else
一条语句/复合语句
其执行流程如下图所示:
从这个图中我们能够清楚地看出,当条件为假时,程式会跳到下一条 if 语句,直到条件成立
为止。当某个 if 语句的条件为真时,则执行其下的“一条语句/复合语句”,然后退出整个
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇: Dev-C 调试方法简明图文教程
下一篇: if 语句嵌套
- 逻辑运算符号 2018-11-26
- asp.net运算符之逻辑运算符以及其他运算符 2018-06-18
- 2017年9月22日作业 c++算术运算符 自增 自减 逻辑运算符 位 2018-06-17
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash