目录
前言
1. C语言的起源及发展
2. 第一个C语言程序
3. C语言编程的两个原则
4. 程序结构
5. 练习
C语言是什么?
C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。
C语言有哪些特点?
具有高效、可移植、灵活、简单、可扩展性等显著特点,被广泛应用于操作系统、编译器、数据库、图形界面、嵌入式系统、网络通信、游戏等领域。C语言具备结构化的控制语句、丰富的数据类型、丰富的运算符、可对物理地址进行直接操作、代码具有较好的可移植性、可生成高质量、目标代码执行效率高的程序等。
为什么要学习C语言?
简单易学:语法简单易懂,非常适合编程初学者。
基础编程语言:其他编程语言的基础,学习C语言可为后续学习打下坚实基础。
强大的编程能力:虽然语法简单但可实现复杂的功能和算法,提升编程和思维能力,广泛应用于嵌入式系统、操作系统、网络协议,编译器等。
深入理解计算机原理:接近底层,学习C语言有助于理解计算机底层原理、内存管理和指针操作,提升对计算机系统的理解。
学习一门语言有必要了解其历史背景,有助于我们从全局上熟悉整体脉络。
20 世纪 60 年代,贝尔实验室的 Ken Thompson 在 PDP-7 上开发了 Unix 操作系统。为了更好地实现 Unix 系统,Ken Thompson 使用汇编语言编写了 Unix 的大部分代码。
然而,随着 Unix 系统的逐渐发展,代码越来越复杂,汇编语言的编写效率变得很低。因此,Ken Thompson 决定开发一门更高级的语言,用于替代汇编语言,使得代码编写更加高效、简洁。
在此背景下,C语言应运而生。Dennis Ritchie 和 Ken Thompson 联合开发了 C语言,用于 Unix 系统的内核开发。
C语言以 B语言为基础,吸收了 Algol 60 和 Fortran 等语言的优点,具有简单、高效、可移植等特点。
1972 年,Dennis Ritchie 在《Communications of the ACM》上发表了一篇题为《The Development of the C Language》的论文,介绍了 C语言的设计思想和语法规则。这篇论文使得 C语言开始得到广泛的关注和应用。
1978 年,美国国家标准协会(ANSI)开始制定 C语言的标准化。
1983 年,C语言的第一个标准化版本 ANSI C(也称为 C89)正式发布。C89 对 C语言的语法、库函数等做出了明确的规定,为 C语言的标准化发展奠定了基础。
1990 年,国际标准化组织(ISO)发布了 C语言的国际标准 ISO/IEC 9899:1990(也称为 C90)。C90 在 C89 的基础上进行了一些修改和完善,成为 C语言的国际标准。
1999 年,ISO 发布了 C语言的第二个国际标准 ISO/IEC 9899:1999(也称为 C99)。C99 增加了一些新的特性,如 inline 函数、变长数组、单行注释等,扩展了 C语言的功能和灵活性。
2011 年,ISO 发布了 C语言的第三个国际标准 ISO/IEC 9899:2011(也称为 C11)。C11 增加了一些新的特性,如泛型选择、多线程支持、原子类型等,进一步提高了 C语言的功能和可移植性。
C语言被广泛应用于操作系统、编译器、数据库、网络通信、游戏等领域。下面介绍几个典型的应用场景:
操作系统:Unix、Linux、Windows 等操作系统都是用 C语言编写的。
编译器:C语言本身就是一门编译型语言,因此 C语言编译器也是用 C语言编写的。
数据库:许多数据库管理系统,如 MySQL、Oracle 等,都是用 C语言编写的。
网络通信:C语言提供了 socket 库,使得程序员可以方便地实现网络通信功能。
游戏:许多游戏的底层引擎都是用 C语言编写的,例如 Doom、Quake 等游戏。
学习了这么多的理论,接下来我们开始实操,做一个实干派。
/*认识的第一个头文件,标准输入输出*/
#include
/*main函数是程序的入口,程序从main函数第一行开始执行,一个工程中main函数有且只有一个*/
int main()
{
int num = 0;
/*标准输入*/
scanf("%d", &num);
/*使用输出打印的库函数*/
printf("hello world! input num = %d\n", num);
return 0;
}
- 程序一定是main函数开始执行,而不论main函数在何位置
- 采用自顶向下、逐步求解的程序设计方法,将大程序分解成小型、便于管理的任务,使用顺序、选择、循环三种基本控制结构构造
任何C程序主要包含三部分
- 头文件:#include
:头文件是起到调用库文件、库函数的作用。 - 主函数:main() {} //程序的入口
- 函数:一定有三部分:函数声明、子函数、函数调用
void fun(void); //函数声明
void fun(void) //函数定义
{
}fun(); //函数调用。