- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3.2?? ?填空题 (267)?? ?根据编码规范,所有代码都应____级以上的warning编译成功。 (268)?? ?根据编码规范,所有的源文件应是可打印的______,在编辑器中定义 TAB 键自动用__个空格代替。 (269)?? ?根据编码规范,文件名和目录的长度不要超过_____字符。 (270)?? ?头文件应避免被重复引用,应使用_____________预处理块。 (271)?? ?用 #include filename.h 格式来引用_________________。 (272)?? ?用 #include filename.h 格式来引用__________________。 (273)?? ?根据编码规范,声明函数原型时给出参数名称和类型,并且与实现此函数时的参数名称、类型保持一致,无参数的函数,用______声明。 (274)?? ?根据编码规范,代码文件不要超过______行,一个函数的代码不要超过_____行, 每行不应超过______个字符。 (275)?? ?一个程序中的空行数目最好占总代码行的_____,注释行数不应少于总代码行的_____%_。 (276)?? ?目录、文件的命名均不要超过_____个字符。 3.3?? ?问答与设计 (277)?? ?使用goto语句会有什么不良后果? (278)?? ?为什么要尽量避免函数带有记忆功能? 尽量避免函数带有“记忆”功能。相同的输入应当产生相同的输出。 带有“记忆”功能的函数,其行为可能是不可预测的,因为它的行为可能取决于某 种“记忆状态”。这样的函数既不易理解又不利于测试和维护。在C/C++语言中,函数的 static 局部变量是函数的“记忆”存储器。建议尽量少用static 局部变量,除非必需。(279)?? ?不设计多参数函数的目的是什么?尽量不设计多参数函数,将不使用的参数从接口中去掉,降低接口复杂度,减少函数间接口的复杂度 (280)?? ?分别说明extern、static、auto变量的作用域范围。(281)?? ?什么是const指针? (282)?? ?什么时候应该使用const修饰符?用const修饰常量有什么好处? (283)?? ?什么时候应该使用register修饰符? 数据存储在寄存器中的变量称为寄存器变量。寄存器变量具有与自动变量完全相同的性质,只是该种变量放在寄存器中。从寄存器中存取数据的速度比从内存中存取数据快得多,因此通常把使用频率较高的变量定义为register类别(284)?? ?什么时候应该使用volatile修饰符? volatile修饰符告诉编译程序不要对该变量所参与的操作进行某些优化。在两种特殊的情况下需要使用volatile修饰符:第一种情况涉及到内存映射硬件(memory-mapped hardware,如图形适配器,这类设备对计算机来说就好象是内存的一部分一样),第二种情况涉及到共享内存(shared memory,即被两个以上同时运行的程序所使用的内存)。大多数计算机拥有一系列寄存器,其存取速度比计算机主存更快。好的编译程序能进行一种被称为“冗余装入和存储的删去”(redundant load and store removal)的优化,即编译程序会·在程序中寻找并删去这样两类代码:一类是可以删去的从内存装入数据的指令,因为相应的数据已经被存放在寄存器中;另一种是可以删去的将数据存入内存的指令,因为相应的数据在再次被改变之前可以一直保留在寄存器中。如果一个指针变量指向普通内存以外的位置,如指向一个外围设备的内存映射端口,那么冗余装入和存储的优化对它来说可能是有害的。(285)?? ?一个变量可以同时被说明为const和volatile吗?可以。const修饰符的含义是变量的值不能被使用了const修饰符的那段代码修改,但这并不意味着它不能被这段代码以外的其它手段修改(286)?? ?什么时候应该使用类型强制转换(typecast)?在两种情况下需要使用类型强制转换。第一种情况是改变运算分量的类型,从而使运算能正确地进行。下面的程序与2.12中的例子相似,但有不同之处。变量n被赋值为整数i除以整数j的结果,因为是整数相除,所以结果为0。变量f2也被赋值为i除以j的结果,但本例通过(float)类型强制转换把i转换成一个float类型,因此执行的是浮点数除法运算(见2.11),结果为0.75。#include stdio.hmain ( ){int i = 3;int j = 4float f1 =i/j;float f2= (float) i/j;printf(3/4== %g or %g depending on
您可能关注的文档
最近下载
- JJF1101-2019环境试验设备.pdf VIP
- 工程荷载与可靠度设计原理第七章 工程结构荷载的统计分析.ppt VIP
- 建立以病人结局为导向的前瞻性护理质量管理模式.ppt VIP
- DB11T 1604-2018 园林绿化用地土壤质量提升技术规程 .pdf VIP
- 征收林地补偿协议书.docx VIP
- 《城市综合管廊工程测量规范》(征求意见稿).pdf
- 人教版《劳动教育》六上 劳动项目三《学和面》课件.ppt VIP
- 浙江省高校招生职业技能考试技能操作合格标准(试行).docx VIP
- JJG(军工) 219-2019 标准光电探测器.pdf
- 小学道德与法治新部编版二年级上册第四单元 我爱我们的祖国教案(2025秋).doc
文档评论(0)