当前位置:嗨网首页>书籍在线阅读

17-其他类型

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

3.4.8 其他类型

现在已经介绍完C语言的所有基本数据类型。有些人认为这些类型实在太多了,但有些人觉得还不够用。注意,虽然C语言没有字符串类型,但也能很好地处理字符串。第4章将详细介绍相关内容。

C语言还有一些从基本类型衍生的其他类型,包括数组、指针、结构和联合。尽管后面章节中会详细介绍这些类型,但是本章的程序示例中已经用到了指针〔指针(pointer)指向变量或其他数据对象位置〕。例如,在 scanf() 函数中用到的前缀 & ,便创建了一个指针,告诉 scanf() 把数据放在何处。

小结:基本数据类型

关键字:

基本数据类型由 11 个关键字组成: intlongshortunsignedcharfloatdoublesigned_Bool_Complex_Imaginary

有符号整型:

有符号整型可用于表示正整数和负整数。

  • int ——系统给定的基本整数类型。C语言规定 int 类型不小于16位。
  • short或short int ——最大的 short 类型整数小于或等于最大的 int 类型整数。C语言规定 short 类型至少占16位。
  • long或long int ——该类型可表示的整数大于或等于最大的 int 类型整数。C语言规定 long 类型至少占32位。
  • long long或long long int ——该类型可表示的整数大于或等于最大的 long 类型整数。 long long 类型至少占64位。

一般而言, long 类型占用的内存比 short 类型大, int 类型的宽度要么和 long 类型相同,要么和 short 类型相同。例如,旧 DOS 系统的 PC 提供 16 位的 shortint ,以及 32 位的 longWindows 95 系统提供 16 位的 short 以及 32 位的 intlong

无符号整型:

无符号整型只能用于表示零和正整数,因此无符号整型可表示的正整数比有符号整型的大。在整型类型前加上关键字 unsigned 表明该类型是无符号整型: unsigned intunsigned longunsigned short 。单独的 unsigned 相当于 unsigned int

字符类型:

可打印出来的符号(如 A&+ )都是字符。根据定义, char 类型表示一个字符要占用1字节内存。出于历史原因,1字节通常是8位,但是如果要表示基本字符集,也可以是16位或更大。

  • char ——字符类型的关键字。有些编译器使用有符号的 char ,而有些则使用无符号的 char 。在需要时,可在 char 前面加上关键字 signedunsigned 来指明具体使用哪一种类型。

布尔类型:

布尔值表示 truefalse 。C语言用 1 表示 true0 表示 false

  • _Bool ——布尔类型的关键字。布尔类型是无符号 int 类型,所占用的空间只要能存储0或1即可。

实浮点类型:

实浮点类型可表示正浮点数和负浮点数。

  • float ——系统的基本浮点类型,可精确表示至少6位有效数字。
  • double ——存储浮点数的范围(可能)更大,能表示比 float 类型更多的有效数字(至少10位,通常会更多)和更大的指数。
  • long double ——存储浮点数的范围(可能)比 double 更大,能表示比 double 更多的有效数字和更大的指数。

复数和虚数浮点数:

虚数类型是可选的类型。复数的实部和虚部类型都基于实浮点类型来构成:

  • float _Complex
  • double _Complex
  • long double _Complex
  • float _Imaginary
  • double _Imaginary
  • long double _Imaginary

小结:如何声明简单变量

1.选择需要的类型。

2.使用有效的字符给变量起一个变量名。

3.按以下格式进行声明:

类型说明符 变量名;

类型说明符由一个或多个关键字组成。下面是一些示例:

int erest;
unsigned short cash;

4.可以同时声明相同类型的多个变量,用逗号分隔各变量名,如下所示:

char ch, init, ans;

5.在声明的同时还可以初始化变量:

float mass = 6.0E24;