c语言中b++和++b有什么区别
c语言b=a++和b=(a++)没有区别。
这个和()没什么关系,注意理解a++和++a的区别:
a++: 先将a的值代入表达式,在表达式运算完毕后,再将a进行++处理。
++a: 先将a进行++处理,再将a的值代入表达式。
注意对于a++这里有一个“在表达式运算完毕后,再将a进行++处理”。
b=(a++); 这是一个赋值表达式,
所以先将a的值代入表达式,必须等到赋值表达式运算完毕后,再将a进行++处理。
也就是说必须等到给b赋值完毕后,才将a进行++处理。
所以b=3,a=4
扩展资料:
C语言是一种计算机程序设计语言。它既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛。
C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它解释型高级语言,有一些大型应用软件也是用C语言编写的。
C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画。它是数值计算的高级语言。
参考资料来源:百度百科-C语言
b++?b:-b
这句的意思是如果b不为0,b=b+1,否则为-1
三目运算
?:
b++
先检查b,检查完成后,b=b+1
若
(改变前的)b不是0,则为(自增后的)b
(此时的b已经变化了)
否则,为-b
(即-1)
1、运算不同
b--是先运算再减,--b是先减再运算。
2、用法不同
b--是在调用b以后给b减1,--b是在调用b之前先减1再调用。例如:b=1,a=b--,此时输出a为1,b为0。若a=--b,则a为0,b为0。
扩展资料:
C语言主要特点如下:
(1)简洁的语言
C语言包含的各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。
实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。
(2)具有结构化的控制语句
C语言是一种结构化的语言,提供的控制语句具有结构化特征,如for语句、if⋯else语句和switch语句等。可以用于实现函数的逻辑控制,方便面向过程的程序设计。
在++b中,++称为前自加。
在b++中,++称为后自加。
其计算效果均为操作数自加一。
当单独一个语句的时候没有区别,如果用在表达式中:
b++是先取b的值做计算,再自加;
++b是先自加,再取b的值做计算。
比如
int b = 2, j;
如果
j = b++;
那么先取b的值赋值给j,于是j值为2,b值再自加,b=3。
如果
j = ++b;
那么b先自加,得到b=3,然后再取b值计算,j值为3.
运算顺序的差别,如果只是单独的一句话,例如b++;或是++b;那么是一样的
但是如果是在其他表达式中,纳闷b++就是与b带入算式进行运算,然后b=b+1;
而++b,这时先b=b+1;然后将新的b放入算式中运算
以c=b++;和c=++b为例,b=0
c=b++是先把b的值赋给c然后b再加1,故c=0,b=1
c=++b是先把b加1然后再把b的值赋给c,故c=1,b=1
这两条语句就是b+1是在等于之前执行还是在等于之后执行的顺序的区别!
b++是自增量,++b就不知道了
c语言中a& b是什么意思?
在c语言中a&b是进行逻辑与运算。&是C的位运算符的一种,进行逻辑与运算,格式是:变量1&变量2,进行计算时,将会把类型提升为int。二进制运算符&通过对两个操作数一位一位的比较产生一个新的值,对于每个位,只有两个操作数的对应位都为1时结果才为1。如10000001&11000000的结果为“10000000”。
在C语言中,'B'是 ?
'B'是字符常量,它的数据类型为char(字符类型)。字符常量是用一对单引号包起来,引号中只能是一个字符(转义字符除外),多一个字符不行(例如'BB'),没有字符也不行(例如'',引号内没有任何字符)。用法:声明一个字符变量:char c = 'B';此时变量c的值为字符'B'(不包含单引号)。输出...
c语言中 b++与++b个代表什么意思?
b++ 是b自加,例如b的初始值为1,运算一次后就为2,运算两次就为3,依次类推;++b一般不会像b++一样出现,会和其他的运算一起出现,如b=3,a=++b,这个式子是a先等于b然后b再自加,最后a等于3,b等于4(只是举例说明自加的顺序不一样).希望能帮到你~...
C语言中 *b=&a什么意思 *b和&a分别是什么含义啊?
b=&a这种写法只有在定义时这么写才对,例如 int *b;*b=&a;是错误的,正确的是int a=1;int *b=&a;意思是说定义一个指针b,b里存的是a这个变量的地址。如果定义好了一个这真b,那么*b就指b这个变量里存的地址里的值(有点绕口,慢慢理解),&为取地址符,&a就是a这个变量的地址。
C语言中 b++=2什么意思
语法错误。b++的意思为b自加,即为b=b+1,b=2的意思为b赋值为2,但两者结合错误。可尝试以下写法:1、++b=2 意思为:b自加后将b赋值为2。2、b++==2 意思为:判断b是否等于2后b自加。
C语言中的 与或非运算
C语言中的与、或、非是C语言的逻辑运算符。1、逻辑与 在C语言中逻辑与用&&表示。举例:a&&b(其中a、b都代表一个条件)如果a和b都为真,则结果为真,如果a和b中有一个条件为假,则结果为假。2、逻辑或 在C语言中逻辑或用||表示。举例:a||b(其中a、b都代表一个条件)如果a和b有一个...
C语言中的反斜杠b()是什么意思
区分用途,根据用途选用\\或者\/。二者使用场景不同。 1 \\ a) 在字串中,用来表示转义字元,如\\0, \\n, \\t等。 b) 当代码过长时用来换行,尤其常用语巨集定义中。 2 \/ a) 除法符号。 b) 注释符号。单行注释的,和多行注释的\/* *\/用的都是\/。C语言中的“count”和“a&&b||...
C语言中a=b,意思是说把b赋值给a,还是说把b里面的值赋值给a?
当a和b为普通变量时, a=b,是把b的值赋值给a, b不变;当a和b为指针时, a=b, 是把b的指向赋值给a, 让a也可以指向b的指向,b的指向不变;比如 a=1 b=2 c=3,把b赋值给a 就是 a=b 因为b是等于2的 现在 a=b=2。把b值赋给a指的是把b的值代入a里,打个比方,a=b,而b...
C语言程序中a=b==c是什么意思
首先因为“==”号比“=”的优先级高,所以先执行b==c,明显b等2,c等3两者不等,所以为0(逻辑运算,当b不等c时这个等式的值就为假即是0),再执行a=0,就把0值赋给了a。1、赋值语句本身也是一个表达式,也是有返回值的,它的返回值就是赋值给变量的值,比如b=1这个语句,会把1...
南师大汉语言文字学现代汉语为什么分a和b
a、b分别代表着现代汉语1、现代汉语2。有与现代汉语内容比较多,分开成了两个学期学完所有的现代汉语课程,所以将其分成了a,b两个部分。南京师范大学,简称"南师大",位于江苏省南京市,是国家"211工程"重点建设的江苏省属重点大学。
糜惠二十: 以c=b++;和c=++b为例,b=0 c=b++是先把b的值赋给c然后b再加1,故c=0,b=1 c=++b是先把b加1然后再把b的值赋给c,故c=1,b=1 这两条语句就是b+1是在等于之前执行还是在等于之后执行的顺序的区别!
吐鲁番地区19836919005: c语言中 b++与++b个代表什么意思? - ?
糜惠二十: b++的结果是b的值,b在自增1; ++b是先使b自增1,其结果与b自增后值相同. 例:int p,q,a=3,b=3; p=a++; q=++b; 则p=3,a=4,q=4,b=4
吐鲁番地区19836919005: C语言中a=b++和a=++b有区别吗 - ?
糜惠二十: 有区别a = b++ (后加) 其实是相当于 a = b b = b + 1a = ++b (先加) 则是相当于 b = b + 1 a = b
吐鲁番地区19836919005: c语言问题~关于b++,++b - ?
糜惠二十: 这个地方是一样的说一下a++与++a运算符区别, a++,这个表达式的作用是先返回a的值,再将a++ 而++a,这个表达式的作用是先将a++,在返回a的值, 也就是说a=0;b=a++;执行这两句后,b=a的值(0),在将a++,即a的值为1,b的值为0 a=0;b=++a;执行这两句后,先将a++,再b=a的值(1),即a的值为1,b的值也为1通常,可以这样记 a++,a在前面,所以先返回是原来a的值,在做+法. ++a,++在前面,所以先做加法,在返回值是原来a的值+1.
吐鲁番地区19836919005: c语言中3‖b++是什么意思 - ?
糜惠二十: ||是逻辑或,它是一个短路运算符,当左右操作数都为逻辑真时结果才为逻辑假 ++在这里是后置自加运算符,所以b先参与表达式计算,再自加C语言里0代表逻辑假,非0代表逻辑真因为3已经能确定结果为逻辑真,所以b不管了.C语言里关系表达式和逻辑表达式结果为1或0,1表示逻辑真,0表示逻辑假所以这个表达式结果为1这就是一个逻辑表达式而已,没太大实际意义,估计是计算机二级考试试题
吐鲁番地区19836919005: ++b 在C语言中试什么意思? - ?
糜惠二十: 如果b=8做括号里的语句 再b=b+1 b++先加后用 ++b先用后加 采纳啊
吐鲁番地区19836919005: 在C++中为什么不能编译b++=c++,而能编译++b=c++ - ?
糜惠二十: b++=c++,b++ 得出来是一个数据,等号右边c++得出来的也是一个数据 ,不能这样赋值.就像 1=2 这样,肯定不对.b++==c++ 这样的关系表达式可以通过编译.++b=c++ 若...
吐鲁番地区19836919005: C语言a+=b;什么意思 - ?
糜惠二十: 先解释一下 += 和 ++ 是什么意思+= 的意思是 左值和右值相加结果赋值给左值如 a=1;b=2;a+=b;后,a=3;b=2.++ 的意思是变量自加1,如a=1;a++;a的值是2,在c中,++有前置和后置如 ++a;a++;,单独使用的时候是没有区别的,都是自加1,在有运算时就有区别了,前置的++是自加后才参与运算,后置的++是参与运算后在自加1.如题的画,假定a=1,b=2,a+=b++的意思就是b=2先参与a+=b运算a=3,然后b自加1,b=3;如果b++换成前置++b,a+=++b就是b先自加1,b=4,然后参与a+=b运算,a=4.
吐鲁番地区19836919005: c++和++c的区别 - ?
糜惠二十: 假设 int a = 5; int b = 5; int c = ++a; // c为6, a为6 c = b++; // c 为 5!!!, b为6, b是在赋值语句结束后才+1的 // 等同于 c = b; ++b; c++效率低, ++c效率高 (C++语言的话比较明显, C语言区别很小)
吐鲁番地区19836919005: C语言中的+++是什么意思 - ?
糜惠二十: C语言中没有你说的+++这个运算符.如果是a+++b,那么等价于(a++)+b