预计阅读本页时间:-
B.3.1 总结:基本数据类型
C的基本数据类型可以分为两类:整数和浮点数。这些不同的种类为您提供了范围和精度上的选择。
关键字
广告:个人专属 VPN,独立 IP,无限流量,多机房切换,还可以屏蔽广告和恶意软件,每月最低仅 5 美元
使用以下8个关键字来建立基本数据类型:int、long、short、unsigned、char、float、double和signed(ANSIC) 。
有符号整数
有符号整数可以具有正值或负值。
int是所有系统中的基本整数类型 |
long或long int至少可以保存与最大的int同样大的数,并有可能更大;long至少为32位 |
最大的short或short int整数不会大于最大的int,可能还要更小。short至少为16位。通常long要比short大,而int与它们中的一种相同。例如,PC上的C DOS编译器提供16位的short和ipt以及32位的long。这完全依赖于系统 |
C99标准提供的long long类型至少与long一样大,它至少为64位 |
无符号整数
无符号整数只有0值或正值,这使得它能表示的最大正数的范围更大。在所需的类型前使用关键字unsigned:unsigned int、unsigned long、unsigned short或unsigned long long。单独的unsigned等于unsigned int。
字符
字符是像A、&和+这样的印刷符号。根据定义,char变量使用1个字节的内存。过去char最通常的大小是8个位,但是C处理更大的字符集的能力允许char使用16位字节甚至32位字节。
char是这种类型的关键字。某些实现使用signed char,但是其他实现使用unsigned char。ANSI C允许您使用关键字signed和unsigned来指定您想要哪种形式。从技术上说,char、unsigned char和signed char是三种不同的类型,其中char类型与其他两种表示中的一种相同。
布尔类型(C99)
C99的布尔类型是_Bool。它是一个无符号的整数,可以保存两个值之一:0表示假、1表示真。包含stdbool.h头文件,您就可以使用bool表示_Bool,用true表示1,用false表示0,这可以使代码与C++兼容。
实浮点数和复浮点数(C99)
C99识别两种类型的浮点数:实数浮点数类型和复浮点数类型。两种类型共同构成了浮点类型。
实浮点数可以为正值,也可以为负值。C99识别:
float是系统中的基本浮点数类型。它至少可以精确地表示6位有效数字,通常float使用32位 |
double可能保存更大的浮点数。它可能允许比float更多的有效数字和更大的指数。它至少可以精确地表示10位有效数字,通常double使用64位 |
long double可能保存更大的浮点数。它可能允许比double更多的有效数字和更大的指数 |
复浮点具有两个部分:一个实部和一个虚部。C99内部用一个二维数组来表示复数,第一个部分为实部,而第二个部分作为虚部。有3种复浮点类型:
float_Complex代表实部和虚部都是float值 |
double_Complex代表实部和虚部都是double值 |
long_Complex代表实部和虚部都是long double值 |
在每种情况下,前缀部分的类型都叫做相应的实数类型。例如,double是doubl_Complex的相应的实数类型。
复数类型在一个独立于操作系统的环境中是可选的,在这样的环境中C程序不需要操作系统就能运行。
同样有3种虚数类型,它们在独立环境和主机环境(C程序在一种操作系统下运行的环境)中都是可选的。虚数只有虚部。这3种类型是:
float_Imaginary代表虚部是float值 |
double_Imaginary代表虚部是double值 |
long_Imaginary代表虚部是long double值 |
复数可以使用实数和I来初始化。I定义在complx.h文件中,代表i,也就是-1的平方根。
B.3.2 总结:如何声明一个简单变量
1.选择您需要的类型。
2.为变量选择一个名称。
3.使用这种声明语句格式:type-specifier variable-name;。type-specifier由一个或多个类型关键字组成,下面是一些例子:
4.要声明同一类型的多个变量,使用逗号分隔各个变量名:
5.可以在声明语句中初始化变量: