C基础教程之了解 C 中的数据类型

205 阅读5分钟

这是我参与8月更文挑战的第3天,活动详情查看:8月更文挑战

C 数据类型——让我们从头开始理解

1. C 编程中的数据类型是什么?

在 C 编程中,数据类型与其名称所暗示的一样。它们代表要存储的数据类型。它们用于在程序中声明多个函数和变量。

数据类型主要分为三类,基本/原始、派生、用户定义。

这张图可以帮到你

图片.png

现在,我们将分别了解它们各自的含义。

1.1. 整数

它用于存储整数数据类型。

我们使用的常规整数 在16 位机器上的大小为2 字节(16 位) 。但是,大多数现代系统都有32 位或 64 位配置。这种环境中整数的大小为4 个字节起始值为 -2,147,483,648结束值为 2,147,483,647。任何涉及超出此范围的数字的操作都将返回垃圾或错误。

注意: 垃圾值只不过是程序内存中的浪费或未使用的数据。它也可能与不再使用的变量有关。因此,最好进行初始化以避免任何未定义的行为。

1.2. 无符号整数

整数也可以是无符号类型。这种32 位类型(无符号整型)的范围在0 到 4,294,967,2950 到 6553516 位系统上。****************

1.3. 长

它还存储具有更高范围的整数数据。long 类型在 32 位系统上4 个 字节,在 64 位设置中8 个字节

32 位长范围与整数相同,而在 64 位上,它可以容纳最小值 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807

1.4. 无符号长

在某些情况下,我们只需要正数值;那么最好使用无符号类型。它不仅可以确保您获得一个,还可以扩大范围。

unsigned long 有4 个字节,范围从 0 到 4,294,967,295

1.5. 漂浮

此数据类型也是数字,但允许带有小数位的数字。它的大小为4 个字节,范围为3.4E-38 到 3.4E+38

float 类型的精度最高为 7 位。

1.6. 双倍的

它与 float 相同,但具有更高的精度范围,即8 个字节,这使其能够在小数位后存储更多数字,准确地说是 double。

它的长度为8 个字节,范围为1.7E +/- 308。double 数据类型的精度高达 15 位。

1.7. 字符

Char 数据类型默认允许单个字符,例如字母表中的一个字母。它的大小仅为1 个字节,范围为 -128 到 127 或 0 到 255

但是,使用数组 [] 后缀,它可以保存字符串值,即字母数字字符的组合。

1.8. 无符号字符

此外,还有一种类似但不允许 (-ve) 值的 unsigned char 类型。它具有相同的1 字节大小,范围为0 到 255

1.9. 短的

short 类型的长度为两个字节。它允许值的范围等于 2 的 16 次方,即最多 16 位。由于它是有符号的,因此包含正值和负值。

它的值范围在 -32768 和 32767 之间。

1.10. 无符号空头

unsigned short 类型仅包含 +ve 个数字,并且大小为 2 个字节。它可以存储最小值 0最大值 65 535

1.11. 大批

AC 数组是类似数据类型的元素的连续序列。它主要是创建一个基元集合,如数字、字符、结构和联合。

我们有专门的章节介绍数组,您可以稍后阅读。

1.12. 指针

指针用于指向和访问存储在程序动态内存中称为堆的地址处的值。

指针类型变量存储在堆中,而其他类型存储在堆栈中。

就像数组可以有多个元素一样,指针也可以根据分配的内存量保存多个值。

这种数据类型也有一章专门介绍它,所以我们稍后会看到更多。

1.13. 枚举

枚举用于将名称分配给变量到常量。我们也将在以后的章节中讨论。

1.14. 结构(结构)

结构类型用于创建可以在其中保存多种数据类型的数据类型。

1.15. 联盟

联合是一种数据类型,其下的所有值都存储在单个地址中。

在下面的 C 数据类型示例中,我们将看到两种基本 C 数据类型的使用。

2. 数据类型范围和大小

我已经在下表中介绍了所有基本的 C 数据类型以及它们的字节大小和值的范围。

图片.png

2. 示例程序:打印两个数的商

在这个例子中,我们将对两个整数执行算术除法运算。之后,相同的结果将分配给以下类型的两个变量。

  • 整数
  • 浮点数

我们首先借助它的流程图来了解这个程序的流程。

2.1. 流程图:

图片.png

2.2. 算法:

1 步:开始

第 2 步:初始化变量

第 3 步:获取用户的输入

第 4 步:得到商 c=d=a/b

第 5 步:打印整数和浮点数的输出

第 6 步:停止

2.3. 代码:

#include<stdio.h>
#include<conio.h>

void main()
{
    int a, b, c;
    float d;

    printf("输入两个数字进行除法:\n");
    scanf("%d %d", &a, &b);

    c = a/b;
    d = a/b;

    printf("int 形式的 %d 和 %d 的商是 %d",a , b, c);
    printf("\nfloat 形式的 %d 和 %d 的商是 %f",a ,b ,d);

    getch();
}

输出

输入两个数字进行除法:21 7
int 形式的 217 的商是 3
浮点形式的 217 的商是 3.000000

注意: 如果我们使用 double 类型,那么它也会给出相同的输出,但对于需要准确性的程序来说这很重要。我在这篇文章介绍了基础知识,下一个 C 编程教程中我会介绍有关数据类型及其高级用法的更多信息