2012年9月23日搜狗校园招聘会笔试试题.docVIP

  • 0
  • 0
  • 约1.37万字
  • 约 17页
  • 2021-06-13 发布于北京
  • 举报

2012年9月23日搜狗校园招聘会笔试试题.doc

2012年9月23日搜狗校园招聘会笔试试题 1、以下程序的输出是(12) [cpp] \o view plainview plain \o copycopy \o printprint \o ?? class?Base?? {?? public:?? ????Base(int?j)?:?i(j)?{??}??? ????virtual?~Base()?{??}?? ????void?func1()?? ????{?? ????????i?*=?10;?? ????????func2();?? ????}?? ????int?getValue()?? ????{?? ????????return?i;?? ????}?? protected:?? ????virtual?void?func2()?? ????{?? ????????i++;?? ????}?? protected:?? ????int?i;?? };?? ?? class?Child?:?public?Base?? {?? public:?? ????Child(int?j)?:?Base(j)?{??}?? ????void?func1()?? ????{?? ????????i?*=?100;?? ????????func2();?? ????}?? protected:?? ????void?func2()?? ????{?? ????????i?+=?2;?? ????}?? };?? ?? int?main(void)?? {?? ????Base?*pb?=?new?Child(1);?? ????pb-func1();?? ????coutpb-getValue()endl;?? ????delete?pb;?? ?????? ????return?0;?? }?? 2、请问程序的输出结果是(30) #define DOUBLE(x) x+x // x*2 int i = DOUBLE(5)*5; coutiendl; 3、写出一下程序的输出(死循环) [cpp] \o view plainview plain \o copycopy \o printprint \o ?? int?main(void)?? {?? ????char?num;?? ????for(num?=?0;?num??255;?)?? ????????num?+=?num;?? ????printf(%d\n,num);?? ????return?0;?? }?? 4、程序出错在什么阶段?() [cpp] \o view plainview plain \o copycopy \o printprint \o ?? int?main(void)?? {?? ?????? ????coutwelcome?to?sogouendl;?? ?????? ????return?0;?? }?? A、编译阶段出错???? B、运行阶段出错???? C、编译和运行都出错????D、程序运行正常 因为中//后面是注释,前面的http:是标签(类似于goto语句中的标签)。(这个题目碉堡了) 5、下面程序执行结果为【说明:X86_64环境】(D) [cpp] \o view plainview plain \o copycopy \o printprint \o ?? int?main(void)?? {?? ????int?a[4][4]?=?{?? ??????????????????{1,2,3,4},?? ??????????????????{50,60,70,80},?? ??????????????????{900,1000,1100,1200},?? ??????????????????{13000,14000,15000,16000}?};?? ????int?(*p1)[4]?=?a;?? ????int?(*p2)[4]?=?a[0];?? ????int?*p3?=?a[0][0];?? ????printf(%d?%d?%d?%d\n,*(*(a+1)-1),*(*(p1+3)-2)+1,*(*(p2-1)+16)+2,*(p3+sizeof(p1)-3));?? ?????? ????return?0;?? }?? A、16000 1101? 13002 2 B、4? 2? 3? 60 C、16000? 2? 3? 2 D、4? 1101? 13002? 60 p1为指向一维数组的指针,所以a + 1指向{50,60,70,80}这一维的地址。减一则为4的地址;同理第二个输出1101。同理,由于数组的列是4,所以*(p2 - 1) + 16就相当于*(p2

文档评论(0)

1亿VIP精品文档

相关文档