C语言学习笔记 - 26.C编程预备计算机专业知识 - 15~25关键内容回顾

一、计算机核心硬件协作流程总复习

计算机程序运行的本质是硬件间的协同数据处理,核心硬件的协作流程与核心职责如下:

  1. 数据流转核心链路 :程序/文件永久存储在硬盘 中,运行时由操作系统将数据从硬盘调入内存条CPU仅能直接处理内存条中的数据,无法直接操作硬盘数据。

  2. 数据输出流程 :CPU处理完内存中的数据后,将图像数据发送给显卡,最终通过显示器输出画面;将音频数据发送给声卡,最终输出声音。

  3. 主板的核心作用:CPU、内存条、硬盘、显卡、声卡等所有硬件均通过主板完成物理连接与数据传输,主板是硬件间通信的核心载体与总线通道。

二、Hello World程序的底层运行原理

C语言程序从编写到输出结果的完整运行流程如下:

  1. 开发者通过开发软件(VSCode/VC++6.0)编写C语言源代码,经编译、链接生成.exe可执行文件;

  2. 点击运行程序时,开发软件向操作系统发出执行请求,开发软件本身无法直接执行可执行文件;

  3. 操作系统接收请求后,调度CPU执行可执行文件中的指令;

  4. CPU完成程序指令的运算后,将执行结果通过操作系统返回给开发软件,最终在显示器的控制台中输出程序运行结果。

三、C语言数据类型核心规则回顾

编程的核心第一步是数据存储,而数据类型是数据存储的基础,C语言数据类型分为基本类型复合类型两大类。

3.1 基本数据类型(不可再分割的基础类型)

数据大类 关键字 核心用途 字节数规则
整型 short int(短整型,可简写为short 存储范围较小的整数 C标准未硬性规定固定字节数,仅强制要求: 短整型字节数 ≤ 整型字节数 ≤ 长整型字节数
整型 int(整型) 存储通用整数,C语言最常用的整数类型 典型环境下占4字节
整型 long int(长整型,可简写为long 存储范围较大的整数 典型环境下占8字节
浮点型 float(单精度浮点型) 存储精度要求较低的小数 典型环境下占4字节,精度有限
浮点型 double(双精度浮点型) 存储精度要求较高的小数 典型环境下占8字节,精度更高、存储范围更大
字符型 char 存储单个字符 固定占1字节,可覆盖所有ASCII码字符的存储需求

3.2 复合数据类型(基础类型的组合扩展)

复合类型是由多个基本类型组合而成的扩展类型,核心包含三类:

  1. 结构体:将多个不同类型的基础数据封装为一个整体;

  2. 枚举:限定变量的取值范围为指定的离散常量,提升代码可读性;

  3. 共用体:多个变量共享同一段内存空间,核心作用是节省内存。

补充说明:共用体在现代开发中已极少使用,仅在单片机等内存极度受限的嵌入式场景有少量应用,本课程不做深入讲解。

四、变量的本质与初始化核心要点

4.1 变量的本质

变量的本质是内存中一段被命名的专属存储空间。定义变量的过程,就是让操作系统在内存条中找到一段空闲的存储空间,并将该空间的地址与变量名建立一一对应的关联关系;后续对变量名的所有操作,本质都是对这段关联的内存空间进行读写。

4.2 变量必须初始化的核心原因

变量对应的内存空间,可能残留着上一个程序使用后遗留的垃圾数据(随机值)。若变量未初始化就直接使用,程序会读取到无业务意义的不确定值,导致程序出现不可预期的逻辑异常,且此类bug隐蔽性强、极难排查。

C语言核心铁律:变量必须先初始化,再使用

五、进制与常量存储核心结论

5.1 进制核心规则

  • 进制的本质是逢N进一 ,N进制的有效数字范围为0 ~ N-1

  • 计算机硬件仅能识别二进制,人类日常使用十进制,八进制、十六进制用于简化二进制的冗长书写;

  • C语言中,八进制常量以数字0 开头,十六进制常量以0x/0X开头,十进制常量无前缀。

5.2 常量的二进制存储规则

计算机仅能存储二进制数据,所有类型常量必须按指定编码规则转换为二进制后存入内存,核心规则如下:

  1. 整型常量 :以补码形式转换为二进制存储;

  2. 浮点型常量 :遵循IEEE 754国际标准转换为二进制存储;

  3. 字符型常量 :先通过ASCII码表映射为固定整数,再按整型补码规则转换为二进制存储,本质与整数存储完全一致。

六、C语言编程规范与上机练习要求

6.1 代码规范的核心重要性

代码规范是企业开发的第一准则,也是入门阶段必须养成的核心习惯:

  • 即使程序逻辑正确、可正常运行,代码书写不规范也会直接导致面试被淘汰;

  • 规范的代码可读性强、便于调试与团队协作,是职业开发者的基础素养。

6.2 上机练习的正确方法

  1. 练习素材选择:不建议直接照搬谭浩强教材中的代码进行练习。教材中的程序往往涉及大量未讲解的前置知识点,直接敲击会出现大量无法理解的报错,打击学习积极性;建议使用课程配套的课堂程序作为练习素材。

  2. 练习核心要求:严格按照课程程序的格式、空格、换行、命名逐字敲击,不要随意修改;无需提前深究代码的深层逻辑,先通过反复敲击熟悉C语言的语法格式、养成规范的书写习惯。

  3. 练习素材获取:课程配套程序可在对应班级的服务器中获取,包含每节课讲解的完整示例代码,适配当前学习进度。

七、本章节核心必记要点

  1. CPU仅能直接处理内存条中的数据,所有硬盘中的程序必须先调入内存才能运行;

  2. 程序的执行必须由操作系统调度CPU完成,开发软件仅负责代码编写与编译,无法直接执行程序;

  3. C标准仅强制规定短整型≤整型≤长整型的字节数关系,未固定各类型的绝对字节数;

  4. 变量的本质是内存中一段被命名的存储空间,必须先初始化再使用,避免读取到垃圾数据;

  5. 不同类型常量有固定的二进制编码规则,整数用补码、小数用IEEE 754标准、字符用ASCII码+补码;

  6. 代码规范是职业开发的第一准则,入门阶段必须通过反复敲击规范代码,养成良好的书写习惯。

相关推荐
聆风吟º1 小时前
【C标准库】深入理解C语言pow函数:从入门到精通,一文搞定幂运算
c语言·开发语言·库函数·pow·幂运算
流年如夢2 小时前
顺序表(LeetCode)
c语言·数据结构·leetcode·职场和发展
知识分享小能手2 小时前
R语言入门学习教程,从入门到精通,R语言多维数据可视化(12)
学习·信息可视化·r语言
许长安11 小时前
RPC 同步调用基本使用方法:基于官方 RouteGuide 示例
c++·经验分享·笔记·rpc
SunnyByte13 小时前
C语言——贪吃蛇的实现
c语言·单链表·贪吃蛇
做cv的小昊15 小时前
【TJU】研究生应用统计学课程笔记(8)——第四章 线性模型(4.1 一元线性回归分析)
笔记·线性代数·算法·数学建模·回归·线性回归·概率论
我命由我1234516 小时前
程序员的心理学学习笔记 - 空杯心态
经验分享·笔记·学习·职场和发展·求职招聘·职场发展·学习方法
stm32 菜鸟16 小时前
nucleo-f411re学习记录-13,flash的操作
学习
晓梦林16 小时前
3170靶场学习笔记
笔记·学习