C++是在C语言的基础之上发展起来的。它既适合于编写面向过程的程序,也适合于编写面向对象的程序。在C语言推出之前,操作系统等系统软件主要是用汇编语言编写的。由于汇编语言依赖于计算机硬件,因此程序的可移植性和可读性就较差。但汇编语言也有它的好处,它能对硬件直接进行操作,速度快,效率高,一般高级语言没有这种功能。于是,1973年,贝尔实验室的Thompson和Ritchie开发了C语言,并用它重写了UNIX的大部分代码。C语言
2.3 编译预处理
C++语言允许在程序中用预处理命令写一些命令行。这些预处理行都以“#”打头,末尾不加分号以区别于语句行。它们可以出现在程序中的任何位置,但一般写在程序的头部。C++编译器在进行实质性的编译前,先要用它们的预处理程序对这些预处理命令行进行处理。C++提供的预处理命令有:
宏定义指令 #define
文件包含指令 #include
条件编译指令
行控制指令
其它 #if ... #else ...#end if #line 如 #pragma, #error
1. 宏定义
宏定义也称宏代换,实际就是用一个宏名字来命名一个字符串,其形式为: #define 宏名 宏体
下面是宏定义的一些例子:
#define EOF -1 //定义文件结束符
#define MAXIM 2147483647 //定义4字节最大值
#define
#define
#define
#define
#define
#define
#define TRUE FALSE 0 1 //定义逻辑真 //定义逻辑假 //取消DELETE宏定义 DELETE PI RADIUS CIRCUM CUBE(x) 3.1415926 2.0 return(2.0*PI*RADIUS) x*x*x
宏代换虽然很方便,增加了程序的可读性,但也同时会产生一些副作用。如函数调用时系统要进行参数类型检查,而宏调用没有内部类型检查,当实参与形参的类型不匹配时,会出现难以预料的结果 。
2. 文件包含
文件包含的作用是让编译器把一个已经进入系统的源文件嵌入到当前源文件中该指令处。它有两种格式:
#include<文件名> //编译器默认路径
#include“文件标识” //当前文件合法路径,可包含路径名
头文件中主要用来存放一些常量,常用数据结构,函数原型声明等等。这是模块化程序设计的一种有效的手段。
3. 条件编译
条件编译是源文件内系统级的选择结构,其格式如下:
#if 判断表达式
语句或预处理命令表列
#else
语句或预处理命令表列
#end if
使用条件编译可以有选择地对源程序中的部分代码进行编译,提高了代码的效率。条件编译常用于程序的调试过程。即在程序设计时为了便于检查程序是否有预想的中间结果或想
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新教学研究C++程序设计教程 第2章 过程的组织和管理(10)全文阅读和word下载服务。
相关推荐: