大学试题(计算机科学)-C++语言程序设计笔试(2018-2023年)真题摘选含答案_第1页
大学试题(计算机科学)-C++语言程序设计笔试(2018-2023年)真题摘选含答案_第2页
大学试题(计算机科学)-C++语言程序设计笔试(2018-2023年)真题摘选含答案_第3页
大学试题(计算机科学)-C++语言程序设计笔试(2018-2023年)真题摘选含答案_第4页
大学试题(计算机科学)-C++语言程序设计笔试(2018-2023年)真题摘选含答案_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

长风破浪会有时,直挂云帆济沧海。大学试题(计算机科学)-C++语言程序设计笔试(2018-2023年)真题摘选含答案(图片大小可自由调整)卷I一.参考题库(共30题)1.对象成员的表示与结构变量成员的表示相同,使用运算符.或->.2.某大桥按不同型号征收车辆过桥费:自行车免费,摩托车2元,小汽车5元,大客车与货车8元,货柜车12元。编写一个程序,按车辆的不同型号计算通过该大桥应征的过桥费。(提示:可以用整数对不同型号的车辆进行编码)3.定义点类(Point),再定义一个函数(Distance)描述两点之间的距离,其数据成员为两个点类对象,将两点之间距离函数声明为Point类的友元函数。4.若有类T说明classT{inti;friendvoidfFriend(T&,int);};,则函数fFriend的错误定义是()A、voidfFriend(T&objT,intk){objT.i=k;}B、voidfFriend(T&objT,intk){k=objT.i;}C、voidT::fFriend(T&objT,int k){k+=objT.i;}D、voidfFriend(T&objT,intk){objT.i+=k;}5.内部静态类变量与自动类变量作用域相同,但是生存期不同。6.重载不能改变运算符的()和()7.在创建派生类对象时,类层次中构造函数的执行顺序是由()A、派生类的参数初始式列表的顺序决定的B、系统规定的C、是由类的书写顺序决定的D、是任意的8.类的静态成员的访问控制()A、 只允许被定义为privateB、 只允许被定义为private或protectedC、 只允许被定义为publicD、 可允许被定义为private、protected或public9.设计一个三角形类Triangle,包含三角形三条边长的私有数据成员,另有一个重载运算符“+”,以实现求两个三角形对象的面积之和。10.什么时候需要自己定义构造函数和析构函数?11.C++的程序中,对变量一定要先说明再使用,说明只要在使用之前就可以。12.说明变量时有哪些存储类型?其含义是什么?13.假定AB为一个类,则执行 “AB *px=new AB[n];”语句时调用该类无参构造函数的次数为()A、 nB、 n-1C、 1D、 014.当一个派生类公有继承一个基类时,基类中的所有公有成员成为派生类的()A、public成员B、private成员C、protected成员D、友员15.判断一个数是否是素数(要求程序中设置一个参数flag,flag为1代表是素数,为0代表不是)。 注意:部分源程序给出如下。请勿改动主函数main和其它函数中的任何内容,仅在函数的花括号中填入所编写的若干语句。 16.用筛法求1-1000之内的素数。17.编写程序求出二维数组中的鞍点。所谓鞍点是指一个矩阵元素的值在其所在行中最大,在所在列中最小(设矩阵各元素值互不相同)。由文件读入10乘10的数组,结果放在数组s1,s2中,表示a[s1[i]][s2[i]]是一个鞍点,并按行升序排列。 注意:部分源程序给出如下。仅在标有"Program"和"End"的注释行之间补充代码,请勿改动其它内容。 18.定义一个复数类Complex,重载运算符“+”,“—”,使之能用于复数的加,减运算,运算符重载函数作为Complex类的成员函数。编程序,分别求出两个复数之和,差。初值自拟。19.下列关于子对象的描述中,错误的是()。A、子对象不可以是自身类的对象B、子对象是另一个类的对象C、子对象的初始化要包含在构造函数中D、一个类中只能有一个子对象20.函数ave求三个数的平均值并返回,完成该函数的编写。 注意:部分源程序给出如下。请勿改动主函数main和其它函数中的任何内容,仅在函数的花括号中填入所编写的若干语句。 21.同一结构的不同成员占用不同的内存单元。22.编写一个函数trans,将传入此函数的直角坐标值转换为极坐标值,并返回主调函数中,要求两值均以指针参数带回。 注意:部分源程序给出如下。请勿改动主函数main和其它函数中的任何内容,仅在函数的花括号中填入所编写的若干语句。 23.设N是一个四位数,它的9倍恰好是其反序数(例如:123的反序数是321),编程,输出所有满足条件的N。24.编一个函数GCD,求两个无符号整数的最大公约数。主函数输入两个正整数m和n,调用GCD,求出m和n的最大公约数和最小公倍数,并输出。25..h头文件中的ifndef/define/endif的作用?#include与#include"file.h"的区别?26.从键盘输入5个整数并存入一个数组中,再输入一个整数,在数组中查找该数是否存在。27.设计用静态成员实现学生-班费管理的程序: 用静态数据成员money存放班费; 用函数getmoney()实现学生缴纳班费; 用函数spendmoney()实现班费支出; 用静态成员函数display()显示余额。28.已知inti=1,j=2;则表达式++i+j的值为()A、1B、2C、3D、429.在声明一个类时,必须同时声明类的数据成员和成员函数。30.实现函数调用需要()进行信息管理。A、队列B、堆栈C、数组D、参数卷I参考答案一.参考题库1.参考答案:正确2.参考答案: 3.参考答案:4.参考答案:C5.参考答案:正确6.参考答案:优先级;结合性7.参考答案:B8.参考答案:D9.参考答案:10.参考答案:每当创建对象时,需要添加初始化代码时,则需要定义自己的构造函数;而对象撤销时,需要自己添加清理工作的代码时,则需要定义自己的析构函数。11.参考答案:正确12.参考答案: C.+语言支持四种存储类型:auto,register,static和extern。 (1)auto称为自动型也称为堆栈型,用auto存储类型说明的变量都是局部于某个程序范围内的,只能在某个程序范围内使用,通常在函数体内或函数中的复合语句里。 (2)register称为寄存器型,使用register关键词说明的变量主要目的是想将所说明的变量放入CPU的寄存器存储空间中,这样可以加快程序的运行速度。 (3)static称为静态存储类型,在C++语言中,既可以在函数体内,也可在函数体外说明static存储类型的变量。在函数体内说明的static存储类型的变量也是一种局部变量,与auto最大不同点是:static存储类型的变量在内存中是以固定地址存放的,而不是以堆栈方式存放的;只要整个程序还在继续运行静态变量就不会随着说明它的程序段的结束而消失,它下次再调用该函数,该存储类型的变量不再重新说明,而且还保留上次调用存入的数值。 (4)extern称为外部参照引用型,使用extern说明的变量是想引用在其它文件中函数体外部说明的变量。当变量在一个文件中的函数体外说明,所有其他文件中的函数或程序段都可引用这个变量。这种变量的作用域是所有的函数和程序段,一般用于在函数之间传递数据。13.参考答案:A14.参考答案:A15.参考答案:16.参考答案:17.参考答案:18.参考答案: 19.参考答案:D20.参考答案:21.参考答案:正确22.参考答案:23.参考答案:24.参考答案:25.参考答案: 1. 防止该头文件被重复引用。 2. 前者是从Standard Library的路径寻找和引用file.h,而后者是从当前工作路径搜寻并引用file.h。26.参考答案: 27.参考答案: 28.参考答案:D29.参考答案:错误30.参考答案:B卷II一.参考题库(共30题)1.枚举变量的取值受到该枚举变量所对应的枚举表中枚举符的局限。2.写出下列程序的运行结果。 3.类的()成员只能被该类的成员函数或友元访问。4.符号常量与变量的区别是()。A、符号常量的使用增强了程序的可读性,但变量做不到。B、变量有存储类型、数据类型和值的属性,其值是可通过程序改变,而符号常量则不能。C、变量比符号常量有更宽的使用范围。D、变量和符号常量都是标识符,没有区别,一样使用5.数组在函数间传递形式有哪些?6.求一个字符串的长度。要求使用指针变量实现。7.有声明intfun14(int);int(?pf)(int)=fun14;在下列选项中,正确的调用是()A、inta=15;intn=fun14(&a);B、inta=15;cout<<(&pf)(a);C、cout<<(?pf)(256);D、cout<<?pf(256);8.数据成员可以为公有的吗?成员函数可以为私有的吗?9.输入一个正整数,把它各位数字前后颠倒一下,然后输出。10.在一个类中可以定义()构造函数,()个析构函数。11.在编译指令中,宏定义使用哪个指令?()A、#includeB、#defineC、#ifD、#else12.当派生类指针指向基类对象时()A、可以直接调用基类的成员函数B、可以调用派生类对象的成员函数C、必须强制将派生类指针转换成基类指针才能调用基类的成员函数D、以上说法都不对13.假定AA为一个类,a为该类私有的数据成员,GetValue()为该类公有函数成员,它返回a的值,x为该类的一个对象,则访问x对象中数据成员a的格式为()A、 x.aB、 x.a()C、 x->GetValue()D、 x.GetValue()14.如果静态成员函数中要引用非静态成员时,可通过()来引用。15.执行下面语句序列后,a和b的值分别为() inta=5,b=3,t; int&ra=a; int&rb=b; t=ra;ra=rb;rb=t。A、3和3B、3和5C、5和3D、5和516.请编程实现:由键盘输入的任意一组字符,统计其中大写字母的个数m和小写字母的个数n,并输出m、n中的较大者。17.一个整数数列,它的第一项是0,第二项是1,以后每项都是前两项之和,编写求前n项之和的函数GetSum(int-n)。 注意:仅在标有"Program"和"End"的注释行之间补充填写代码。请勿改动主函数main和其它任何已有内容。 18.函数模板在编译时不生成可执行代码。19.在函数中声明的静态变量()A、在函数体中可见,函数结束调用时释放。B、在项目中可见,函数结束调用时释放。C、在函数体中可见,项目结束调用时释放。D、在项目中可见,项目结束调用时释放。20.分析下列程序的输出结果: 21.派生类中至少包含了它的所有基类的成员,在这些成员中可能有的是不可访问。22.重载函数可以带默认值参数,但要注意二义性。23.下列哪个类型函数不适合声明为内联函数?()A、函数体语句较多B、函数体语句较少C、函数执行时间较短D、函数执行时间过长24.试比较类的三种继承方式public,protected,private之间的差别。25.什么叫二级指针变量?26.已知inti=0,x=1,y=0;在下列选项中,使i的值变成1的语句是()A、B、C、D、27.按下列要求编程:按照下图中所示的各类的关系,编程输出它们的信息。各类中的数据成员如下: Person:char*name(姓名),*dept(系别) Student:char*grade(年级) Teacher:char*lesson(授课名) StudentTeacher(在职读研):char*major(专业方向)28.子类型是不可逆的。29.写一个字符串拷贝函数。30.判断一个年份是否为闰年。卷II参考答案一.参考题库1.参考答案:正确2.参考答案: 3.参考答案:私有4.参考答案:B5.参考答案:数组在函数间的传递形式有复制传递方式、地址传递方式、引用方式和全局数组传递方式。函数与函数之间数组的复制传递方式是调用函数将实参数组传递给被调用函数形参,形参接收是实参的地址。函数与函数之间数组的地址传递方式是将调用函数中的实参数组的起始地址传递给被调用函数的指针变量形参。被调用函数中对形参地址的目标操作,相当于对实参本身的操作,将直接改变实参数组的值。地址传递方式,实参应该为数组的指针,而形参应为同类型的指针变量。另外,数组的地址传递方式不仅要把实参数组的指针作为参数传递给函数,同时还需要传递数组的长度。与引用方式不同的是被调用函数的形参应声明为数组同类型的指针变量。函数与函数之间数组的引用传递方式需将被调用函数的形参说明为数组的引用形式。在被调用函数中,对形参进行操作就是对实参数组的直接操作。数组的引用方式和地址传递方式的作用效果基本一样,但引用更直接、更方便。按引用方式传递数组,形参为实参同类型的数组引用。但引用数组名不是指针变量,不能作为左值。6.参考答案: 7.参考答案:A8.参考答案:可以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论