a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 84|回复: 0

[C语言] 2012计算机等级考试C语言考点7

[复制链接]
发表于 2012-7-31 21:48:08 | 显示全部楼层 |阅读模式
宏定义(不带参数的宏定义,带参数的宏定义) 5 }% }3 \& Z9 z$ n; G" i
  1.编译预处理就是对C源程序进行编译前,由″编译预处理程序″对预处理命令行进行处理的过程。
3 [3 Q$ v# z  n5 l9 A9 b  2.C语言中,凡是以″#″开头的行,都称为″编译预处理″命令行。C语言中的编译预处命令有:#define,#undef,#include,#if,#else,#elif,#endif,#ifdef,#ifndef,#line,#pragma,#error。这些预处理命令组成的预处理命令行必须在一行的开头以″#″号开始,每行的未尾不得加″;″号,以区别于C语句、定义和说明语句。   e" ]; o$ C( V, ?; W! w
  3.不带参数的宏定义:命令的一般形式为: 7 O5 X* P7 j: J
  #define 标识符 字符串 2 h/ G! N4 E, J' |' ~
  定义中的″标识符″为用户定义的标识符,称为宏名。在预编译时,C预编译程序将出现的宏名替换成″字符串″的内容,这一过程也称为宏展开。
/ n! K6 t2 X* W, F  4.带参数的宏定义:命令的一般形式为
4 H6 s. L1 K- F# I' `  #define宏名(形式参数) 字符串 # H( A& N% }  H  \3 K
  定义中的″字符串″应包含括号中所指定的形式参数。注意宏名与括号之间不要加空格,否则就成为不带参数的宏定义了。   5.预编译时,遇到带实参的宏名,则按命令行中指定的字符串从左到右进行置换,原则是:遇到实参则以实参代替,非形参字符原样保留,从而成展开后的内容。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-2 18:58 , Processed in 0.177785 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表