(图片大小可自由调整)
2025年大学试题(计算机科学)-C++语言程序设计考试近5年真题集锦(频考类试题)带答案
第I卷
一.参考题库(共80题)
1.编写快速排序函数,实现对给定的数组vec从下标start到finish之间的元素进行排序。 说明:快速排序的思想是先以数组中的某个数为基准,将数组中所有小于该数的数放于数组左边,而所有大于该数的数放于数组右边,所选的某个数放于这两种数中间(程序中Partition函数的作用),然后对划分后的左半边数组和右半边数组用同样的方式处理。 注意:部分源程序给出如下。请勿改动主函数main和其它函数中的任何内容,仅在函数的花括号中填入所编写的若干语句。
2.有语句typedefdoublefunt(double);funtfun13,fun14,*pfun;则以下不正确的赋值语句是()
A、pfun=fun13;
B、pfun=fun14;
C、pfun=*fun13;
D、fun13=fun14;
3.假定一个类对象数组为A[n],当离开它定义的作用域时,系统自动调用该类析构函数的次数为()
A、?0
B、?1
C、?n
D、?n-1
4.运算符重载只可以是类的成员函数和友元函数,不可以是普通函数。
5.类的继承是指子类继承基类的()和成员函数。
6.多态从实现的角度来讲可以划分为两类,编译时的多态和()。
7.输出100~10000之间个位数为3的所有素数。
8.静态成员函数中引用静态数据成员和非静态数据成员的方式是相同的。
9.以下程序段形成死循环的是()
A、
B、
C、
D、
10.编写C++语言程序,在书写格式上应该遵从哪些基本原则?
11.有声明在下列选项中,正确的调用是()
A、fun9(a);
B、fun9(p);
C、fun9(?a);
D、fun9(?p);
12.有两个长方柱,其长、宽、高分别为: (1)30,20,10; (2)12,10,20。 分别求他们的体积。编一个基于对象的程序,在类中用带参数的构造函数。
13.函数count统计m和n(m和n都是3位数)之间(包含m和n本身)有多少个数其各位数字之和是5,并将统计结果返回。 注意:部分源程序给出如下。请勿改动主函数main和其它函数中的任何内容,仅在函数的花括号中填入所编写的若干语句。
14.C++的I/O系统通过()的机制实现文件和控制台的输入输出操作。
15.有说明语句inta[10];voidfun(int*,intn);调用函数的正确语句是()
A、fun(a,10);
B、fun(a[0],10);
C、fun(*a,10);
D、fun(a,10);
16.判断元素x∈A对应的表达式是()
A、~A
B、A==0
C、A(~(AB))
D、1
17.多继承下,可能造成对基类中某个成员访问的()。
18.系统规定与标准设备对应的4个流对象是()、()、和()。
19.假设整型变量a=1,b=0,以下选项中,()使整型变量b的值没有改变。
A、c=--a++b
B、c=++a++b
C、c=a--b
D、c=a++b--
20.分析下列程序的输出结果:
21.简述构造函数、析构函数和拷贝构造函数的特点和用途。
22.编写一个程序计算,S=1×2+3×4+5×6+…+39×40。
23.输入一个整数,判断它是“偶数”还是“奇数”
24.设有char*s=ABCDE;coutA、A
B、B
C、ABCD
D、BCD
25.使用值传递方式将实参传给形参,下列说法正确的是()。
A、形参是实参的备份
B、实参是形参的备份
C、形参和实参是同一对象
D、形参和实参无联系
26.按下列要求实现一个有关学生成绩的操作。 该类名为Student。 (1)每个学生的信息包含有姓名(字符数组)和成绩(int型)。 (2)共有5个学生,用对象数组表示。 (3)计算出5个学生中的最高分,并输出姓名及分数。
27.建立一个对象数组,内放5个学生的数据(学号、成绩),用指针指向数组首元素,输出第1,3,5个学生的数据。初值自拟。
28.对于int