c和c经典笔试题附答案解析 

c和c经典笔试题附答案解析 

ID:20445676

大小:85.66 KB

页数:14页

时间:2018-10-12

c和c经典笔试题附答案解析 _第1页
c和c经典笔试题附答案解析 _第2页
c和c经典笔试题附答案解析 _第3页
c和c经典笔试题附答案解析 _第4页
c和c经典笔试题附答案解析 _第5页
资源描述:

《c和c经典笔试题附答案解析 》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、C和C++经典笔试题附答案解析1.用预处理指令ttdefine声明一个常数,用以表明1年中有多少秒(忽略闰年问题)。答案:#defineSECONDS_PER_YEAR(60*60*24*365)UL应该意识到表达式将使一个16位机的整形数溢出,因此要用到长整型符号L,表达式中UL表示无符号长整型。2.写一个“标准”宏MIN,这个宏输入连个参数并返回较小的一个。答案:#defineMIN(A,B)((A)3.sizeof的一些考察char*ss1=”0123456789”:charss2[]=”0123456789”;charss3[100]=”012345678

2、9”;intss4[100]:charql[]=”abc”:charq2[]=”a”;char*q3=”a”;答案:ssl是一个字符指针,指针的大小是一个确定的值,就是4,sizeof(ssl)=4;ss2是一个字符数组,这个数组最初的大小未定,填充值是“0123456789”,一个字符占一位,再加上隐含的“”一共是11位。ss3是一个字符数组,这个数组开始预分配100,所以它的大小是1⑻位。ss4是一个整型数组,但是每个整型变量所占空间是4,所以它的大小一共是400位。ql与ss2类似,占4位。Q2里面有一个“”,“”算作一位,加上隐含的,大

3、小一共是3位。Q3是一个字符指针,指针得大小是一个定值,就是4.4.Whatistheoutputofthefollowingcode?#includeusingnamespacestd;classA{};classA2{chard,e;};structB{};structC{charx,y;};structD{intx,y;};main(){coutAp2:A*p3;cout}答案:对于一个类而言,即便它是一个空的类,编译器仍然要要给它一个空间,所以类A即便什么也没有,它的空间大小依然为1,而类A2大小是类中连个字符d,e之和,所以它的空间大小依然是2,至于pl

4、,p2,p3,p1和p3是指针,大小是一致的,而且是定值,为4,p2是A的对象,所以它的大小和类A相等,为1,B和C得解释同A和A2,至于D,它和C不同点在于,结构体有两个整型变量,每个整型变量所占空间为4,所以D所占空间大小为8。最后结果是1,2,4,1,4,1,2,85.whatistheoutputthefollowingcode?#includeusingnamespacestd;classA1{public:inta;staticintb;A1():〜Al();};4classA2{public:inta;chare;A2();〜A2();};8clas

5、sA3{public:floata;chare:A3():〜A3();};8classA4{pub1ic:floata.;intb;chare;A4();~A4();};12classA5{public:doubled;floata;intb;charc;A5();~A5();}24intmain(){cout6.以下代码的输出结果是0charvar[]Inttest(charvar[]){retrunsizeof(var);}答案:因为var□等价于外ar,己经退化成一个指针了,所以大小是4.7.以下代码的输出结果是0ClassB{floatf;charp;in

6、tasf[3];};cout8.以下代码的输出结果是()ClassB{doubled;charp;intasf[4];};cout9.—个空类所占空间为1,多重继承的空类所占的空间还是1,但是虚继承涉及到虚表(虚指针),所以虚继承的空类占的空间为410.this指针是在实例化一个对象后产生的,并且指向对象本身.比如实例化一个对象pt,那么this=pt:用””取地址符来取对象的地址.同样,如果定义对象Pt这个类中,有一个public变量X,那么就可以用this_>x=0来定义x的值,等同于=0.11.#includeusingnamespacestd;VoidGe

7、tMemory(int*z){*z=5:}Intmain(){intv;GetMemory(v);cout12.下面的数据声明都代表什么意思?(1)f1oat(林def)[10]Def是一个二级指针,它指向的是一个一维数组的指针,数组的元素都是float。⑵doub1e*(*gh)[10]Gh是一个指针,它指向一个一维数组,该数组元素都是double*(3)double(*f[10])()F是一个数组,f有十个元素,元素都是函数的指针,指向的函数类型是没有参数且返回double的函数(4)int*((*b)[10])就跟“int*(b)[10]”是一样的,b是一维

8、数组的指针

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。