数据类型转换

2016-10-24  本文已影响21人  Happy晓哥
  1. 为变量赋值的时候,赋值的数据的类型必须要和变量的类型一致.否则就会出问题.

    当我们为变量赋值的时候,如果赋值的数据的类型 和 变量的类型不一致.
    这个时候C系统会将赋值的数据的类型 转换为 变量的类型 然后再赋值.
    这样的情况叫做自动类型转换.

  2. 当变量的类型是int类型的时候.

    1). 如果我们赋值的数据超出了int的范围.这个时候C系统会将数据转换为1个随机的int数据.
    2). 如果我们赋值的数据超出了int的范围太多. 这个时候自动类型转换无能为力. 编译器直接报语法错误.
    3). 如果我们赋值的数据是1个实型的小数.这个时候C系统会直接截取整数部分.不会四舍五入.

  3. 当变量的类型是float类型的时候.

    1). 如果我们赋值的数据是1个double类型的小数,这个时候C系统会将这个double类型的小数转换为float
    2). 如果我们赋值的数据是1个整数,那么就将这个整数转换为float小数 直接加1个.0就搞定了.

  4. 当变量的类型是double类型的时候.

    1). 当我们赋值的数据是1个float类型的时候,这个时候C系统会将其转换为double 占据8个字节.
    2). 如果我们赋值的数据是1个整数,那么就将这个整数转换为double类型的小数 直接加1个.0就搞定了.

  5. 当变量的类型是char类型的时候.

    ASCII码:
    每1个字符数据都有1个与之对应的整数. 这个整数就叫做这个字符的ASCII码.
    不需要记忆,但是需要记住3个.

    'A' 65
    'a' 97
    '0' 48

    其他的字符的ASCII码就可以推算出来,是有规律的.

    为char变量赋值的时候.可以直接赋值ASCII码.
    当我们为char变量赋值1个整数的时候.其实赋值的是以这个整数为ASCII码所对应的字符数据.


#include <stdio.h>

int main(int argc, const char * argv[]) {
   char ch = 67.9;
   printf("ch = %c\n",ch);

   //double d1 = 12.12f;

   //float f1 = 12;

//    int num = 12.123;
//    
//    
//    printf("num = %d\n",num);

   return 0;
}
上一篇 下一篇

猜你喜欢

热点阅读