C++面试必备:选择题与填空题解析

5星 · 超过95%的资源 需积分: 50 32 下载量 148 浏览量 更新于2024-08-08 收藏 44KB DOC 举报
"C++面试试题2021" 在C++面试中,了解语言的基本概念、语法特性以及编程原理是至关重要的。以下是对题目中涉及的一些知识点的详细解释: 1. **常量与变量**: - `const` 关键字用于声明常量。A) `const int buffer=256;` 是合法的,声明了一个整型常量buffer。B) `const int temp;` 也是合法的,声明了一个未初始化的整型常量temp。C) `const double* point;` 声明了一个指向常量double的指针,意味着point不能改变所指的值。D) `const double* rt=new double(5.5);` 合法,rt是一个指向新分配的double常量的指针。 2. **指针与数组**: - 题目中的数组声明和指针操作,例如 `inta[10]` 和 `*p=a`。表达式 `(p+8)` 的值为数组a的第9个元素的地址,因此 `*(p+8)` 会得到数值9。 3. **C++关键字**: - C++的关键字包括 `friend`, `namespace`, `continue` 等,但 `byte` 不是C++的关键字,它可能在某些特定环境或库中用作标识符,但不是标准语言的一部分。 4. **类型声明**: - `unsigned long int` 和 `long` 不是完全相同的类型,它们分别表示无符号长整型和长整型。`signed short int` 和 `short` 类似,都是短整型,但前者明确指出是有符号的。`unsigned short` 和 `short` 同理,前者是无符号的,后者可能是有符号的。`short int` 和 `int` 在某些平台上可能是等价的,但在其他平台可能不同。 5. **指针声明**: - `int*p=&k;` 定义了指向整型变量k的指针p。等效的语句序列是 `int*p; p=&k;`。 6. **存储类型**: - 默认情况下,函数内部的变量存储类型是 `auto`,表明它们是局部变量。 7. **数据库系统**: - 数据库系统依赖于操作系统,它不是独立的系统。数据库技术的主要目标是解决数据共享问题,所以选项B是正确的。 8. **面向对象编程**: - 在面向对象方法中,对象的封装是实现信息隐蔽的基础。 9. **程序执行效率**: - 程序执行效率受多种因素影响,包括数据的存储结构、控制结构和数据量。因此,选项D是正确的。 10. **继承与访问属性**: - 如果派生类以 `protected` 方式继承基类,基类的 `protected` 成员在派生类中仍然是 `protected`,而 `public` 成员仍然是 `public`。 对于填空题部分,代码的运行结果通常与计算机的位宽有关。在32位平台上,整型(int)通常是32位,可以存储-2^31到2^31-1的值。由于题目没有给出完整的代码,无法确定具体输出,通常会输出一个32位整数的二进制表示。完整代码和运行结果分析需要题目提供完整的代码段。 这些知识点涵盖了C++语言的基础,包括常量、变量、指针、类型声明、存储类型、数据库原理、面向对象特性以及程序性能等方面,这些都是C++面试中常见的考察点。