数据类型转换

  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;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容