C语言之基本运算及自动类型转换和强制类型转换

  • 基本运算-------Note:只有数据类型相同的变量或常量才能够进行运算,参与运算的操作数是什么数据类型,那么运算出来的结果也是什么数据类型;

+ - ^ / %    //注:只用整数才能够进行取模运算,结果的正负取决于第一个操作数的正负.
  • 自动类型转换(隐式转换)

int num = -1 ;
num = 2.34;
printf("num = %i\n",num);
输出结果:num = 2    // 这并不是C语言对2.34进行四舍五入,而是因为num中只存储整型,但被赋值2.34时,他会自动小数部分扔掉,只将整数部分赋值给变量num;
  • 强制类型转换

int num = -1;
num = (int) 2.34;
printf("num = %i\n",num);
输出结果:num = 2
  • 运算过程分析

int num = -1;
num = 3;
num = num + 2.34;    //num为整型,常量2.34却为double型,只有相同类型的数据才能够进行运算,所以会先将num自动提升为double型与常量运算,运算结果为double型,但num为整数,因此会自动丢弃小数部分,将整数部分赋值给num
printf("num = %i\n",num);
输出结果:num = 5