哈工大2004秋《C++程序设计》考试题精要

版权申诉
0 下载量 44 浏览量 更新于2024-09-06 收藏 167KB PDF 举报
本资源是一份2004年秋季哈尔滨工业大学数学系《C++程序设计》考试题-A的试卷,针对的是2003级学生。试卷包含两个部分:填空题和判断题,总分为95分,其中实验部分占20分,平时成绩占10分。 一、填空题部分(15分) 1. 面向对象的程序设计方法主要体现了封装(Encapsulation)、继承(Inheritance)和多态性(Polymorphism)三大特性。这些特性使得程序设计更加模块化、复用性和灵活性增强。 2. 在C++中,`m=5`,执行`m++;`后,表达式的值是5(因为自增操作符后跟变量,返回原值),m的值变为6。执行`++m;`后,表达式的值同样是6,此时m的值也增加到7。在给定的代码中,这两个操作的结果相同,但语法上有所区别。 3. 语句`m > n ? m++ : ++n`是一个条件运算符,当m大于n时执行m自增,否则执行n自增。这里m=4,n=5,首先m不满足条件,因此执行`++n`,得到m=4,n=6。接着执行`m++`,m变为5。最后计算`m+n`,结果是11。 4. 第一个循环`while(int i=1)`,由于`i`初始化为1,条件始终为真,直到`i`递减为0,循环共执行1次。第二个for循环`for(int i(0), j(0); i = j = 0; i++, j--)`,由于初始条件`i = j = 0`,循环体不会执行,因此循环次数为0次。 5. 形参可以设置为引用(引用传递,即传址)、指针(指针传递,允许修改或不修改)来返回多个值。若希望实参不被修改,应使用const关键字修饰形参。内联函数用`inline`关键字标识,运算符重载则用`operator`关键字。 二、判断题(20分) 1. 错误。编译C++源程序时,警告错误可能影响程序的正确运行,通常需要修复才能生成可执行文件。 2. 正确。C++中,`#define`定义的宏常量不需要类型说明,而使用`const`声明的常量需要显式指定类型。 3. 错误。表达式的类型不仅取决于运算符,还与操作数的类型有关。 4. 正确。`break`语句可以在各种循环中使用,用于提前退出,而`continue`语句仅用于跳过当前循环的剩余部分,进入下一轮循环。 5. 错误。函数无返回值时仍需使用`void`关键字声明,但不是必须。函数参数可以设置默认值,但并非所有参数都必须设置。 6. 正确。指向函数的指针和数组名作为参数时,实参与形参共享内存空间。 7. 正确。结构体和联合的主要区别在于,结构体成员有自己的独立内存地址,而联合中的成员共享同一内存空间,其大小由最大成员决定。 这份试卷旨在考察学生的C++基础理论知识和编程实践能力,通过填空和判断的形式,涵盖了变量和表达式、控制流、面向对象编程、函数和数据结构等核心概念。