C语言 类型转换

C语言 类型转换

数据有不同的类型,不同类型数据之间进行混合运算时必然涉及到类型的转换问题。

转换的方法有两种:

  • 自动转换(隐式转换):遵循一定的规则,由编译系统自动完成。
  • 强制类型转换:把表达式的运算结果强制转换成所需的数据类型。

类型转换的原则:占用内存字节数少(值域小)的类型,向占用内存字节数多(值域大)的类型转换,以保证精度不降低。

隐式转换

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>

int main(void)
{
    float p = 3.14;
    int w = 2;
    // 隐式转换
    float sum = p*w;
    printf("%f\n", sum);
    return 0;
}
隐式转换 使用案例

强制转换案例

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>

int main(void)
{
    float p = 3.14;
    int w = 2;
    // 数据类型 强制转换:强制类型转换运算符不会四舍五入
    // 表达式 强制转换:四舍五入(int sum = (int)(p*w);)
    int sum = (int)p * w;
    printf("%d\n", sum);
    return 0;
} 
强制转换 使用案例

 

posted @ 2020-02-27 16:55  kevin.Xiang  阅读(389)  评论(0编辑  收藏  举报