资源描述:
《游戏公司面试题及答案》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、1.完成字符串拷贝可以使用sprintf、strcpy及memcpy函数,请问这些函数有什么区别,你喜欢使用哪个,为什么?举例写出你的使用习惯2•以下为32位C++程序,请计算sizeof的值sizeof(str)=_sizeof(p)=_sizeof(n)=_voidFunc(charstr[100]){请计算sizeof(str)=}void*p=mallocf100);请计算sizeof(p)=_43•冇一组整数存储在std::vector数组中,请编程实现冒泡排序。#inelude#ineludeintmain(
2、){std::vectora;inttable[7]={12,65,28,42,0,36,32};intk;for(k=0;k<7;k++)a.push_back(table[k]);inti,j;for(i=0;iaUDtemp=a[i];a[i]=a[j];a[j]=temp;for(k=0;k<7;k++)std::cout«a[k]«"}4.写出下面程序的输出templateclassabc{publ
3、ic:abc(){prirnf(f,primaryrK);}};templateoabc::abc(){printf("memberspecrrT);};templateclassabc{public:abc(){printfC'partialspecrM);}};intmain()abcf_abc;abci_abc;答案:partialspecmemberspec5、windows应用程序是以消息驱动的,请问GetMessage(
4、)和PeekMessage()本质的区别答案:当消息队列没有消息的时候,GetMessage()会阻塞程序,而PeekMessage不会。6exit(),printf(),malloc(),strcpy以及strlen()都是C语言库函数,请修改以下C程序使得其能在C++下编译通过constchar*str="hello";void*malloc(int);char*strcpy(char*,constchar*);intprintf(constchar*,...);intexit(int);intstrlen(constchar*);intmain(){
5、/*C语言程序*/char*s=malloc(strlen(str)+l);strcpy(s,str);printf("%s,worid'n",s);exit(O);}答案:Extern"C〃{constchar*str="hello";void*malloc(int);char*strcpy(char*,constchar*);intprintf(constchar*,...);intexit(int);intstrlen(constchar*);intmain(){/*c语言程序*/char*s=malloc(strlen(str)+l);strcpy
6、(s,str);printf("%s,world",s);exit(O);}7请指出下列哪些模板实例化是有效的,并说明原因。templateclassPtrtemplateclassFixd_Array{...};templateclassScreen{...};a)Constintsize=1024;Ptr<&size>bpl;b)Intarr[10];Ptrbp2;c)Ptr<0>bp3;d)constinthi=40;constintwi=80;Scree
7、nvhi,wi+32>sObj;e)constintsize_val=1024;f)unsignedintfasize=255;g)constdoubledb=3.1415;Fixed_Arrayfa3;答案:bde是和法的a)Constintsize=1024;Ptrv&size>bpl;不正确,因为无法将constint的内存地址转换为int*.b)Intarr[10];Ptrbp2;正确c)Ptr<0>bp3;不正确,0是int型,它需要一个个转换为null指针,才可以认为是int*d)constinthi=40;co
8、nstintwi=80;Screenvhi,wi+32>sObj;