C 语言:类型转换与常量的细致理解

这篇具有很好参考价值的文章主要介绍了C 语言:类型转换与常量的细致理解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

C 语言中的类型转换

有时,您必须将一种数据类型的值转换为另一种类型。这称为类型转换

隐式转换

当您将一种类型的值分配给另一种类型的变量时,编译器会自动进行隐式转换。

例如,如果您将一个 int 值分配给一个 float 类型:

// 自动转换:int to float
float myFloat = 9;

printf("%f", myFloat); // 输出 9.000000

如您所见,编译器会自动将 int 值 9 转换为 float 值 9.000000。

这可能是危险的,因为您可能会在某些情况下失去对特定值的控制。

尤其是如果相反的情况 - 以下示例会自动将 float 值 9.99 转换为 int 值 9:

// 自动转换:float to int
int myInt = 9.99;

printf("%d", myInt); // 输出 9

0.99 发生了什么?我们可能想要在我们的程序中使用这个数据!所以要小心。您必须了解编译器在这些情况下的工作方式,以避免意外结果。

另一个例子,如果您将两个整数 5 除以 2,您知道结果是 2.5。正如您在此页面的开头所知,如果您将 sum 存储为整数,结果将只显示数字 2。因此,将 sum 存储为 floatdouble 会更好,对吗?

float sum = 5 / 2;

printf("%f", sum); // 输出 2.000000

为什么结果是 2.00000 而不是 2.5?好吧,因为 5 和 2 在除法中仍然是整数。在这种情况下,您需要将整数值手动转换为浮点值(参见下文)。

显式转换

显式转换是通过在值之前放置类型括号 () 来手动完成的。

考虑到我们上面示例中的问题,我们现在可以得到正确的结果:

// 手动转换: int to float
float sum = (float) 5 / 2;

printf("%f", sum); // 输出 2.500000

您也可以将类型放在变量前面:

int num1 = 5;
int num2 = 2;
float sum = (float) num1 / num2;

printf("%f", sum); // 输出 2.500000

由于您在上一章中学习了“小数精度”,您可以通过删除多余的零(如果您愿意)使输出更清晰:

int num1 = 5;
int num2 = 2;
float sum = (float) num1 / num2;

printf("%.1f", sum); // 输出 2.5

C 语言中的常量

如果您不想让其他人(或自己)更改现有变量的值,可以使用 const 关键字。

这将声明变量为“常量”,这意味着它不可更改,只读:

const int myNum = 15; // myNum 始终为 15
myNum = 10; // 错误:对只读变量 'myNum' 进行赋值

当您拥有不太可能改变的值时,应始终将变量声明为常量:

const int minutesPerHour = 60;
const float PI = 3.14;

关于常量的注意事项

当您声明一个常量变量时,必须为其分配一个值:

// 就像这样:
const int minutesPerHour = 60;
// 然而,这不起作用:
const int minutesPerHour;
minutesPerHour = 60; // 错误

常量在程序中可以提高代码的可读性,并防止在程序中无意中更改重要的值。

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎 点赞、收藏、关注文章来源地址https://www.toymoban.com/news/detail-760199.html

到了这里,关于C 语言:类型转换与常量的细致理解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C语言中的char类型和int类型的相互转换

    C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植等特点。C语言中有多种数据类型,用来表示不同的数据和信息。本文将介绍C语言中的两种基本数据类型:char类型和int类型,以及它们之间的相互转换的方法和原理。 char类型是一种字符类型,用来表示单个字符,

    2024年02月03日
    浏览(39)
  • 【C】C语言数据类型、常量变量的介绍

    下图为C语言常见的数据类型: (浮点数就是我们常见的小数,字符类型要用‘’引起来,在C语言中字符串类型要用字符数组来表示,以后给大家慢慢介绍) 在C语言中没种数据类型所占的空间大小是不一样的,在这里给大家介绍一个库函数: sizeof ,它可以计算每种数据类型

    2024年02月09日
    浏览(53)
  • 【go语言】2.1.1 变量,常量和数据类型

    Go 语言中,变量是存储数据的基本单位,常量则是固定不变的数据。每个变量和常量都有其对应的数据类型。 在 Go 语言中,你可以使用  var  来声明一个变量: 上面的代码声明了一个名为  name  的变量,它的类型是  string 。你也可以在声明变量的同时给它赋值: 或

    2024年02月15日
    浏览(44)
  • SCL语言的数据类型和常量与变量声明方式

    SCL语言的数据类型主要包含以下几类: 1. 基本数据类型: - BOOL:布尔类型,取值为TRUE或FALSE。 - INT:整数类型,取值范围为-32768~32767(16位PLC)或-2147483648~2147483647(32位PLC)。 - UINT:无符号整数类型,取值范围为0~65535(16位PLC)或0~4294967295(32位PLC)。 - REAL:单精度浮点数

    2024年02月09日
    浏览(42)
  • 【C语言基础考研向】02 数据类型-常量-变量

    文章目录: 一.数据类型 二.常量 三.变量 四. 整型数据 五.浮点型数据 六.字符型数据 七.字符串常量 数据类型分为四大类: 基本类型 整型 浮点 字符型 构造类型 数组 结构体 指针类型 空类型 常量是指在程序运行过程中,其值不发生变化的量。常量又可分为整型、实型(也称浮

    2024年01月16日
    浏览(41)
  • 【Go语言】Go语言中的变量和常量

    Go语言中的变量和常量 1 变量 变量相当于是对一块数据存储空间的命名,程序可以通过定义一个变量来申请一块数据存储空间,之后可以通过引用变量名来使用这块存储空间。 Go 语言是强类型静态语言,所以变量的声明与赋值方式与 PHP/Python 等动态语言相比有很大的区别。

    2024年02月21日
    浏览(36)
  • Rust 笔记:Rust 语言中的常量与变量

    Rust 笔记 Rust 语言中的常量与变量 作者 : 李俊才 (jcLee95):https://blog.csdn.net/qq_28550263?spm=1001.2101.3001.5343 邮箱 : 291148484@163.com 本文地址 :https://blog.csdn.net/qq_28550263/article/details/130875912 【介绍】:本文介绍 Rust 语言中的常量与变量。 上一节:《 上一节标题 》 | 下一节:《

    2024年02月06日
    浏览(48)
  • C语言的数据类型(整型、字符型,浮点型等详细介绍、ASCLL表以及常量、变量的详细介绍)

    C语言的数据类型基本介绍         在C语言中,数据类型可以分为:基本数据类型(整型、浮点型/实型、字符型)、构造数据类型(数组、指针、结构体、共用体、枚举)以及空类型(万能类型void)。常用的有:整形(int)、字符型(char)、短整型(short)、长整型(

    2024年02月07日
    浏览(40)
  • 教你快速了解C语言中的作用域和常量

      哈喽,各位铁汁们好啊!✨今天来给大家带来的是初识 C语言 里面的 作用域 、 常量 。   这几章主要带大家简单认识-一下C语言,俗话说 没吃过猪肉,也见过猪跑。 带大家了解下C语言。可以读懂C语言的简单程序,后期会给大家详细介绍C语言。 作用域 (scope)是程序

    2024年02月09日
    浏览(27)
  • python中的类型转换

    所谓的类型转换,将一个类型的对象转换为其他对象。 类型转换不是改变对象本身的类型,而是将对象的值转换为新的对象。 类型转换四个函数 int() 、 float() 、 str() 、 bool() int() 可以用来将其他的对象转换为整型 规则 布尔值:True - 1 False - 0 浮点数:直接取整,省略小数点

    2024年02月05日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包