(图片大小可自由调整)
2025年大学试题(计算机科学)-程序设计教程考试近5年真题集锦(频考类试题)带答案
第I卷
一.参考题库(共80题)
1.简述程序设计范型。
2.操作符重载的形式有哪两种形式?这两种形式有什么区别?
3.什么是表达式?其作用是什么?
4.编写一个程序,计算一个矩阵的鞍点。矩阵的鞍点是指矩阵中的一个位置,该位置上的元素在其所在的行上最大、列上最小。(一个矩阵也可能没有鞍点。)
5.如何定义两个类A和B(B是A的派生类),使得在程序中能够创建一个与指针变量p(类型为A*)所指向的对象是同类的对象?
6.指针类型主要用于什么场合?引用类型与指针类型相比,其优势在哪里?
7.写出下列条件的C++表达式 (1)i能被j整除。 (2)ch为字母字符。 (3)m为偶数。 (4)n是小于100的奇数。 (5)a、b、c构成三角形的三条边。
8.编程解决下面的问题:若一头小母牛,从出生起第四个年头开始每年生一头母牛,按此规律,第n年有多少头母牛?
9.CPU能执行哪些指令?
10.定义一个多项式类Polynomial,其实例为多项式:a0+a1x+a2x2+...+anxn,该类具有如下的接口:
11.假定邮寄包裹的计费标准如下(重量在档次之间时往上一挡靠): 编写一个程序,输入包裹重量和邮寄距离,计算并输出收费数额。
12.下面的交换函数正确吗?
13.枚举类型有什么好处?C++对枚举类型的操作有何规定?
14.写出下面程序的执行结果:
15.利用操作符重载给出一个完整的复数类的定义。
16.写出计算Ackermann函数Ack(m,n)值的递归函数。Ack(m,n)定义如下(m≥0,n≥0):
17.假设有三个重载的函数: 对下面的函数调用,指出它们分别调用了哪一个重载函数;如果有歧义,指出导致歧义的重载函数定义。
18.简述局部变量的作用。
19.在多继承中,什么情况下会出现二义性?怎样消除二义性?
20.操作符的优先级和结合性分别是指的什么?
21.什么是符号常量?符号常量的优点是什么?
22.编写一个函数计算一元二次方程的根。要求:方程的系数和根均用参数传递机制来传递。
23.在C++中,protected类成员访问控制有什么作用?
24.编写一个程序解八皇后问题。八皇后问题是:设法在国际象棋的棋盘上放置八个皇后,使得其中任何一个皇后所处的“行”、“列”以及“对角线”上都不能有其它的皇后。
25.简述寄存器、内存以及外存的区别。
26.下面的宏cube1和函数cube2相比,各有什么优缺点?
27.编写一个函数intsqueeze(chars1[],constchars2[]),它从字符串s1中删除所有在s2里出现的字符,函数返回删除的字符个数。
28.简述变量的生存期和标识符的作用域。
29.编写一个程序,对输入的一个算术表达式(以字符#结束),检查圆括号配对情况。输出:配对、多左括号或多右括号。
30.下面的求n!的函数有什么问题?
31.简述子程序的作用。
32.写出下面程序的运行结果:
33.编写一个程序,输出十进制乘法表。
34.编写一个程序,求a和b的最大公约数。
35.用循环实现错误!未找到引用源。中的辗转相除法计算最大公约数。
36.编写一个程序,计算圆周率。可利用公式: 直到最后一项的绝对值小于10-8。
37.定义一个不受计算机字长限制的整数类INT,要求INT与INT以及INT与C++基本数据类型int之间能进行+、-、×、÷和=运算,并且能通过cout输出INT类型的值。
38.为什么一般把内联函数的定义放在个头文件中?
39.把在链表中删除一个结点的操作写成一个函数: 其中,h为表头指针,a用于存放删除的结点的值,pos(0)表示删除结点的位置。操作成功返回true,否则返回false。
40.在你的计算机上运行下面的程序: 结果与你预期的是否相符?如果不符,请解释它的原因。
41.编写一个程序,首先建立两个集合(从键盘输入集合的元素),然后计算这两个集合的交集、并集以及差集,最后输出计算结果。要求用链表实现集合的表示。
42.设有一个矩阵:,现把它放在一个二维数组a中。写出执行下面的语句之后a的值:
43.编写一个函数find_replace_str,其原型如下: 要求:该函数能够完成把字符串str中的所有子串find_str都替换成字符串replace_str,返回值为替换的次数。
44.在排序算法中,有一种排序算法(插入排序)是:把待排序的数分成两个部分: 其中,A为已排好序的数,B为未排好序的数,初始状态下,A中只有一个元素。该算法依次从B中取数插入到A中的相应位置,直到B中的数取完为止。请在链表表示上实现上述的插入排序算法。