《C++面试题及答案.docx》由会员分享,可在线阅读,更多相关《C++面试题及答案.docx(11页珍藏版)》请在优知文库上搜索。
1、C+面试题及答案char*dcst=NU1.1.:int1.en=str1.en(src);dest=(char*)na1.1.oc(1.en+1);Char*d=dest;char*s=src1.en-1;WhiIc(Icn-I=O)*d+=*s-;*d=0;printf(%s,dest);free(dest);return0;)方法2:intmain()char*src=he1.1.o,wor1.d;chardest!2;intIen=str1.en(src);for(inti=O;i1.en;i+)dcsti=src-i-1.;dest1.en=,O,;Prin1.f(%s”,dest)
2、;returnO;=(src);char*dest=(char*)ma1.1.oc(1.en+1);/O分配一个空间char*d=dest;Char*s=&src1.en-1;指向最后一个字符WhiIe(Ien-I=O)*d+=*s-;*d=0;尾部要力口0Printfrt%sn,dest);free(desi);使用完,应当释放空间,以免造成内存汇泄露rctrn;方法2:inc1.udeinc1.udemain()charstr=,he1.Io,wor1.d;int1.en=str1.en(str);chart;1.br(inti=O;it=stri;stri=str-i-1.;str-i-
3、1.=t;printf(%s,str);return;8、-127,28,126请问28和126中间那个数是什么?为什么?答案应该是4人3-1=63规律是n3-1.(当n为偶数0,2,4)23+1(当n为奇数1,3,5)答案:639、用两个栈实现一个队列的功能?要求给出算法和思路!设2个栈为A,B,开始均为空.入队:将新元素push入栈A;出队:(1)判断栈B是否为空;(2)如果不为空,则将栈A中所有元素依次PoP出并PUSh到栈B;(3)将栈B的栈顶元素pop出;这样实现的队列入队和出队的平摊复杂度都还是0(1),比上面的几种方法要好。1()、在C语言库函数中将一个字符转换成整型的函数是at
4、oo1.()吗,这个函数的原型是什么?函数名:ao1.功能:把字符串转换成长整型数用法:1OngatO1.(ConStChar*nptr);程序例:inc1.udeinc1.udeintmain(void)(ong1.;Char*str=98765432;1.=ato1.(1.str);PrintR“siring=%Sin1.ege1.%1.dn”,str,1);rctrn(O);11、对于一个频繁使用的短小函数,在C语言中应用什么实现,在C+中应用什么实现?C用宏定义,C+用in1.inePPP点到点连接13、接入网用的是什么接口?14、VoiP都用了那些协议?15、软件测试都有那些种类?黑
5、盒:针对系统功能的测试白合:测试函数功能,各函数接口16、确定模块的功能和模块的接口是在软件设计的那个队段完成的?概要设计阶段17、enumstringx1.,x2.x3=IO,x4,x5,x;问x=O8O1OO5,Ox801()18、UnSignedChar*p1.;unsigned1.ong*p2;p1=(nsigncdchar*)0801000;p2=(unsigned1.ong*)081()000;请问p1.+5=0801005:p2+5=0801014;19 .多态的作用?主要是两个:1.隐藏实现细节,使得代码能够模块化;扩展代码模块,实现代码重用2接口重用:为了类在继承和派生的时候,保证使用家族中任一类的实例的某一属性时的正确调用。20 .Ado与Ado.nct的相同与不同?21.Newde1.ete与ma1.Iocfree的联系与区别?都是在堆(heap)上进行动态的内存操作。用ma1.1.oc函数需要指定内存分配的字节数并且不能初始化对象,new会自动调用对象的构造函数。de1.ete会调用对象的destructor,而free不会调用时象的destructor.22.#defineDOUB1.E(x)x+x,i=5*DOUB1.E(5)j是多少?答案:i为30。