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:b int 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
#endif int main(void){
printf("%d\n",MAX_THREAD);
return 0;
}
/*同理#else和#elif的用法与else 和else if类似*/

最后两个


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

C语言程序设计--宏和预处理的更多相关文章

  1. C语言程序设计第二次作业--顺序结构

    C语言程序设计第二次作业--顺序结构 1.输出带框文字:在屏幕上输出以下3行信息. ************* Welcome ************* 源程序 #include <stido ...

  2. C语言第十一讲,预处理命令.

    C语言第十一讲,预处理命令. 一丶预处理简介 什么是预处理,预处理就是预先处理. 我们知道,程序会经过编译,连接形成可执行文件 这些在编译之前对源文件进行简单加工的过程,就称为预处理(即预先处理.提前 ...

  3. C语言程序设计50例(经典收藏)

    本篇文章是对C语言程序设计的50个小案例进行了详细的分析介绍,需要的朋友参考下 [程序1]题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位.十 ...

  4. C语言程序设计:现代方法(第2版)第二章全部习题答案

    前言 本人在通过<C语言程序设计:现代方法(第2版)>自学C语言时,发现国内并没有该书完整的课后习题答案,所以就想把自己在学习过程中所做出的答案分享出来,以供大家参考.这些答案是本人自己解 ...

  5. 资深程序员推荐必备书籍 《C语言程序设计》

    当下,IT行业发展日趋迅猛,产值成倍增长,高薪的诱惑更是驱使许多人想要进入IT行业发展.为了使大家更全面理解C语言程序设计,由千锋教研院高教产品研发部编著.清华大学出版社倾情出版的<C语言程序设 ...

  6. C语言的宏macro的使用

    C's Macro Introduction 1.The Connect Macros: ## 这是一个预处理连接符,这个操作符主要用来将两个符号连接成为一个完整的宏符号.通过下面的代码,可以看到其具 ...

  7. 从谭浩强的《C语言程序设计》到《电容应用分析精粹》

    不记得具体从什么时候开始(反正很多年前的事了)的,不少人都陆续批评过谭浩强的<C语言程序设计>,各方面都有扒过.例如,与实践脱节,很多例子在不同编译器上运行是错误的,代码风格糟糕等等方面. ...

  8. C语言程序设计入门学习五步曲(转发)

    笔者在从事教学的过程中,听到同学抱怨最多的一句话是:老师,上课我也能听懂,书上的例题也能看明白,可是到自己动手做编程时,却不知道如何下手.发生这种现象的原因有三个: 一.所谓的看懂听明白,只是很肤浅的 ...

  9. 160809208沈昊辰c语言程序设计实验选择结构设计

    <C语言程序设计>实验报告 学 号 160809208 姓 名 沈昊辰 专业.班 计科16-2班 学    期 2016-2017 第1学期 指导教师 黄俊莲 吴喆 实验地点 C区二层机房 ...

随机推荐

  1. sublime text3支持Vue语法高亮显示

    1.下载文件链接: 或https://github.com/vuejs/vue-syntax-highlight 解开压缩包vue-syntax-highlight-master,其内所有文件备用. ...

  2. css box-shadow添加阴影

    基础说明:     外阴影:box-shadow: X轴  Y轴  Rpx  color;     属性说明(顺序依次对应): 阴影的X轴(可以使用负值)    阴影的Y轴(可以使用负值)    阴影 ...

  3. APP投资 历史 十万到 十亿元的项目

    马云又投了课程表APP 1亿元.   还能输入106字 http://www.tuicool.com/articles/ARVN3qI#0-qzone-1-41007-d020d2d2a4e8d1a3 ...

  4. 小程序的tab切换事件

    index.wxml代码 <view class="tab-left" > <view " bindtap="tab">tab ...

  5. XcenServer和XcenCenterter的安装

    XcenServer安装 安装在客户端(作为服务器的电脑) 准备工具:U盘(4G以上).uiso9(iso刻录) 步骤一:下载ISO文件, 下载地址:https://xenserver.org/ove ...

  6. opencv3.2将中文输出到图片上

    opencv自带的putText函数无法输出utf8类型的字符,因此无法将中文打印到图片上.用这篇文章的freetype可以实现中文输出,但是需要将字符解码转码比较麻烦,而Pillow的Image函数 ...

  7. rpc框架 SimpleXMLRP

    一台电脑去控制另一台电脑干事情,最常见的就是web. 用户get/post一个url,服务端根据url地址和参数去做相应的事情把结果返回给客户端. server.py #coding=utf8 fro ...

  8. Spring中的类型转换与数据绑定(PropertyEditor、ConversionService、Data Binding、Formatter)

    Spring早期使用PropertyEditor进行Object与String的转换.到Spring 3后,Spring提供了统一的ConversionService API和强类型的Converte ...

  9. 简单的MD5查询工具

    这是一个MD5查询工具,输入将要加密的字符串,能够查询到其MD5值. 眼下提供了32位和16位两种算法. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/f ...

  10. IOS指纹识别调用

    最近正在开发的一个app需要加入指纹识别的功能,先搜索一下找到官方文档,简单易懂: https://developer.apple.com/library/ios/documentation/Loca ...