C++程序设计复习重点:选择题解析

需积分: 9 0 下载量 94 浏览量 更新于2024-08-08 收藏 39KB DOCX 举报
"这是一份2021年春季学期的C++语言程序设计复习资料,包含多项选择题,覆盖了C++的基础语法、类与对象、异常处理、循环结构、运算符优先级、构造函数等多个核心知识点。" 1. C++的循环结构:题目涉及while循环和do...while循环,强调了do...while循环至少会执行一次,而while循环在条件不满足时可能一次都不执行。理解循环结构是编程基础,包括循环条件、循环体以及break和continue的使用。 2. 成员函数与友元函数:析构函数、构造函数和拷贝构造函数是类的成员函数,而友元函数不属于类的成员。常成员函数(const成员函数)用const关键字修饰,确保不修改对象的状态。 3. 数组与索引:在C++中,数组的索引从0开始,因此a[5]超出了数组范围,a[4.3]不是一个有效的索引,a(5)不是C++中的语法,正确的引用是a[0]。 4. 异常处理:C++中的异常处理使用try、catch和throw三个关键字。理解异常处理机制有助于编写健壮的代码,处理运行时可能出现的问题。 5. 表达式与赋值:C++中允许复合赋值操作,如a/=2,但a+b=5这样的赋值是非法的,因为左侧不能是表达式。 6. 数据类型转换与混合运算:10+x+v的结果取决于x和v的数据类型。如果x是整型,v是双精度浮点型,结果将是双精度浮点型。 7. const成员函数:const成员函数防止函数修改数据成员的值,通过在函数声明后面添加const关键字来实现。 8. 模运算:n%=i+1的结果是n与i+1的模运算,如果n=10,i=3,则n的值会变为2。 9. 异常处理的保留字:与问题4类似,异常处理的第三个关键字是throw。 10. 数据类型的确定:在10+x+v的表达式中,如果x和v都是浮点型,结果将是浮点型,否则可能会发生类型转换。 11. 循环结构的比较:while和do...while的主要区别在于do...while至少执行一次循环体,而while在进入循环前先检查条件。 12. 运算符优先级:!运算符具有最高优先级,其次是%(取模),接着是-=(减并赋值),最后是&&(逻辑与)。 13. 构造函数:构造函数与类同名,用于初始化对象,它在创建对象时自动调用。构造函数可以有多个,可以通过重载提供不同的行为。 14. 拷贝构造函数:拷贝构造函数通常接受一个同类对象的引用作为参数,用于创建新对象作为已存在对象的副本。 15. 字符串比较:在C++中,判断两个字符串s1和s2是否相等,应该使用strcmp(s1, s2)函数,并检查其返回值是否为0,因为直接使用赋值运算符s1=s2会尝试将字符串s2的地址赋给s1,而不是比较内容。 这份复习资料覆盖了C++的关键概念,对于学习和复习C++语言编程非常有帮助。学生可以通过解答这些题目来检查自己的理解和掌握程度,同时巩固相关的编程技能。