首页 > 软件操作教程 > 编程开发 > C语言
题目内容

C语言 逻辑或优化和逻辑与优化

题目答案

逻辑运算的优化是指在逻辑表达式的求解中,并不是所有的逻辑运算符都被执行,只是在必须执行下—个逻辑运算符才能求出表达式的解时,才执行该运算符。

【例题】逻辑与优化举例

程序如下:

#include <stdio.h> 

main()

{

    int x,y,a;

    x=y=z=0;

    a=x++&& y++;

    printf("a=%d,x=%d,y=%d\n",a,x,y);

}

    程序执行后,a、x、y的值分别是多少?

    “与”运算只有当两个操作数为真,结果才为真。本题中,第一个操作数为x++,先将x的值取出参与“&&”运算,之后x的值自增1。取出x的值为0,所以无论第二个操作数是0还是1都不能影响整个表达式的值,那么此时就会出现逻辑与运算的优化:不把所有的操作数全部计算出来,因为第一个操作数的值已经可以决定整个表达式的值,所以,后面的操作数“y++”不再执行,因此y的值不会改变。

    最后输出结果为:

    a=0,x=1,y=0

【例题】逻辑或优化举例

程序如下:

#include <stdio.h> 

main ()

{

    int x,y,a;

    x=y=a=0;

    a=x--||y--;

    printf ("a=%d ,x=%d,y=%d\n",a,x,y);

}

    “或”运算只要有一个操作数为真,结果就为真。本题中,第一个操作数为X--,先将X的值取出参与“&&”运算,之后x的值自减1。取出x的值为1,所以无论第二个操作数是0还是1都不能影响表达式的值,那么此时就会出现逻辑或的优化:第一个操作数的值已经为1,能决定整个表达式的值,所以后面操作数“y--”不再执行。

    最后输出结果为:

    a=1,x=0,y=1


网友评论(共0条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

最新评论

点击加载更多评论>>

软件操作 新人注册送三重礼

已有 22658 名学员学习以下课程通过考试

相关视频试题

最需教育客户端 软件问题一手掌握

去 App Store 免费下载 iOS 客户端