a b c 0 ab c后,a的值为b的值为c

2021-03-02 08:19:06 字数 5707 阅读 8167

1楼:匿名用户

a=b=c=0;a++&&++b||c++;

a=b=c=1, a和c是运算后+1, b是+1后运算

所以a++&&++b||c++=0&&1||0=0||0=0

int a=b=c=0; a++&&b++||c++;求 a,b,c 最好有 过程分析

2楼:阿瑞斯ares啊

a = 1, b = 0, c = 1

语句中a,b,c都是后自加, 所以是先进行表达式的运算, 再进行后自加, a++ && b++这部分时, a=0, 所以会发生内短路, 不会容执行b++,整个a++&&b++都为假 然后会执行判断c++的值,

过程中只会对a和c进行后自加运算, 所以a和c为1, b=0

3楼:庄政警

结果是a=1,b=0,c=1

&&的优先级来比||高,先做源a++&&b++a++返回a当前的值0, a++为假,那么a++&&b++就必然为假,于是b++就没必要执行,被忽略,然后求0||c++, 于是c++被执行

综上就是a++和c++被执行, b++被忽略最终a=1,b=0,c=1

4楼:匿名用户

|||首先,根据逻辑复符制

号优先级,公式改写成:bai(a++&&b++)||c++。

然后,用dua在“

zhi++”之前的值作为(a++)这个表dao达式的结果返回,即0,被转换成逻辑假,这时a变成1了,但是a++表达式的结果是0。因此根据“&&”的短路径求值原则,(a++&&b++)中的表达式b++不会求值,即b仍然是0,表达式(a++&&b++)结果为逻辑假。

最后,根据“||”多路径求值原则,左边表达式逻辑假,故而对表达式c++求值,故而c的值变成1。

最终结果是:a=1,b=0,c=1.

向量a+b+c=0,则a*b=?

5楼:瑾

a×b=b×c=c×a

原因:a+b+c=0说明:a、62616964757a686964616fe58685e5aeb931333365666236b、c共线或首尾相连构成一个三角形

如果a、b、c共线,则:a×b=0

如果首尾相连构成一个三角形,3条边的大小是任意的,不能确定具体值的

a×(a+b+c)=a×a+a×b+a×c=0,即:a×b=c×a

a*b=(-b-c)*b=-b*b-c*b=0-c*b=b*c,即:a×b=b*c

扩展资料:

在数学中,向量(也称为欧几里得向量、几何向量、矢量),指具有大小(magnitude)和方向的量。它可以形象化地表示为带箭头的线段。箭头所指:

代表向量的方向;线段长度:代表向量的大小。与向量对应的只有大小,没有方向的量叫做数量(物理学中称标量)。

数量积定义:已知两个非零向量a,b,作oa=a,ob=b,则∠aob称作向量a和向量b的夹角,记作θ并规定0≤θ≤π

定义:两个向量的数量积(内积、点积)是一个数量(没有方向),记作a·b。

若a、b不共线,则

;若a、b共线,则

向量的数量积的坐标表示:a·b=x·x'+y·y'。

向量的数量积的运算律

a·b=b·a(交换律)

(λa)·b=λ(a·b)(关于数乘法的结合律)

(a+b)·c=a·c+b·c(分配律)

向量的数量积的性质

a·a=|a|的平方。

a⊥b〈=〉a·b=0。

|a·b|≤|a|·|b|。(该公式证明如下:|a·b|=|a|·|b|·|cosα| 因为0≤|cosα|≤1,所以|a·b|≤|a|·|b|)

6楼:刘贺

|^^a+b+c=0说明:a、b、c共线或首尾copy相连构成一个bai三角形

即:-c=a+b,故:

du|c|^zhi

dao2=(a+b)·(a+b)=|a|^2+|b|^2+2a·b故:a·b=(|c|^2-|a|^2-|b|^2)/2

c语言中,a=b=c,a=b==c,a==(b=c),a==(b==c)有什么区别

7楼:匿名用户

首先谢谢楼主,这个问题真好!我刚才的回答错了,现在删了重答,不过执行的结果还是3,1,0,0 这个我实际操作过了。首先=和==的意思楼上各位已经说的很清楚了,一个是赋值,一个是判断,==的优先级高于=,==两边的值若相等,则判断为真,整个表达式的值为1,否则为0。

这是前提,下面来看这个问题。刚才我的错误在误以为printf函数是自左向右执行,就像我们的书写习惯一样,不过实际不是。由于printf执行参数输出时是压栈操作(为了支持不定个数的参数的输出,故从后向前执行),所以会先对最后一个进行操作,也就是从右向左输出(脸红,老师貌似也讲过,不过。。。

悔不该当初啊)。所以整个printf执行步骤如下:第一步是最后一个a==(b==c),b是2,c是3,明显不等,所以b==c的值是0,然后a是1,和0又不等,所以整个式子值为0;第二步为倒数第二个,a==(b=c),先将c赋给b,此时b和c都为3,再判断a与b是否相等,a为1,不等,整个式子为0;第三步:

a=b==c,经过上一步,此时b和c都为3,所以判断b==c为真,值为1,然后将1赋给a,输出a,就是1;第四步:a=b=c,自右向左,先将c值赋给b,再将b值赋给a,输出a,即为3,结果3,1,0,0。这个题目告诉我们上课一定要认真听讲(再次脸红)。

累死我了。

8楼:美好一瞬间

“=”是赋值符,把c的值赋给b赋给a,最后a、b、c的值都相等,“==”是判断符,结果为bool型。

1、c语言其语言同其语言般区 ,赋值操作符 与 等于 运算符c语言区。

2、= 赋值 == 等于运算 说 a=b=c, 表达式运行a值赋给b、c运行完abc值相等。

3、 a=b==c,复合表达式先a值赋给b与c比较相等则返0,否则返非零值。

4、a==(b=c),复合表达式先执行括号内容(即b值赋给c)比较a、c相等则返0否则返非零值。

5、a==(b==c),复合表达式先比较b、c值相等则返0否则返非零值比较a与(b==c)返值,看c区 = 跟 ==。

6、 ps:lz程序风格且习惯引用stdio.h希望改附我改写程序: #includeint main() 运行结:3,0,0,0

9楼:嵌入式牛

其实就是两个表达式的值:

赋值表达式:a=b的值是b,执行后a为b的值关系表达式:a==b可能是 0(当a和b不相等),1(当a和b的值相等)

实例分析如下:

a=b=c执行结果是a、b、c都等于3,整个a=b=c的赋值表达式值(即要打印出来的值)也是3

a=b==c:运算符优先级相当于:a=(b==c);对于关系表达式a==c的值为0,故相当于a=0,而a=0表达式的值是0(即打印出来的值)

以此类推

10楼:习慣有伱

=是赋值语句 是将后头

的赋给前边的变量

==是逻辑语句 是判断符号两边是否相等的

printf是从后往前判断的所以

你这个题重先判断a==(b==c)这个语句 结果为0再判断a=b==c 因为b=c 所以b=3 a==(b=c)结果为0

再判断a=b==c 因为==优先级高 所以 b==c的结果是1 所以a=1 所以结果是1

最后判断a=b=c 从右向左算 所以最后结果为1所以答案应该是 1,1,0,0

11楼:匿名用户

=是赋值,==是关系等,=的运算级别低,==的运算级别高,=从右向左结合,==从左向右结合

12楼:匿名用户

a=b=c b=3;a=3;

a=b==c b==c结果为1,再a=1,输出为3;

a==(b=c) 等价于a==3,输出为1;

a==(b==c) b==c结果为1,a==1结果为0,输出为0;

最后的输出是 3,3,1,0

13楼:匿名用户

c语言中一个等于号表示,将右边的值赋给左边,两个等于号在一起才表示真正的等于,是关系运算符。运算顺序都是从右到左。

上面的个程序运行的结果为

3 , 0 , 0 ,0

14楼:匿名用户

一个是赋值,一个是逻辑,运算顺序不同,有一个优先级的不同.

还有就是结合性不同,一个是向左,一个是向右

15楼:

=为赋值,==为判断是否相等。此两种操作符运算优先级不同。

16楼:匿名用户

答案分别是3,0,0,0

17楼:笑着摸你的狗头

执行结果是3,3,0,0 我是在dev-c++上编译的

18楼:匿名用户

c语言和其他语言不同,在其他语言中,一般不区分 赋值操作符 与 等于 运算符,但是c语言很区分。

= 是赋值

== 是等于运算

也就是说,

a=b=c, 是一个表达式,运行到这里时,将a的值赋给b、c,运行完后abc的值相等;

a=b==c,是一个复合表达式,先将a的值赋给b,然后与c比较,如果相等则返回0,否则返回一个非零值;

a==(b=c),是一个复合表达式,先执行括号中的内容(即将b的值赋给c),然后比较a、c,如果相等则返回0,否则返回一个非零值;

a==(b==c),是一个复合表达式,先比较b、c的值,如果相等则返回0,否则返回一个非零值,然后比较a与(b==c)的返回值(注意这里不是再比较a与b或c,以前就错在这里过,希望lz注意)。

可以看到c是区分 = 跟 == 的,虽然对新手很麻烦、容易错,但是一旦熟练之后会觉得很灵活,能把赋值语句放到任何你喜欢的地方。

ps:lz的程序风格不好,而且还不习惯引用stdio.h,希望改正。附我改写的程序:

#include

int main()

运行结果:3,0,0,0

19楼:有钱买不起房子

a=b=c,是赋值语句,从右到左,a=3,b=3a=b==c 是逻辑语句,相当于(a=b)==c,先将b值赋值给a,然后和c比较是否相等,这句返回为0

a==(b=c),同上句.

a==(b==c),先计算括号内的b==c返回为0,然后在a==0,返回0。

=和==是2中不同的表达

20楼:我叫驰子

3 3 0 0 codeblocks上编的,

下述程序的输出结果是main(){int a=0,b=0,c=0;if(++a>0||++b>0) ++c; printf("%d,%d,%d",a,b,c);}

21楼:匿名用户

c++a=1>0,成立,所以||的结果必为真,因此后面的++b就没有执行了

因为if成立,所以++c肯定执行了。

所以a,c变成了1,b还是0

22楼:匿名用户

是c,因为哈,这道题用的是短路法,或的左边为真,++a是1右边无论是真是假都是真,所以b原样0输出,++c是1,所以101

23楼:匿名用户

咋出现这么多结果、、、、

24楼:开蕊柯昭

1,0,1

注意||左边的结果如果为真,右边的就不执行。所以++b不会执行。

char a 3,b 6,c c a b《2 C的二进制值是什么

1楼 苍紫幽蓝 首先运算符优先级 左移 比 异或 高,所以c a b 2 先执行b左移2位操作,b的二进制为110,左移两位11000然后执行异或操作 同一个位置的二进制不同取1,相同取0 ,a的二进制为 011,所以011 11000 00011 11000 11011 所以答案是11011 设有...

实数a、b、c,a+b+c与ab+bc+ac比较大小

1楼 答案 a 2 b 2 c 2 ab bc ac 解析 2楼 亓彁瞗僶 要分情况 讨论同号异号来做 已知a b c是实数 试比较a b c 与ab bc ca的大小。 3楼 匿名用户 解利用均值不等式 a b 2ab a c 2ac b c 2bc 将三个式子相加 2 a b c 2 ab bc...

方程Ax+By+C 0,表示下列的直线时,A,B,C,分别为何值

1楼 匿名用户 方程ax by c 0 表示下列的直线时,a b c 分别为何值? 1 a 0 2 b 0 3 a 0 c 0 4 b 0 c 0 5 c 0 直线方程ax by c 0中,a,b,c为何值时,方程表示的直线分别满足下列条件? 2楼 江南的天堂 a和b都可以等於0啊 例如x轴的方程是...