东南大学C++程序设计上卷:选择题与简答题详解

需积分: 10 0 下载量 201 浏览量 更新于2024-09-24 收藏 57KB DOC 举报
本资源是一份东南大学本科C++程序设计的笔试样卷,分为选择题和简答题两部分,总分60分,考试时间为90分钟。以下是各部分知识点的详细解析: 1. **选择题** - 题目探讨了面向对象程序设计(OOP)与过程性(SP)程序设计的关系。选项B认为两者并非完全独立,而是有层次关系,指出将它们分开并列是不恰当的,强调了面向对象在编程中的全局视角和过程性编程在实现具体功能中的实用性。 - 第二题考查函数调用的理解。错误选项为C,因为实参和形参的类型匹配要求是可能通过类型转换实现的,不一定要求完全一致。 - 在C++中,表示字符'A'的正确方法是选项D,使用单引号('A')来表示ASCII字符。 - 函数重载的选择题中,选项D是正确的,因为只要参数类型或数量不同就可以实现重载,不需要所有参数和返回值类型都不同。 - 枚举类型的题目中,错误选项包括D,枚举常量的值不能重复,尽管标识符可以不同。 2. **简答题** - 第一个问题要求解释逻辑表达式的求值优化。这通常是指编译器通过分析代码,对表达式进行优化以提高执行效率,如消除冗余计算、使用位操作代替算术运算等。例如,当一个表达式在多个地方被重复计算时,编译器可能会存储中间结果,避免重复。 - 对于三个类定义的检查: - (1) 类Square有错误,构造函数参数过多且没有正确初始化。`void Square(int x=0, int y=0, int len=2);` 应该将side_length作为可选参数,如`void Square(int x=0, int y=0)`。 - (2) 类Circle的错误在于`auto int radius;`,`auto` 关键字在此处不合适,因为`register` 和 `auto` 不应同时用于变量声明。另外,`darw()` 应该是`draw()`。 - (3) 类Figure缺少结束的大括号'}',表示类定义不完整。 这份样卷旨在测试学生对C++基础知识的掌握,包括面向对象编程概念、函数调用规则、字符编码、函数重载、枚举类型以及类定义的基本语法理解。解答这些问题能帮助考生巩固理论知识,并熟悉实际编程中常见的问题和陷阱。