a++这个式子的返回值是a,所以b=a++相当于b=a,然后a=a+1;
++a的返回值是a+1;所以b=++a相当于a=a+1;然后b=a;
a++先返回a,再自加
++a先自加,再返回a
如a=3
b=a++;//b=3
c=++a;//c=5
扩展资料
例:
#include
intmain()
{
//intm=10,n1,n2;
//n1=m++;先将m的值赋给n1,然后m再做自增运算,所以此时,n1=10,m=11;
//n2=++m;先将m做自增运算,然后在将运算后的m值赋给n2,所以此时,n2=11,m=11;
inta=10,b=10,c,d;
c=(a++)+(++a);
//由上例n1=m++,n2=++m,m++=11可得出c=10+12;分析:前面括号所得值为10,而前面括号中的a经过自增运算后a的值为11,然后赋值给后面括号中的a,后面括号中的a经过自增运算后a的值为12,后面括号最后赋值为12;
d=(++b)+(b++);
//由上例n1=m++,n2=++m,++m=11可得出d=11+11;分析:前面括号所得值为11,而前面括号中的a经过自增运算后b的值为11,然后赋值给后面括号中的b,后面括号中的b先将值赋给后面括号,所以后面括号的值为11;
printf("c=%d\nd=%d\n",c,d);
return0;
}
是运算符号。
比特右移(>>)运算符可以是算术(左端补最高有效位)或是逻辑(左端补 0)位移。
例如,将 11100011 右移 3 比特,算术右移后成为 11111100,逻辑右移则为 00011100。因算术比特右移较适于处理带负号整数,所以几乎所有的编译器都是算术比特右移。
运算符的优先级从高到低大致是:单目运算符、算术运算符、关系运算符、逻辑运算符、条件运算符、赋值运算符(=)和逗号运算符。
扩展资料
右移运算符(>>)规则:
按二进制形式把所有的数字向右移动对应位移位数,低位移出(舍弃),高位的空位补符号位,即正数补零,负数补1。
计算过程:
11的二进制形式为:0000 0000 0000 0000 0000 0000 0000 1011,然后把低位的最后两个数字移出,因为该数字是正数,所以在高位补零。则得到的最终结果是0000 0000 0000 0000 0000 0000 0000 0010。转换为十进制是2。
数学意义:右移一位相当于除2,右移n位相当于除以2的n次方。
参考资料来源:百度百科-C语言
“?”在C语言中表示疑问、假如、如果。
“:”在C语言中表示判断的结果选择。
例如,(a>b)?y:n。解释:如果A大于B,那么选择Y的结果,如果A小于B,那么选择N的结果。
扩展资料:
1、算术运算符
用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(--)共七种。
2、关系运算符
用于比较运算。包括大于(>)、小于(<)、等于(==)、 大于等于(>=)、小于等于(<=)和不等于(!=)六种。
3、逻辑运算符
用于逻辑运算。包括与(&&)、或(||)、非(!)三种。
4、位操作运算符
参与运算的量,按二进制位进行运算。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。
5、赋值运算符
用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<<=)三类共十一种。
6、条件运算符
这是一个三目运算符,用于条件求值(?:)。
7、逗号运算符
用于把若干表达式组合成一个表达式(,)。
8、指针运算符
用于取内容(*)和取地址(&)二种运算。
9、求字节数运算符
用于计算数据类型所占的字节数(sizeof)。
10、特殊运算符
有括号(),下标[],成员(→,.)等几种。
C语言中“++”是自加的意思。
1、自加,有两种用法:假如定义了一个变量i=1
(1)若使用i++, 指代先取i的值再另i=i+1
(2)若使用++i,指代先使i=i+1再取i的值
2、C语言中的运算符的优先级从高到低大致是:单目运算符、算术运算符、关系运算符、逻辑运算符、条件运算符、赋值运算符(=)和逗号运算符。
扩展资料:
C语言的语法结构:
1、顺序结构:程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。
2、选择结构:程序虽然能解决计算、输出等问题,但不能做判断再选择。对于要先做判断再选择的问题就要使用选择结构。
3、循环结构:可以减少源程序重复书写的工作量,用来描述重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序结构。
具体内容:
1、for循环:for循环结构是c语言中最具有特色的循环语句,使用最为灵活方便,它的一般形式为:
for(表达式1;表达式2;表达式3)循环体语句 。(其中;不能省略)
for循环语句是c语言种功能最为强大的语句,甚至在一定程度上可以代替其他的循环语句。
2、do:
do循环结构,do 1 while⑵;的执行顺序是1->2->1...循环,2为循环条件。
3、while:
while循环结构,while(1) 2; 的执行顺序是1->2->1...循环,1为循环条件
以上循环语句,当循环条件表达式为真则继续循环,为假则跳出循环。
参考资料来源:C语言-百度百科
%在C语言里面是除余和调试输出的意思。表达式 a % b 就是计算 a 除以 b 得出的余数。
例如:我们要把一个3位数0~999输出到3位数码管上,假设现在有值136,需要在第1个数码管显示1,第二个数码管显示3,第三个数码管显示6。把136的百位,十位,个位取出来,需要用到取余符号“%”。我们用x y z分别表示百位十位和个位,m表示现在值,x=m/100; y=(m%100)/10; z=(m%100)%10。
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
C语言一共只有32个关键字,9种控制语句,程序书写形式自由,区分大小写。把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。