C语言基础——数据

  • Post author:
  • Post category:其他




数据



一 整数类型

有符号整数类型(整形,短整型,长整型)

无符号整数类型(无符号整型,无符号短整型,无符号长整形)



1.有符号整数类型



1)整型(int)

整数的默认保存类型,一个整形数据占4个字节。

大小:-2

31

~(2

31

-1),即-2147483648 ~ 2147483647。

integer(意思为整型)



2)短整型(short)

较小整数保存类型,一个短整型占2个字节。

大小:-2

15

~ (2

15

-1),即-32768 ~ 32767。

short(意思为短的)



3)长整型(long)

较大整数的保存类型,一个长整型数据占4个字节。

大小:-2

31

~(2

31

-1),即-2147483648 ~ 2147483647。

long(意思为长)



2.无符号整数类型

无符号整数类型只包含正数,这样就能将二进制的符号位作为整数位。使得取值范围比有符号整数类型大了一倍。

在有符号整数类型说明符前添加前缀unsigned,即构成对应的无符号正数类型说明符。在无符号整数类型后要加后缀字母u或U。



1)无符号整数

无符号整数类型使用说明符 unsigned int 表示。一个无符号整型数据占4个字节。取值范围 0~4294967295。



2)无符号短整型

无符号短整数类型使用说明符 unsigned short 表示。一个无符号短整型数据占2个字节。取值范围 0~65535。



3)无符号长整形

无符号长整数类型使用说明符 unsigned long 表示。一个无符号长整型数据占4个字节。取值范围 0~4294967295

unsigned意为无符号



当处理的数据只有正整数时,此时使用无符号整数类型数据可以更好的利用计算机的储存空间,从而提高计算效率。



二.小数



1.C语言的小数形式

C语言的小数包含 整数位、小数点、小数位,三个部分。小数点部分是必须存在的;整数位和小数位部分至少存在一个。



2.C语言的指数形式(科学记数法)

C语言的指数形式包含数字、E/e与整数三个部分。如1.2E10,E/e部分代替科学记数法中的底数10,后面的整数为指数,即1.2*10

10

,指数可正可负。

打印小数:%f

打印指数:%E/%e



3.不精确性

在保存数据时,计算机都是将其以二进制进行处理的。人们在输入数据时,一般输入的是十进制。所以计算机进行运行时,要先将十进制转化为二进制在对其进行处理。大部分小数在进行二进制转换时,都无法实现精确转化,只能取近似值,导致计算机的小数是不精确的。



4.小数类型

在C语言中,按小数的储存方式,将小数分为单精度类型与双精度类型。



a.双精度类型

当储存的小数数值大,而且要求精度比较高时,可以使用双精度类型储存小数。双精度类型是浮点数的默认储存类型,使用double表示,一个双精度类型小数占八个字节。

双精度类型小数的取值范围为(-1.7 * 10

-308

) ~ (1.7 * 10

308

),可以精确保存到小数点后15~16位。



b.单精度类型

单精度类型小数占用的储存空间比较大,如果存储的小数数值比较小,就可以使用单精度类型存储小数。单精度类型使用float表示。一个单精度类型占4个字节。

注意:在单精度小数后要加后缀字母f/F。

单精度类型小数取值范围为(-3.4 * 10

-38

) ~ (-3.4 * 10

38

),且精确保存到小数点后6~7位。



三.文本数据



1.单个字符

最简单的文本数据,在编程中,单个字符又称字符常量。在书写单个字符时,要使用英文单引号括起来,如’a’。



2.转义字符

有些单个字符无法直接书写的,例如回车,为了解决这个问题,C语言引入了转义字符概念,。转义字符由反斜杠””和一个特定字母组成。

在编程中,有一些转义字符的使用率较高。
在这里插入图片描述



3.字符储存

计算机只能储存二进制数,无法直接储存字符。所以,要将字符转化为数字,再转化为二进制数,以实现字符的储存,这种转化关系被人们称为编码。
在这里插入图片描述

在C语言中,将字符存储为字符类型,并使用char表示。每个字符占1个字节。



4.多个字符

单个字符存储信息有限,大部分时候要使用多个字符进行存储信息。在C语言中,将一个或多个字符连起来构成的字符序列称为字符串,再输入字符串时,要使用英文双引号将字符串括起来,如”abcd”.

为了标记字符串的结尾,系统会在每个字符串的结尾添加一个结束标识符,即\0。该标识符不会被输出,但会占一个字节。也就是说,如果字符串有五个字符,那么该字符串占用6个字节。



四.状态数据

数值数据主要用于各种计算,而文本数据主要用于存储某些信息。在这两者之间还有一类数据成为状态数据。状态数据表示一种状态,如灯的开与关。状态数据具备文本数据的特性,用于储存信息。例如:灯开着就意味着灯在发光,同时状态数据还具有是指数据的特性,可用于计算,例如:现在按一下开关,灯处于打开状态,再按一下开关,灯就处于关闭状态。

对于状态数据,C语言并没有提供特定的书写格式和存储方式。因此,状态数据必须被转化成数值数据或文本数据进行表示。为了方便计算,通常状态数据被转化为数值数据进行表示。例如,用以表述灯处于打开状态;0表述灯处于关闭状态。



五.变化的数据

在处理的数据中,除了不变的数据,还存在大量变化或未知的数据。这种数据是真实存在的,但是其具体的数值却是无法确定的。在C语言中,我们将这种称之为变量。



1.变量的表示

在C语言中,如果要处理的数据是确实存在的,但其值是不确定的,就要先给这个数据设置一个名字,用于指代这个数据。这样的数据称为变量,而设置的名称称为变量名。所以,变量只是指代的数据,而变量名只是数据的一个标签,并不会储存数据。



2.命名方式

在C语言中,设置的变量名也要遵循一定的规范。



a.命名规范

在C语言中,存在规范,并将符合这个规范的名称称为标识符。变量名就是一种标识符

标识符的命名规范:



标识符只能由字母,数字和下画线(_)组成。


标识符的第一个字符只能是字母或下画线。


标识符中的字母是要区分大/小写的,及标识符A和a会被计算机识别为两个标识符。


标识符的长度最长不得超过31个字符。



b.关键字

在C语言中,有一部分标识符被C语言本身使用了,并将这些标识符称之为关键字。

常见关键字:
在这里插入图片描述



c.命名建议

要让别的程序员尽量能认识。尽量做到“见名知意”。



3.声明变量

在C语言中,当引出一个变量名后,需要在程序中声明此变量。目的就是告知计算机,这个标识符指代的数据可以被使用了。声明变量包含两部分:数据类型 和 变量名。

指定数据类型是告知计算机该数据的存储方式。所以,根据数据类型不同,我们可以知道该数据的存储方式及取值范围。

在C语言中,基本数据类型:



整型(int) 占4个字节 保存整数 取值范围:-2

31

~(2

31

-1)


短整型(short) 占两个字节 保存整数 取值范围:-2

15

~(2

15

-1)


长整型(long) 占4个字节 保存整数 取值范围:-2

31

~(2

31

-1)


双精度类型(double) 占8个字节 保存小数 取值范围:-1.7×10

-308

~1.7×10

308



单精度类型(float) 占四个字节 保存小数 取值范围:-3.4×10

-38

~3.4×10

38



字符类型(char) 占一个字节 保存字符



版权声明:本文为ld15353133609原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。