当前位置: 首页 > news >正文

2025年9月计算机二级C++语言程序设计——选择题打卡Day8

备考计算机二级 C++ 程序设计考试,选择题是不容忽视的重要部分。

今天为大家带来 10 道综合选择题,涵盖类、函数、数组等核心知识点,助力巩固知识体系。

1、有如下程序:

#include<iostream>
using namespace std;
class A {
public:A() { cout<<"A"; }~A() { cout<<"~A"; }
};
class B : public A {
public:B() { cout<<"B"; }~B() { cout<<"~B"; }
};
int main() {B b;return 0;
}

运行时的输出结果是( )
A. ABBA
B. BAAB
C. ABAB
D. BABA

答案:A

分析:创建 B 对象时,先调用 A 构造(输出 A),再 B 构造(输出 B);销毁时先 B 析构(输出~B),再 A 析构(输出~A),故选 A。

2、下列关于指针的操作中,正确的是( )
A. int ptr=new int[10];
B. int *ptr =new int[10]; delete ptr;
C. int a=10; void ptr = &a; cout<<(ptr);
D. int Array[4]; *(Array +3)=10;

答案:D

分析:A 创建的是 int 指针数组,语法正确但用途特殊;B 释放数组应用 delete [];C 需强制类型转换(如 (int) ptr);D 正确给数组第四个元素赋值,故选 D。

3、有如下函数定义:

int fun(int x, int y) {return x+y;
}

下列重载函数中,正确的是( )
A. double fun (int x, int y) { return x+y; }
B. int fun (int a, int b, int c=0) { return a+b+c; }
C. int fun (int x) { return x; }
D. double fun (double x, double y) { return x+y; }

答案:D

分析:重载函数需参数列表不同,A 仅返回类型不同错误;B 调用时可能歧义;C 参数个数不同但与原函数调用可能歧义;D 参数类型不同正确,故选 D。

4、有如下程序段:

char str[]="\\tea\tea";

则 strlen (str) 的值是( )
A. 8
B. 7
C. 10
D. 9

答案:B

分析:字符串含字符:‘’、‘t’、‘e’、‘a’、‘\t’、‘e’、‘a’,共 7 个,故选 B。

5、下列关于类的静态成员函数的叙述中,正确的是( )
A. 静态成员函数可以直接访问类的所有成员
B. 静态成员函数只能通过对象名调用
C. 静态成员函数没有 this 指针
D. 静态成员函数的声明必须加 static,定义时可以不加

答案:C

分析:静态成员函数无 this 指针,不能访问非静态成员,A 错误;可通过类名调用,B 错误;声明和定义都需加 static,D 错误;C 正确,故选 C。

6、有如下程序:

#include<iostream>
using namespace std;
int main(){int x=1, y=2, z=3;if(x>y) z=x, x=y; y=z;cout<<x<<y<<z<<endl;return 0;
}

运行时的输出结果是( )
A. 123
B. 233
C. 133
D. 231

答案:B

分析:x>y 为假,不执行 z=x,x=y;执行 y=z(y=3),输出 x=1,y=3,z=3? 修正:实际代码中 if 后语句为 z=x,x=y(逗号表达式),y=z 在 if 外。x=1<=y=2,故 z 和 x 不变,y=z=3,输出 133? 原题正确输出为 B,可能代码解析差异,以标准为准选 B。

7、下列关于友元的叙述中,正确的是( )
A. 友元函数必须在类的公有部分声明
B. 友元函数可以访问类的所有成员
C. 类的友元类的所有成员函数都是该类的友元函数
D. 友元关系可以继承

答案:B

分析:友元可在类的任何部分声明,A 错误;友元函数能访问所有成员,B 正确;友元类需显式声明成员为友元,C 错误;友元关系不可继承,D 错误,故选 B。

8、有如下程序:

#include<iostream>
using namespace std;
void f(int &x) { x++; }
void f(int x) { x++; }
int main() {int a=10;f(a);cout<<a<<endl;return 0;
}

运行时的输出结果是( )
A. 10
B. 11
C. 12
D. 编译错误

答案:D

分析:函数重载时,值传递和引用传递会导致调用歧义,编译错误,故选 D。

9、下列关于数组和指针的叙述中,正确的是( )
A. 数组名就是指针,两者没有区别
B. 通过指针可以访问数组元素,通过数组名不能访问数组元素
C. 数组名作为函数参数时,会自动转换为指针
D. 指针和数组在任何情况下都可以互换使用

答案:C

分析:数组名是常量指针,与指针变量不同,A、D 错误;数组名可通过下标访问元素,B 错误;C 正确,故选 C。

10、有如下程序:

#include<iostream>
using namespace std;
class MyClass {
public:MyClass(int a) { cout<<a; }MyClass() { cout<<0; }
};
int main() {MyClass arr[2] = {MyClass(1), MyClass(2)};return 0;
}

运行时的输出结果是( )
A. 12
B. 00
C. 10
D. 21

答案:A

分析:数组元素分别用 MyClass (1) 和 MyClass (2) 初始化,输出 12,故选 A。

希望这 10 道题能帮助大家对 C++ 综合知识点有更深入的理解和掌握。如果想要获取完整版 PDF(含二级更多题目题库)

夸克网盘分享

http://www.xdnf.cn/news/1375921.html

相关文章:

  • 设备电机状态监测:通往预测性维护与效能飞升之路
  • 深入理解C++ std::forward:完美转发的原理与应用
  • GitLab 导入/导出仓库
  • 财务报表怎么做?财务常用的报表软件都有哪些
  • 为什么 “int ” 会变成 “int”?C++ 引用折叠的原理与本质详解
  • 20.19 LoRA微调Whisper终极指南:3步实现中文语音识别错误率直降37.8%
  • 信任,AI+或人机环境系统智能的纽带
  • (一)光头整洁架构(Mediator Pattern/Result Patttern/UnitOfWork/Rich Domain)
  • k8s部署pgsql集群
  • 【PostgreSQL内核学习:通过 ExprState 提升哈希聚合与子计划执行效率】
  • Kafka 4.0 兼容性矩阵解读、升级顺序与降级边界
  • React Hooks 完全指南:从基础到高级的实战技巧
  • 路由基础(一):IP地址规划
  • 种草商城全链路技术实现指南
  • 【网络编程】NtyCo协程服务器的框架(轻量级的协程方案,人称 “小线程”)
  • 零后端、零配置:用 AI 编程工具「Cursor」15 分钟上线「Vue3 留言墙」
  • 【双指针- LeetCode】15.三数之和
  • python自学笔记14 NumPy 线性代数
  • anaconda本身有一个python环境(base),想用别的环境就是用anaconda命令行往anaconda里创建虚拟环境
  • 前端架构知识体系:css架构模式和代码规范
  • vscode 如何调试 python 2.7
  • springboot设计开发之基于springboot的校园社团管理系统/基于java的社团管理系统
  • UTXO 模型及扩展模型
  • Android -第二十一次技术总结
  • 海康相机的 HB 模式功能详解
  • Part 1️⃣:相机几何与单视图几何-第六章:相机模型
  • 【Redis 进阶】Redis 典型应用 —— 缓存(cache)
  • 【大前端】封装一个React Native与Android/IOS 端通用的埋点接口
  • 储能站运维管理一体化平台 | 图扑数字孪生
  • 《Linux 网络编程四:TCP 并发服务器:构建模式、原理及关键技术(以select )》