写在前面
此部分内容为学习C primer plus时的一些笔记,主要是关于一些容易忘的点、学习的体会,以帮助自己记忆与查阅。
- C语言的编程机制
一般的编程过程为:在编程环境(如各种集成式开发环境IDE,integrated development environment)编写源代码->C实现将代码转换成可执行文件(exe)->运行可执行文件。
由源代码->可执行文件,需要通过编译与链接两个过程实现。编译器将源代码转化为中间代码(一般翻译为机器语言代码),后链接器将中间代码与其他代码(启动代码+库函数,前者为程序与操作系统的接口)合并成可执行文件。
- C代码的组成
一段C代码的必须组成如如下示例所示。
#include是一条预处理指令,用于包含该代码需要使用但在其他代码中的代码信息。C语言中,一般将常量、函数定义放在头文件(header)中,而将具体代码实现放在预编译的代码库文件中(一般以.c为后缀)。C中还有其他预处理指令,如预定义常量(define)等#include <stdio.h>//包含头文件,如C标准库文件、解决方案中的文件 int main()//主函数,是c代码的执行起点。注意函数需使用一对花括号括起来。 { printf("haha");//每句语句以";"作为结尾,故若语句过长,可以分段写。 getchar(); return 0; }//花括号作结
- 提高C代码可读性的一些技巧——代码构思
#养成打草稿、写伪码的习惯
写代码前,好好思考问题(即需求)的解决方法,它它由那几部分组成?需要什么才能实现?是否可以将其分割为几个独立的小问题?每个小问题该如何解决?在得到了一种解决方法以后,是否可以再度进行优化?比如让代码更模块化?
在思考了这些问题以后,再将每个小问题的解决方案用伪码表示出来,并将每个小问题作为一个独立的模块,最后进行代码的编写。
#尽量将各部分代码功能区分好,形成各个模块
在构思代码时,首先应能解决问题,但光解决问题还不够,应还能让代码利于后续能复用(以提高开发效率)、维护。目前主要的经验是在函数定义上多注意,如可以传递一个类型对象而不是单单对象的某一属性。不过需要注意的是,还得考虑代码的安全性,避免某些函数将某一变量的属性改动导致bug。
#利用预定义常量提高可维护性
预定义变量可以直接在预处理指令段直接修改,而不需要在后续代码中一个个修改,十分方便。一般可以用明示常量(即用define预处理器定义的常量)表示所需的最大数组大小、需要反复用的某一属性值等。
- 提高C代码可读性的一些技巧——写代码
#模块化
指将预处理、函数/预定义常量定义、驱动代码、函数实现代码等不同内容用一行隔开。这样更容易显得模块化
#分行写
指将代码一行一行写,每条语句占一行。
#变量命名
指将变量的含义表现于变量名上(但需注意不要与系统的关键字重合),如用width表示某物体的宽度。可以通过一定的格式加以区分不同物体的相同属性,如“物体类型_属性”表示某一类物体的属性变量。这个需要在代码构思上就多加考虑。