1
、已知小写字母
b
的
ASCII
码为
98
,下列
C++
代码的输出结果是( )。
A. b
B. c
C. 98
D. 99
【答案】
B
【考纲知识点】语法知识,
ASCII
码
【解析】在
C++
中,字符在计算机中是整数存储,小写字母
b
的
ASCII
码为
98
,对
a
进行自增操作时,其
ASCII
码增加到
99
,程序输出的是
ASCII
码值为
99
的字符,即小写字母
c
2
、已知
a
为
int
类型变量 ,下列表达式不符合语法的是( )。
A. &a + 3
B. +a & 3
C. a - - 4
D. a++3
【答案】
D
【考纲知识点】语法知识, 自增运算符
【解析】
a++3
是语法错误,因为
a++
作为一个整体,其结果不能直接与其它数值进行连接。
3
、下列关于
C++
语言中指针的叙述 ,不正确的是( )。
A.
指针变量中存储的是内存地址。
B.
指针变量指向的内存地址不⼀定能够合法访问。
C.
结构类型中的指针成员不能指向该结构类型。
D.
定义指针变量时必须指定其指向的类型。
【答案】
C
【考纲知识点】语法知识,指针
【解析】结构体类型中的指针成员是可以指向该结构类型的,常见操作如链表。
4
、下列关于
C++
类的说法 ,错误的是
( )
。
A.
将
C++
类对象通过值传递给函数参数时 ,会⾃动调用复制构造函数。
B.
将⼀个类的对象赋值给该类的另⼀个对象时 ,不会⾃动调用构造函数。
C.
定义
C++
类对象时 ,⼀定会调用默认构造函数。
D.
构造派⽣类的对象时 ,⼀定会调用基类的构造函数。
【答案】
C
【考纲知识点】语法知识
【解析】如果类中定义了其他构造函数(如有参数的构造函数)但没有定义默认构造函数,且在创建对象时没有提供初始化参数,则不会调用默认构造函数,甚至可能导致编译错误。
例如:
class MyClass {
public:
MyClass(int value) : m_value(value) {}
private:
int m_value;
};
在这个例子中,
MyClass
有一个接受一个整数参数的构造函数。如果尝试创建一个
MyClass
对象而不提供初始化参数,如下所示:
MyClass obj;
这将导致编译错误,因为编译器找不到一个无参数的默认构造函数。
5
、某⼆叉树
T
的先序遍历序列为:
{AB D C E G H F}
, 中序遍历序列为:
{D BAH G E C F}
,则下列说法中正确的是
( )
。
A. T
的⾼为
5
B. T
有
4
个叶节点
C. T
是平衡树
D.
以上说法都不对
【答案】
A
【考纲知识点】数据结构
-
树
【解析】先序可以确定根节点,中序可以确定左右子树节点,根据先序和中序可以构造一棵唯一的二叉树。
如果根节点高度为
1
,则这棵二叉树的高
2024年 9月 GESP认证 C++编程 七级试卷解析