1、赋值是从右到左进行的,例如:
1
#include<stdio.h>
2
int main()
3
{
4
int jane,tarzan,cheeta;
5
6
cheeta=tarzan=jane=68;
7
printf("cheeta=%d tarzan=%d jane=%d \n",cheeta,tarzan,jane);
8
9
return 0;
10
}
显示结果为:
1
cheeta=68 tarzan=68 jane=68
2、优先级
增量和减量运算符有很高的优先级;只有圆括号比它们的优先级高。所以x*y++代表(x)*(y++)而不是(x*y)++。
n=(y+n++)*6,只有当使用了n之后,n的值才增加。优先级告诉我们++只属于n,而不属于y+n。
3、语句
声明语句 int toes;
赋值语句 toes=12;
函数调用语句 printf("%d\n",toes);
结构化语句 while(toes<20) toes=toes+2;
空语句 ;
复合语句 在花括号里的语句
4、类型转换
1
#include<stdio.h>
2
int main()
3
{
4
char ch;
5
float fl;
6
int i;
7
8
fl=i=ch='C'; //1
9
printf("ch=%c fl=%2.2f i=%d\n",ch,fl,i); //2
10
ch=ch+1; //3
11
i=fl+2*ch; //4
12
fl=2.0*ch+i; //5
13
printf("ch=%c,i=%d,fl=%2.2f\n",ch,i,fl); //6
14
15
return 0;
16
}
显示结果为:
1
ch=C fl=67.00 i=67
2
ch=D,i=203,fl=339.00
解释:
1-2:字符'C'被作为1字节的ASCII值存储在ch里。整数变量i接受'C'转换过来的整数位67,以4个字节存储。最后fl接受67.00.
3和5:1为整型,占4个字节,ch为字符型,转为int型,占4个字节,然后与1相加并把结果的最后一个字节截下来存储在ch中。
3和5:为了和2相乘,ch的值被转换为一个4字节的整数68.乘积整数(136)为了和fl相加而被转换为浮点型。结果(203.00f)
被转换为int类型并存储在i中。
4和5:为了和2.0相乘,ch的值68被转换为浮点型。为了做加法,i被转换为浮点型。结果339.00被存储在fl中。