2009年1月C++自学考试试题解析
需积分: 12 152 浏览量
更新于2024-11-13
收藏 71KB DOC 举报
"全国2009年1月自学考试C++程序设计试题"
这份自考试题涵盖了C++语言的基础知识,包括预处理指令、输入输出流、数据类型、指针、封装、函数、默认参数、重载以及算术运算符等核心概念。以下是这些知识点的详细说明:
1. **源程序文件扩展名**:C++源程序文件通常以`.cpp`为扩展名,选项A正确。`.h`用于头文件,`.lib`是库文件,`.obj`是编译后的对象文件。
2. **输入输出流**:在C++中,`cin`对象专门用于从键盘接收输入,选项B正确。`cerr`用于错误输出,`cout`用于标准输出,`cfile`不在标准库中。
3. **包含自定义头文件**:在C++中,包含头文件的预处理指令是`#include`,如果头文件是用户自定义的,一般用双引号括起来,即`#include "file.h"`,选项D正确。
4. **十六进制表示**:十六进制数值前缀是`0x`,选项D正确。例如,`0x10`表示十进制的16。
5. **指针声明**:选项A、C和D都是错误的声明方式,正确的是B,即`int *p = &x;`,这声明了一个指向整型变量x的指针。
6. **封装**:在定义类成员时,为了实现封装,通常会使用`private`关键字来声明私有成员,这样它们不能被类外部直接访问,选项D正确。
7. **函数调用**:`swap(a, b)`函数交换了a和b的值,因此执行后a和b的值会互换,选项C正确。
8. **默认参数**:默认参数应该放在参数列表的末尾,选项C正确。如果在中间位置设定默认参数,当调用函数时可能会引起混淆。
9. **函数调用和嵌套调用**:表达式A和C是正确的调用方式,而B是错误的,因为`min`函数只接受两个参数,不能直接传递三个参数求最小值。D中的最后一个参数应该是`26`,而不是`16`,所以也是错误的。
10. **函数重载**:函数重载意味着同一作用域内的函数可以有不同的参数列表。选项C错误,因为它与原始的`void print(char)`函数签名冲突,形成了重复定义。
11. **算术运算符**:表达式A中,7/2的结果是整数3,7.0/2.0的结果是浮点数3.5,类型不同。其他选项中的两个表达式都会得到相同的类型:B中的两个字符相加会产生一个整数;C中的整数除以整数会得到浮点数;D中的两个整数相加仍然是整数。
这些知识点构成了C++编程的基础,理解和掌握它们对于学习C++至关重要。在实际编程中,考生需要灵活运用这些知识解决各种问题。
2009-04-02 上传
2010-01-05 上传
2014-09-29 上传
128 浏览量
2009-01-06 上传
2011-02-21 上传
2014-02-23 上传
2011-11-29 上传
2009-12-24 上传
ghsheng1983
- 粉丝: 0
- 资源: 6