《c--语言程序设计-第三章--预处理及语句》由会员分享,可在线阅读,更多相关《c--语言程序设计-第三章--预处理及语句(19页珍藏版)》请在金锄头文库上搜索。
1、第三章 预处理和语句,第三章,一、预处理功能: C+的预处理功能:是指C+源程序中可以包含使 用的各种编译命令,而这些编译命令由于它们是在程序 被正常编译之前执行的,故称为预处理命令(或指令)。 这些命令所实现的功能则称为预处理功能。 预处理命令实际上不是C+语言的一部分,只是用 来扩充C+语言程序设计的环境,从而使程序设计更加 简练、清晰。,第三章,1、文件包含命令: 文件包含命令格式: #include 或者 #include “文件名” 前一种格式是指由系统提供的并放在指定子目录 中的头文件,后一种格式是指那些由用户自己定义的放 在当前目录或其他目录下的头文件或者其他源文件。 在定义和使
2、用文件包含命令时应注意: (1)、一条文件包含命令只能包含一个文件。 (2)、文件包含命令可以嵌套使用。 (3)、为使编译后的目标文件不宜过长,在定义被包,第三章,含文件时,其内容不宜过多。 2、 条件编译命令:是用来定义某些编译内容要在满 足一定条件下才参与编译的,否则将不参与编译。 常用的条件编译命令有三种格式: (1)、格式一: #ifdef #else #endif 或者:,第三章,#ifdef #endif (2)、格式二: #ifndef #else #endif 或者: #ifndef ,第三章,#endif (3)、 格式三 #if #e1if #elif #else #end
3、if,第三章,3、宏定义命令:是用来将一个标识符定义为一个字符 串,该标识符被称为宏名,被定义的字符串称为替换 文本。宏定义命令有两种格式: (1)、简单的宏定义: 格式: #define 在使用简单宏定义时应注意: a、和之间用空格分开,不要用等号 连接。 b、使用#define定义的标识符不是变量,它只用作宏 替换,因此,它不占有内存。 c、#define是一条预处理命令,一般不用分号结束。 d、为了与变量名区分常常用大字写母表示。,第三章,e、标识符被宏定义后,在取消这次宏定义之前,不允 许重新对它宏定义。 取消宏定义命令格式: #undef f、宏定义可以嵌套。 (2)、带参数的宏定义
4、: 定义格式: #define () 替换时,中与参数表中相同的标识符的字符 序列被程序中所引用这个宏定义时所提供的与该标识 符所对应的字符序列所替换 。例如:,第三章,#define ADD(x, y) x+y void main() : S=ADD(7,8); S=ADD(a+1,b+2); : 则被替换为: S=7+8; S=ADD(a+1)+(b+2); 使用带参数的宏定义时注意: a、带参数的宏定义的应尽量写在一行上,如 果需要写在多行上时,要使用续行符。,第三章,b、与参数表左括号之间不能出现空格,否则会 与简单宏定义混淆。 c、定义带参数的宏定义时,宏体中与参数名相同的字 符序列
5、适当地加上圆括号是十分重要的,这样可以避 免宏替换后在优先级上发生的问题。,第三章,二、语句: C+提供了丰富的语句,从而能够组成结构化程序 设计所需要的三种基本控制结构:连续结构、选择结构 和循环结构。 1、表达式语句和空语句: 任何表达式加分号(;)组成表达式语句。 只有一个“ ;”的语句称空语句。 2、复合语句和分程序: 含有两条或两条以上的用一对花括号括起来的语 句称复合语句(块语句)。在语法上相当于一条语句。 含有一条或多条说明语句的复合语句称为分程序, 也称块结构。,第三章,3、选择语句: (1)、条件语句: 条件语句格式: if () else if() else if() el
6、se if () else (2)、开关语句: 开关语句的格式:,第三章,switch () case: case: case: default: 4、循环语句: C+中提供了三种循环语句: while循环语句,do- while循环语句,for 循环语句。它们的共同特点是,第三章,根据循环条件来判断是否执行循环体。 (1)、while 循环语句: 格式: while ( (2)、do-while 循环语句: 格式: do while () (3)、for 循环语句: 格式: for(d1;d2;d3) 执行过程: 、计算d1 、计算d2并判断,若为0退出循环;若非0,第三章,、语句 、计算d3,返回 5、转向语句: (1)、goto语句: 格式如下: goto语句标号; goto语句被限制在一个函数体内使用,且在一个 函数中,语句标号是唯一的,尽量少用,最好不用。 (2)、break语句: 格式如下: break;,第三章,该语句用在开关语句的语句序列中或用在循环语 句的循环体中,其作用是退出该开关语句或退出该重 循环。 (3)、continue语句: 格式如下: continue; 该语句仅用于循环语句的循环体内,其功能是结 束该重循环,回到循环条件,判断是否执行下一次循环。,第三章,第三章,第三章,