Files
BlogPosts/Collection/YoudaoyunNotes/02C语言/01-C语言概述.md

131 lines
2.9 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 一、概述
C 语言是一种通用的、
## 1. **发展历程**
- **1972 年**C 语言诞生于贝尔实验室,作为 UNIX 系统的开发语言。
- **1989 年**ANSI CC89成为首个标准化版本奠定语言基础。
- **1999 年**C99 引入新特性(如布尔类型、变长数组)。
- **2011 年至今**C11、C17 等版本持续完善,保持语言活力。
## 2. **重要意义**
- **系统级编程**UNIX、Linux、Windows 等操作系统核心均用 C 语言编写。
- **语言桥梁**C++、Java、Python 等语言借鉴其语法结构,被称为 “编程的母语”。
- **性能标杆**:代码执行效率接近汇编语言,适合对性能要求极高的场景。
# **二、C 语言的核心特性**
## 1. **高效性**
- 直接操作内存(通过指针),减少运行时开销。
- 编译型语言,生成机器码,执行速度快。
## 2. **灵活性**
- 支持底层操作(如位运算、内存管理)。
- 可扩展为面向对象(如通过结构体和函数指针实现封装)。
## 3. **可移植性**
- 遵循标准C的代码可在不同平台如 Windows、Linux、嵌入式系统编译运行。
## 4. **强大的标准库**
- **输入输出**stdio.h如printf、scanf
- **字符串处理**string.h如strcpy、strlen
- **内存管理**stdlib.h如malloc、free
- **数学运算**math.h如sqrt、sin
# **三、C 语言的应用场景**
## 1. **系统软件**
- 操作系统内核(如 Linux、macOS
- 驱动程序、文件系统。
## 2. **嵌入式开发**
- 物联网设备、智能家居。
- 汽车电子、工业控制。
## 3. **游戏开发**
- 游戏引擎(如 Unity 的底层)。
- 高性能游戏逻辑。
## 4. **高性能应用**
- 数据库系统(如 MySQL
- 图形处理库(如 OpenGL
# **四、C 语言的优缺点**
## 1. **优点**
- 执行效率高,适合对性能敏感的场景。
- 跨平台兼容性好。
- 学习曲线平缓,适合编程入门。
## 2. **缺点**
- 手动内存管理如malloc/free易导致内存泄漏。
- 缺乏高级特性(如垃圾回收、泛型)。
- 错误处理依赖返回值和全局变量如errno
# **五、学习资源推荐**
1. **经典教材**
- 《C Primer Plus》入门
- 《C Programming Language》K&R 原著,进阶)
- 《Linux图文指南》
1. **在线教程**
-
-
-
1. **开发环境**
- 编译器GCCLinux/macOS、MinGWWindows
- IDECLionJetBrains、Code::Blocks、VsCode。
# 六、怎么学好C语言
1. 先学习C语言的基础知识打好基础
1. 多看、多写、多思考、多练习编程
1. 开始着手写一些简单的项目,如小游戏
1. 在网上寻找一些大佬的项目进行观摩、学习和积累经验。
> 只要写不死,就往死里写
> ----学好C语言