C语言宏



宏定义常量


#include <stdio.h>#define SIZE 100
#define BANNER "WARNING:"int main(void){printf("%d\n", SIZE);printf("%s\n",BANNER);return 0;
}

宏定义数据类型


#include <stdio.h>#define string char*int main(void){string banner = "HELLO, WORLD!";printf("%s\n",banner);return 0;
}

宏定义函数


#include <stdio.h>
#include <stdlib.h>#define random (rand()%100)int main(void){while(1){int num = random;printf("%d\n", num);if (num >= 50){break;}}return 0;
}

宏定义带参数函数


#include <stdio.h>
#include <stdlib.h>#define max(a,b) a>b?a:bint main(void){int max_num;max_num = max(10,100);printf("%d\n",max_num);max_num = max(10,6);printf("%d\n",max_num);return 0;
}

宏解除定义


#undef xxx

预处理



三个已知

#include <stdio.h>//包含文件
#define SIZE 100 //定义宏
#undef SIZE  //解除宏定义

条件宏定义


#define MAX 100
#ifdef MAX //如果定义了MAX宏#undef MAX
#else //否则#define MAX 10
#endif
#ifndef MIN//如果没有定义MIN#define MIN 2//定义宏MIN为2
#endif

另外的条件判断


#include <stdio.h>
#include <stdlib.h>#define MAX_THREAD 10
#if MAX_THREAD > 5#undef MAX_THREAD#define MAX_THREAD 5
#endifint main(void){printf("%d\n",MAX_THREAD);return 0;
}
/*同理#else和#elif的用法与else 和else if类似*/

最后两个


/*
#error  当遇到标准错误时,输出错误消息
#pragma 使用标准化方法,向编译器发布特殊的命令到编译器中
*/

转载于:https://www.cnblogs.com/KevinGeorge/p/10236810.html

C语言程序设计--宏和预处理相关推荐

  1. picf509c语言程序,樊媛媛c语言程序设计09编译预处理.pptx

    樊媛媛c语言程序设计09编译预处理 9.1 宏定义 1.不带参的宏定义用一个指定的标识符(宏名)代表一个字符串.一般形式:#define 标识符 字符串如:#define PI 3.1415926有了 ...

  2. c语言用define预处理命令定义,C语言程序设计第八章预处理命令..doc

    一.?选择题1.?对宏命令的处理是_ ___A.?在程序执行时进行的B.?在对程序中其他语句进行编译前进行的C.?在程序连接时进行的D.?与程序中其他语句同时进行编译2.?下面对编译预处理的叙述正确的 ...

  3. 0与1c语言编译,C语言程序设计(07776-1)第11章编译预处理课案.ppt

    C语言程序设计(07776-1)第11章编译预处理课案.ppt 第11章 编译预处理 主要内容 宏定义 文件包含 条件编译 程序案例 小结 习题 11-1 宏定义 不带参数的宏定义 带参数的宏定义 终 ...

  4. C语言程序设计(理论课)第八章 函数与宏定义

    第八章 函数与宏定义 8.1函数的概念 为什么要使用函数? ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ...

  5. C语言程序设计 | 程序编译与预处理

    目录 一.程序的翻译环境和执行环境 二.详解编译+链接 1.翻译环境 2.编译 2.1预编译/预处理 2.2编译 2.3汇编 三.预处理详解 1.预定义符号 2.#define 2.1#define定 ...

  6. c语言程序设计 赵宏,C语言程序设计(模块化程序设计I )(6页)-原创力文档...

    第4章 模块化程序设计I (导学) C语言程序设计课程组 赵宏 示例:从键盘输入一个整数,判断该整数是否为素数. #include #include void main( ) { int x,i; s ...

  7. c 语言程序设计阚道宏,C语言用宏实现静态多态

    综述 多态性是面向对象程序设计的一个重要特征. 在C++语言中,多态指的是:具有不同功能的函数可以用同一个函数名,可以用一个函数名调用不同内容的函数. C++的多态分为两种: 1. 静态多态性(编译时 ...

  8. 【C语言】----宏定义,预处理宏

    什么是宏? 宏是学习任何语言所不可缺少的,优秀的宏定义可以使得代码变得很简洁且高效,有效地提高编程效率. 宏是一种预处理指令,它提供了一种机制,可以用来替换源代码中的字符串,解释器或编译器在遇到宏时会 ...

  9. c语言宏定义在预处理阶段,预处理和宏定义

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 宏定义 基本概念预处理部分: #include #define 放在函数之外,一般都放在源文档的前面 预处理由预处理进程 ...

  10. 如何用C语言改变宏定义的大小,C语言中宏定义使用的小细节

    C语言中宏定义使用的小细节 #pragma#pragma 预处理指令详解 在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作.#p ...

最新文章

  1. 在eclipse里的 flex 没有可视化的编辑
  2. swoole学习(一)----linux安装swoole
  3. boost::geometry::coordinate_system用法的测试程序
  4. java curl json_POST请求发送json数据java HttpUrlConnection
  5. 假定Csomething是一个类,执行下面这些语句后,内存里创建了几个Csomething对象
  6. ae连续流动的线条_贡献 | AE片头制作绝对经验
  7. Hibernate 注解(Annotations 一)
  8. 如何优雅的设计 React 组件
  9. java工具类,常用的那些方法
  10. 【DP】【Uva437】UVA437 The Tower of Babylon
  11. AtCoder Beginner Contest 173 D - Chat in a Circle
  12. 如何查看本地端口???
  13. 史上最优美的Android原生UI框架XUI使用指南
  14. 三组计算机局域网组网方案,怎么建立一个可以互相联机的局域网
  15. 赵燕菁:城市化2.0与规划转型 ——一个两阶段模型的解释│宏论
  16. 【冷知识】火车票座位分布知识点
  17. linux res shr区别,linux下VIRT,RES,SHR的含义
  18. 8.4 Hyperplanes (超平面)
  19. 学习Java软件编程哪个机构好
  20. android 黑科技软件,一波Android黑科技工具推荐

热门文章

  1. 2022年考研数据结构_5 树
  2. 导航守卫与keep-alive
  3. Git——比较版本区别【git status / git diff】
  4. C语言—预定义宏调试__LINE__、__func__
  5. kafka性能优化入门
  6. scala循环 方法与函数
  7. undefined reference to `sqlite3_column_table_name‘
  8. Linux开发_printf打印无消息或末尾带“#“or“%“
  9. CISCO 路由器(1)
  10. Java示例:如何执行进程并读取输出