《kj第章预处理编程技巧分析》课件.pptVIP

  • 6
  • 0
  • 约8.4千字
  • 约 28页
  • 2018-11-12 发布于广西
  • 举报
第6章 预处理命令编程技巧分析 第*页 第6章预处理命令编程技巧分析 C语言编程技巧分析 本章概述 本章首先简单介绍预处理命令的相关知识,接着详细讲解运用预处理命令知识时需要注意的问题,并通过实例分析运用预处理命令知识的一些编程技巧。 本章的学习目标 本章教学目的: 掌握预处理命令的内容;理解运用预处理命令知识时需要注意的一些问题;掌握预处理命令知识相关编程技巧。 本章教学重点: 运用预处理命令知识需注意的问题和编程技巧。 本章教学难点: 关于预处理命令知识的编程技巧。 6.1 预处理命令知识简要介绍 6.2 运用预处理命令知识时需要注意的问题 6.3 预处理命令知识编程技巧分析 本章主要内容 6.1 预处理命令知识简要介绍 6.1.1 宏定义 宏定义指的是以“#define”定义的语句,分为不带参数和带参数两种形式。 1、不带参数的宏定义,一般定义格式如下: #define 标识符 字符串 例如“#define PI 3,作用是用标识符PI来代替字符串3宏定义时所用的标识符称为“宏名”,以后程序中可用宏名代替后面的字符串。在预编译时,将宏名替换成字符串的过程被称为“宏展开”。 注意:宏名通常用大写字母表示。定义宏与定义变量的含义不同,宏定义只是作字符替换,并不给宏名分配内存空间,而定义变量要分配内存空间;宏没有类型,而变量有类型。 6.1 预处理命令知识简要介绍 6.1.1 宏定义 2、 带参数的宏定义,一般定义格式如下: #define 标识符(形参表) 字符串 例如“#define S(r) 3.14*r*r”,S(r)就是一个带参数的宏,当在程序中使用S(5)时,是用5代替宏定义中的形式参数r,S(5)展开为:3.14*5*5,这是用来计算半径为5的圆的面积。 参数可以不止一个,例如下面定义了一个用来计算梯形面积的宏: #define S(a,b,h) (a+b)*h/2 注意:带实参的宏在展开时,按#define命令行中指定的字符串从左到右进行置换,如果字符串中包含宏中的形参(如a、b、h),则用相应的实参代替形参。宏定义中的其它字符则保留,如(a+b)*h/2中的括号、+号、*号、/号和数字字符2。 6.1 预处理命令知识简要介绍 6.1.2 文件包含 “文件包含”预处理的一般格式如下: #include “文件名” 或 #include 文件名 例如本书前面程序中经常用到的“#include stdio.h”。其中的“文件名”和文件名的区别是:当使用双引号格式时,系统首先检索当前文件目录是否有该文件,如果没有,再检索C编译系统中指定的目录;而使用尖括号格式时,预处理程序直接检索C编译系统指定的目录。使用双引号格式时,文件名前可加路径,例如: #include “d:\tc\include\stdio.h” 文件包含的作用是:将一个源文件的全部内容包含进另一个源文件中。被包含的源文件可以是库函数头文件,也可以是用户自己编写的C语言源文件。 6.1 预处理命令知识简要介绍 6.1.3 条件编译 条件编译提供了一种对指定程序内容编译的可能性,即:满足某条件时,对一组语句进行编译,而条件不满足时,则编译另一组语句,这样,同一个源程序在不同的编译条件下能够产生不同的目标代码文件。 条件编译命令有以下几种形式: 1、 #if形式 #if 表达式 程序段1 #else 程序段2 #endif 作用是:当指定的表达式值为真(非零)时编译程序段1,否则编译程序段2。 6.1 预处理命令知识简要介绍 6.1.3 条件编译 2、 #ifdef形式 #ifdef 标识符 程序段1

文档评论(0)

1亿VIP精品文档

相关文档