《C语言编程——零基础初学者指南(第3版)》一2.3 数据的种类

本节书摘来自异步社区《C语言编程——零基础初学者指南(第3版)》一书中的第2章,第2.3节,作者 【美】Greg Perry , Dean Miller,更多章节内容可以访问云栖社区“异步社区”公众号查看

2.3 数据的种类

C语言编程——零基础初学者指南(第3版)
C程序所使用的数据由数字、字符和单词组成。程序将数据处理为有意义的信息。在C程序设计中有各种不同类型的数据,最常见的三种数据类型是:

字符
整型数
浮点型数(也称为实数)
《C语言编程——零基础初学者指南(第3版)》一2.3 数据的种类提示 你也许会问:“我需要具备多少数学知识?!这不公平!”别急,轻松点,C语言会帮你处理数学的问题。不一定非要学会2+2才能写C程序。但是,你必须要理解数据类型,否则无法为自己的程序选择合适的类型。

2.3.1 C语言中的字符

C语言中的字符是计算机可以表示的任意单个字符。计算机知道256个不同的字符,每个字符都能在ASCII表中找到(ASCII读作“askee”),请参阅附录A。只要是计算机能表示的,都可以作为字符。以下所列都能看成字符:

A a 4 % Q ! + ]
《C语言编程——零基础初学者指南(第3版)》一2.3 数据的种类注意 美国国家标准学会(ANSI)制定了ANSI C和ASCII表。

《C语言编程——零基础初学者指南(第3版)》一2.3 数据的种类提示 即使按下空格也会生成一个字符,C编译器不仅要记录字母、数字和所有其他字符,还要记录程序中需要的任何空白。
如你所见,对C语言而言,每个字母、数字和空白都是字符。4看上去是一个数字,但有时它也是一个字符。如果指定4是字符,就不能用来做数学运算。对于特殊的符号也是如此。加号(+)是一个字符,但是它也能执行加法运算。(好吧,又聊到数学上了,我们不谈数学!)

在C语言中,所有的字符数据都要用一对单引号(’ ’)括起来。单引号将字符数据与其他类型的数据(如,数字、数学符号等)区分开来。例如,在C程序中,以下所列都是字符数据:

‘A’ ‘a’ ‘4’ ‘%’ ‘ ’ ‘_’

下面这些都不是字符数据,因为它们周围都没有带单引号:

A a 4 % _

《C语言编程——零基础初学者指南(第3版)》一2.3 数据的种类提示 以下所示都不是有效的字符。只有单个字符才能放进单引号中,多个字符不行。
‘C is fun’

‘C is hard’

‘I should be sailing!’

前面介绍的第一个程序中有一个‘n’,你也许认为n不是单个字符。但是,它是一个双字符组合,在C语言中将其视为单个字符。稍后会作详细解释。

如果要指定多个字符(除了特殊字符组合,如n),将其放在一对双引号(” ”)中。包含多个字符的组合称为字符串(string)。下面是一个C语言的字符串:

“C is fun to learn.”

《C语言编程——零基础初学者指南(第3版)》一2.3 数据的种类注意 关于字符和字符串,现在你只需要掌握这些。第4章至第6章,将介绍如何在程序中使用它们。在学到如何在变量中储存字符后,你会理解单引号和双引号的重要性。

2.3.2 C语言中的数字

也许你不曾想过,数字有许多不同的大小和形状。无论什么样的数字,C程序都必须以相应的方式来储存,必须将数字储存在数字变量中。在了解什么是变量之前,先复习一下数字的分类会对你有所帮助。

完整的数字称为整数(integer),整数即是没有小数点的数。记住:任何没有小数点的数都是整数。以下所示都是整数:

10 54 0 -121 -68 752

《C语言编程——零基础初学者指南(第3版)》一2.3 数据的种类警告 整数不要以0开头(除非这个数字是0),否则C语言会认为你键入的是十六进制或八进制数字。十六进制和八进制也分别称为基底为16的数制系统(base-1__6)和基底为8的数制系统(base-8),它们都是计算机表示数字的特殊方式。例如,053是一个八进制数,0x45是一个十六进制数。如果你实在不知所云,只需记住,如果在整数前加0,C语言就会启动十六进制。
带小数点的数字称为浮点数(floating-point number)。以下所列都是浮点数:

547.43 0.0 0.44384 9.1923 -168.470 .22

《C语言编程——零基础初学者指南(第3版)》一2.3 数据的种类提示 如上所示,在浮点数前加0没有问题。
使用整数还是浮点数取决于程序处理何种数据。某些值只能使用整数(如,年龄和数量),而另外一些值则要使用精确的浮点数(如,金钱或重量)。在内部,C语言储存整数和存储浮点数的方式不同。如图2.2所示,浮点数占用的内存是整数的两倍。因此,如果能用整数尽量用整数,给浮点数留点空间。


《C语言编程——零基础初学者指南(第3版)》一2.3 数据的种类

图2.2 浮点数占用的内存通常比整数多

《C语言编程——零基础初学者指南(第3版)》一2.3 数据的种类注意 如图2.2所示,无论储存的数值是大是小,整数所占用的内存都比浮点数少。在现实生活中,邮局的大邮箱很可能比小邮箱中装的信件少,邮箱中的内容不会影响邮箱的容量。同理,在C语言中,储存数字所占用的内存大小取决于待储存数字的类型,而数字的值不会影响储存该数字的内存大小。

上一篇:Struts2中获取Request,Response的几种方法


下一篇:Form Data 对象的使用,上传文件异步刷新