作业帮 > 综合 > 作业

C++ 逻辑表达式运算

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/04/29 07:05:26
C++ 逻辑表达式运算
逻辑表达式运算
问题描述
由大写英文字母和符号~、 *、+、()组成逻辑表达式,其中三个符号分别表示逻辑非、与、或运算,英文字母表示变量,变量有两种可能的取值,FALSE(0)或TRUE(1),~、*、+、括号()可改变表达式的运算次序,且可以嵌套. 编一个程序计算逻辑表达式的值.
【输入格式】
输入为若干行
第一行字符串s(1
C++ 逻辑表达式运算
1,因此后面的语句没有执行;
参考:
短路求值
作为"&&"和"||"操作符的操作数表达式,这些表达式在进行求值时,只要最终的结果已经可以确定是真或假,求值过程便告终止,这称之为短路求值.这是这两个操作符的一个重要属性.假如expr1和expr2都是表达式,并且expr1的值为0,在下面这个逻辑表达式的求值过程中:
expr1 && expr2
expr2将不会进行求值,因为整个逻辑表达式的值已经可以确定为0.类似地,如果expr1的值不是0,那么在下面的这个逻辑表达式的求值过程中:
expr1 || expr2
expr2将不会进行求值,因为整个逻辑表达式的值已经确定为1.
下面是一个简单的可能会出现短路求值的例子.假如我们需要处理的字符数量不超过5个.
int cnt =0;
while (++cnt<=5&&(c=getchar())!=EOF)
{
...
当表达式++cnt<=5的值是假时,下一个字符就不会被读取.