基本信息
文件名称:2025年大学试题(计算机科学)-程序设计教程考试近5年真题集锦(频考类试题)带答案.docx
文件大小:3.4 MB
总页数:55 页
更新时间:2025-05-21
总字数:约9.73千字
文档摘要

(图片大小可自由调整)

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中的数取完为止。请在链表表示上实现上述的插入排序算法。