|
|
|
|
移动端

1.18 其他

《程序员面试笔试真题与解析》本书针对当前各大 IT企业面试笔试中特性与侧重点,精心挑选了 3年以来近百家典型 IT企业的面试笔试真题,这些企业涉及业务包括系统软件、搜索引擎、电子商务、手机 APP、安全关键软件等,面试笔试真题非常具有代表性与参考性。本节为大家介绍其他。

作者:猿媛之家来源:机械工业出版社|2017-12-06 18:55

开发者盛宴来袭!7月28日51CTO首届开发者大赛决赛带来技术创新分享

1.18 其他

【真题 280】关键字 volatile的作用是什么?答案:关键字 volatile的作用是提示编译器对象的值可能在编译器未监测到的情况下改变。告诉编译器不要对这个变量做优化。

【真题 281】下面有关 volatile说法中,正确的有()。

A.当读取一个变量时,为提高存取速度,编译器优化时有时会先把变量读取到一个寄存器中;以后再取变量值时,就直接从寄存器中取值

B.优化器在用到 volatile变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份

C.volatile适用于多线程应用中被几个任务共享的变量

D.一个参数不可以既是 const又是 volatile 答案:A、B、C。一个参数既可以是 const,也可以是 volatile,一个例子是只读的状态寄存器,它是 volatile因为它可能被意想不到地改变,它是 const因为程序不应该试图去修改它。所以,选项 D错误。

【真题 282】有如下程序段:

  1. enum {a, b=5, c, d=4, e} k;  
  2. k =c

则变量 k的值为()。

A.3 B.4 C.5 D.6

答案:D。

在 C/C++语言中,枚举类型定义的一般形式为:

enum 枚举名 { 枚举值表 };

通常,在枚举值表中应罗列出所有可用值,这些值也被称为枚举元素。例如:

enum weekday{sun, mon, tue, wed, thu, fri, sat};

本例子中,枚举名为 weekday,枚举值共有 7个,分别是 sun、mon、tue、wed、thu、fri和 sat,即对应一周中的七天。所以,如果一个变量的类型是 weekday,那么该类型变量的取值只能是七天中的某一天,而不能是其他值。

枚举元素本身由系统定义了一个表示序号的数值,从 0开始顺序定义为 0、1、2…。在本例子中,默认情况下, sun的值为 0,mon的值为 1,tue的值为 2,wed的值为 3,thu的值为 4,fri的值为 5,sat值为 6。当然,也可以只显式地定义一部分枚举量的值,只是在此种情况下,未被初始化的枚举量的值默认将比其前面的枚举值大 1。例如:enum enumType {Monday=1, Tuesday, Wednesday=1, Thursday, Friday, Saturday, Sunday};,此时 Monday、Wednesday均被定义为 1,则 Tuesday=2,Thursday、Friday、Saturday、 Sunday的值默认分别为 2、3、4、5。

通过上面的分析可知, k的值等于 c,而 c的值比 b的值大 1,b的值为 5,所以, k的值为 6,选项 D正确。

【真题 283】有枚举定义为 enum string { x1, x2, x3=10,   x4, x5, }x; ,x的值是多少?答案:取值为 0、1、10、11、12中的一个。

喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

计算机病毒分析与防治简明教程

本书全面翔实地介绍了各种病毒的原理,以操作系统的发展为主线,结合病毒的发展过程来综合分析病毒。在分析工具上,较多地利用了脚本语言、...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊