c++程序计算

来源:百度知道 编辑:UC知道 时间:2024/09/21 18:38:42
a=8,b=4,c=2,k=4,m=8,n=6;
计算a=2*k!=!m
和 m=k+3*!c
还有k=k*!m!=c
的a,m,c值(详细讲解)
打错了是a,m,k值///第13行 k=k*!m!=c; 是什么意思???

首先说明一下常见混合运算中各种运算符的优先级:(>表示高于)
!>算术运算符>关系运算符>&&>||>赋值运算符=
其中:
算术运算返回算式的结果
关系表达式的返回值只有真和假即1和0
逻辑运算的返回值同关系运算表达式

(1)#include<iostream>
(2)using namespace std;
(3)int main(){
(4) int a=8,b=4,c=2,k=4,m=8,n=6;
(5)cout<<a<<" "<<b<<" "<<c<<" "<<k<<" "<<m<<" "<<n<<endl;
(6) if(a!=b||m!=a+b){
(7) a=2*k!=!m;
(8) a=a+a;
(9) }
(10) if(a+b>=0&&m/3.0>2)
(11) m=k+3*!c;
(12) else
(13) k=k*!m!=c;
(14) cout<<a<<" "<<m<<" "<<k<<endl;
(15) return 0;
(16)}
分析:
(4)开始对各定义变量赋初值
(5)输出初始值
(6)处if的条件为一个表达式,||条件下,左边的条件成立右边的条件就不再进行,故先做a!=b的判断,因为a=8,b=4故条件成立,而在故执行语句(7)(8);
(7)先计算!m
因为m=8故!m=0;
然后计算2*k=8
在下来计算(2*k)!=(!8)即8!=0成立,故返回值为1