本文是 C 语言入门基础学习笔记整体围绕 C 语言基础认知、学前预备知识、核心基础数据类型展开详细总结如下一、C语言基础认知语言核心特点C 语言具备四大核心优势执行效率高、可直接操控硬件、运行资源开销小、跨平台可移植性强且拥有深厚的行业应用基础。二、学前储备知识1. 计算机执行 C 语言程序的原理1计算机核心组成由运算器、控制器、存储器、输入设备、输出设备构成其中运算器 控制器组成 CPU含 GPU、NPU 等类型。2存储器分类与特性◦ 内存掉电数据丢失、存储空间小、读写效率高、价格昂贵◦ 硬盘掉电数据不丢失、存储空间大、读写效率低◦ 此外还有 cache 高速缓存、寄存器等高速存储单元3程序执行流程1 编译器编译生成的二进制指令文件存储在硬盘中2 执行程序时二进制文件通过 CPU 加载到内存中3CPU 通过总线访问内存中的数据完成运算与处理2. 计算机数据单位• 最小数据单位bit位仅能存储 0 或 1• 内存基本存储单位byte字节1 字节 8 位• 存储单位换算1024 进制1KB 1024B1MB 1024KB1GB 1024MB1TB 1024GB3. 进制转换规则1 二 / 八 / 十六进制转十进制按位乘以对应位的权值累加求和。2十进制转二 / 八 / 十六进制采用短除法用目标数反复除以进制数取余数后逆序排列。3 二进制与八 / 十六进制互转3 位二进制对应 1 位八进制4 位二进制对应 1 位十六进制按 8421 编码快速转换。三、核心知识点基本数据类型1. 数据类型总分类C 语言数据类型分为三大类基本数据类型、构造数据类型、指针类型其中基本数据类型包含整数类型、字符类型、浮点类型、void 空类型C 额外支持布尔类型。2. 整数类型整数类型按符号属性可分为有符号整型和无符号整型两类。有符号整型既可以表示正数也可以表示负数其最高位为符号位0 代表正数1 代表负数其余位为数据位无符号整型只能表示大于等于 0 的非负数。在 64 位 Ubuntu 系统环境下各类整型的内存占用与取值范围如下short 短整型在内存中占用 2 字节。其中无符号短整型unsigned short的取值范围为 0 到 65535有符号短整型signed short的取值范围为 - 32768 到 32767。int 整型在内存中占用 4 字节。其中无符号整型unsigned int的取值范围为 0 到 2^32-1有符号整型signed int的取值范围为 - 2^31 到 2^31-1。long 长整型在内存中占用 8 字节。其中无符号长整型unsigned long的取值范围为 0 到 2^64-1有符号长整型signed long的取值范围为 - 2^63 到 2^63-1。整型数据在内存中有固定的存储规则无符号整数以原码形式存储其补码与原码完全一致有符号整数中正数以原码形式存储负数则以补码形式存储。负数的补码计算方式为先得到对应正数的原码符号位保持不变其余数据位按位取反得到反码再将反码加 1 即得到补码。整型数据存在溢出特性以无符号短整型为例当数值达到最大值后再加 1会回绕到该类型的最小值当数值为最小值后再减 1则会回绕到该类型的最大值。3. 字符类型char字符类型用于表示各类字符关键字为char在内存中占用 1 字节。char 类型本质上是一种整型字符与整数的映射遵循 ASCII 编码标准例如字符a对应整数 97字符0对应整数 48转义字符\0对应整数 0。字符类型可表示的字符涵盖大小写英文字母、各类特殊符号、数字字符以及\n、\t等转义字符。按符号属性划分unsigned char为无符号字符型取值范围为 0 到 255signed char为有符号字符型取值范围为 - 128 到 127。4. 浮点类型浮点类型用于表示小数遵循 IEEE 存储标准分为单精度和双精度两类float 单精度浮点型在内存中占用 4 字节有效精度范围为 6 到 8 位。其内存存储结构分为三部分1 位符号位、8 位指数位偏移量为 127、23 位尾数位。double 双精度浮点型在内存中占用 8 字节有效精度范围为 12 到 16 位。其内存存储结构分为三部分1 位符号位、11 位指数位偏移量为 1023、52 位尾数位。浮点数据的存储计算方式为先将十进制小数转换为二进制形式再转化为二进制科学计数法表示分别计算出符号位、加上偏移量后的指数位以及小数点后的尾数部分不足位数补 0。笔需要注意的是浮点型数据在内存中存储时存在一定的精度损失问题。