"C++语言程序设计复习题涵盖了基本语法、数据类型、数组、函数、类与对象、构造函数和析构函数等多个方面。"
在C++编程中,选择题涉及了以下知识点:
1. 表达式合法性:题目中提到的`px`是一个非法的表达式,因为C++中`p`是一个指针,`px`没有明确的意义。正确答案是A。
2. bool型逻辑运算:`w && !w`的结果是`false`,因为`!w`是`w`的否定,所以`w`和`!w`不能同时为真。正确答案是B。
3. 数组定义:正确地定义一个int型数组A并初始化为{9, 0, 3, 0, 0}的方法是D,即`int A[5]={9,0,3,0,0};`。
4. 函数无返回值:无返回值的函数通常声明为`void`类型,可以作为被调用的语句,但不能作为表达式的一部分。正确答案是B。
5. 析构函数:析构函数在C++中用于清理对象资源,它没有返回类型,且每个类只能有一个。选项C错误,析构函数不能有参数。正确答案是C。
6. 对象初始化:负责初始化对象的是构造函数。正确答案是C。
7. for循环次数:for循环`for(int i=0, x=0; !x&&i<=5; i++)`在`i`达到6之前结束,因为`!x`始终为`false`(当`x`为0时),因此循环次数为6。正确答案是B。
8. 逻辑运算符:`X>Y&&X<=Y`的值取决于`X`和`Y`,如果`X`正好等于`Y`,则表达式的值为`true`。正确答案是C。
9. 函数类型默认:若函数类型未明确声明,其默认类型为`int`。正确答案是C。
10. 类与对象关系:类是对象的模板,一个类可以创建多个对象。选项C错误,一个类可以有多个对象。正确答案是C。
11. 构造函数特征:构造函数的名称与类名相同,可以重载,且可以有默认参数。选项D错误,构造函数不需要指定类型说明,因为它们的类型已经由类名确定。正确答案是D。
12. 析构函数特征:析构函数与类名不同,且一个类只能有一个析构函数。选项B和C错误,析构函数没有参数。正确答案是A。
13. 类型修饰符`unsigned`:它能用于`char`、`int`和`long int`,但不能用于`float`。正确答案是D。
14. 十六进制整型常量:选项C中的`2fx`是错误的表示方式,因为在十六进制中,前缀应为`0x`。正确答案是C。
15. 运算符结合性:三目运算符(条件运算符)从右到左结合,赋值运算符从右到左结合,比较运算符从左到右结合,单目运算符(如`++`、`--`)从右到左结合。题目中问的是从左到右结合的,所以正确答案是D。
16. 预处理命令:预处理命令以`#`开头,例如`#include`、`#define`等。正确答案是B。
这些题目全面地考察了C++的基础知识,包括变量、表达式、逻辑运算、数组、函数、类、对象以及构造和析构函数的使用。理解和掌握这些知识点对于学习和使用C++至关重要。