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