2.2数据类型
算法处理的对象是数据,而数据是以某种特定的形式存在的,如整数、实数、字符等形式。
定义:简单的说,数据类型就是程序给其使用的数据,指定某种数据组织形式,从字面上理解,就是对数据按类型进行分类。
数据类型是按被说明数据的性质、表示形式、占据存储空间的多少、构造特点来划分的。在C语言中,数据类型可分为基本类型、构造类型、指针类型和空类型四大类。
2.3整形数据
整形数据包括:整形变量、整型常量
2.3.1整形变量
【分类】整形变量的基本类型说明符为int。由于不同的编译系统对整形变量所占用的字节数有不同的规定,因此根据在VC++6.0中各整形变量占用内存字节数的不同,可以将整形变量分为以下3类:
- 基本整形:用int表示,在内存中占4个字节。
- 短整型:用short int 或short 表示,在内存中占2个字节。
- 长整形:用long int 或long 表示,在内存中占4个字节。
【注意】为了增加变量的取值范围,还可以将变量定义为“无符号”型
以上3类都可以加上修饰符:unsigned,用以指定是“无符号数”。如果加上signed,则被指定为“有符号数”。如果既不指定unsigned也不指定signed,则系统默认为有符号数(signed)。各种无符号类型量所占的内存空间字节数与相应的有符号类型量相同。但由于省去了符号位,故不能表示负数。
整型变量的内存占用请见下表:
【注意】方括号内的部分是可以不输入的。
2.3.2整型常量
定义:整型常数即整常数。按不同的进制,整型常量有3种表示方式,分别是十进制数表示法、八进制数表示法和十六进制表示法。
-
十进制数表示法
十进制整型常量没有前缀,其数码为0~9。 -
八进制数表示法
八进制整型常量以0作为前缀,其数码为0~7。 -
十六进制数表示法
十六进制整型常量以0X或0x作为前缀,其数码为0~9 和A~F。
【注意】
- 程序中是根据前缀来区分各种进制数的,因此在书写常量时不要把前缀弄错,否则会出现不正确的结果。
- 在C程序中,只有十进制数可以是负数,而八进制和十六进制数只能是无符号数。
2.4实型数据
当进行数据运算需要用到小数或指数时,用C语言来实现的话,就需要用到实型数据。
2.4.1实型变量
C语言中的实型变量分为:单精度(float)、**双精度(double)和长双精度(long double)**3种类型。
实型数据分类见下表:
【定义】实型变量定义的一般形式为:类型说明符 变量名1
例如:
float x,y; //x,y为单精度实型变量
double a,b,c; //a,b,c为双精度实型变量
【实型变量的舍入处理】
由于实型变量也是用有限的存储单元存储的,所以能够接受的有效数字的位数也是有限的。有效位数以外的位数将被舍去。
2.4.2实型常量
【定义】实型常量即不包括整数的实数,在C语言中又称浮点数。浮点数均为有符号浮点数,没有无符号浮点数。其值有两种表达方式:分别为十进制小数形式和指数形式。
- 十进制小数形式:由数字和小数组成,必须有小数点,且小数点的位置不受限制。
- 指数形式:由十进制数加阶码标志“e”,“E”以及阶码(只能为整数,可以带符号)组成。其一般形式为:尾数E(e)整型指数。
【实型常量的类型】实型常量又分:单精度(float)、双精度(double)。一个实型常量可以赋给一个实型变量。
2.5字符型数据
字符型数据就是用来表示英文字母、符号和汉字的数据。
2.5.1字符变量
字符变量的类型说明符是char,其定义的一般形式如下:char 变量名1
例如:
char c1,c2;c1=a;c2=b; //这样就定义了两个字符型的变量c1和c2,并分别赋值为字符型常量a和b。
【注意】在VC++6.0中,字符型数据占1字节,因此字符型变量的值实质上是一个8位的整数值,取值范围一般是-128~127。char型变量也可以加修饰符unsigned,unsigned char型变量的取值范围是0~255。
2.5.2字符常量
【定义】从表现形式来说,就是用一对单引号括起来的单个字符。
【注意】C语言中还允许使用一种以特殊形式出现的字符常量,以表示某些非图形字符,这就是以“/”开头的转义字符序列。
2.5.3字符串常量
C语言除了允许使用字符常量外,还允许使用字符串常量。字符串常量是用一对双引号(“ ”)括起来的零个或多个字符的序列。
例如:“CHINA”、“0123456789"都是字符串常量。
【注意】在存储字符串常量时,由系统在字符串的末尾自动加一个“/0”作为字符串的结束标志。
2.5.4字符常量与字符串常量的区别
- 字符常量使用单引号,而字符串常量使用双引号。例如,‘a’表示字符常量;,而“a”则表示的是只有一个字符长度的字符串常量。
- 二者在内存中的存储也不同,字符常量存储的是字符的ASCII码值,而字符串常量除了要存储有效的字符外,还要存储一个“字符串结束标志(/0)”,以便系统判断字符串是否结束。
详情请关注亿航创客官方抖音账号:EhangGroup