ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:16.47KB ,
资源ID:6711424      下载积分:8 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/6711424.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(二级考试C++基础-C++标准头文件结构介绍.docx)为本站上传会员【w****g】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

二级考试C++基础-C++标准头文件结构介绍.docx

1、 二级考试C++基础:C++标准头文件结构介绍 预处理指令是以#号开头的代码行。#号必需是该行除了任何空白字符外的第一个字符。#后是指令关键字,在关键字和#号之间允许存在任意个数的空白字符。整行语句构成了一条预处理指令,该指令将在编译器进展编译之前对源代码做某些转换。下面是局部预处理指令:   指令 用途   # 空指令,无任何效果   #include 包含一个源代码文件   #define 定义宏   #undef 取消已定义的宏   #if 假

2、如给定条件为真,则编译下面代码   #ifdef 假如宏已经定义,则编译下面代码   #ifndef 假如宏没有定义,则编译下面代码   #elif 假如前面的#if给定条件不为真,当前条件为真,则编译下面代码   #endif 完毕一个#if……#else条件编译块   #error 停顿编译并显示错误信息   一、文件包含   #include预处理指令的作用是在指令处绽开被包含的文件。包含可以是多重的,也就是说一个被包含的文件中还可以包含其他文件。标准C编译器至少支持八重嵌套包含。   预处理过程不检查在转换单元中是否已经包含了某个文件并阻挡对它的屡次包含。这样就可以在屡

3、次包含同一个头文件时,通过给定编译时的条件来到达不同的效果。例如:   #define AAA   #include “t.c“   #undef AAA   #include “t.c“   为了避开那些只能包含一次的头文件被屡次包含,可以在头文件中用编译时条件来进展掌握。例如:   /*my.h*/   #ifndef MY_H   #define MY_H   ……   #endif   在程序中包含头文件有两种格式:   #include   #include “my.h“   第一种方法是用尖括号把头文件括起来。这种格式告知预处理程序在编译器自带的或外部库

4、的头文件中搜寻被包含的头文件。其次种方法是用双引号把头文件括起来。这种格式告知预处理程序在当前被编译的应用程序的源代码文件中搜寻被包含的头文件,假如找不到,再搜寻编译器自带的头文件。   采纳两种不同包含格式的理由在于,编译器是安装在公共子名目下的,而被编译的应用程序是在它们自己的私有子名目下的。一个应用程序既包含编译器供应的公共头文件,也包含自定义的私有头文件。采纳两种不同的包含格式使得编译器能够在许多头文件中区分出一组公共的头文件。   二、宏   宏定义了一个代表特定内容的标识符。预处理过程会把源代码中消失的宏标识符替换成宏定义时的值。宏最常见的用法是定义代表某个值的全局符号。宏的

5、其次种用法是定义带参数的宏,这样的宏可以象函数一样被调用,但它是在调用语句处绽开宏,并用调用时的实际参数来代替定义中的形式参数。   1.#define指令   #define预处理指令是用来定义宏的。该指令最简洁的格式是:首先神明一个标识符,然后给出这个标识符代表的代码。在后面的源代码中,就用这些代码来替代该标识符。这种宏把程序中要用到的一些全局值提取出来,赋给一些记忆标识符。   #define MAX_NUM 10   int array[MAX_NUM];   for(i=0;i

6、NUM就有特定的含义,它代表的值给出了数组所能容纳的元素数目。程序中可以屡次使用这个值。作为一种商定,习惯上总是全部用大写字母来定义宏,这样易于把程序红的宏标识符和一般变量标识符区分开来。假如想要转变数组的大小,只需要更改宏定义并重新编译程序即可。   宏表示的值可以是一个常量表达式,其中允许包括前面已经定义的宏标识符。例如:   #define ONE 1   #define TWO 2   #define THREE (ONE+TWO)   留意上面的宏定义使用了括号。尽管它们并不是必需的。但出于慎重考虑,还是应当加上括号的。例如:   six=THREE*TWO;   预处

7、理过程把上面的一行代码转换成:   six=(ONE+TWO)*TWO;   假如没有那个括号,就转换成six=ONE+TWO*TWO;了。   宏还可以代表一个字符串常量,例如:   #define VERSION “Version 1.0 Copyright(c) 2022“   2.带参数的#define指令   带参数的宏和函数调用看起来有些相像。看一个例子:   #define Cube(x) (x)*(x)*(x)   可以时任何数字表达式甚至函数调用来代替参数x。这里再次提示大家留意括号的使用。宏绽开后完全包含在一对括号中,而且参数也包含在括号中,这样就保证了宏和

8、参数的完整性。看一个用法:   int num=8+2;   volume=Cube(num);   绽开后为(8+2)*(8+2)*(8+2);   假如没有那些括号就变为8+2*8+2*8+2了。   下面的用法是担心全的:   volume=Cube(num++);   假如Cube是一个函数,上面的写法是可以理解的。但是,由于Cube是一个宏,所以会产生副作用。这里的擦书不是简洁的表达式,它们将产生意想不到的结果。它们绽开后是这样的:   volume=(num++)*(num++)*(num++);   很明显,结果是10*11*12,而不是10*10*10;  

9、 那么怎样安全的使用Cube宏呢?必需把可能产生副作用的操作移到宏调用的外面进展:   int num=8+2;   volume=Cube(num);   num++;   3.#运算符   消失在宏定义中的#运算符把跟在其后的参数转换成一个字符串。有时把这种用法的#称为字符串化运算符。例如:   #define PASTE(n) “adhfkj“#n   main()   {   printf(“%s\n“,PASTE(15));   }   宏定义中的#运算符告知预处理程序,把源代码中任何传递给该宏的参数转换成一个字符串。所以输出应当是adhfkj15。   4.

10、运算符   ##运算符用于把参数连接到一起。预处理程序把消失在##两侧的参数合并成一个符号。看下面的例子:   #define NUM(a,b,c) a##b##c   #define STR(a,b,c) a##b##c   main()   {   printf(“%d\n“,NUM(1,2,3));   printf(“%s\n“,STR(“aa“,“bb“,“cc“));   }   最终程序的输出为:   123   aabbcc   千万别担忧,除非需要或者宏的用法恰好和手头的工作相关,否则很少有程序员会知道##运算符。绝大多数程序员从来没用过它。  

11、 三、条件编译指令   条件编译指令将打算那些代码被编译,而哪些是不被编译的。可以依据表达式的值或者某个特定的宏是否被定义来确定编译条件。   1.#if指令   #if指令检测跟在制造另关键字后的常量表达式。假如表达式为真,则编译后面的代码,知道消失#else、#elif或#endif为止;否则就不编译。   2.#endif指令   #endif用于终止#if预处理指令。   #define DEBUG 0   main()   {   #if DEBUG   printf(“Debugging\n“);   #endif   printf(“Running\n“)

12、   }   由于程序定义DEBUG宏代表0,所以#if条件为假,不编译后面的代码直到#endif,所以程序直接输出Running。   假如去掉#define语句,效果是一样的。   3.#ifdef和#ifndef   #define DEBUG   main()   {   #ifdef DEBUG   printf(“yes\n“);   #endif   #ifndef DEBUG   printf(“no\n“);   #endif   }   #if defined等价于#ifdef; #if !defined等价于#ifndef   4.#el

13、se指令   #else指令用于某个#if指令之后,当前面的#if指令的条件不为真时,就编译#else后面的代码。#endif指令将中指上面的条件块。   #define DEBUG   main()   {   #ifdef DEBUG   printf(“Debugging\n“);   #else   printf(“Not debugging\n“);   #endif   printf(“Running\n“);   }   5.#elif指令   #elif预处理指令综合了#else和#if指令的作用。   #define TWO   main()   {   #ifdef ONE   printf(“1\n“);   #elif defined TWO   printf(“2\n“);   #else   printf(“3\n“);   #endif   }   程序很好理解,最终输出结果是2。   6.其他一些标准指令   #error指令将使编译器显示一条错误信息,然后停顿编译。   #line指令可以转变编译器用来指出警告和错误信息的文件号和行号。   #pragma指令没有正式的定义。编译器可以自定义其用途。典型的用法是制止或允许某些烦人的警告信息.

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服