请登录
四川成人和教育管理有限公司 - 笔记串讲 - 工学类 - 4737C++程序设计 - 浏览文章

04737《C++程序设计》知识点7

2016/5/31 9:37:350人浏览0评论

第8章 函数

8.1.自定义函数的格式为:

函数值类型 函数名(带类型声明的形参表列)   {函数体}

8.2.函数值的默认数据类型为int。

8.3.如果函数有返回值,则用return语句返回,其格式为:

return 表达式;    或    return(表达式);

8.4.如果函数无返回值,即函数值类型为void,亦可用格式:

return;

结束本函数并返回调用者。

8.5.函数一般调用格式为:

函数名(实参表列)

其中,实参表列为一组逗号分隔的表达式。实参按从右至左的次序计算并传递给相应形参。

8.6.如果函数调用在其定义之前,调用前应作相应声明,声明格式为:

函数值类型名 函数名(形参及其类型声明表列);

其中,形参可省略。

8.7.函数不可嵌套定义,但允许嵌套调用,亦可直接或间接调用自身(称作递归函数)。

8.8.递归函数的函数体的一般格式为:(B班同学不作要求)

if(递归条件)语句1      /*递归时,如何递归*/

else 语句2             /*非递归时,如何处理*/

if(!递归条件)语句1     /*非递归时,如何处理*/

else 语句2             /*递归时,如何递归*/

8.9.形参及函数内定义的变量称作局部变量,它从定义处生效,且只在该函数内有效。因此,不同函数中的局部变量可以同名,但同名不同义。

8.10.在所有函数之外定义的变量称作全局变量,它从定义处生效。

8.11.如果局部变量与全局变量同名,则同名全局变量被屏蔽。

8.12.局部变量的存储方式分为:自动(auto,默认)、静态(static)、寄存器(register)。

8.13.存储方式和数据类型是变量的两个重要属性,必须在定义变量时一并声明,关键字的排列顺序没有限制。变量的默认数据类型为int,默认存储方式为auto,但关键字auto和int不可同时缺省。

8.14.auto型局部变量占用动态数据区,当函数调用结束时释放所占内存。register占用CPU中的寄存器,但寄存器不够用时,占用动态数据区。

8.15.全局变量和static型局部变量占用静态数据区,默认初值为相应数据类型的0。

8.16.static型局部变量的声明和初始化只执行一次。

8.17.如果全局变量被声明为static型,则其它程序文件不能使用该全局变量。否则,其它程序文件也可使用该全局变量,但使用前应作extern声明。

8.18.被声明为static型的函数,只在本程序文件中有效,不能被其它程序文件调用。否则,其它程序文件也可调用此函数,但调用前应作extern声明。

8.19.常用数学函数在头文件math.h中。掌握基本初等函数。

第9章 预处理命令

9.1.预处理命令在程序编译前执行,其主要功能是“文本置换”。

9.2.不带参数宏定义的格式和功能如下:

格式:#define 宏名 文本

功能:在预处理时,将程序中宏名用相应的文本置换。

9.3.带参数宏定义的格式和功能如下:

格式:#define 宏名(形参表列) 文本

功能:在预处理时,将程序中带参数的宏用相应的文本置换,且文本中的形参被相应的实参所置换。

注意:形参无须且做类型声明。

9.4.终止宏定义的格式如下:

格式  #undef 宏名

9.5.宏定义可以引用已有的宏,亦可重新定义所代表的文本。

9.6.预处理命令无须以分号结尾,否则分号也参与置换。

9.7.#include命令的格式和功能如下:

格式一:#include "文件名"

格式二:#include <文件名>

功能:在预处理时,用指定文件置换本命令——加载文件。置换后,被包含文件成为本文件的一部分,其函数、全局变量等均可在本文件中直接使用,无须作extern声明。前一种格式先在当前目录中找指定文件,如果未找到,方到存放C头文件的目录中查找。后一种格式直接到存放C头文件的目录中查找指定文件。

9.8.条件编译命令的格式和功能如下:

格式一:#ifdef 宏名 程序段1 #else 程序段2 #endif

功能:在预处理时,如果指定的宏名已定义,则用程序段1置换本命令,否则用程序段2置换本命令。当程序段2为空时,#else可省略(下同)。

格式二:#ifndef 宏名 程序段1 #else 程序段2 #endif

功能:在预处理时,如果指定的宏名未定义,则用程序段1置换本命令,否则用程序段2置换本命令。

格式三:#if 常量表达式 程序段1 #else 程序段2 #endif

功能:在预处理时,如果指定常量表达式的值为真(非0),则用程序段1置换本命令,否则用程序段2置换本命令。

9.9.注释命令在预处理时被删除,不影响源程序和目标程序。注释命令的格式如下:

/*注释内容*/


关键字:
网友评论