当前位置: 首页 > 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.dtcms.com/a/354029.html

相关文章:

  • urdf文件可以使用的一些工具(urdf检查和可视化)
  • 【leetcode】100.相同的树
  • Elasticsearch核心配置详解与优化
  • SAP 怎么知道物料的自动过账流程
  • DFT、CHORD
  • “上门经济”的胜利:深度解析家政O2O如何用“用户体验”重塑传统行业
  • 【双指针- LeetCode】15.三数之和
  • CPLD和FPGA的区别
  • LeetCode 560. 和为 K 的子数组
  • Linux827 测试
  • Linux MDIO 深入分析
  • 电子电气架构 --- 软件项目复杂性的驾驭思路
  • [Sync_ai_vid] UNet模型 | 音频特征提取器(Whisper)
  • FPGA实现Aurora 64B66B图像视频传输,基于GTY高速收发器,提供2套工程源码和技术支持
  • 第三阶段数据库-10:存储过程,事务,异常,视图,自定义函数,触发器,N关键字
  • synchronized和Lock有什么区别?
  • Vue3》》基础
  • Ubuntu 20.04.6交叉编译得到Ubuntu 16.04.6的可执行文件
  • 5GNR CSI反馈 TypeI码本
  • Shader开发(十七)着色器中的纹理采样与渲染
  • OpenCV4.X库功能全解---个人笔记
  • 基于51单片机温度控制系统报警器恒温箱水温设计
  • Oh My Zsh + Tabby 终端配置指南
  • CB1-2-基础启航
  • 工业 DCS 全面科普:从入门到 AI 赋能的未来
  • 大视码垛机器人:以技术优势撬动工业码垛升级
  • 【datawhale组队学习】RAG技术 -TASK05 向量数据库实践(第三章3、4节)
  • Scala面试题及详细答案100道(21-30)-- 面向对象编程
  • 丝杆支撑座如何助力自动化设备精准定位?
  • 对接连连支付(四)-- 收款查询