学习指南

原始数据类型

计算机科学· Unit 10: Data types & structures· 10 分钟阅读

1. 原始数据类型 vs 非原始数据类型★☆☆☆☆⏱ 3 min

原始数据类型是编程中数据存储最基础的构建块。所有更复杂的数据结构都是由原始数据类型组合而成的。其核心定义特征是:原始变量直接保存单个值,而非引用或其他值的集合。

📘 定义

原始数据类型

编程语言提供的原生基础数据类型,存储单个值,不由其他数据类型构建。

例:

存储42的整数是原始类型;包含10个整数的数组是非原始类型。

📐 例题

将下列各项分类为原始类型或非原始类型:(1) 存储测试结果的布尔型,(2) 存储用户名的字符串,(3) 存储温度的实数。

  1. 1

    记住:原始类型保存单个基础值,非原始类型由其他类型构建而成。

  2. 2

    (1) 布尔型保存单个逻辑值,因此属于原始类型。

  3. 3

    (2) 字符串是字符原始类型的集合,因此属于非原始类型(CIE 9618始终将字符串归类为非原始类型)。

  4. 4

    (3) 实数保存单个数值,因此属于原始类型。

2. CIE 9618核心原始数据类型★★☆☆☆⏱ 4 min

CIE 9618规定了四种你考试必须掌握的核心原始数据类型,每种都有明确用途和允许值范围。

  • 整数:存储整数(正、负或零)

  • 实数(浮点数):存储包含小数部分的数字

  • 字符:存储单个字母数字字符或符号

  • 布尔型:仅存储两个可能逻辑值中的一个

📘 定义

原始布尔型

boolbool

只能保存代表逻辑真和逻辑假两个值之一的原始类型,用于条件检查和标志位。

例:

isLoggedIn = true 存储用户当前是否登录系统的状态

📐 例题

为每个应用场景说明最合适的核心原始类型:(1) 班级中的学生人数,(2) 用户是否已登录,(3) 商品价格,(4) 姓氏的首字母。

  1. 1

    将每个应用场景与四种核心原始类型的性质匹配:

  2. 2
    1. 学生人数是没有小数部分的整数 → 整数
  3. 3
    1. 登录状态只有是(真)或否(假) → 布尔型
  4. 4
    1. 价格包含小数部分(例如 $1.99) → 实数(浮点数)
  5. 5
    1. 首字母是单个符号 → 字符

Exam tip:

即使其他类型在现代编程语言中很常见,也请始终使用CIE 9618大纲中命名的四种核心类型。

3. 原始数据类型的存储与值范围★★☆☆☆⏱ 3 min

根据实现不同,每种原始类型需要固定大小的存储空间(按位/字节计算)。存储空间大小直接决定了该类型可保存的可能值范围。

对于原始整数类型,值范围取决于它是有符号(支持负值)还是无符号(仅支持非负值):

  • n位无符号整数:范围 =

  • n位有符号整数:范围 =

📐 例题

16位有符号整数可存储的最大正值是多少?

  1. 1

    使用n位有符号整数最大值的公式:

  2. 2
    Maximum=2n11\text{Maximum} = 2^{n-1} - 1
  3. 3

    代入 n = 16:

  4. 4
    21611=2151=327681=327672^{16-1} - 1 = 2^{15} - 1 = 32768 - 1 = 32767
  5. 5

    最大正值为32767。

4. 选择并证明原始数据类型的合理性★★★☆☆⏱ 3 min

考试中常见的较长题目会要求你为给定问题提出并证明原始类型选择的合理性。你必须将类型的性质与待存储数据的要求相匹配。

📐 例题

程序员需要存储拥有250个车位的城市停车场中的车辆数,请提出并证明合适的原始类型。

  1. 1
    1. 首先确定数据类型:车辆数始终是没有小数部分的整数。
  2. 2
    1. 这符合原始整数类型的核心定义。
  3. 3
    1. 检查范围:可能值为0到250,完全符合标准8位整数的范围(无符号最大值为255)。
  4. 4

    结论:最合适的原始类型是整数。

5. 常见陷阱

错误做法:

将字符串归类为原始数据类型

原因:

许多编程语言将字符串视为原始类型,但CIE 9618将字符串定义为非原始类型,因为它们是字符的集合。

正确做法:

在CIE 9618考试中始终将字符串归类为非原始类型。

错误做法:

使用整数存储身高或体重这类测量值

原因:

大多数测量值包含小数部分,无法作为整数准确存储。

正确做法:

对于需要小数精度的测量值,使用原始实数(浮点数)。

错误做法:

混淆有符号和无符号整数的值范围公式

原因:

学生经常忘记有符号整数需要使用一位存储符号,因此降低了最大正值。

正确做法:

记住:无符号 = 0 到 ;有符号 =

错误做法:

使用原始字符类型存储完整电话号码

原因:

一个字符只能存储一个数字/符号,因此无法存储整个10位以上的电话号码。

正确做法:

使用非原始字符串存储电话号码这类数字序列。

错误做法:

声称布尔型可以存储两个以上的值

原因:

原始布尔型的核心定义性质就是,根据定义它只能有两个可能值。

正确做法:

始终说明布尔型只能存储真或假。

6. 速查表

原始类型

核心用途

示例值

整数

整数(无小数)

42

实数

带小数部分的数字

1.75

字符

单个字母数字符号

'Z'

布尔型

逻辑真/假值

true

公式

n位无符号范围

0 到

公式

n位有符号范围

真题中的出现

AI 根据考纲规律估算的考点位置,请对照官方真题核实准确性。仅作复习重点参考。

  • 2022 · 1

    识别原始数据类型

  • 2023 · 1

    为应用场景选择合适的原始数据类型

深入阅读

下一步

现在你已经了解了原始数据类型,可以开始学习更复杂的非原始数据类型和数据结构了,这些是CIE 9618第10单元的核心内容。原始数据类型是编程、算法和数据表示中所有后续内容的基础构建块,因此掌握它们的性质和应用场景会让你更容易理解后续所有主题。考试中的常见题目会基于本主题要求你为完整程序选择合适的数据类型,因此这部分知识会在两张试卷中反复考察。接下来你将学习结构化非原始数据类型,例如数组和记录,它们通过将多个原始值组合成单个可用结构构建而成。