第一章:C语言概述
1.1 计算机语言发展简史
计算机语言是人与计算机交流的媒介,其发展经历了以下阶段:
- 机器语言(1940s)
• 由二进制代码(0和1)构成,直接由计算机硬件执行。
• 特点:效率极高,但可读性差、难以维护。
- 汇编语言(1950s)
• 使用助记符(如 MOV
, ADD
)代替二进制指令。
• 特点:比机器语言更易理解,但仍依赖硬件架构。
- 高级语言(1950s-1960s)
• 诞生了如 FORTRAN(科学计算)、COBOL(商业应用)等语言。
• 特点:语法接近自然语言,独立于硬件,需通过编译器或解释器转换为机器码。
- C语言的诞生(1972年)
• 由 Dennis Ritchie 在贝尔实验室开发,用于重写UNIX操作系统。
• 定位:兼具高级语言的易用性和底层操作能力,被称为“中级语言”。
1.2 C语言的特点与应用领域
特点:
• 高效性:可直接操作内存和硬件,适合开发系统级程序。
• 灵活性:支持面向过程编程,允许自定义数据结构。
• 可移植性:代码可跨平台编译,只需少量修改。
• 简洁性:关键字少(仅32个),语法简洁。
应用领域:
- 操作系统(如Linux内核、Windows驱动)。
- 嵌入式系统(如单片机、物联网设备)。
- 游戏开发(引擎底层优化)。
- 数据库(如MySQL、Redis的核心模块)。
1.3 编程规范与代码风格
良好的代码风格能提高可读性和维护性,建议遵循以下规范:
- 命名规范
• 变量/函数名:小写字母+下划线,如 calculate_sum
。
• 常量:全大写,如 MAX_SIZE
。
- 缩进与空格
• 使用 4个空格 或 Tab 缩进代码块。
• 运算符两侧加空格:int sum = a + b;
。
- 注释
• 单行注释:// 计算总和
• 多行注释:
/*
* 函数功能:计算两数之和
* 参数:a, b为整数
*/
- 代码块风格
• K&R风格(推荐):
if (condition) {
// 代码
}
1.4 第一个C程序解析:Hello World
代码示例:
#include <stdio.h> // 引入标准输入输出库
int main() { // 主函数,程序入口
printf("Hello World!\n"); // 输出字符串
return 0; // 返回状态码,0表示成功
}
逐行解析:
#include <stdio.h>
• 包含标准输入输出库,提供 printf()
函数。
int main()
• 主函数,程序执行的起点,必须返回一个整数。
printf("Hello World!\n");
• 输出字符串,\n
表示换行符。
return 0;
• 向操作系统返回状态码,0代表正常结束。
编译与运行:
- 保存文件为
hello.c
。
- 命令行编译:
gcc hello.c -o hello
(生成可执行文件 hello
)。
- 运行:
• Windows:.\hello.exe
• Linux/macOS:./hello
常见错误:
• 缺少分号:printf("Hello")
→ 编译报错。
• 拼写错误:prinft
→ 未定义函数。