C语言进阶之路:理解不同数据之间的强制性转换

简介: C语言进阶之路:理解不同数据之间的强制性转换

前言


如何进行各个不同数据之间的强制性转换问题


提示:以下是本篇文章正文内容,下面案例可供参考


一、强制性转换是什么,需要怎样去操作!


介绍:强制性转换的一般形式为:(类型名)(表达式)

列如:int(6.6+9),表示将(6.6+9)转换为int型,即,将15.6转换为15,


二、使用步骤


1.引入库


对不同数据之间的强制性转换,简单代码如下(示例):



//不同数据之间的强制性转换 
#include <stdio.h>
int main ()
{
  char c='b';        //字符型:char
  short int i=2;      //短整型:short int )
  float f=2.1;double d1=0.0,d2=0.0;  //对d1,d2赋初始值0.0
  d2=(c/i)-(f-d1)+(f*i);    //对d2进行赋值
  printf("%ld,%lf\n",(long)d2,d2);   //输出(long)d2,d2,对输出结果进行比较
  return 0;
}


2.读入数据


重要代码如下(示例):


char c='b';        
  short int i=2;      //短整型:short int )
  float f=2.1;double d1=0.0,d2=0.0;      //对d1,d2赋初始值0.0
  d2=(c/i)-(f-d1)+(f*i);         //对d2进行赋值
  printf("%ld,%lf\n",(long)d2,d2);     //输出(long)d2,d2,对输出结果进行比较


运行结果如图所示:

0a2653c851af460fa595bd959398a8f1.png


该处该处的代码尤为重要;


具体解析,如下


对上述代码进行解析:d2=(c/i)-(f-d1)+(f*i);


1,在进行c/i运算时,要将c和i都转换为int型进行计算,:84/2,得到的结果为42,结果为int 型

2.在进行f-d1运算时候,d1为double(双精度浮点型),因此,要将f转换为double类型进行运算,其运算结果为2.1,也为double类型。

3.将c/i的结果与f-d1的结果进行运算,需要将前者的结果49从int转换为double,结果为49.6,仍为double类型。

4.进行f*i 运算,一个为float(单精度浮点型)一个为int(整型);将i转换为float然后进行运算,结果为4.2,为float类型,

5.最后结果进行计算:49.6+4.2,需要将4.2转换为double类型,最后输出结果。

##在输出语句中,首先将double类型的d2强制性转换为long类型然后输出,转换的结果就是舍弃了d2的小数位,然后输出d2的原始值。

***注意:***在进行数据类型转换时,只是将变量的值进行了转换,而变量的类型并没有改变。


(1).(int)x+y是指将x转换为int(整型)然后与y相加;

int(x+y)是指将x+y的值转换为(int)整型。

(2).表达式为变量时不加()。


谏言时刻,请同僚进行斧正


相关文章
|
26天前
|
存储 程序员 编译器
C 语言中的数据类型转换:连接不同数据世界的桥梁
C语言中的数据类型转换是程序设计中不可或缺的一部分,它如同连接不同数据世界的桥梁,使得不同类型的变量之间能够互相传递和转换,确保了程序的灵活性与兼容性。通过强制类型转换或自动类型转换,C语言允许开发者在保证数据完整性的前提下,实现复杂的数据处理逻辑。
|
27天前
|
存储 数据管理 C语言
C 语言中的文件操作:数据持久化的关键桥梁
C语言中的文件操作是实现数据持久化的重要手段,通过 fopen、fclose、fread、fwrite 等函数,可以实现对文件的创建、读写和关闭,构建程序与外部数据存储之间的桥梁。
|
1月前
|
存储 数据建模 程序员
C 语言结构体 —— 数据封装的利器
C语言结构体是一种用户自定义的数据类型,用于将不同类型的数据组合在一起,形成一个整体。它支持数据封装,便于管理和传递复杂数据,是程序设计中的重要工具。
|
1月前
|
存储 编译器 数据处理
C 语言结构体与位域:高效数据组织与内存优化
C语言中的结构体与位域是实现高效数据组织和内存优化的重要工具。结构体允许将不同类型的数据组合成一个整体,而位域则进一步允许对结构体成员的位进行精细控制,以节省内存空间。两者结合使用,可在嵌入式系统等资源受限环境中发挥巨大作用。
62 11
|
4月前
|
存储 编译器 C语言
【C语言篇】数据在内存中的存储(超详细)
浮点数就采⽤下⾯的规则表⽰,即指数E的真实值加上127(或1023),再将有效数字M去掉整数部分的1。
474 0
|
6月前
|
C语言
指针进阶(C语言终)
指针进阶(C语言终)
|
2月前
|
存储 C语言 C++
深入C语言,发现多样的数据之枚举和联合体
深入C语言,发现多样的数据之枚举和联合体
深入C语言,发现多样的数据之枚举和联合体
|
2月前
|
存储 C语言
深入C语言内存:数据在内存中的存储
深入C语言内存:数据在内存中的存储
|
2月前
|
C语言
回溯入门题,数据所有排列方式(c语言)
回溯入门题,数据所有排列方式(c语言)
|
3月前
|
C语言
C语言程序设计核心详解 第二章:数据与数据类型 4种常量详解 常见表达式详解
本文详细介绍了C语言中的数据与数据类型,包括常量、变量、表达式和函数等内容。常量分为整型、实型、字符型和字符串常量,其中整型常量有十进制、八进制和十六进制三种形式;实型常量包括小数和指数形式;字符型常量涵盖常规字符、转义字符及八进制、十六进制形式;字符串常量由双引号括起。变量遵循先定义后使用的规则,并需遵守命名规范。函数分为标准函数和自定义函数,如`sqrt()`和`abs()`。表达式涉及算术、赋值、自增自减和逗号运算符等,需注意运算符的优先级和结合性。文章还介绍了强制类型转换及隐式转换的概念。