C语言中,abcabc,abca

2021-03-07 17:31:22 字数 6049 阅读 5772

1楼:美好一瞬间

“=”是赋值符,

把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

2楼:占同书母癸

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

intmain()

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

3楼:桓培胜阴酉

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

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

0,0,0

4楼:令狐玉枝府培

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中不同的表达

5楼:能淑珍类倩

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

6楼:示奕琛问雀

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

7楼:匿名用户

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

一个是赋值,一个是逻辑,运算顺序不同,有一个优先级的不同,还有就是结合性不同,一个是向左,一个是向右。

c语言中,a=b=c,a=b==c,a==(b=c),a==(b==c)解答方法:

第一步是最后一个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。

c语言中 a=b>c 和a==b>c 中有啥子不同

8楼:会飞的小兔子

一、a==b>c和a==(b>c)是一样的表达方式,先判断b>c是否成立,如果成立,用1和a比较,如果a=1,则整个表达式为1。

1、若为真,a为1则该表达式为真,即该符合表达式的值为1。

2、若为假,a不为0则该表达式为假,即该符合表达式的值为0。

二、a=b>c和a=(b>c)是一样的表达方式,先判断b>c是否成立,如果成立,把1赋给a。

1、如果b>c为假,则把0赋值给a。

2、如果b>c为真,则把1赋值给a,

扩展资料c语言中a=b=c,a=b==c,a==(b=c),a==(b==c)的使用

#include

main()

9楼:仁昌居士

c语言中 a=b>c 和a==b>c区别为:执行步骤不同、结果值不同、结果对象不同。

一、执行步骤不同

1、a=b>c:a=b>c的执行步骤为b>c。

2、a==b>c:a==b>c的执行步骤为先b>c,再a==(b>c)。

二、结果值不同

1、a=b>c:如果b比c大,则a的结果值为true;如果b比c小或相等,则a的结果值为false。

2、a==b>c:如果b比c大,且a为true,则a==b>c的结果值为true;如果b比c大,且a为false,则a==b>c的结果值为false;如果b比c小,且a为false,则a==b>c的结果值为true;如果b比c小,且a为true,则a==b>c的结果值为false。

三、结果对象不同

1、a=b>c:a=b>c的结果对象是变量a。

2、a==b>c:a==b>c没有结果对象,只有结果值是。

10楼:匿名用户

1.a=b>c相当于a=(b>c)是一个赋值表达式,把(b>c)的值赋给a,

(1)如果b>c为真,则把1赋值给a,

(2)如果b>c为假,则把0赋值给a。

(3)运行完该表达式,仅a的值改变,b、c的值不变。

2.a==b>c也相当于a==(b>c)是一个符合表达式,先判断(b>c)的真假,

(1)若为真,a为1则该表达式为真,即该符合表达式的值为1。

(2)若为真,a不为1则该表达式为假,即该符合表达式的值为0。

(3)若为假,a为0则该表达式为真,即该符合表达式的值为1。

(4)若为假,a不为0则该表达式为假,即该符合表达式的值为0。

(5)运行完该表达式,a、b、c的值都不发生改变。

11楼:徐章林

第一个,先判断b>c是否成立,如果成立,把1赋给a,否则把0赋给a

第二个,先判断b>c是否成立,如果成立,用1和a比较,如果a=1,则整个表达式为1,否则整个表达式为0。

12楼:匿名用户

a=b>c

a=(b>c)a最后的结果不是0就是1,这可以说是一个赋值表达式a==b>c

a==(b>c),这个是判断表达式

c语言中(a>b)?a:b和(a

13楼:學雅思

一、表达意思不同

1、(a>b)?a:b:如果a大于b,则取a,否则取b。

2、(a

二、逻辑顺序不同

1、(a>b)?a:b:内存逻辑中先执行大于的判断,之后执行下一步。

三、执行顺序不同

1、(a>b)?a:b:在a跟b中取最大值。

14楼:幻翼高达

c语言中,“(a>b)?a:b”和“(a”的区别是当a与b相等时,前者的值是b,后者的值的是a。

条件运算符的表达式为“表达式1?表达式2:表达式3”,先求解表达式1,若其值为真(非0)则将表达式2的值作为整个表达式的取值,否则(表达式1的值为0)将表达式3的值作为整个表达式的取值。

例如:1、max=(a>b)?a:b

就是将a和b二者中较大的一个赋给max。

2、min=(a就是将a和b二者中较小的一个赋给min。

15楼:鱼与咸鱼

1、本质区别

双引号里面的是字符串, 而单引号里面的代表字符。

2、输出区别

str = “a”输出的就是a这个字母;

str = ‘a’输出的测试65

3、底层区别

用单引号引起的一个字符实际上代表一个整数,整数值对应于该字符在编译器采用的字符集中的序列值。

16楼:go学龙

第一个若a>b为真即执行a,为假及执行b

第二个若a

17楼:匿名用户

这个和()没什么关系,我详细的讲一下,你一定要看完啊:)注意理解a++和++a的区别:

a++: 先将a的值代入表达式,在表达式运算完毕后,再将a进行++处理

++a: 先将a进行++处理,再将a的值代入表达式注意对于a++这里有一个“在表达式运算完毕后,再将a进行++处理”,b=(a++); 这是一个赋值表达式,

所以先将a的值代入表达式,必须等到赋值表达式运算完毕后,再将a进行++处理,

也就是说必须等到给b赋值完毕后,才将a进行++处理所以b=3,a=4

18楼:匿名用户

1.a=b>c相当于a=(b>c)是一个赋值表达式,把(b>c)的值赋给a,

(1)如果b>c为真,则把1赋值给a,

(2)如果b>c为假,则把0赋值给a。

(3)运行完该表达式,仅a的值改变,b、c的值不变。

2.a==b>c也相当于a==(b>c)是一个符合表达式,先判断(b>c)的真假,

(1)若为真,a为1则该表达式为真,即该符合表达式的值为1。

(2)若为真,a不为1则该表达式为假,即该符合表达式的值为0。

(3)若为假,a为0则该表达式为真,即该符合表达式的值为1。

(4)若为假,a不为0则该表达式为假,即该符合表达式的值为0。

(5)运行完该表达式,a、b、c的值都不发生改变。

19楼:周肆爻

定界符不同,字符常量用的是单直撇,字符串常量则用双引号长度也不同,字符常量只能有一个字符,也就是说字符常量长度为一,而字符串常量可为0,也可为任意数。即使字符串常量字符数量为一,长度也不是一。

例如,字符串常量"h"(这手机没双引号)

则长度为2,字符就是h \0

20楼:新来的文盲

a比a少一维,我具体给你解释下。

几个元素可以组成数组,而几个一维数组可以组成二维数组,如此一直增加维数。

比如说a[0]=2,a[1]=1,a[2]=3,组成一个一维数组,这就是a.但是,你要注意,a不是直接把这些东西都存着的,a只存首地址。

假设定义了一个二维数组a[3][3].这时候a[0],a[1],a[2]就不再是元素了,而代表的是一个有三个元素的一位数组,而此时的a就是一个二维数组。如果感觉这个有点困难没关系,等学习了指针什么的久很好理解这个了。

再说说你给的程序,你是不是在疑问为什么gets()直接给str1 就可以了?还有那个输出函数,为啥只用给str1就可以?

这得给存储方式有关,字符串就是字符的二维数组,gets()需要输入字符串的首地址,这个还算好理解,因为你应该学过了scanf()了,二者差不多,关键是为什么输出函数直接就写了str1呢?printf()之前你学的一般都是(printf("%d",a[1]));这种类型的。这里为啥要填一个地址参数呢?

这是因为你前面是%s s代表字符串,字符串本身就是二维的,因此,你当然不能只给他一个单独的元素了,那么,你给了首地址他如何知道你这个字符串是啥呢?因为字符串都是顺序存储的,更重要的是字符串在结尾处有个标志“/0”,因此,你只要给力他首地址,他就知道从**开始,从**结束了。

纯手打,望采纳。

设a、b、c R,求证(a+b,设a、b、c∈R,求证√(a+b)+√(b+c)+√(c+a)≥√2(a+b+c)

1楼 陈 因为容易证明 a b a b 2 b c b c 2 c a c a 2 所以三个加起来,得到 a b b c c a 2 a b c 已知a b c r a b c 求证a 2 b 2 c 2 2abcosc 2bccosa 2accosb 2楼 匿名用户 a b c ,是三 角形的内角...

C语言a b和a b的区别,C语言,++a+b和++b+a有什么区别

1楼 匿名用户 自增对象不同 a b 最后自增的是b a b 最后自增的a b c语言, a b和 b a有什么区别 2楼 珑月三 a b是先a加1,然后再加b b a是先b 1,然后再加a 3楼 亱風 a b是a先自加然后加b b a是b自加,,然后加a 结果一样,但是a 和b的值不相同 c语言b...

c语言中int a 1,b 2,c c 1.0 b a输出结果为什么

1楼 匿名用户 结果是c的值是0 因为1 0 b 都会转换位浮点型,结果是0 5 0 5 a 也是会把a转为浮点型,结果是0 5 而c是整形,会对右边运算的结果取整,所结果就是0了。 假如 int a 1 b 2 c 3 表达式a b c的值是1还是0 为什么? 2楼 岔路程序缘 在c语言中,1代表...