c语言是面向过程的语言,c++面向对象。
c语言的缺点:c语言使用指针,涉及指针的编程错误往往难以察觉。
编译器是把高级语言程序翻译成计算机能理解的机器语言指令集的程序。
高级语言能以更抽象的方式描述行为,而不受限于特定的CPU和指令集。
与大多数语言不同的是,C语言比其他语言更依赖库,因此需要一个标准库。实际上,由于缺乏官方标准,Unix实现提供的库已成为标准库。
C是编译型语言。编写C程序的7个步骤:
1.定义程序的目标。
2.设计程序。应以一般的术语来描述问题,而不是代码。
3.编写代码。
4.编译。编译的细节取决于编程的环境,编译器是把源代码转换成可执行代码的程序。
可执行代码是用计算机的机器语言表示的代码,这种语言由数字码表示的指令组成。
C编译器还将源代码与C库的代码合并成最终的程序(涉及到链接器),生成一个用户可运行的可执行文件。
5.运行程序。cmd或者IDE。
6.测试和调试程序。查找并修复程序错误的过程叫调试。
7.维护和修改代码。建议写注释。
使用C语言编写程序时,编写的内容被存储在文本文件中,该文件被称为源代码文件。
文件名:由基本名(basename)和拓展名(extension)构成。例如:budget.c中,前面的budget是基本名,c是拓展名。
文件名应满足特定计算机操作系统的特殊要求,不同的操作系统可能对文件名(包括基本名和拓展名)的字符长度有要求。
编译器将源代码转换成中间代码,中间文件有多种形式,最普遍的就是把源代码转换成机器语言代码,并把结果放在目标代码文件中(简称目标文件)。
链接器的作用是,将你编写的目标代码、系统的标准启动代码和库代码这三个部分合并成可执行文件。
源代码(concrete.c)→编译器→目标代码(concrete.obj)→链接器→可执行代码(concrete.exe)
其中,库代码和启动代码均接入链接器中。
第一章复习题
- 对编程而言,可移植性意味着什么?
- 解释源代码文件、目标代码文件和可执行文件有什么区别?
- 编程的7个主要步骤是什么?
- 编译器的任务是什么?
- 链接器的任务是什么?
编程练习 题目简单,就不写了。
第一章看完。