作者:解学武

C语言基本数据类型有哪几种(一览表,新手必看)

对于刚踏入 C语言编程世界的新手们,学会了输出“Hello,World!”,紧接着就是学习 C语言基本数据类型和变量的使用,首当其冲是系统了解 C 语言所有的基本数据类型。

本节我将带领大家详细了解 C语言中的各种基本数据类型,文末还总结成了表格,方便大家记忆回顾。

C语言基本数据类型

1、C语言整形(Integer Types)

1) int(整型)

int(整数类型,简称整形)这是最常见的整型数据类型,在 32 位编译环境中,通常占用 4 个字节,能表示的数值范围大致在[-2147483648, 2147483647]
int num1 = 100; // 示例
num1 是 int 类型的整形变量,它存储的数值是 100。 初学者要注意 int 类型的取值范围,避免出现超出范围导致的错误。

2) short(短整型)

short 占用的存储空间比 int 少,一般为 2 个字节,能表示的整数范围是[-32768, 32767]
short num2 = 20; // 示例
使用 short 类型时,若预计数值可能超出其范围,应选择更合适的数据类型,比如 int、long 甚至 long long。

3) long(长整型)

long(长整型)常用于需要更大数值范围的情况,在 32 位系统中一般占用 4 个字节,在 64 位系统中可能占用 8 个字节。
long num3 = 10000L; // 注意 L 后缀
后缀 L 表示 10000 是 long 类型的整数,如果省略 L,那么 10000 默认是 int 类型的整数。

4) long long(超长整型,C99 新增)

long long 是 C99 标准新增的整数类型,它能够表示极大的整数,通常占用 8 个字节。
long long num4 = 9223372036854775807LL; // 注意 LL 后缀

关于 C 语言整形更详细的讲解,请阅读《C语言整数类型(short,int,long,long long)详解》一文,以及它后续的文章。

2、C语言字符型(Character Type)

char(字符类型)用于存储单个字符,通常占用 1 个字节。
char ch = 'A'; 
字符常量 'A' 要用单引号括起来,双引号会导致错误。

char 类型可以通过字符常量直接赋值,也可以通过 ASCII 码值进行赋值,例如:
char digit = 48;
digit 存储的字符就是 '0',因为 '0' 的 ASCII 码值是 48 。

3、C语言浮点型(Floating-Point Types)

1) float(单精度浮点型)

float 一般占用 4 个字节,能表示带有小数的数值,但精度相对较低,只能提供大约 6 到 7 位的有效数字精度。 。
float fnum = 3.14f; // 注意 f 后缀

2) double(双精度浮点型)

double 是默认的小数类型,通常占用 8 个字节,精度比 float 高,能够提供大约 15 到 16 位的有效数字精度。
double dnum = 3.1415926; // 示例

3) long double(扩展精度浮点型)

long double 占用的字节数和精度会因编译器和系统的不同而有所差异。一般来说,它比 `double` 提供更高的精度和更大的数值范围。
long double lfnum = 1.234567890123456789L; // 注意 L 后缀,示例
不同的浮点类型精度和范围不同,根据需求选择合适的类型,避免精度损失。

有关 C 语言浮点类型更详细的讲解,请阅读《C语言小数类型(float,double,long double)详解》一文阅读。

4、C语言布尔型(Boolean Type,C99 新增)

_Bool 类型变量只有两个值,0 表示假,非 0 表示真,通常占用 1 个字节。
_Bool flag = 1; // 示例
除了 _Bool,C语言中还可以使用 bool 作为布尔类型。bool 可以看做是 _Bool 类型的别名,取值除了 0 和 1 以外,还可以用 true(为 1)和 false(为 0)表示。

需要注意的一点是,使用 bool 类型之前,必须先引入<stdbool.h>头文件。 例如:
bool isTrue = true;

关于布尔类型,更详细的讲解请阅读《一文搞清楚C语言布尔类型(bool)》一文。

C 语言基本数据类型一览表

数据类型 占用字节数 取值范围
int 4(通常) -2147483648 到 2147483647
short 2 -32768 到 32767
long 4 或 8(取决于系统) 因系统而异
long long 8 因系统而异
char 1 -128 到 127
float 4 约 6 - 7 位有效数字
double 8 约 15 - 16 位有效数字
long double 因编译器和系统而异 因编译器和系统而异
_Bool 1 0 或 1

希望通过以上详细的介绍和示例,新手朋友们能对 C 语言的基本数据类型有更清晰的认识和理解,为今后的编程之路打下坚实的基础。


声明:当前文章为本站“玩转C语言和数据结构”官方原创,由国家机构和地方版权局所签发的权威证书所保护。

添加微信咨询 加站长微信免费领
C语言学习小册
加站长微信免费领C语言学习小册
微信ID:xiexuewu333