经典C++笔试题.doc_第1页
经典C++笔试题.doc_第2页
经典C++笔试题.doc_第3页
经典C++笔试题.doc_第4页
经典C++笔试题.doc_第5页
已阅读5页,还剩188页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1. 以下三条输出语句分别输出什么?C易r(Y3char str1 = abc;r92char str2 = abc;!UTconst char str3 = abc; kconst char str4 = abc; EE#+Tconst char* str5 = abc;EsTconst char* str6 = abc;Dl,e#cout boolalpha ( str1=str2 ) endl; / 输出什么?M6ricout boolalpha ( str3=str4 ) endl; / 输出什么?f(#5cout boolalpha ( str5=str6 ) 0&Hd. A& operator= ( const A& ); / 赋值操作,虽不是正宗的隐式类型转换,但也可以勉强算一个pz达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛:O3. 以下代码中的两个sizeof用法有问题吗?C易void UpperCase( char str ) / 将 str 中的小写字母转换成大写字母%tNg2O达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛y for( size_t i=0; isizeof(str)/sizeof(str0); +I )H0X&C if( a=stri & stri61xchar str = aBcDe;-Ercout str字符长度为: sizeof(str)/sizeof(str0) endl;|,A1uUpperCase( str );cout str 9 ) ch += (A-9-1);3+C5B char cl = c%0x10 + 0; if( cl 9 ) cl += (A-9-1);LEf8 cout ch cl ;=4!6达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛vZchar str = I love 中国;w9K *for( size_t i=0; istrlen(str); +I )JvCQY char2Hex( stri );ua66cout endl;&r:MK达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛(t/5. 以下代码有什么问题?C+易+k7kstruct TesthwOe=i达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛e Test( int ) X(YTest() Qc void fun() j0;Xvoid main( void )oOf-达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛RJ=mk Test a(1);Xa a.fun();vser* Test b();U b.fun();3达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛L达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛Xkau6. 以下代码有什么问题?C+易s#_cout (true?1:1) temp;*;f#unsigned int const size2 = temp;A 7char str2 size2 ;l!a达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛NAB1o8. 以下代码中的输出语句输出0吗,为什么?C+易*tMastruct CLS02达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛S64r int m_i;c3 CLS( int I ) : m_i(i) vMo CLS()ATO&K !x. CLS(0); 一个零时的对象而已。 .lo;N KDCLS obj;tZScout obj.m_i endl;&Hm9. C+中的空类,默认产生哪些类成员函数?C+易0Fk;Wc答:达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛+5hZclass Emptyn?Y#达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛?8public:b3-% Empty(); / 缺省构造函数y?).r Empty( const Empty& ); / 拷贝构造函数wYLd$ Empty(); / 析构函数o$=a Empty& operator=( const Empty& ); / 赋值运算符 Empty* operator&(); / 取址运算符 const Empty* operator&() const; / 取址运算符 constEwH9;q4iy达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛10. 以下两条输出语句分别输出什么?C+难#qs,float a = 1.0f;2,cout (int)a endl;+ wcout (int&)a endl;I_%:,Ucout boolalpha ( (int)a = (int&)a ) iR*cout (int)b endl; Kbcout (int&)b endl;wcout boolalpha ( (int)b = (int&)b ) endl; / 输出什么?%2(int&)a = static_cast (a)(int)&a = reinterpret_cast (&a);(int&)a 不经过转换, 直接得到a在内存单元的值,并将其转换成整数输出。(int)a a在内存中的值转换成int类型术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛eA6hO11. 以下反向遍历array数组的方法有什么错误?STL易Ilvector array;wk6aXarray.push_back( 1 );X:g|+Rarray.push_back( 2 );barray.push_back( 3 );Kfor( vector:size_type i=array.size()-1; i=0; -I ) / 反向遍历array数组-*H6 cout arrayi 达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛5cQ if( 2 = *itor ) array.erase( itor );jxTI达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛t 达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛N013. 写一个函数,完成内存之间的拷贝。考虑问题是否全面U-答:达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛o*7|void* mymemcpy( void *dest, const void *src, size_t count )#E达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛:uyq char* pdest = static_cast( dest );h6 const char* psrc = static_cast( src );F if( pdestpsrc & pdestpsrc+cout ) 能考虑到这种情况就行了s:? ue:5 for( size_t i=count-1; i!=-1; -I )$6-; pdesti = psrci;F MTF#a. elseC)xUB H for( size_t i=0; i1k达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛4 char str = 0123456789;wt&8 mymemcpy( str+1, str+0, 9 );Nw6g cout str Qif ( n != 0 )ox1以此类推。8?!1vp达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛QgrV请写出 BOOL flag 与“零值”比较的 if 语句:D#Sig请写出 float x 与“零值”比较的 if 语句:a-请写出 char *p 与“零值”比较的 if 语句:(T|达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛ez二、以下为Windows NT下的32位C+程序,请计算sizeof的值(10分)char str = “Hello” ;A,EhZchar *p = str ;i;yint n = 10;I请计算7Fsizeof (str ) = fKj Bhsizeof ( p ) = 346msizeof ( n ) =ygQvoid Func ( char str100)lA8hIq达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛Kvi请计算ATsizeof( str ) = p=达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛B达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛#Zh(void *p = malloc( 100 );请计算3sizeof ( p ) =c)LKWB#include conio.h*:R达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛#1HEstruct stu0pN char name20;6Z char sex;a&?Fn? int no;M(&1tN int age;l%struct stu * next;&SJnV*linklist;&struct stu *creatlist(int n)5c达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛fh int I;z34Wh /h为头结点,p为前一结点,s为当前结点j? struct stu *h,*p,*s;lo3= h = (struct stu *)malloc(sizeof(struct stu);n h-next = NULL;l p=h;w for(i=0;inext = s;m&K9v printf(Please input the information of the student: name sex no age n);m1z4dv scanf(%s %c %d %d,s-name,&s-sex,&s-no,&s-age);C;oF s-next = NULL; $v p = s;!pM MQ printf(Create successful!);cZb# return(h);DZxX达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛c_;zwvoid deletelist(struct stu *s,int a)|达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛kstruct stu *p;zu#Iwhile(s-age!=a)JK2达内IT技术论坛中国人p = s;0kj7s = s-next;g达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛Atif(s=NULL)mnext = s-next;1aprintf(Delete successful!);04达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛T|mI达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛void display(struct stu *s)WaXx达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛Qs = s-next;-h while(s!=NULL)s6 F S printf(%s %c %d %dn,s-name,s-sex,s-no,s-age);sp s = s-next;4)T0x )/E达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛NImY(Vint main()ZF达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛Py struct stu *s;int n,age;=ooprintf(Please input the length of seqlist:n);yDI_,scanf(%d,&n);ql s = creatlist(n);:6L:7g display(s);3|Bprintf(Please input the age:n);_u%kscanf(%d,&age);9 deletelist(s,age);I%display(s);If return 0;ev达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛7J达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛qrVJ;2、实现一个函数,把一个字符串中的字符从小写转为大写。GA达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛Lhx9程序代码6f#include stdio.h3#include conio.hTq*O达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛xvoid uppers(char *s,char *us)SV=a&*s=z)s;VV, *us = *s-32;DN;Akw else5qD, *us = *s; W5B b2yf *us = 0;z4QA达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛(int main()ncI达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛J7?dv char *s,*us;9fJ Y char ss20;q*V printf(Please input a string:n);+ scanf(%s,ss);q s = ss;X$&qR uppers(s,us);.y4m- printf(The result is:n%sn,us);sa&13如何截取键盘的响应,让所有的a变成b?1$14Apartment在COM中有什么用?为什么要引入?vi15存储过程是什么?有什么用?有什么优点??16Template有什么特点?什么时候用?=17谈谈Windows DNA结构的特点和优点。;!18.网络编程中设计并发服务器,使用多进程与多线程 ,请问有什么区别?#达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛ov达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛(k2达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛cD达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛H49F,C+面试题集和答案,C+面试基础题,C+笔试题和答案 2达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内一道C语言的面试题 Pm#V2l达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛Mw$unsigned long val;$wAowwchar a=0x96;kLE.Uuchar b=0x81;!MRzeR达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛$?Ftval= b8 | a;2t达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛f问val=_?O达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛0bHR,Y达内IT技术论坛中国人学Java、学C+、学C#/.Net、学软件、学IT的地方 - 达内科技论坛9(+J0x8196或0xffffff96。_取决于编译器把char默认为无符号还是有符号。k字节作移位或算术一般定义为unsigned charcq)FhC+笔试题(二十) 网易的笔试题。1、10个人分成4组 有几种分法? 解法1:分两步,第一步:有以下九种分组方法。第二步将每种分法的可能组和数相加。1 11 7C10(7)1 1 2 6C10(6)*C4(2)1 1 3 5C10(5)*C5(3)1 1 4 4C10(4)*C6(4)/P2(2)1 2 2 5C10(5)*C5(2)*C(3)2/p2()1 2 3 4C10(4)*C6(3)*C3(2)1 3 3 3C10(3)*C7(3)*C4(3)/P3(3)2 2 2 4C10(2)*C8(2)*C6(2)/P3(3)2 2 3 3C10(2)*C8(2)*C6(3)/P2(2)/P2(2)解法二:410-(C4 1)310+(C4 2)210-(C4 3)110/(4*3*2)每个人有4中状态,所以有410种如果某一组为空则C4 1中可能,在这种可能中每个人就有3种状态,所以要减去(C4 1)310上述一组为空情况中多减去了有两组为空的情况,所以加(C4 2)210上述两组为空情况中多加上了有三组为空的情况,所以减(C4 3)110因为组无分别,所以除以(4*3*2)2、如图: 7 8 9 10 6 1 2 11 5 4 3 12 16 15 14 13 设“1”的坐标为(0,0) “7”的坐标为(1,1) 编写一个小程序,使程 序做到输入坐标(X,Y)之后显示出相应的数字。#includevoid main(void) int circleX, circleY, circle, x, y, num, numX, numY, i;scanf(%d %d, &x, &y);/计算属于第几圈if(x=1)circleX=x;else if(x=1)circleY=y;else if(ycircleY?circleX:circleY;/获得本圈第一个数及其坐标num = 4*(circle-1)*(circle-1)+1;numX=circle-1;numY=1-circle;/查询输入坐标对应的数for(i=0;i2*circle-2;i+)if(numX=x & numY=y)printf(The number is:%dn,num);return;numX-;num+;for(i=0;i2*circle-1;i+)if(numX=x & numY=y)printf(The number is:%dn,num);return;numY+;num+;for(i=0;i2*circle-1;i+)if(numX=x & numY=y)printf(The number is:%dn,num);return;numX+;num+;for(i=0;i3) return 0; if(x0) printf(too smalln);continue; if(y0) printf(too smalln);continue; if(zz) printf(too bign);continue; if(z1000000010) printf(too bign);continue printf(%d %d %d,x,z,mex(x,y,z); 根据这个程序,当已知一个输入,算出输出,如:输入 1 3 1 则输出 1 2 3 输 入 123456789 100 21 输出 123456789 2 100 C语言题库 *1 A 一个C程序的执行是从_。 A)本程序的main函数开始,到main函数结束 B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C)本程序的main函数开始,到本程序文件的最后一个函数结束 D)本程序文件的第一个函数开始,到本程序main函数结束 *2 C 以下叙述正确的是: A)在C程序中,main函数必须位于程序的最前面 B)C程序的每行中只能写一条语句 C)C语言本身没有输入输出语句 D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误 *3 D 以下叙述不正确的是。 A)一个C源程序可由一个或多个函数组成 B)一个C源程序必须包含一个main函数4. static有什么用途?(请至少说明两种)1.限制变量的作用域2.设置变量的存储域7. 引用与指针有什么区别?1) 引用必须被初始化,指针不必。2) 引用初始化以后不能被改变,指针可以改变所指的对象。2) 不存在指向空值的引用,但是存在指向空值的指针。8. 描述实时系统的基本特性在特定时间内完成特定的任务,实时性与可靠性9. 全局变量和局部变量在内存中是否有区别?如果有,是什么区别?全局变量储存在静态数据库,局部变量在堆栈10. 什么是平衡二叉树?左右子树都是平衡二叉树 且左右子树的深度差值的绝对值不大于111. 堆栈溢出一般是由什么原因导致的?没有回收垃圾资源12. 什么函数不能声明为虚函数?constructor13. 冒泡排序算法的时间复杂度是什么?O(n2)14. 写出float x 与“零值”比较的if语句。if(x0.000001&x-0.000001)16. Internet采用哪种网络协议?该协议的主要层次结构?tcp/ip 应用层/传输层/网络层/数据链路层/物理层17. Internet物理地址和IP地址转换采用什么协议?ARP (Address Resolution Protocol)(地址解析協議)18.IP地址的编码分为哪俩部分?IP地址由两部分组成,网络号和主机号。不过是要和“子网掩码”按位与上之后才能区分哪些是网络位哪些是主机位。2.用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出。写出C程序。循环链表,用取余操作做3.不能做switch()的参数类型是:switch的参数不能为实型。1、 static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?2、 Static 全局变量:静态存储区 作用域为当前文件3、 局部变量加static改变了他的生存期4、 全局变量则改变了其作用域函数变为static时也是作用于当前文件2、程序的局部变量存在于(堆栈)中,全局变量存在于(静态区 )中,动态申请数据存在于( 堆)中。3、设有以下说明和定义:typedef union long i; int k5; char c; DATE;struct data int cat; DATE cow; double dog; too;DATE max;则语句 printf(%d,sizeof(struct date)+sizeof(max);的执行结果是:_52_答:DATE是一个union, 变量公用空间. 里面最大的变量类型是int5, 占用20个字节. 所以它的大小是20data是一个struct, 每个变量分开占用空间. 依次为int4 + DATE20 + double8 = 32.所以结果是 20 + 32 = 52.当然.在某些16位编辑器下, int可能是2字节,那么结果是 int2 + DATE10 + double8 = 204、队列和栈有什么区别?队列先进先出,栈后进先出5、写出下列代码的输出内容#includeint inc(int a)return(+a);int multi(int*a,int*b,int*c)return(*c=*a*b);typedef int(FUNC1)(int in);typedef int(FUNC2) (int*,int*,int*);void show(FUNC2 fun,int arg1, int*arg2)INCp=&inc;int temp =p(arg1);fun(&temp,&arg1, arg2);printf(%dn,*arg2);main()int a;show(multi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论