2013校招c笔试题汇总 

2013校招c笔试题汇总 

ID:22578721

大小:213.80 KB

页数:36页

时间:2018-10-30

2013校招c笔试题汇总 _第1页
2013校招c笔试题汇总 _第2页
2013校招c笔试题汇总 _第3页
2013校招c笔试题汇总 _第4页
2013校招c笔试题汇总 _第5页
资源描述:

《2013校招c笔试题汇总 》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、2013校招C++笔试题汇总①链表反转单向链表的反转是一个经常被问到的一个面试题,也是一个非常基础的问题。比如一个链表是这样的:1->2_>3->4->5通过反转后成为5->4->3->2->lo最容易想到的方法遍历一遍链表,利用一个辅助指针,存储遍历过程中当前指针指向的下一个元素,然后将当前节点元素的指针反转后,利用己经存储的指针往后面继续遍历。源代码如下:structlinka{intdata;1inka氺next;};voidreverse(linka吨ead){if(head==NULL)return;lin

2、ka氺pre,*cur,氺ne;pre=head;cur=head->next:while(cur)ne=cur-〉next;cur_〉next=pre;pre=cur;cur=ne;}head->next=NULL;head=pre;还有一种利用递归的方法。这种方法的基本思想是在反转当前节点之前先调用递归函数反转后续节点。源代码如下。不过这个方法有一个缺点,就是在反转后的最后一个结点会形成一个环,所以必须将函数的返回的节点的next域置为NULL。因为要改变head指针,所以我用了引用。算法的源代码如下:linka

3、氺reverse(linka氺p,linka氺head){if(p二二NULL

4、

5、p->next==NULL){head=p;returnp:elselinka氺tmp=reverse(p->next,head);tmp->next=p;returnp;②已知String类定义如下:classStringpublic:String(constchartstr=NULL);//通用构造函数String(constStringanother);//拷贝构造函数String()://析构函数Stringoperater二(

6、constStringrhs)://赋值函private:char*m_data://用于保存字符串};尝试写出类的成员函数实现。答案:String::String(constchar氺str){if(str=二NULL)//strlen在参数为NULL时会抛异常才会有这步判断mdata=newchar[1];m_data[O]=’/O’;else{m_data=newchar[strlen(str)+l]:strcpy(mdata,str);String::String(constStringanother){md

7、ata=newchar[strlen(_data)+1]:strcpy(m_data,_data);}StringString::operator=(constStringrhs){if(this==rhs)return氺this;delete口m_data://删除原来的数据,新开一块内存mdata=newchar[strlen(data)+1]:strcpy(m_data,data);return氺this;String::〜String(){delete[]m_data;}③网上流传的C++笔试题汇总1.求下面

8、函数的返回值(微软)intfunc(x){intcountx=0;whi1e(x){countx++;x=x(x-1):}returneountx;}假定x=9999。答案••8思路:将X转化为2进制,看含有的1的个数。2.什么是“引用”?申明和使用“引用”要注意哪些问题?答:引用就是某个目标变量的“别名”(alias),对应用的操作与对变量直接操作效果完全相同。申明一个引用的时候,切记要对其进行初始化。引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,不能再把该引用名作为其他变量名的别名。声明一个

9、引用,不是新定义了一个变量,它只表示该引用名是目标变量名的一个别名,它本身不是一种数据类型,因此引用本身不占存储单元,系统也不给引用分配存储单元。不能建立数组的引用。1.将“引用”作为函数参数有哪些特点?(1)传递引用给函数与传递指针的效果是一样的。这时,被调函数的形参就成为原来主调函数中的实参变量或对象的一个别名来使用,所以在被调函数中对形参变量的操作就是对其相应的目标对象(在主调函数中)的操作。(2)使用引用传递函数的参数,在内存中并没有产生实参的副本,它是直接对实参操作;而使用一般变量传递函数的参数,当发生函数

10、调用时,需要给形参分配存储单元,形参变量是实参变量的副本;如果传递的是对象,还将调用拷贝构造函数。因此,当参数传递的数据较大时,用引用比用一般变量传递参数的效率和所占空间都好。(3)使用指针作为函数的参数虽然也能达到与使用引用的效果,但是,在被调函数中同样要给形参分配存储单元,且需要重复使用"*指针变量名"的形式进行运算,这很容易产生错误且程序

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。