匿名用户

1级

2017-12-21 回答

我们可以在C源程序中插入传给编译程序的各中指令,这些指令被称为预处理器指令,它们扩充了程序设计的环境。现把常用的预处理命令总结如下:

1. 预处理程序

按照ANSI标准的定义,预处理程序应该处理以下指令:

#if #ifdef #ifndef #else #elif

#endif

#define

#undef

#line

#error

#pragma

#include

显然,上述所有的12个预处理指令都以符号#开始,,每条预处理指令必须独占一行。

2. #define

#define指令定义一个标识符和一个串(也就是字符集),在源程序中发现该标识符时,都用该串替换之。这种标识符称为宏名字,相应的替换称为宏代换。一般形式如下:

#define macro-name char-sequence

这种语句不用分号结尾。宏名字和串之间可以有多个空白符,但串开始后只能以新行终止。

例如:我们使用LEFT代表1,用RIGHT代表0,我们使用两个#define指令:

#define LEFT 1

#define RIGHT 0

每当在源程序中遇到LEFT或RIGHT时,编译程序都用1或0替换。

定义一个宏名字之后,可以在其他宏定义中使用,例如:

#define ONE 1

#define TWO ONE+ONE

#define

c语言中预处理都有哪些类型,c语言中预处理命令都有哪些相关推荐

  1. python 是什么类型的语言-python是一种什么类型的语言

    小时不识月,呼作白玉盘.很多人习惯地说Python不过是一种脚本语言而已,实际上这种说法是非常不准确的,完全不能体现出Python的强大. 严格来说,Python是一门跨平台.开源.免费的解释型高级动 ...

  2. linux系统中不存在 基本文件类型,Linux系统中不存在以下哪个基本文件类型( )

    [判断题]员工在工作不满意时会采取何种行为,主要受外界环境的影响. [单选题] [单选题]管理的本质是 ______ . [判断题]执行给药原则中,首要的是严格执行查对制度 [单选题]已知两点 ,则过 ...

  3. c语言用if语句判断字符类型,C语言if语句的使用

    C语言if语句的使用 [例3] #include int main(void){ char c; printf("input a character: "); c=getchar( ...

  4. php中explode的是什么类型的_PHP中explode函数和split函数的区别小结

    一.前言 之所以做这个,是因为这两个函数的作用很像,都是把字符串转换成数组. 二.explode 从下面的例子可以看出,生成的数组是有对应的顺序的. $pizza = "piece1 pie ...

  5. C++对C的加强之C++中所有的变量和函数都必须有类型

    变量和函数都必须有类型 C++中所有的变量和函数都必须有类型 总结 C++中所有的变量和函数都必须有类型 /* C++中所有的变量和函数都必须有类型 C语言中的默认类型在C++中是不合法的 函数f的返 ...

  6. python程序设计语言是什么类型的语言-Python 是弱类型的语言 强类型和弱类型的语言区别...

    Python 是弱类型的语言 在强类型的编程语言中,定义变量时要指明变量的类型,而且赋值的数据也必须是相同类型的,C语言.C++.Java 是强类型语言的代表. 下面我们以 C++ 为例来演示强类型语 ...

  7. c语言 结构体 占位符,深入理解结构体中占位符的用法

    深入理解结构体中占位符的用法 复制代码 代码如下: typedef union { struct x{ char a1 : 2; char b1 : 3; char c1 : 3; }x1; char ...

  8. MySQL中的char和varchar类型

    文章目录 1 MySQL中的char和varchar类型 1 MySQL中的char和varchar类型 CHAR类型和VARCHAR类型都在创建表时指定了最大长度,其基本形式如下: 字符串类型(M) ...

  9. MySQL中的日期和时间类型

    文章目录 1 MySQL中的日期和时间类型 1 MySQL中的日期和时间类型 日期与时间类型是为了方便在数据库中存储日期和时间而设计的,数据库有多种表示日期和时间的数据类型.其中,YEAR类型表示年, ...

最新文章

  1. js:appendChild、insertBefore和insertAfter
  2. 手工清理C:\windows\alg.exe病毒
  3. 全球及中国天然香豆素行业竞争态势与投资份额调研报告2022版
  4. 如何将EDM营销与多渠道推广方式相结合
  5. 固件的完整形式是什么?
  6. html 输入框 相加,JS中,如何实现两个输入框中内容的数字相加?
  7. 用信号量实现进程互斥示例和解决哲学家就餐问题
  8. 阿里云产品专家孟威:SLS 全景体验
  9. Linux sogou input method
  10. ubuntu设置开机启动项
  11. 魅族路由器极速版刷机_[技术贴]路由器刷pandavan固件教程——以魅族路由器极速版为例...
  12. selenium1和2区别
  13. OpenShift免费空间申请使用教程
  14. (C语言)2048游戏实现
  15. 用java画太阳图_使用Java制作太阳系模型(3)
  16. Android短视频开发中的sdk接入方案
  17. 如何收看2020年夏季东京奥运会?
  18. JavaScript前台判空
  19. 为什么有时候双击excel表格里面的单元格的时候会跳到其它地方?
  20. mac视频转换器哪个好用!推荐这款Omni Converter全能转换器!给力!

热门文章

  1. 数据库函数依赖与候选码求解
  2. matlab 矩阵平均值
  3. 【小技巧】argc和argv的用法
  4. hive之生成唯一id
  5. Android应用安装流程理解
  6. 摄影测量学和计算机视觉,科学网—摄影测量与计算机视觉——系列1 光与视觉 - 季顺平的博文...
  7. .net连接access数据库
  8. 代码随想录算法训练营第一天 704 二分查找、27 移除元素
  9. C语言中fscanf函数
  10. VMWare 绕过虚拟机检测