初始化不是在编译阶段完成的(静态存储变量和外部变量的初始化是在编译阶段完成)
而是在程序运行时执行本语句时赋初值的,相当于一个赋值语句。例如:
int a=3
相当于:
int a
a=3
又如:
int a, b, c=5
相当于:
int a, b, c
c=5
整型(包括int、short、long)和浮点型(包括float、double)可以混合运算。
字符型数据可以与整型通用,因此,整型、浮点型、字符型数据间可以混合运算。
例如:
10+’a’+1.5-8765.1234*’b’
规定:在进行运算时,不同类型的数据要先转换成同一类型,然后进行运算。转换的规则按下图所示。

说明:
1. 运算前,char和short类型的数据强制转换成int类型
2. 运算前,float类型的数据强制转换成double类型(有效位被扩大,运算时精度提高)
3. 从下往上,表示数据数据转换的优先级。
比如:int 和 doubule 运算时统一将它们的数据类型转换成double
例题:
求下面算术表达式的值
(1)x+a%3*(int)(x+y)%2/4,设x=2.5, a=7, y=4.7
(2)(float)(a+b)/2+(int)x%(int)y,设a=2, b=3, x=3.5, y=2.5