2009年1月自学考试C++编程试题详解及答案

需积分: 3 1 下载量 111 浏览量 更新于2024-09-13 收藏 83KB DOC 举报
本文档提供了全国2009年1月自学考试C++程序设计的试题及其答案,涵盖了C++语言的基础知识和编程技巧。以下是一些关键知识点的详细解析: 1. **源程序扩展名**: C++源程序文件通常使用`.cpp`作为扩展名,这是C++语言的标准,用于表示编译器需要编译的源代码文件。 2. **输入输出流**: 在C++中,`cin`是用于从键盘读取输入的内置流,用于获取用户输入。 3. **预处理指令**: 使用`#include "file.h"`来包含自定义的头文件,确保使用正确的引用方式,避免语法错误。 4. **十六进制标识符**: C++允许使用前缀`0x`来表示十六进制数,这有助于明确区分二进制和十六进制。 5. **指针和变量声明**: 选项A中的`int *p=&x`是正确的声明方式,分配了存储空间并指向整型变量`x`,其他选项语法不正确或含义不同。 6. **封装性与访问控制**: 使用`private`关键字可以创建私有成员,以实现类的封装,防止外部直接访问其内部细节。 7. **函数参数传递与交换值**: 函数`void swap(int&, int&)`用于交换两个整数引用的值,调用后,原始变量`a`和`b`的值会互换。 8. **默认参数的位置**: 在函数原型中,默认参数必须位于所有非默认参数的后面,这样编译器才能确定它们的顺序。 9. **函数调用与重载**: 选项B中`int m = min(15, 26, 47)`是正确的,因为`min`函数可以接受三个整数作为参数;其他选项中,错误在于使用了不正确的函数调用形式。 10. **函数重载**: 选项C中的`int print(char)`与已有的`void print(char)`函数无法构成重载,因为返回类型不同,即使参数列表相同,也是不同的重载版本。 11. **表达式的类型**: 对于表达式,`7/2`和`7.0/2.0`的结果类型不同,前者是整数除法可能得到整数结果,后者是浮点数除法,结果是浮点数。 这些知识点涵盖了C++语言的基本概念,包括数据类型、流操作、预处理器指令、封装性、函数参数传递、重载函数以及基本的算术运算和类型规则。学习者可以通过这份试题及其答案加深对C++的理解,并检验自己的编程技能。