您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 招聘面试 > C_C++_笔试面试题大全(192页)
网络上收集的200多页C/C++笔试面试题,多数都有答案。希望对大家有所帮助。1.以下三条输出语句分别输出什么?[C易]charstr1[]=“abc”;charstr2[]=abc;constcharstr3[]=abc;constcharstr4[]=abc;constchar*str5=abc;constchar*str6=abc;coutboolalpha(str1==str2)endl;//输出什么?coutboolalpha(str3==str4)endl;//输出什么?coutboolalpha(str5==str6)endl;//输出什么?2.非C++内建型别A和B,在哪几种情况下B能隐式转化为A?[C++中等]答:a.classB:publicA{……}//B公有继承自A,可以是间接继承的b.classB{operatorA();}//B实现了隐式转化为A的转化c.classA{A(constB&);}//A实现了non-explicit的参数为B(可以有其他带默认值的参数)构造函数d.A&operator=(constA&);//赋值操作,虽不是正宗的隐式类型转换,但也可以勉强算一个3.以下代码中的两个sizeof用法有问题吗?[C易]voidUpperCase(charstr[])//将str中的小写字母转换成大写字母%tNg2O{©yfor(size_ti=0;isizeof(str)/sizeof(str[0]);++I)if('a'=str[i]&&str[i]='z')str[i]-=('a'-'A');\}©961xcharstr[]=aBcDe;-Ercoutstr字符长度为:sizeof(str)/sizeof(str[0])endl;|,A1u[UpperCase(str);'coutstrendl;Y4.以下代码有什么问题?[C难]voidchar2Hex(charc)//将字符以16进制表示{©charch=c/0x10+'0';if(ch'9')ch+=('A'-'9'-1);~3+C5Bcharcl=c%0x10+'0';if(cl'9')cl+=('A'-'9'-1);LEf8coutchcl'';=4!6}©~v[Zcharstr[]=Ilove中国;w9K*for(size_ti=0;istrlen(str);++I)JvCQYchar2Hex(str[i]);ua66[coutendl;&r:MK©(t/5.以下代码有什么问题?[C++易]+k7k{structTesthwOe=i{©eTest(int){}@X({YTest(){}Q}cvoidfun(){}j0};Xvoidmain(void)o~Of-{©RJ=m[kTesta(1);Xaa.fun();vser*Testb();)_.Ub.fun();3}©L©^X[kau6.以下代码有什么问题?[C++易]@s]#_cout(true?1:1)endl;{#©达内IT技术论坛—7.以下代码能够编译通过吗,为什么?[C++易]+mdJ3}unsignedintconstsize1=2;l{~charstr1[size1];MEunsignedinttemp=0;cintemp;*;f]#unsignedintconstsize2=temp;A7charstr2[size2];l!a©NAB1o'8.以下代码中的输出语句输出0吗,为什么?[C++易]*tMastructCLS02{©S64rintm_i;c3CLS(intI):m_i(i){}vMoCLS()ATO&K{!x.CLS(0);qt'd}.lo};NK}D`CLSobj;tZ'Scoutobj.m_iendl;{&Hm9.C++中的空类,默认产生哪些类成员函数?[C++易]0Fk;Wc答:©+5hZclassEmptyn?Y#{©??8public:b3-%@Empty();//缺省构造函数y?).rEmpty(constEmpty&);//拷贝构造函数wYLd$~Empty();//析构函数o$=aEmpty&operator=(constEmpty&);//赋值运算符ZEmpty*operator&();//取址运算符26XconstEmpty*operator&()const;//取址运算符constEw'H9};q4iy©~10.以下两条输出语句分别输出什么?[C++难]#qs',floata=1.0f;2,cout(int)aendl;+wcout(int&)aendl;I_%:,Ucoutboolalpha((int)a==(int&)a)endl;//输出什么?!Floatb=0.0f;giR^*cout(int)bendl;Kbcout(int&)bendl;wcoutboolalpha((int)b==(int&)b)endl;//输出什么?%2©eA]6hO11.以下反向遍历array数组的方法有什么错误?[STL易]Ilvectorarray;wk6aXarray.push_back(1);X:g|+Rarray.push_back(2);barray.push_back(3);Kfor(vector::size_typei=array.size()-1;i=0;--I)//反向遍历array数组-*H6{©n1I%Jcoutarray[i]endl;Dz.s0#}©5©?=/q12.以下代码有什么问题?[STL易]RlgtypedefvectorIntArray;jI(XIntArrayarray;[Q4array.push_back(1);/array.push_back(2);ven2]array.push_back(2);#Xgarray.push_back(3);J//删除array数组中所有的2keQv-gfor(IntArray::iteratoritor=array.begin();itor!=array.end();++itor)-=]5${©5cQif(2==*itor)array.erase(itor);jx}TI}©t©N'013.写一个函数,完成内存之间的拷贝。[考虑问题是否全面]U-答:©o*7|{void*mymemcpy(void*dest,constvoid*src,size_tcount)#E{©:uyqchar*pdest=static_castchar*(dest);h6constchar*psrc=static_castconstchar*(src);Fif(pdestpsrc&&pdestpsrc+cout)能考虑到这种情况就行了@^s:?{ue:5for(size_ti=count-1;i!=-1;--I)@$6-;{pdest[i]=psrc[i];F}MTF#a.elseC)xUB{Hfor(size_ti=0;icount;++I)`jHxb2pdest[i]=psrc[i];]+457[}SI'.I3returndest;%}©Yintmain(void)}c1k{©4charstr[]=0123456789;wt[&]8mymemcpy(str+1,str+0,9);Nw6'gcoutstrendl;5©?6asystem(Pause);c5y!return0;;6ay}©-D2©]dKl1©h本试题仅用于考查C++/C程序员的基本编程技能。内容限于C++/C常用语法,不涉及数据结构、算法以及深奥的语法。考试成绩v2©F8能反映出考生的编程质量以及对C++/C的理解程度,但不能反映考生的智力和软件开发能力。!m笔试时间90分钟。请考生认真答题,切勿轻视。!aa$,©r©!;9f*一、请填写BOOL,float,指针变量与“零值”比较的if语句。(10分)h©?u提示:这里“零值”可以是0,0.0,FALSE或者“空指针”。例如int变量n与“零值”比较的if语句为:a©l4k#]if(n==0)b]Qif(n!=0)ox1以此类推。8?!1vp©QgrV@请写出BOOLflag与“零值”比较的if语句:D#Sig请写出floatx与“零值”比较的if语句:a`-请写出char*p与“零值”比较的if语句:~(^T|©ez二、以下为WindowsNT下的32位C++程序,请计算sizeof的值(10分)charstr[]=“Hello”;A,EhZchar*p=str;i;yintn=10;I请计算7F\sizeof(str)=fKjBhsizeof(p)=3^4\6msizeof(n)=ygQvoidFunc(charstr[100])lA8hIq{©K`vi请计算ATsizeof(str)=p=\[}©B©[#Zh(void*p=malloc(100);\请计算3sizeof(p)=c)L©eR/?W三、简答题(25分)ii1、头文件中的ifndef/define/endif干什么用?|2、#include和#include“filename.h”有什么区别?OW'3、const有什么用途?(请至少说明两种)o4、在C++程序中调用被C编译器编译后的函数,为什么要加extern“C”声明?.i5、请简述以下两个for循环的优缺点`\-*//第一个~Zfor(i=0;i++;)/WbF{©LQ^[S!if(condition)-qDoSomething();qAelse©LHspDoOtherthing();{9|}©lb//第二个uN6-©Jwkif(condition)&{©W)for(i=0;i++;)G\DoSomething();([1}©yq^else©H6U:X:{©MpJ]7tfor(i=0;i++;)mDoOtherthing();U}©=lS0©kW3优点:L]缺点:aZQa优点:&J缺点:9四、有关内存的思考题(20分)evoidGetMemory(char*p)=!Pv{©OSop=(char*)malloc(100);}©v9©l5voidTest(void)dD{©g;)8char*str=NULL;]*s2Z+GetMemory(str);Wkstrcpy(str,helloworld);,printf(str);1&}©l©J9v©Affx4请问运行Test函数会有什么样的结果?=©S答:©|jNYchar*GetMemory(void)!{©达内IT技术charp[]=helloworld;'Om)returnp;|h}©p'U©CUQklvoidTest(void)H{©mlo&char*str=NULL;7gnD)!str=GetMemory();!rjN^dprintf(str);M}©wR`WH©vm6#Qn©H'JlTb请问运行Test函数会有什么样的结果?m答:©5VoidGetMemory2(char**p,intnum)]kX{©\URV*p=(char*)malloc(num);B-J}©/6lE27©,HCKvoidTest(void)=q?]{©/tgLchar*str=NULL;NT~$OGetMemory(&str,100);0K:e1strcpy(str,hello);q'printf(str);wX5t}©v©i请问运行Test函数会有什么样的结果?7GP©EwsqH答:©!2:9XvoidTest(void)7{©rQG4]char*str=(char*)malloc(100);Fo-strcpy(str,“hello”);70Jfree(str);~scAbif(str!=NULL)nI*W?+{©$lQgstrcpy(str,“world”);nK-printf(str)
本文标题:C_C++_笔试面试题大全(192页)
链接地址:https://www.777doc.com/doc-6378718 .html