数据类型及其表现形式 您所在的位置:网站首页 在c程序中所用的变量必须先定义后使用吗 数据类型及其表现形式

数据类型及其表现形式

#数据类型及其表现形式| 来源: 网络整理| 查看: 265

目录

1.1 变量和常量

1.1.1 常量

1.1.2 变量

1.1.3 变常量

1.1.4 标识符

2.2 数据类型

2.2.1 整型数据的分类

2.2.2 字符型数据

2.2.3 浮点型数据

3.1 怎样确定常量的类型

3.1.1 整型常量

3.1.2 浮点型常量

1.1 变量和常量

在计算计高级语言中,数据有两种表现形式:常量和变量。

1.1.1 常量

在程序运行过程中,其值不能被改变的量称为常量。数值常量就是数学中的常量。常量有整形常量、实型常量、字符常量、字符串常量、符号常量五种类型。

(1)整型常量

整型常量就是通常的整数,包括正整数、负整数和0,其数据类型显然是整型。除此之外,整型常量包括短整型、长整型和无符号型等不同类型。

在C语言中,整型常量有三种书写形式:

①十进制整数。

十进制整数就是通常整数的写法。例如:11、15、21等。

②八进制整数。

八进制整数的书写形式是在通常八进制整数的前面加一个数字0。例如:00、0111、015、021等,它们分别表示十进制整数:0、73、13、17

③十六进制整数。

9十六进制整数的书写形式是在通常十六进制整数的前面加0x。例如:0x0、0x111、0x15、0x21等,它们分别表示十进制整数0、273、21、33。

注意:整型常量前面没有"+"或者"-",-10其实是一元运算符和操作数10,同样整型常量的十进制表示并没有0,单独写一个0其实是一个八进制常量。

(2)实型常量

实型常量又称实数或浮点数。在C语言中可以用单精度型和双精度型两种形式表示实型常量,分别用类型名float和double进行定义。

又可以分为小数形式和指数形式:

①小数形式即一般形式的实数。

它是由整数部分、小数点、小数部分组成,其中整数部分或小数部分可以省略其中一个。数的正负用前面的“+”(可以省略)号或“-”号来区分。

②指数形式即指数形式的实数。

它是由尾数部分、小写字母e或大写字母E、指数部分组成,形式如“尾数E指数”或“尾数e指数”。指数形式的实数它的数值可以用公式计算:尾数*10(指数)。由于在计算机输入或输出时无法表示上角或下角,估规定以字母e或E代表以19为底的指数。

注意:e或E之间必须有数字,且e或E后面必须为整数。如不能写成e4,11e2.4。

(3)字符常量

有两种形式的字符常量:普通字符和转义字符。

①普通字符

字符常量是指用一对单引号括起来的一个字符。如‘a’,‘9’,‘!’。字符常量中的单引号只起定界作用并不表示字符本身,字符常量存储计算机存储单元中时,并不是存储字符本身,而是以其代码(一般采用ASCII代码)存储的。

②转义字符

C语言中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。

常用的以“\”开头的特殊字符见下表:

转义符及其作用

转义字符

意义

ASCII码值(十进制)

\a

响铃(BEL)

007

\b

退格(BS) ,将当前位置移到前一列

008

\f

换页(FF),将当前位置移到下页开头

012

\n

换行(LF) ,将当前位置移到下一行开头

010

\r

回车(CR) ,将当前位置移到本行开头

013

\t

水平制表(HT) (跳到下一个TAB位置)

009

\v

垂直制表(VT)

011

\\

代表一个反斜线字符''\'

092

\'

代表一个单引号(撇号)字符

039

\"

代表一个双引号字符

034

\?

代表一个问号

063

\0

空字符(NUL)

000

\ddd

1到3位八进制数所代表的任意字符

三位八进制

\xhh

十六进制所代表的任意字符

十六进制

注意:

1. 区分:"/" 与 反斜杠:"\" ,此处不可互换

2. \xhh 十六进制转义不限制字符个数 '\x000000000000F' == '\xF'

(4)字符串常量

字符串常量是用双引号(“”)括起来的0个或者多个字符组成的序列,且每个字符串尾会自动加一个 ‘\0’ 作为字符串结束标志。

注意:不能错写成'CHINA','abc'。单撇号内只能包含一个字符,双撇号内才能包含一个字符串。

(5)符号常量

在C语言中,可以用一个标识符来表示一个常量,这个标识符称之为符号常量。

符号常量在使用之前必须先定义,用#define指令,指定用一个符号名称代表一个常量,形式如下:

#define 标识符 常量

例如:#define  PI   3.1415926                        //注意行末没有分号

经过以上指定后,文本中从此行开始所有的PI都代表3.14115926。在对程序进行编译前,预处理器先对PI进行处理,把所有PI全部置换为3.1415926。在预编译后,符号常量已经全部变成字面常量(3.1415926)。

1.1.2 变量

变量是代表一个有名字的,具有特定属性的一个存储单元。它用来存放数据,也就是存放变量的值。在程序运行期间,变量的值是可以改变的。注意变量必须先定义,后使用。

如下图,区分:"i" 到 "i_pointer" 为变量名,内存用户数据区为变量值,“2000” 到 “3010” 为存储单元的地址。

从变量中取值,实际上是通过变量名找到相应的内存地址,从该存储单元中读取数据。

1.1.3 变常量

变常量与常量的异同是:变常量具有常量的基本属性:有类型,占存单元,只是不允许改变其值。可以说,变常量是有名字的不变量,而常量是没有名字的不变量。有名字就便于在程序中被引用。

注意:有些编译系统还没有实现C99的功能,因此不能使用常变量。

1.1.4 标识符

在计算机高级语言中,标识符是用户编程时使用的名字,用于给变量、函数、数组、类型等命名的有效字符序列统称为标识符。简单来说,标识符就是一个对象的名字,以建立起名称与使用之间的关系。

C语言规定标识符只能由字母、数字和下画线3种字符组成,且第1个字符必须为字母或者下画线。

注意:编译系统认为大写字母和小写字母是两个不同的字符。

2.2 数据类型

C语言要求在定义所有的变量时都要指定变量的类型。常量也是区分类型的。在计算机中,数据是存放在存储单元中的,是具体存在的。且每个存储单元都是由有限的字节构成的,每个存储单元中存放数据的范围是有限的,不可能存放“无穷大”的数,也不能存放循环小数。

所谓类型,就是对数据分配存储单元的安排,包括存储单元的长度(占多少字节)以及数据的存储形式。不同的类型分配不同的长度和存储形式。

C语言常用的类型如下表:

数据类型释义内存大小(字节)char       字符数据类型1short短整型2int    整形4long长整型4/8long long更长的整形8float  单精度浮点数4double双精度浮点数

8

2.2.1 整型数据的分类

整型数据可以分为基本整型、短整型、长整型和双长整型四类。

(1)基本整型(int)

编译系统分配给int型数据2个字节或4个字节(由具体的编译系统自行决定)。在存储单元中的存储方式是:用整数的补码形式存放。在存放整数的存储单元中,最左面一位是用来表示符号的。

如果该位为0,表示该数值为正;如果该位为1,表示该数值为负。

(2)短整型(short)

类型说明符为short int或short。所占字节和存储的方式均与基本型(int)相同。

(3)长整型(long)

类型说明符为short longt或long。

(4)双长整型(long long)

类型名为long long int 或 long long ,一般分配8个字节。这是C99新增的类型,但许多C编译系统尚未实现。

注意:C标准没有具体规定各种类型数据所占用单元的长度,这是有各编译系统自行决定的。C标准只是要求long型数据长度不短于int型,short型不长于int型。即:

sizeof(short)



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有