算术运算符和算术表达式 |
运算符的优先级
C语言中,有15级运算优先级。1级最高,优先级较高的先于优先级较低的进行运算。
如若优先级相同,则按运算符的结合性所规定的结合方向处理。
运算符的结合性
结合性分为两种左结合性(自左向右;例:x-y+z)
右结合性(自右向左;例:x=y=z)
自增自减运算符
-
+ +i:i先自增1后再参与其他运算; (i=5,y=++i;则是6=i+1)
-
- -i:i先自减1后再参与其他运算;
-
i+ +:i参与运算后,i的值再自增1;(i=5,y=i++;则是5=i+1)
-
i- -:i参与运算后,i的值再自减1;
例题:
#include <stdio.h>
void main()
{
int i= 8;
printf("%d\n",++i);//9
printf("%d\n",--i);//8
printf("%d\n",i++);//8
printf("%d\n",i--);//9
printf("%d\n",-i++);//-8
printf("%d\n",-i--);//-9
}
类型转换例题:
#include <stdio.h>
void main()
{
int a,b=322;
float x,y=8.88;
char c1='k',c2;
a=y;
x=b;
a=c1;
c2=b;
printf("%d,%f,%d,%c",a,x,a,c2);
}//107,322.000000,107,B