C语言基本数据类型有哪些?

99ANYc3cd6
预计阅读时长 11 分钟
位置: 首页 C语言 正文

字符型

字符型用于存储单个字符,如字母、数字、标点符号等,在 C 语言中,字符实际上是以整数形式存储的,它使用 ASCII 编码表将字符映射到整数。

c 语言有哪些基本数据类型
(图片来源网络,侵删)

char

  • 描述: 存储一个单一字符。
  • 大小: 1 字节 (8 bits)。
  • 取值范围:
    • 有符号: -128 到 127
    • 无符号: 0 到 255
  • 示例:
    char grade = 'A';
    char symbol = '@';

整型

整型用于存储没有小数部分的整数,即“全数字”。

int

  • 描述: 最基本的整型数据类型,大小通常与系统的字长一致。
  • 大小: 4 字节 (32 bits) 在 64 位系统上很常见。
  • 取值范围:
    • 有符号: -2,147,483,648 到 2,147,483,647 (即 -2³¹ 到 2³¹-1)
    • 无符号: 0 到 4,294,967,295 (即 0 到 2³²-1)
  • 示例:
    int age = 25;
    int temperature = -10;

short int (或 short)

  • 描述: 用于存储较小的整数,以节省内存。
  • 大小: 2 字节 (16 bits)。
  • 取值范围:
    • 有符号: -32,768 到 32,767
    • 无符号: 0 到 65,535
  • 示例:
    short int smallNumber = 150;

long int (或 long)

  • 描述: 用于存储较大的整数,在 64 位系统上,它的 size 通常和 int 一样。
  • 大小: 4 字节 (32 bits) 或 8 字节 (64 bits),具体取决于编译器和系统。
  • 取值范围: 如果是 8 字节,范围会大得多。
  • 示例:
    long int largeNumber = 123456789L; // 注意 L 后缀

long long int (或 long long)

  • 描述: 用于存储非常大的整数,C99 标准引入。
  • 大小: 8 字节 (64 bits)。
  • 取值范围:
    • 有符号: -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 (即 -2⁶³ 到 2⁶³-1)
    • 无符号: 0 到 18,446,744,073,709,551,615 (即 0 到 2⁶⁴-1)
  • 示例:
    long long int veryLargeNumber = 9000000000000000000LL; // 注意 LL 后缀

整型的修饰符:signedunsigned

  • signed: 表示该变量可以是正数、负数或零,这是 intshortlong 的默认行为。
  • unsigned: 表示该变量只能是正数或零,不能为负,这使其正数范围扩大一倍。
    signed int a = -100; // 默认可以省略 signed
    unsigned int b = 100; // b 不能为负数

浮点型

浮点型用于存储带有小数部分的实数。

float

  • 描述: 单精度浮点数,提供约 6-7 位有效数字。
  • 大小: 4 字节 (32 bits)。
  • 取值范围: 大约 ±3.4E-38 到 ±3.4E+38。
  • 示例:
    float price = 19.99f; // 注意 f 后缀,表示是 float 类型

double

  • 描述: 双精度浮点数,提供约 15-16 位有效数字,精度更高,是浮点型的默认选择。
  • 大小: 8 字节 (64 bits)。
  • 取值范围: 大约 ±1.7E-308 到 ±1.7E+308。
  • 示例:
    double pi = 3.14159265358979;

long double

  • 描述: 扩展精度浮点数,提供比 double 更高的精度。
  • 大小: 8、12 或 16 字节,取决于编译器和平台。
  • 示例:
    long double highPrecisionValue = 1.234567890123456L; // 注意 L 后缀

空类型

void 并不是一个可以存储数据的数据类型,它通常表示“无类型”或“无值”。

  • 主要用途:
    1. 函数返回值: 当一个函数不返回任何值时,其返回类型被声明为 void
      void printMessage() {
         printf("Hello, World!\n");
      }
    2. 函数参数: 当一个函数不接受任何参数时,可以使用 void
      int getRandomNumber(void) {
         return rand();
      }
    3. 通用指针: void* 是一种可以指向任何数据类型的指针,但在使用前必须进行强制类型转换。

总结表格

类型分类 关键字 大小 (典型) 取值范围 (典型) 描述
字符型 char 1 字节 -128 ~ 127 (有符号) 存储单个字符
整型 short 2 字节 -32,768 ~ 32,767 较小的整数
int 4 字节 -2,147,483,648 ~ 2,147,483,647 基本整数类型
long 4 或 8 字节 范围随大小变化 较大的整数
long long 8 字节 ±9.2 x 10¹⁸ 非常大的整数
浮点型 float 4 字节 约 ±3.4E±38 单精度,6-7位有效数字
double 8 字节 约 ±1.7E±308 双精度,15-16位有效数字
long double 8/12/16 字节 范围和精度更高 扩展精度
空类型 void N/A N/A 无类型,用于函数返回/参数

重要提示

  • 大小不是绝对的: 表格中的大小是“典型”值,尤其是在现代 64 位系统上,C 标准只规定了 sizeof(char) == 1,其他类型的大小必须大于等于前一个类型(sizeof(short) >= sizeof(char)),使用 sizeof() 运算符可以准确获取在你当前系统上某个类型的大小。
  • 选择合适的数据类型: 根据你的需求选择合适的数据类型非常重要,如果确定一个数永远不会是负数,就使用 unsigned 类型来扩大其正数范围,如果需要高精度,就使用 double 而不是 float
c 语言有哪些基本数据类型
(图片来源网络,侵删)
-- 展开阅读全文 --
头像
51单片机C语言开发如何快速入门实例?
« 上一篇 03-15
dede首页不显示图片
下一篇 » 03-15
取消
微信二维码
支付宝二维码

目录[+]