【C-Primer-Plus读书笔记】第2章:C语言概述
简单的C程序示例
简单程序的结构
函数是C语言的基本模块,程序由一个或多个函数组成,必须有main()函数。函数结构如下:
提高程序可读性的技巧
进一步使用C
- 函数原型,即函数声明。其指明了函数的类型、名称和参数类型。
- 何时执行函数取决于该函数的被调用位置,而不是其定义位置。
- 无论main()函数在程序的什么位置,所有C程序都从main()开始执行。
程序一定会有一个调用者和被调用者的关系,比如系统调起main(),而main()又一一调起main()里的函数,这就是调用栈(call stack)
调试程序
程序的错误通常叫做bug,找出并修正错误的过程叫做调试(debug)
语法错误
- 不遵循C语言的规则,把有效的C符号放在错误的地方。
- 常见的某处隐藏的语法错误致使编译器误判,会导致后面的程序接连出错,一般处理掉前几条错误后面就迎刃而解了,另外编译器的报错位置通常比真正的错误位置滞后一行。
语义错误
- 指意思上错误,在C语言中,如果遵循了C规则,但是结果不正确,那就是犯了语义错误。
- 编译器无法检测语义错误,因为这类错误并未违反C语言的规则。编译器无法了解你的真正意图,所以只能自己找出这些错误。
- 程序状态
通过逐步跟踪程序的执行步骤,并记录每个变量,便可监视程序的状态。程序状态是在程序的执行过程中,某个定点上所有变量值的集合,它是计算机当前状态的一个快照。 调试程序的方法:
- 模拟:通过逐步跟踪程序的执行步骤,并记录每个变量,便可监视程序的状态。
- 打印:在程序中的关键点插入额外的printf()语句,以监视指定变量值的变化。
- 调试器:使用调试器,以打断点的形式让程序在断点处停止下来,或一步一步的运行该程序,并检查程序变量的值。