㈠ c语言中自增自减运算符。怎样理解
C语言的自增运算符是一个为方便使用而发明的缩写方式,Basic没有与之对应的语法,要想实现自增运算,就是用加法,像这样 a = a + 1
㈡ 什么是C语言中关于自加自减
自增分前缀自增和后缀自增。无论是什么,执行自增都有1个副作用,就是原来变量的值会增加1。例如int a=1;a++;或int a=1;++a;执行后,a==2。
而他们的区别就在于整个自增表达式的值不同。如(a++)的值是变量a自增以前的值,如上面例子,(a++)==1。而(++a)的值则是变量a自增以后的值,即(++a)==1+1==2。
结合性分为左结合和右结合,只有优先级相同时才看结合性,例如表达式a+b*c+d-e*f,因为乘法优先级别高于加减,所以a+(b*c)+d-(e*f),又因+-运算是左结合,所以只a+(b*c)再(a+(b*c))+d再(a+(b*c)+d)-(e*f),假如是右结合,就先d-(e*f),也就反过来了。这里其实看不出有什么区别,怎么样结果都一样。
但看到*p++运算就不同了,因为*与++运算同一优先级,左结合结果就是(*p)++,右结合就是*(p++),这是区别很大的,书上还很多例子,你可以自己去看的。
强制转换问题就是在可以转换的情况下按要求转换。如float x=9.9;
则(int)x==9。将实型转为整型是采用截掉小数部分的做法。
例如还可以整型转字符常量等等,例如,int a=97;则(char)a=='a',因为字符a的ASCLL码为97。
()里面即是你要转换的类型。
㈢ C语言 自增自减 谁能详细说明一下。。。。谢谢了 我都晕了。。。。。。。
运算符的优先级
要确定表达式的运算结果:
一、先确定运算符及其归属(按上面的运算符优先级)
二、确定表达式的运算顺序。
例一:
a=++b-++c;
相当于:
a=(++b)-(++c);
进一步扩展:
b=b+1;
c=c+1
a=b-c
例2:
a=++b+++c;
相当于:
a=(++(b++))+c;
在归属运算符时,后++优先级高于前++,但运算是在最后执行。
进一步扩展:
b=b+1;//b的前++
a=b+c
b=b+1;//b的后++
㈣ 对c语言中自增自减的理解
printf()是从右到左入栈的,而且和编译器有关,我这输出不是你这个结果
从右到左,
1:a++
,入栈为1,a为2,
2:++a
,入栈为3,a为3,
3:a++,入
栈为3,a为4
㈤ C语言中的自增、自减是怎么回事请详细些。
自增有两种i++和++i:
i++的意思是先把i值调出来参与运算,然后把i加1存储;
++i的意思是先把i的值加1然后参与运算;
自减也有两种i--和--i:
i--的意思是先把i值调出来参与运算,然后把i减1存储:
--i的意思是先把i的值减1然后参与运算;
㈥ C语言中的自增自减是怎么回事儿
比如说:i=1;i++;指的是i在原来基础上运行到“i++”时,自行加1,但是“i++"的值不变,i的值变成2;而在“++i"中,”++i"和"i"的值都等于2,当“+”换为“—”时,同理。。。
㈦ C语言中的自加自减以及前缀后缀
前缀和后缀就是指++或--号在变量的前面或后面,如:++i就是前缀,b--就是后缀,如果是前缀就是在变量参加运算之前进行自增或自减运算,后缀则是在参与运算之后再进行自增或自减运算,对于这方面如果你有什么不懂的话最好翻一翻书,或者在网上查一下讲解我想很快你就会知道你想要得到的答案了!
㈧ c语言程序问题自加与自减
一个整数自身加一可以这样写:
a+=1;
它等价于a=a+1;。
但是在C语言中还有一种更简单的写法,就是a++;或者++a;。这种写法叫做自加或自增;意思很明确,就是自身加一。
相应的,也有a--和--a,叫做自减,表示自身减一。
++和--分别称为自增和自减运算符。
自增和自减的示例:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a = 10, b = 20;
printf("a=%d, b=%d\n", a, b);
++a;
--b;
printf("a=%d, b=%d\n", a, b);
a++;
b--;
printf("a=%d, b=%d\n", a, b);
system("pause");
return 0;
}
运行结果:
a=10, b=20
a=11, b=19
a=12, b=18
自增自减完成后,会用新值替换旧值,并将新值保存在当前变量中。自增自减只能针对变量,不能针对数字,例如10++是错误
的。
值得注意的是,++ 在变量前面和后面是有区别的:
++ 在前面叫做前自增(例如 ++a)。前自增先进行自增操作,再进行其他操作。
++ 在后面叫做后自增(例如 a++)。后自增先进行其他操作,再进行自增操作。
自减(--)也一样,有前自减和后自减之分。
请看下面的例子:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a=10, a1=++a;
int b=20, b1=b++;
int c=30, c1=--c;
int d=40, d1=d--;
printf("a=%d, a1=%d\n", a, a1);
printf("b=%d, b1=%d\n", b, b1);
printf("c=%d, c1=%d\n", c, c1);
printf("d=%d, d1=%d\n", d, d1);
system("pause");
return 0;
}
输出结果:
a=11, a1=11
b=21, b1=20
c=29, c1=29
d=39, d1=40
a、b、c、d 的输出结果相信大家没有疑问,下面重点分析a1、b1、c1、d1:
1) 对于a1=++a,先执行++a,结果为11,再将11赋值给a1,所以a1的最终值为11。而a经过自增,最终的值也为11。
2) 对于b1=b++,b的值并不会立马加1,而是先把b原来的值交给b1,然后再加1。b原来的值为20,所以b1的值也就为20。而b
经过自增,最终值为21。
3) 对于c1=--c,先执行--c,结果为29,再将29赋值给c1,所以c1的最终值为29。而c经过自减,最终的值也为29。
4) 对于d1=d--,d的值并不会立马减1,而是先把d原来的值交给d1,然后再减1。d原来的值为40,所以d1的值也就为40。而d经
过自减,最终值为39。
可以看出:a1=++a;会先进行自增操作,再进行赋值操作;而b1=b++;会先进行赋值操作,再进行自增操作。c1=--c;和d1=d--;也
是如此。
㈨ C语言前后缀自增自减看不懂请解释
这种场景可以这样理解:
iResultPreA=++iNumber1;等同于iNumber1++; iResultPreA=iNumber1;
iResultLastA=iNumber2++;等同于iResultLastA=iNumber2;iNumber2++;
前缀在本语句执行前完成自加,后缀在完成操作后自加。