当前位置: 首页 > news >正文

做ppt兼职网站bt磁力狗

做ppt兼职网站,bt磁力狗,微信网站方案,电脑版和手机版网站怎么做的我们在开始编写一份程序的时候&#xff0c;从键盘录入的第一行代码&#xff1a; #include <stdio.h>这里就使用了预处理&#xff0c;引入头文件。 C预处理器不是编译器的组成部分&#xff0c;但是它是编译过程中一个单独的步骤。简言之&#xff0c;C预处理器只不过是一…

我们在开始编写一份程序的时候,从键盘录入的第一行代码:

#include <stdio.h>

这里就使用了预处理,引入头文件。

C预处理器不是编译器的组成部分,但是它是编译过程中一个单独的步骤。简言之,C预处理器只不过是一个文本替换工具而已,它们会指示编译器在实际编译之前完成所需的预处理。

预处理指令

指令描述
#define定义宏
#include包含一个源代码文件
#undef取消已定义的宏
#ifdef如果宏已经定义,则返回真
#ifndef如果宏没有定义,则返回真
#if如果给定条件为真,则编译下面代码
#else#if 的替代方案
#elif如果前面的 #if 给定条件不为真,当前条件为真,则编译下面代码
#endif结束一个 #if……#else 条件编译块
#error当遇到标准错误时,输出错误消息
#pragma使用标准化方法,向编译器发布特殊的命令到编译器中

示例

#define MAX_ARRAY_LENGTH 20

这个指令告诉 CPP 把所有的 MAX_ARRAY_LENGTH 定义为 20。使用 #define 定义常量来增强可读性。

#include <stdio.h>
#include "myheader.h"

这些指令告诉 CPP 从系统库中获取 stdio.h,并添加文本到当前的源文件中。下一行告诉 CPP 从本地目录中获取 myheader.h,并添加内容到当前的源文件中。

#include < > 引用的是编译器的类库路径里面的头文件。

#include " " 引用的是你程序目录的相对路径中的头文件,如果在程序目录没有找到引用的头文件则到编译器的类库路径的目录下找该头文件。

在有多个 .h 文件和多个 .c 文件的时候,往往我们会用一个 global.h 的头文件来包括所有的 .h 文件,然后在除 global.h 文件外的头文件中 包含 global.h 就可以实现所有头文件的包含,同时不会乱。方便在各个文件里面调用其他文件的函数或者变量。

#ifndef _GLOBAL_H
#define _GLOBAL_H
#include <fstream>
#include <iostream>
#include <math.h>
#include <Config.h>

C语言代码的头文件与源文件有什么区别?

#undef  FILE_SIZE
#define FILE_SIZE 42

这个指令告诉 CPP 取消已定义的 FILE_SIZE,并定义它为 42。

#ifndef MESSAGE#define MESSAGE "You wish!"
#endif

这个指令告诉 CPP 只有当 MESSAGE 未定义时,才定义 MESSAGE。

#ifdef DEBUG/* Your debugging statements here */
#endif

这个指令告诉 CPP 如果定义了 DEBUG,则执行处理语句。在编译时,如果您向 gcc 编译器传递了 -DDEBUG 开关量,这个指令就非常有用。它定义了 DEBUG,您可以在编译期间随时开启或关闭调试。

#error命令是C/C++语言的预处理命令之一,当预处理器预处理到#error命令时将停止编译并输出用户自定义的错误消息。如下所示:

#include <stdio.h>
#define SHOW_INFO
int main(void)
{
#ifndef SHOW_INFO#error you must define SHOW_INFO marco.
#endifprintf("hello world!\n");return 0;
}

当删去"#define SHOW_INFO"语句就会输出错误消息

#pragma的常用方法讲解

预定义宏

ANSI C 定义了许多宏。在编程中您可以使用这些宏,但是不能直接修改这些预定义的宏。

描述
__DATE__当前日期,一个以 “MMM DD YYYY” 格式表示的字符常量。
__TIME__当前时间,一个以 “HH:MM:SS” 格式表示的字符常量。
__FILE__这会包含当前文件名,一个字符串常量。
__LINE__这会包含当前行号,一个十进制常量。
__STDC__当编译器以 ANSI 标准编译时,则定义为 1。

实例

#include <stdio.h>
int main()
{printf("File :%s\n", __FILE__ );printf("Date :%s\n", __DATE__ );printf("Time :%s\n", __TIME__ );printf("Line :%d\n", __LINE__ );printf("ANSI :%d\n", __STDC__ );return 0;
}

预处理器运算符

C 预处理器提供了下列的运算符来帮助您创建宏:

宏延续运算符(\)

一个宏通常写在一个单行上。但是如果宏太长,一个单行容纳不下,则使用宏延续运算符(\)。例如:

#define  message_for(a, b)  \printf(#a " and " #b ": We love you!\n")

字符串常量化运算符(#)

在宏定义中,当需要把一个宏的参数转换为字符串常量时,则使用字符串常量化运算符(#)。在宏中使用的该运算符有一个特定的参数或参数列表。例如:

#include <stdio.h>
#define  message_for(a, b)  \printf(#a " and " #b ": We love you!\n")
int main()
{message_for(Carole, Debra);return 0;
}

当上面的代码被编译和执行时,它会产生下列结果:

Carole and Debra: We love you!

标记粘贴运算符(##)

宏定义内的标记粘贴运算符(##)会合并两个参数。它允许在宏定义中两个独立的标记被合并为一个标记。例如:

#include <stdio.h>
#define tokenpaster(n) printf ("token" #n " = %d", token##n)
int main()
{int token34 = 40;tokenpaster(34);return 0;
}

当上面的代码被编译和执行时,它会产生下列结果:

token34 = 40

这是怎么发生的,因为这个实例会从编译器产生下列的实际输出:

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

这个实例演示了 token##n 会连接到 token34 中,在这里,我们使用了字符串常量化运算符(#)标记粘贴运算符(##)

defined() 运算符

预处理器 defined 运算符是用在常量表达式中的,用来确定一个标识符是否已经使用 #define 定义过。如果指定的标识符已定义,则值为真(非零)。如果指定的标识符未定义,则值为假(零)。下面的实例演示了 defined() 运算符的用法:

#include <stdio.h>
#if !defined (MESSAGE)#define MESSAGE "You wish!"
#endif
int main()
{printf("Here is the message: %s\n", MESSAGE);  return 0;
}

当上面的代码被编译和执行时,它会产生下列结果:

Here is the message: You wish!

参数化的宏

CPP 一个强大的功能是可以使用参数化的宏来模拟函数。例如,下面的代码是计算一个数的平方:

int square(int x) {return x * x;
}

我们可以使用宏重写上面的代码,如下:

#define square(x) ((x) * (x))

在使用带有参数的宏之前,必须使用 #define 指令定义。参数列表是括在圆括号内,且必须紧跟在宏名称的后边。宏名称和左圆括号之间不允许有空格。例如:

#include <stdio.h>
#define MAX(x,y) ((x) > (y) ? (x) : (y))
int main(void)
{printf("Max between 20 and 10 is %d\n", MAX(10, 20));  return 0;
}

当上面的代码被编译和执行时,它会产生下列结果:

Max between 20 and 10 is 20

Reference:

C 预处理器 | 菜鸟教程 (runoob.com)

http://www.dinnco.com/news/60645.html

相关文章:

  • 电子商务网站建站商丘网络推广哪家好
  • 网站在什么环境下做营销网络图
  • wordpress 主机安装教程优化设计单元测试卷
  • 久久做bilibili官网网站企业网站注册域名的步骤
  • 衡水商城网站制作宁德市自然资源局
  • 个体户做网站有用吗河北seo公司
  • 天津最好的网站建设成都百度
  • 大收录量的网站怎么做网站关键词优化培训
  • 韩国电商网站百度网盟官网
  • 地区网站建设旅游景区网络营销案例
  • 建设高端网站公司关键词排名优化官网
  • 做文案策划有些网站可看厦门seo代运营
  • 福州专业建站公司深圳网络营销推广招聘网
  • 做网站自己租服务器还是网络公司企业培训权威机构
  • 创建网站有什么用杭州百度seo
  • 云建网站网址西安关键词优化平台
  • 网站后台打打开空白网站收录怎么做
  • 萨wordpressseo域名综合查询
  • 做外贸需要到外汇管理网站百度站长工具排名
  • 免费域名的申请方法海阳seo排名优化培训
  • 网页排版设计软件网站seo哪家公司好
  • 南通做网站优化公司重庆网站建设公司
  • 惠济免费网站建设app开发费用一览表
  • 织梦可以做B2B信息发布网站吗优化电池充电什么意思
  • 天河做网站系统军事网站大全军事网
  • 南通做网站市场监督管理局电话
  • 网站制作软件培训人工在线客服系统
  • 个人在网站怎么做珠海百度推广优化排名
  • 新网站建设运营年计划书网络营销理论基础
  • 哈尔滨龙彩做网站多少钱怎么做百度关键词排名