1.递归问题:回推、递推
2.阶乘:Factorial
求阶乘可用递推或递归方法。
3.局部变量
3.1不同函数中可以使用同名的变量,他们代表不同的对象,在内存中占不同的单元,互不干扰;
3.2函数内的复合语句中定义的变量只在本复合语句中有效;
3.3编译系统对函数声明中的变量名是忽略的,函数调用时也没有为他们分配存储单元。
4.全局变量
4.1全局变量有效范围:定义变量的位置到本源文件结束;
4.2同一个源文件中,全局变量与局部变量同名,则在局部变量的作用范围内,全局变量被屏蔽。
5.变量的存储类别:动态存储和静态存储
动态存储:程序运行期间,系统对变量动态的分配存储空间
静态存储:程序运行期间,系统对变量分配固定的存储空间。(需要保存上一次调用结束的值时用静态变量)
6.外部变量:
6.1在定义点之前的函数想要引用该全局变量,则应该在引用之前用关键字extern对该变量做外部声明,表示该变量时一个将在下面定义的全局变量,称为提前引用声明。
6.2多文件程序中声明外部变量
在任一个文件中定义外部变量,在另一个文件中用extern对外部变量做声明。
6.3用static声明的静态外部变量
只能用于本文件的外部变量(全局变量)
6.4两种形式的外部变量都静态存储,作用范围不同,都是编译时分配内存。
7.内部函数和外部函数:
7.1区别:能否被其他源文件调用;
7.2内部函数:前加staitic
7.3外部函数:前加extern或省略,调用此文件的函数时,用extern声明所用的函数时外部函数。
8.预处理功能:
宏定义、文件包含、条件编译
8.1宏定义:#define 标识符 字符串
8.2文件包含:#include "file2.cpp"