news 2026/9/6 8:24:07

初学者补充知识

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
初学者补充知识

C语言基础全套整理笔记

1.1 计算机硬件

根据冯.诺依曼体系:输入设备、输出设备、存储器、CPU(控制器 + 运算器)

cpu不能和硬盘进行数据交换,只能和内存进行数据交换。(cpu打开应用程序时会进行加载,这个速度取决于硬盘和内存的交换速度)

计算机底层只能识别二进制,所有数据都是二进制 0、1

注:64位代表cpu的地址总线数量,表示cpu可以控制的内存地址数量,与内存地址上里面的东西无关(内存地址指向的最小单位是1字节,所以相邻格子编号+1)

cpu初始架构决定cpu的数据带宽是32位还是64位,数据总线和地址总线的长度由cpu架构决定。控制总线是数据的控制方式

内存条的频率决定内存传输和接受cpu数据的速度,cpu的数据带宽决定cpu传给和接受内存的数据速度。但是它们的传输速度由两者决定,否则会产生木桶效应。

1byte(B字节)=8位(b/ bit)

1kb=1024b

1MB=1024kb

1GB=1024MB

编译工具链与语言层级关系

一、三种语言的层级关系

高级语言:更接近人类表达方式,需要通过 gcc 编译为机器可以识别的语言。

汇编语言:属于低级语言,与机器语言一一对应,但 CPU 不能直接执行。

机器语言:由 0 和 1 组成,是 CPU 唯一能够直接执行的二进制语言。

编译流程说明

正向编译链路:高级语言 → gcc 编译器 → 汇编语言 → gcc 调用 .as(外部汇编器)→ 机器语言

工具说明

gcc:负责编译流程的整体调度,内部调用多个工具完成编译任务。

gdb:独立的调试工具(不属于 gcc 和 binutils),用于调试已编译的可执行程序,帮助定位程序崩溃和 Bug。

二、mingw-w64:Windows 平台的 GNU 工具链移植

背景说明:原生 Windows 平台无法直接运行 gcc、as、ld、gdb 等工具,需移植为 .exe 文件。这些工具在 Linux 平台为原生工具,可直接安装和运行。

安装验证:检查 mingw 路径下是否存在 gcc 和 gdb 工具,是判断 mingw-w64 是否安装成功的关键标志。

C语言中判断结果输出是0或1而不是true或false

函数与方法核心区别(C / C++ / Java)

函数:封装好的、可以重复使用的代码块。

封装在class 类中的代码块,被称为方法

-C语言:只有函数,void代表无返回值函数

-Java:只有方法,void代表无返回值方法

-C++:两种都有,独立代码块是函数,类内是方法

二、函数四大组成部分

1. 返回值类型

函数执行完毕后,是否需要给调用者返回一个结果。

-void:不需要返回结果(无返回值)

-int / double / char:执行完毕返回对应类型的数据

2. 函数名

给代码块命名,用于后续调用函数。

3. 参数列表

外界传递给函数的数据,可选,可为空

4. 函数体{ }

大括号内部,是函数真正执行功能的代码。

三、核心语法区分(终极识别口诀)

语法类型核心特征
变量有数据类型,无括号、无大括号
函数声明有类型、有()、有分号;无 { }
函数定义在声明基础上,带有 { } 函数体
函数调用无数据类型,只有函数名+()
判断语句if 结构,不属于函数
循环语句while / for 结构,不属于函数

四、基础语法对照示例

int a; // 变量 void show(); // 函数声明 void show(){} // 函数定义 show(); // 函数调用 if(a>1){} // 判断语句(非函数) while(1){} // 循环语句(非函数) printf("hi"); // 库函数调用

五、专项练习题标准答案汇总

1.int score;👉变量2.void printMsg(){…}👉函数定义3.printMsg();👉函数调用4.if(score>60){}👉if 判断语句5.int add(int x,int y);👉函数声明6.while(1){}👉while 循环语句7.printf("hello");👉库函数调用8.double getPrice(){…}👉函数定义9.getPrice();👉函数调用10.for(…){}👉for 循环语句

原码、反码、补码知识笔记

基础概念

原码:人能看懂的语言,机器无法看懂。

反码:原码和补码的过渡项,无实质作用。

补码:机器能看懂的语言。

正数的表示方法

正数的原码、反码、补码三者完全相同。

负数的表示方法

原码:直接给出负数的二进制表示。

反码:符号位保持不变,其余数值位全部按位取反。

补码:反码 + 1。

8 位表示对照表

十进制8 位原码8 位反码8 位补码
+0000000000000000000000000
−0100000001111111100000000
+127011111110111111101111111
−127111111111000000010000001
−128不存在不存在10000000

补码计算注意事项

补码在计算时,如果反码全是 1,补码进位丢弃后全变成 0。

例如:−0 的补码为 00000000

特殊值 -128 无法使用「原码→反码→补码」的常规公式推导,是 8 位补码独有的编码。

补码加减法 & 溢出判断(面试必考)

减法等价于两数的补码相加:【A】补 + 【B】补

二进制直接相加,超过 8 位的进位直接舍弃。

溢出:结果超出取值区间 [-128, 127],运算结果错误。

溢出判断规则:只有两个正数相加或两个负数相加才会溢出;一正一负相加永远不会溢出。

总结

正数:原码 = 反码 = 补码

负数需要分步求出原码、反码、补码

计算机底层运算统一使用补码完成加减运算

运算需要额外判断溢出,溢出时结果无效

例 2:-8-2 = (-8)+(-2)

[-8]{补} = 1111 1000 [-2]{补} = 1111,1110

1111 1000 + 1111 1110 =1 1111 0110

丢弃进位,结果补码 11110110 → -10 ✔️

开发一套软件所需工种与项目流程

一、项目对应工种

1. 项目经理:挂职岗位,一般不参与实际开发工作

2. 产品经理:管理岗位,薪资较高,需良好沟通能力

2.1 和客户对接需求

2.2 和技术总监开会评估:开发周期、所需人员、项目成本、项目报价

2.3 撰写项目需求文档

2.4 召开团队会议,分配开发模块

2.5 安排测试人员检测、修复项目Bug

2.6 安排UI人员进行项目界面设计

2.7 督促开发进度,整体把控项目节奏

2.8 随时和老板同步项目进度

3. UI设计人员:负责项目界面设计工作

4. 开发工程师(程序员):根据分配的模块,独立完成对应功能开发

二、开发日常工作状态

1. 每日早会:明确当天开发目标、待完成功能

2. 工作时段:自主开发,时间相对自由

3. 下班前:统一提交代码,召开简短工作总结会

三、软件整体上线流程

1. 开发完成后,由测试人员全方位测试项目功能

2. 测试无问题后,由技术总监整合全部代码,完成项目上线(上线阶段工作量最大、压力最高)

3. 项目试运行1-2周,无BUG、无故障则正式上线

4. 项目正式落地后,由产品经理对接客户,收尾尾款对接工作

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/6 8:19:45

Rust vs Python 在用户认证模块中的实现:底层

在当前微服务架构盛行的开发环境中,用户认证与权限管理是保障系统安全的核心环节。面对日益复杂的业务场景,开发者常常陷入选择技术栈的纠结之中。Rust 以其内存安全和性能优势赢得了越来越多关注,而 Python 则因易用性和生态丰富性依旧广泛使…

作者头像 李华
网站建设 2026/9/6 8:19:24

#137_死机恢复现场_Armino平台AP系统swd调试

原文链接 Armino平台AP系统swd调试 ap系统支持在线调试,使用jlink工具及Eclipse上位机工具,即可快速搭建调式环境。 JLink环境通过Eclipse集成JLink gdb server gdb 工具 Jlink和BK7258连线: 1# VTref ---- VREF 7# SWDIO ---- SWDIO 9# SWCLK --…

作者头像 李华
网站建设 2026/9/6 8:16:17

全自动开袋机成本账怎么算?5 大品牌 TCO 横评与 3 类工厂选型

全自动开袋机(自动完成口袋裁剪、折边、缝合的数控缝制设备)不是只看裸机价。- 用 TCO(总拥有成本,Total Cost of Ownership,含设备价物流安装培训等杂费)视角看,落地成本比裸机价高 23%–33%。…

作者头像 李华
网站建设 2026/9/6 8:14:34

MBTI长版和短版怎么选?别只按题目多少做决定

面对不同长度的 MBTI 测试,很多人会直接把“题目更多”理解成“结果更准”,或者因为赶时间只挑最短的版本。其实,版本选择更应该看作答条件和使用目的。选到与当下状态相匹配的版本,比单纯比较题目数量更有意义。 先问自己&#x…

作者头像 李华
网站建设 2026/9/6 8:14:15

线上活动技术支撑:从需求到部署的全流程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华