c/c++笔试题
需积分: 0 150 浏览量
更新于2014-08-27
1
收藏 1.12MB DOC AIGC 举报
【C/C++ 笔试题解析】
在C/C++的面试和笔试中,常见的题目涵盖了数据结构、算法、面向对象编程、内存管理等多个方面。以下将解析提供的几个典型题目:
### 1. 链表反转
单向链表反转是考察链表操作的经典问题。有两种常见解法:
**迭代法**:
```cpp
struct Linka {
int data;
Linka* next;
};
void reverse(Linka*& head) {
if(head == NULL)
return;
Linka *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;
}
```
**递归法**:
```cpp
Linka* reverse(Linka* p, Linka*& head) {
if(p == NULL || p->next == NULL) {
head = p;
return p;
} else {
Linka* tmp = reverse(p->next, head);
tmp->next = p;
return p;
}
}
```
递归法需要注意,反转完成后需要将最后一个节点的`next`设为`NULL`,以避免形成循环。
### 2. String类的实现
```cpp
class String {
public:
String(const char *str = NULL) {
if (str == NULL) {
m_data = new char[1];
m_data[0] = '\0';
} else {
m_data = new char[strlen(str) + 1];
strcpy(m_data, str);
}
}
String(const String &another) {
m_data = new char[strlen(another.m_data) + 1];
strcpy(m_data, another.m_data);
}
~String() {
delete []m_data;
}
String& operator=(const String &rhs) {
if (this == &rhs)
return *this;
delete []m_data;
m_data = new char[strlen(rhs.m_data) + 1];
strcpy(m_data, rhs.m_data);
return *this;
}
private:
char *m_data;
};
```
这个String类实现了基本的构造函数、拷贝构造函数、赋值运算符和析构函数,保证了对象的正确创建、复制和销毁。
### 3. 数学逻辑题
**函数func(x)** 返回的是x的二进制表示中1的个数。对于x=9999(二进制为11111110111),答案是8。
**引用的理解与使用**:
- 引用是现有变量的别名,创建引用时必须初始化。
- 引用一旦绑定,就不能再改变引用对象。
- 引用没有自己的存储空间,不占内存。
- 不可对引用数组进行操作,但可以对数组元素建立引用。
**引用作为函数参数**:
- 引用传递类似于指针传递,可以修改实参的值。
- 引用参数不占用额外的栈空间,效率高。
- 可以避免指针可能为空的问题,保证安全性。
- 引用参数在函数内部不能重新绑定。
以上是C/C++笔试中常见的题目类型和解答方式,理解和掌握这些基础知识对解决实际编程问题至关重要。在面试或笔试中,除了这些基础题目,还会涉及到模板、异常处理、多线程、STL容器等更高级的主题,需要不断学习和实践来提升技能。

applelpf2014
- 粉丝: 0
最新资源
- 朦胧虚化背景IOS风PPT模板.pptx
- 网络安全检测协议范本最新.doc
- 探讨电子商务对国际经济贸易的影响和对策.doc
- 小程序用户协议书.docx
- 智能家居系统的研究与设计方案.doc
- PLC对电力系统自动化工程的应用论文.doc
- 第三章基于MATLAB的科学计算—线性方程组.doc
- Linux中安装Memcached服务的方法.doc
- 快乐游戏-深度学习.ppt
- 内蒙古农牧业现代流通网络服务大厦工程投标施工组织设计.doc
- 电脑及网络维护服务协议(一).doc
- 《网络爬虫》PPT课件.pptx
- 电梯控制(plc-变频器)-电梯控制--毕设论文.doc
- 毕业设计(论文)--基于神经网络变结构控制的机械臂系统研究.doc
- 计算机本科生毕业论文.docx
- 通信工程管道施工组织设计.doc