数据类型转换形式

C语言中,CPU只能对相同类型的两个操作数进行算术运算。如果两个数作数的类型不同,就需要进行类型转换(type casting)。

数据类型转换分为隐式类型转换和显式类型转换。

1.隐式类型转换

编译器自动进行的类型转换,常发生在赋值操作或表达式求值时。

(1)赋值时的转换

#include<stdio.h>
int main(){
    double d;
    int i;
    i = 3.14; //隐式类型转换,将浮点数值3.14转换为int型
    d = i;  //隐式类型转换,将int类型的i转换为double类型的值
    printf("%f\n", d);

    d = 3.14;
    i = d; // 隐式类型转换,将double类型的d转换为int类型的值
    printf("%d\n", i);
    return 0;
}

(2)表达式求值时的转换

在表达式求值时,整型会自动向浮点型转换。这很好理解,整型转换为浮点型不会丢失信息,而浮点型转换为整型会丢弃小数部分。

#include<stdio.h>
int main(){
    double d = 2/3;
    printf("%f\n", d);
    d = 2.0/3; //隐式类型转换,将int型的3转换为double型
    printf("%f\n", d);
    return 0;
}

当double类型的2.0与int类型的3进行除法运算时,编译器会自动将int类型的3转换为double类型,再与2.0进行运算。

2.显式类型转换

显式类型转换,也称为强制类型转换,需要程序员明确指定要转换的目标类型。通常使用类型转换运算符()来完成。方法是在值或者变量前加带小括号的数据类型名(如“(int)”),即可将变量转换为指定的数据类型。

#include<stdio.h>
int main(){
    double d = 3.14;
    int i;
    i = (int)d;  //显式类型转换,将double类型的d转换为int类型的值
    printf("%d\n", i);
    return 0;
}

注意括号只能加在类型名上,即只能写成(int)d,不能写成int(d)。

相关推荐

  1. 数据类型转换形式

    2024-04-06 15:52:03       40 阅读
  2. Python数据类型转换:掌握数据形态转换艺术

    2024-04-06 15:52:03       29 阅读
  3. Python数据类型转换

    2024-04-06 15:52:03       55 阅读
  4. cast数据类型转换

    2024-04-06 15:52:03       45 阅读
  5. vue 数据类型转换

    2024-04-06 15:52:03       40 阅读
  6. qt数据类型转换

    2024-04-06 15:52:03       35 阅读
  7. Python数据类型转换

    2024-04-06 15:52:03       34 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-06 15:52:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-06 15:52:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-06 15:52:03       87 阅读
  4. Python语言-面向对象

    2024-04-06 15:52:03       96 阅读

热门阅读

  1. MFC:滑块控件与进度条控件的使用

    2024-04-06 15:52:03       39 阅读
  2. eNSP配置命令笔记

    2024-04-06 15:52:03       44 阅读
  3. 达梦数据库同步工具DMHS快速安装

    2024-04-06 15:52:03       58 阅读
  4. 【Servlet】session保存作用域

    2024-04-06 15:52:03       34 阅读
  5. pytorch 中 nn.ModuleList()使用说明

    2024-04-06 15:52:03       41 阅读
  6. matlab函数化简和函数极限

    2024-04-06 15:52:03       36 阅读
  7. pytorch训练流程 | 简单示例

    2024-04-06 15:52:03       35 阅读
  8. 网络通信(二)

    2024-04-06 15:52:03       40 阅读
  9. 宝塔面板安装nginx流媒体服务器(http-flv)

    2024-04-06 15:52:03       35 阅读