Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1670543
  • 博文数量: 4
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 7710
  • 用 户 组: 普通用户
  • 注册时间: 2006-01-21 17:07
个人简介

linux and c

文章分类

全部博文(4)

文章存档

2015年(2)

2011年(1)

2008年(1)

我的朋友

分类: C/C++

2008-03-30 14:53:50

.C语言规定,不同类型的数据需要转换成同一类型后才可进行计算,在整型、实型和字符型数据之间通过类型转换便可以进行混合运算(但不是所有类型之间都可以进行转换)

.当混合不同类型的变量进行计算时,便可能会发生类型转换
 相同类型的数据在转换时有规则可循:
   字符必须先转换为整数(C语言规定字符类型数据和整型数据之间可以通用)
   short型转换为int型(同属于整型)
   float型数据在运算时一律转换为双精度(double)型,以提高运算精度(同属于实型)
   赋值时,一律是右部值转换为左部类型

#include

int main(){
  int a = 5;
  char c = 'a';
  float f = 5.3;
  double m = 12.65;
  double result=0;
 
  //同类型数据间进行运算并输出结果
  printf("a + c = %d\n", a+c);
  printf("a + c = %c\n", a+c);
  printf("f + m = %f\n", f+m);

  //不同类型数据间进行运算并输出结果
  printf("a + m = %f\n", a+m);
  printf("c + f = %f\n", c+f);

  //将上述四个变量进行混合运算,并输出结果
  result = a + c * (f + m);
  printf("double = %f\n", result);
}

[注]
     当整型数据和双精度数据进行运算时,C先将整型数据转换成双精度型数据,再进行运算,结果为双精度类型数据
     当字符型数据和实型数据进行运算时,C先将字符型数据转换成实型数据,然后进行计算,结果为实型数据
阅读(2544) | 评论(2) | 转发(0) |
0

上一篇:没有了

下一篇:博客已升级,请注意变更地址

给主人留下些什么吧!~~

chinaunix网友2009-11-24 02:00:33

char 和 float 不知道 其他看得懂 换行后为什么又是c+f?

chinaunix网友2008-05-10 23:55:17

有点看不懂