- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
招聘软件程序员面试题
公司招聘软件程序员面试题程序设计基本概念1 一个小程序,输出结果int x = 2, y, z;x *= (y = z = 5);//等价于x = x * ycout x endl;//输出为10z = 3;int t = (x == (y = z));cout x endl;//输出为10cout t endl;//输出为0x = (y == z);cout x endl;//输出为1x = y z;cout x endl;//输出为3x = y z;cout x endl;//输出为1y = 4;x = (y | z);cout x endl;//输出为7x = (y || z);cout x endl;//输出为12int i = 1, j = 2;int k = i+++j;//等价于(i++) + jcout k endl;//输出为3微软公司的最新C++编译器2005解读C++源程序时如果需要“断句”,则规则是每次都会先找到包含尽量多的字符的一个语素后再在其后断开。比如对于欠揍人写的欠揍语句?????????????????????????????????? i+++j? (本身可能解释成 i++? +j和 i+? ++j两种语句)但是按照以上原则:则前面语素必须拥有最多的字符:于是只能解释成?i+++j 等效为 i++???? + j3 x = x + 1, x +=1, x++哪个效率最高?为什么? X++ x +=1 x = x+1x = x + 1: (1)读取右x的地址(2)x+1(3)读取左x的地址(编译器病不认为左右x的地址相同)(4)讲右边的只给左边的xx+=1:(1)读取右边x的地址(2)x+1(3)讲得到的值给x(因为x的地址已经读出)x++:(1)读取右x的地址(2)x自增14 输出#define product(x) (x * x)int i = 3, j, k;j = product(i++);k = product(++i);cout j k endl;//输出为9和49即使定义为#define product(x) ((x) * (x))得到的结果还是一样5 类型转换char foo(void){unsignedint a = 6;int b = -20;char c;(a + b 6) ? (c = 1) : (c = 0);return c;// 此时c=1}Unsigned int类型的数据与int类型的数据相运算后,自动转化为unsigned int类型,因此a+b的结果不是-14,而是一个unsigned int类型的数4294967382,当表达式中存在有符号类型和无符号类型时,所有的操作数都自动转换为无符号类型1 在混合类型的算数表达式中在这种情况下最宽的数据类型称为目标转换类型,这也被称为算数转换int ival = 3;double dval = 3.141592;cout ival + dval endl;//输出3.14159,这里int被提升为了double类型2 用一种类型的表达式赋值为另外一种类型的对象这种情况下目标转换类型是被赋值对象的类型int *p = 0;int t = dval;6 a,b中较大的值,不用if,?:switch语句实现int a, b;cin a b;int max = (a + b + abs(a - b)) / 2;cout max endl;7 a,b进行交换方案一:a = a + b;b = a - b;a = a - b;方案二:a = a ^ b;b = a ^ b;a = a ^ b;(已经证明是对的)方案一对大数据无能为力,因为a + b会超界一点解释:a = a ^ b;b = a ^ b = a ^ b ^ b = a ^ 0 = a;a = a ^ b= a ^ b ^ a = 0 ^ b = b;8 在c++程序中调用被c编译器编译后的函数,为什么要加上extern “C”? C++支持函数重载,c语言不支持函数重载,函数被c++编译后在库中的名字与c语言不同,假设某个函数的原型为:void foo(int x,int y)。该函数被c编译器编译后在库中的名字为foo_,而c++编译器则会产生像_foo_int_int之类的名字 C++提供了c链接交换指定符号extern “C”解决名字匹配问题9 #include filename.h与#include “filename.h”有什么区别?对于尖括号来说,编译器从标准库路径开始搜索filename.h对于圆括号来说,编译器先从用户的定义的文件开始查找,找不到再在标准库中进行查找10 如
您可能关注的文档
最近下载
- 非煤矿山安全生产检查表.docx VIP
- 基于STM32的智能物流分拣系统的应用与研究.pdf VIP
- 社会主义从一国到多国发展与苏联模式(下)——《社会主义发展简史》之七PPT课件.pptx VIP
- 2024春实验班提优大考卷5年级下数学(苏教)-答案.pdf
- (正式版)DB15∕T 1428-2024 《大型并网光伏发电站运行维护规程》.pdf VIP
- DB37_T 398-2004 沙化荒漠化土地监测技术规程(山东省).pdf VIP
- 广东省佛山市南海区2024-2025学年六年级上学期11月期中科学试题(无答案).pdf VIP
- 网络金融与传统金融比较.docx VIP
- (2025)汽车驾驶员高级技师基本理论知识考试题附含答案.docx VIP
- 金光集团生产安全手册.docx VIP
文档评论(0)