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轴的方程是...