`
小麦麦子
  • 浏览: 30655 次
文章分类
社区版块
存档分类
最新评论

C++预处理和宏的使用详解

阅读更多

Test.cpp : 定义控制台应用程序的入口点。

 

1、看下面的代码并写出结果

 

考点:#ifdef#else#endif在程序中的使用。

 

2.宏定义的使用

 

考点:使用#define宏定义时需要注意的地方

 

3.代码

 

#include "stdafx.h"

#include<stdio.h>

#include<stdlib.h>

 

#define DEBUG//预处理器常量

#define SQR(x) (x*x)

 

#define STR(s)   #s

#define CONS(a,b) (int)(a##e##b)

 

int _tmain(int argc, _TCHAR* argv[])

{

//预处理

/*

int i = 0;

char c;

while(1)

{

i++;

c= getchar();

if(c != '\n')

{

getchar();

}

if(c == 'q' || c == 'Q')

{

#ifdef DEBUG//判断DEBUG是否被定义

printf("we got:%c,about to exit.\n",c);

#endif

break;

}

else

{

printf("i = %d",i);

#ifdef DEBUG

printf(", we got:%c",c);

#endif

printf("\n");

}

}

*/

//宏定义

/*

int a,b =3;

a = SQR(b + 2);//原本:a = (b+2)*(b+2)  #define SQR(x) (x*x)

//a = b + 2 * b + 2

printf("a = %d\n", a);

*/

 

4.运行结果:

 

 

 

 

 

原文链接:http://www.maiziedu.com/wiki/cplus/macro/

<!--EndFragment-->
  • 大小: 16.1 KB
分享到:
评论

相关推荐

    C语言常见 预处理和宏

    ### C语言预处理与宏详解 #### 一、C语言预处理器概述 在深入探讨预处理器及宏的具体应用之前,我们首先需要理解预处理器的基本概念及其在C语言编程中的作用。 **预处理器(Preprocessor)**是C语言编译过程中的...

    GCC使用详解[借鉴].pdf

    预处理可以帮助开发者检查头文件的正确包含和宏的正确使用。 2. **编译(Compiling)**:接着,GCC使用ccl将预处理后的.i文件转换为汇编代码(.s文件)。编译阶段主要关注语法分析、语义分析以及生成中间代码。 3. **...

    VC中cl.exe命令参数详解.pdf

    VC 中 cl.exe 命令参数详解 CL.exe 是控制 Microsoft C 和 C++ 编译器与链接器的 32 位工具。编译器产生通用对象文件格式 (COFF) 对象 (.obj) 文件。链接器产生可执行文件 (.exe) 或动态链接库文件 (DLL)。注意,...

    高质量C++/C编程指南

    预处理指令如`#include`用于引入其他文件,`#define`用于常量定义和宏替换,`#ifndef`等用于防止重复包含,这些是C++/C编程的基础,理解和正确使用它们至关重要。 8. **代码规范**: 书中强调了良好的编程习惯,...

    VC中cl.exe命令参数详解[借鉴].pdf

    VC 中 cl.exe 命令参数详解 cl.exe 是控制 Microsoft C 和 C++ 编译器与链接器的 32 位工具,编译器产生通用对象文件格式(COFF)对象(.obj)文件。链接器产生可执行文件(.exe)或动态链接库文件(DLL)。注意,...

    推荐几款实用的C++ 在线工具

    C++ Insights 是一个辅助工具,能够展示C++源代码经过编译器预处理、展开模板和宏后的样子。这对于学习和理解C++模板工作原理特别有用,能帮助开发者更好地掌握模板元编程。网址:[https://cppinsights.io/]...

    VC调试详解

    调试是软件开发过程中的关键环节,尤其对于使用Visual C++ (VC++)进行C++开发的程序员来说,掌握高效的调试技巧至关重要。本文将深入探讨VC++的调试功能,帮助初学者理解并熟练运用这些工具,提升开发效率。 在VC++...

    pclint9白盒测试工具

    5. **预处理和宏展开**:Pclint可以处理预处理器指令,展开宏定义,揭示隐藏的错误和复杂性。 6. **多平台支持**:Pclint适用于多种操作系统,如Windows、Linux和Mac OS,支持跨平台的代码质量保证。 **2. 使用Pc...

    C C++ 编程修养

    ### C/C++编程修养知识点详解 #### 一、版权和版本 版权和版本信息是对程序的一种尊重和保护,也是对程序历史的一种记录。通常,在每个文件的头部都会有一段注释来表明该文件的版权信息、创建者、创建日期、版本号...

    C语言基础从零开始初识语言多图超详解-超万字教程

    ### C语言基础从零开始初识语言多图超详解-超万字教程 #### 1. 什么是C语言 ##### 1.1 计算机与机器语言 计算机是一种能够执行预设指令集的电子设备,它能进行数值计算、逻辑运算,并具备存储功能。为了与计算机...

    Clang使用,提取抽象树,提取宏

    ### Clang 使用详解:提取抽象语法树与宏 #### 一、Clang简介 Clang 是 LLVM 项目的一部分,它是一个开源的 C/C++/Objective-C 编译器前端,旨在提供一个现代化、高效的编译体验。Clang 的设计目标之一是提高编译...

    现代x86汇编语言程序设计附录及源代码

    本资源“现代x86汇编语言程序设计附录及源代码”包含了对微软Visual C++和宏汇编器的教程,以及X86架构下的调用约定详解,旨在帮助开发者更深入地理解计算机底层工作原理并掌握汇编语言编程。 1. **X86架构**:X86...

    F:\C语言\第二节 c语言开发环境.docx

    ### C语言开发环境详解 #### 一、C语言开发环境 C语言作为一种高效且功能强大的编程语言,在多种操作系统上都有广泛的应用。对于开发者而言,掌握如何在不同的操作系统中搭建C语言开发环境至关重要。 ##### 1. 在...

    caff手册html.zip

    5. **Python和Matlab接口**:除了核心的C++实现,Caffe还提供了Python和Matlab接口,便于数据预处理、模型部署和实验控制。 6. **可视化工具**:Caffe可以通过Visualize Layer功能将网络结构可视化,便于理解模型的...

    gmac-开源

    总结来说,gmac是一个功能强大的开源工具,它的文本预处理和宏扩展能力,以及灵活的JavaScript语法,使其在软件开发中扮演了重要角色。对于寻求提高代码效率和生产力的开发者来说,gmac值得深入研究和应用。

    编程规范及质量

    - **定义**:头文件主要用于存放程序的声明,即类、函数和宏等的声明。这些声明供其他文件引用时使用。 - **作用**: - 通过头文件来调用库功能。头文件中包含的接口声明允许用户按照声明的方式调用库功能,而无需...

    2021-2022计算机二级等级考试试题及答案No.19807.docx

    【知识点详解】 1. 数据访问页设计:在创建数据访问页时,可以添加标签、滚动标签和超级链接等元素,但不能直接添加选项卡。这表明数据访问页的构建有一定的限制,选项卡可能需要通过其他方式实现。 2. 参数查询:...

Global site tag (gtag.js) - Google Analytics