2024年大学试题(计算机科学)-C++语言程序设计笔试参考题库含答案_第1页
2024年大学试题(计算机科学)-C++语言程序设计笔试参考题库含答案_第2页
2024年大学试题(计算机科学)-C++语言程序设计笔试参考题库含答案_第3页
2024年大学试题(计算机科学)-C++语言程序设计笔试参考题库含答案_第4页
2024年大学试题(计算机科学)-C++语言程序设计笔试参考题库含答案_第5页
已阅读5页,还剩89页未读 继续免费阅读

下载本文档

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

文档简介

“人人文库”水印下载源文件后可一键去除,请放心下载!(图片大小可任意调节)2024年大学试题(计算机科学)-C++语言程序设计笔试参考题库含答案“人人文库”水印下载源文件后可一键去除,请放心下载!第1卷一.参考题库(共75题)1.开关语句不可以嵌套,在开关语句的语句序列中不能再有开关语句。2.能实现删除文件功能的语句是()A、ofstreamfs("date.dat",ios::trunc);B、ifstreamfs("date.dat",ios::trunc);C、ofstreamfs("date.dat",ios::out);D、ifstreamfs("date.dat",ios::in);3.编程要求打印下面图形。 4.设px是指向一个类对象的指针变量,则执行 “delete px;”语句时,将自动调用该类的()A、 无参构造函数B、 带参构造函数C、 析构函数D、 拷贝构造函数5.分析下列程序的输出结果: 6.在下列关于运算符重载的描述中,()是正确的。A、可以改变参与运算的操作数个数B、可以改变运算符原来的优先级C、可以改变运算符原来的结合性D、不能改变原运算符的语义7.编写一个矩形rectangle类,有数据成员长len和宽wid,构造函数retange(int,int).和友元函数intarea(rectangleT)和intfun(rectangleT)分别计算给定长方形的周长和面积。8.分析下列程序的输出结果: 9.下面程序中的函数void-conv(char*s);将字符串s中的所有字符逆序存放,例如s中为“abc”时,调用该函数后s中的字符串变为“cba”,完成该函数。 注意:部分源程序给出如下。请勿改动主函数main和其它函数中的任何内容,仅在函数的花括号中填入所编写的若干语句。 10.在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用()合适。A、内联函数B、重载函数C、递归函数D、嵌套调用11.文件infile163.txt中含有两个用空格分隔的长度不超过10的英语单词,请将这两个英语单词依次读入两个一维字符数组str1和str2中,并比较两个单词长度,若str1单词字母个数多于str2,结果为1;若str1单词字母个数等于str2,结果为0;若str1单词字母个数少于str2,结果为-1。将比较结果result输出到文件out163.txt中。 注意:部分源程序给出如下。请勿改动主函数main和其它函数中的任何内容,仅在函数的花括号中填入所编写的若干语句。 12.有如下说明语句inta[10]={1,2,3,4,5,6,7,8,9,10};int*p=a;则数值为9的表达式是()A、*p+9B、*(p+8)C、*p+=9D、p+713.派生类的对象对它的基类成员中,()是可以访问的。A、公有继承的公有成员B、公有继承的私有成员C、公有继承的保护成员D、私有继承的公有成员14.动态联编可以通过()或引用所标识的对象来操作虚函数。15.在VC6.0开发环境中,对导入的所有位图资源都可以进行修改。16.在一个类中可以定义()构造函数,()个析构函数。17.什么叫指针的目标?18.已知inti=0,x=1,y=0;在下列选项中,使i的值变成1的语句是()A、B、C、D、19.类中定义的成员默认为()访问属性。A、 publicB、 privateC、 protectedD、 friend20.请编程实现:对于给定的一个百分制成绩,输出相应的五分制成绩。设:90分以上为‘A’,80—89分为‘B’,70—79分为‘C’,60—69分为‘D’,60分以下为‘E’。21.将从文件输入的10个数按降序排列。 注意:仅在标有"Program"和"End"的注释行之间补充填写代码。请勿改动主函数main和其它任何已有内容。 22.protected关键字有何作用?23.写一个函数char-myfun(int score),实现百分制成绩与等级之间的转换关系:90分以上为"A",80-89为"B",70-79为"C",60-69为"D",60分以下为"E",并将等级返回。 注意:部分源程序给出如下。请勿改动主函数main和其它函数中的任何内容,仅在注释形式标识Program和End之间填入所编写的若干语句。 24.编写函数将化氏温度转换为摄氏温度,公式为C=(F-32)*5/9;并在主函数中调用。25.求200000以内的自守数。要求编写函数selfhold,判断一个数是否是一个自守数,若是,则返回1,否则返回0。 注意:部分源程序给出如下。请勿改动主函数main和其它函数中的任何内容,仅在函数的花括号中填入所编写的若干语句。 26.如果表达式++j*k中的“++”和“*”都是重载的友元运算符,则采用运算符函数调用格式,该表达式还可以表示为()A、operator*(j.operator++(),k)B、operator*(operator++(j),k)C、operator++(j).operator*(k)D、operator*(operator++(j),)27.静态联编又叫做()A、延迟联编B、早期联编C、晚期联编D、以上三者都行28.在C语言中,不使用命名空间,但在C++程序中,一定要使用命名空间。29.下面关于复制构造函数调用的时机,不正确的是()调用。A、访问对象时B、对象初始化时C、函数具有类类型传值参数时D、函数返回类类型值时30.定义一个描述学生基本情况的类,数据成员包括姓名、学号、C++成绩、英语和数学成绩,成员函数包括输出数据,求出总成绩和平均成绩。数据自拟。31.编写一个函数int-cap_count(char*s)返回输入字符串s中大写字母的个数。 注意:部分源程序给出如下。请勿改动主函数main和其它函数中的任何内容,仅在程序中介于Program和End的部分填入所编写的若干语句。 32.使用函数重载的方法定义两个重名函数,分别求出整型数的两数之和和浮点数的两数之和,并在主函数中调用。33.含有()的类称为抽象类。它不能定义对象,但可以定义()和()。34.有如下程序段,回答下列问题: 35.设类A将其它类对象作为成员,则建立A类对象时,下列描述正确的是()。A、A类构造函数先执行B、成员构造函数先执行C、两者并行执行D、不能确定36.虚函数是用virtual关键字说明的成员函数。37.实现集合运算AUB运算的对应表达式是()A、A∣BB、A&BC、A&(~(A&B))D、A∣B=B38.有一个Time类,包含数据成员minute(分)和sec(秒),模拟秒表,每次走一秒,满60秒进一分钟,此时秒又从0开始算。要求输出分和秒的值。初值自拟。39.可以定义点类(Point),再定义一个类(Distance)描述两点之间的距离,其数据成员为两个点类对象,两点之间距离的计算可设计由构造函数来实现。40.编一个函数GCD,求两个无符号整数的最大公约数。主函数输入两个正整数m和n,调用GCD,求出m和n的最大公约数和最小公倍数,并输出。41.输出100以内的基本勾股数。42.声明一个类模板,利用它分别实现两个整数、浮点数和字符的比较,求出大数和小数。43.分析下列程序的输出结果: 44.假定AB为一个类,则执行 “AB a[10];”语句时调用该类无参构造函数的次数为()A、 0B、 1C、 9D、 1045.什么叫抽象?什么叫分类?46.全局变量和局部变量可否同名,他们是否有区别?如果有,是什么区别?47.数据成员可以为公有的吗?成员函数可以为私有的吗?48.下面是一个输入半径,输出其面积和周长的C++程序,在下划线处填上正确的语句。 49.函数形参的作用域是该函数的函数体。50.控制台程序中需要使用cin和cout输出/输入,include指令包含的头文件是()A、cmanthB、coniohC、iostreamD、iomanip51.对象指针可以指向一个有名对象,它可以指向一个无名对象吗?如何实现?52.旅行社的订票量小于10张时,航空公司给予10%的折扣;订票量大于或等于10张且小于20张时,航空公司给予15%的折扣;订票量大于或等于20张且小于30张时,航空公司给予30%的折扣;订票量大于或等于30张时,航空公司给予最高的45%的折扣。编程输入订票张数及单张机票票价,程序输出折扣率及应付款额。53.运算符重载实际上是对已有的运算符重新定义其功能。54.编写一个函数,统计出一维数组中大于等于所有元素平均值的元素个数并返回它。 注意:部分源程序给出如下。请勿改动主函数main和其它函数中的任何内容,仅在函数的花括号中填入所编写的若干语句。 55.用函数实现将一个以字符串形式表示的十六进制数转换为一个十进制整数。例如,输入”A2”转换为162。56.运算符()动态分配一个对象。57.单继承情况下,派生类中对基类成员的访问也会出现二义性。58.判断一个数是否是素数(要求程序中设置一个参数flag,flag为1代表是素数,为0代表不是)。 注意:部分源程序给出如下。请勿改动主函数main和其它函数中的任何内容,仅在函数的花括号中填入所编写的若干语句。 59.进行二进制文件操作时,在打开文件方式中增加ios::binary选项。60.从键盘输入任意20个小于10的正整数(包括0),存入2×10的二维整型数组中,其中各行的元素构成一个整数。下图中第一行元素构成整数1234507,第二行元素构成整数204689(最后的0不作为整数的一部分)。编写函数compare(a,b)比较两行元素构成的整数大小:若a>b,返回1;若a=b,返回0;若a<b,返回-1。 注意:部分源程序给出如下。请勿改动主函数main和其它函数中的任何内容,仅在函数的花括号中填入所编写的若干语句。 61.函数myStrLen(char*a)返回字符串a的长度。填写适当的代码,使得myStrLen()完成正确的功能。 注意:部分源程序给出如下。请勿改动主函数main和其它函数中的任何内容,仅在函数的花括号中填入所编写的若干语句。 62.某类中的友元类的所有成员函数可以存取或修改该类中的私有成员。63.在内存中,一个字符常量或变量是以ASCII码值存储的,它可直接作为整数值参加运算。64.在下列模板说明中,正确的是()A、template〈typenameT1,T2〉B、template〈classT1,T2〉C、template〈typenameT1,typenameT2〉D、template(typedefT1,typedefT2)65.请用c++语句声明一个常量PI,值为3.1416;再声明一个浮点型变量a,把PI的值赋给a。66.静态联编和动态联编都是在编译时进行的,二者的区别仅是前者对非虚函数,后者对虚函数。67.程序中把表达式“a+0.5”写为“a*0.5”,是()错误。A、编译B、连接C、运行D、逻辑68.在非标准文件操作中,应该先定义流对象,再打开文件,必须使用open()函数。69.设已定义浮点型变量data,以二进制代码方式把data的值写入输出文件流对象outfile中,正确的语句是()A、outfile.write((double*)&data,sizeof(double));B、outfile.write((double*)&data,data);C、outfile.write((char*)&data,sizeof(double));D、outfile.write((char*)&data,data);70.有说明语句int*p=newint[10];释放动态数组的正确语句是()A、delete[]p;B、deletep[]C、deleteint[]pD、deletepint[10]71.intid[sizeof(unsignedlong)];这个对吗?为什么?72.VoidSet(A&a);是类A中一个成员函数的说明,其中A&a的含义是()。A、类A的对象引用a作该函数的参数B、类A的对象a的地址值作函数的参数C、表达式变量A与变量a按位与作函数参数D、指向类A对象指针a作函数参数73.s1和s2是两个结构类型变量,若要使赋值s1=s2合法,则它们的说明应该是()A、s1只能接收相同类型的数据成员B、结构中的成员相同C、同一结构类型的变量D、存储字节长度一样的变量74.构造函数和析构函数均不能被说明为虚函数。75.在编写C++程序时,一定要注意采用人们习惯使用的书写格式,否则会降低其可读性。第2卷一.参考题库(共75题)1.有如下程序:执行后的输出结果应该是() A、ACB、CAC、AD、C2.一个项目中包含3个函数:main、fa和fb函数,它们之间不正确的调用是()A、在main函数中调用fb函数B、在fa函数中调用fb函数C、在fa函数中调用fa函数D、在fb函数中调用main函数3.定义一个基类Student(学生),在定义Student类的公用派生类Graduate(研究生),用指向基类对象的指针输出数据。为减少程序长度,在每个类中只设很少成员。学生类只设num(学号),name(姓名)和score(分数)3个数据成员,Gradute类只增加一个数据成员pay(工资)。具体初始化数据自己设定。4.构造函数是一个其名与类名相同的特殊的成员函数。5.new运算符的作用是什么?delete运算符的作用是什么?6.说明变量时有哪些存储类型?其含义是什么?7.静态成员函数对类的数据成员访问()A、 是不允许的B、 只允许是静态数据成员C、 只允许是非静态数据成员D、 可允许是静态数据成员或非静态数据成员8.如果一个函数没有返回值,定义时需用类型说明符()说明。9.要进行文件的输出,除了包含头文件iostream外,还要包含头文件()A、ifstreamB、fstreamC、ostreamD、cstdio10.打印杨辉三角形(帕斯卡三角形),打印10行。11.有以下说明语句:structStudent{intnum;doublescore;};Studentstu[3]={{1001,80},{1002,75},{1003,91}},*p=stu;则下面引用形式错误的是()A、p->numB、(p++).numC、(p++)->numD、(*p).num12.关于静态成员的阐述,下列描述错误的是()。A、在创建对象前,静态成员不存在B、静态成员是类的成员C、静态成员不能是虚函数D、静态成员函数不能直接访问非静态成员13.以下程序段输出结果是() A、1B、2C、3D、414.输出从2开始的连续100个素数。15.定义一个复数类Complex,重载运算符“*”,“/”,使之能用于复数的乘,除。运算符重载函数作为Complex类的成员函数。编程序,分别求出两个复数之积和商。初值自拟。提示:两复数相乘的计算公式为:(a+bi)*(c+di)=(ac-bd)+(ad+bc)i。两复数相除的计算公式为:(a+bi)/(c+di)=(ac+bd)/(c*c+d*d)+(bc-ad)/(c*c+d*d)i。16.p是指向类A数据成员a的指针,a是类A的一个对象。在给a成员赋值为5的下列表达式中,正确的是()。A、a.p=5B、a->p=5C、a.*p=5D、*a.p=517.class类类型中,构造函数应具有哪些特征?18.下列对继承关系的描述中,()是对的。A、在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的B、在公有继承中,基类中只有公有成员对派生类的对象是可见的C、在私有继承中,基类中只有公有成员对派生类是可见的D、在私有继承中,基类中的保护成员对派生类的对象是可见的19.分别用成员函数和友元函数重载运算符,使对实型的运算符“-”适用于复数运算。20.编写一个函数,将字符数组a中的全部字符复制到字符数组b中.不要使用strcpy函数.主函数输入任意一个字符串,调该函数,复制出另一个字符串。将两个串输出。21.定义变量inta=6,则a++的值是()。A、7B、6C、5D、422.请编写一加密函数,函数原型是void-encrypt(char*info)该函数针对输入字符串的加密规律是:对字符串的每个字母以该字母后面第4个字母加以替换。例如,字母’A’后面第4个字母是’E’,用’E’代替’A’。因此,"China"应译为"Glmre"。 注意:部分源程序给出如下。请勿改动主函数main和其它函数中的任何内容,仅在注释形式标识Program和End之间填入所编写的若干语句。 23.输入一个自然数,输出其各因子的连乘形式,如输入12,则输出12=1*2*2*3。24.两队选手每队5人进行一对一的比赛,甲队为A、B、C、D、E,乙队为J、K、L、M、N,经过抽签决定比赛配对名单。规定A不和J比赛,M不和D及E比赛。列出所有可能的比赛名单,并统计所有可能的比赛名单总数存入变量count。 注意:部分源程序给出如下。请勿改动主函数main和其它函数中的任何内容,仅在函数的花括号中填入所编写的若干语句。 25.在C++语言中,使用struct(结构体)定义的类与使用class定义的类是一样的。26.多态从实现的角度来讲可以划分为两类,编译时的多态和()。27.C++语言多态性主要表现在动态联编、()重载和()重载。28.运算符重载实际上通过函数来重新定义运算符的功能,运算符重载的功能直接通过函数调用是否可以?29.能够把指定长度的字节序列插入到输出流中的函数是()A、putB、writeC、coutD、print30.写一函数,判断某个数是否素数,以及求1-1000之内的素数。31.在下列表达式选项中,()是正确。A、++(a++)B、a++bC、a+++bD、a++++b32.当基类指针指向派生类对象时,会发生()A、错误,基类指针不能指向派生类对象B、基类指针可以指向派生类对象,但在此情况下只能调用基类自己定义的成员函数C、基类指针可以调用派生类的成员函数D、以上说法全部错误33.使用new运算符创建的对象,如果不使用delete运算符释放,它们会在生存期到了时被系统释放吗?34.一个类中只可能定义()个析构函数。35.求任一整数N的标准分解式,即素数因子之积。例如16=2*2*2*2,15=3*5。36.已知inti=1,j=2;则表达式++i+j的值为()A、1B、2C、3D、437.对象传送的消息一般由3部分组成:接收对象名、调用操作名和()。38.参数传递有哪些形式?寄存器和堆栈传递各有什么优缺点?39.用标准输入流对象cin与提取操作符>>连用进行输入时,将空格与回车当作分隔符,使用()成员函数进行输入时可以指定输入分隔符。A、get()B、put()C、read()D、gcount()40.静态类标识符在它的作用域之外是不存在的。41.下面对构造函数的不正确描述是()A、用户定义的构造函数不是必须的B、构造函数可以重载C、构造函数可以有参数,也可以有返回值D、构造函数可以设置默认参数42.设置标志以科学记数法显示浮点数。43.为了减轻使用者的负担,与C语言相比,C++语言中减少了一些运算符。44.打印水仙花数个数n(水仙花数是三位数,每位数字的立方和等于这个数本身)。 注意:部分源程序给出如下。请勿改动主函数main和其它函数中的任何内容,仅在函数的花括号中填入所编写的若干语句。 45.一维对象指针数组的每个元素应该是某个类的对象的地址值。46.编写一个以任意两点之间距离作为返回值的函数double-distance(Point-point1,Point-point2)。计算距离会使用求平方根,它的函数原型是double-sqrt(double-v)。 注意:仅在标有"Program"和"End"的注释行之间补充填写代码。请勿改动主函数main和其它任何已有内容。47.在C++中,不加说明,则默认的继承方式是()A、publicB、privateC、protectedD、public或protected48.声明一个教师(Teacher)类和一个学生(Student)类,用多重继承的方式声明一个研究生(Graduate)派生类。教师类中包括数据成员name(姓名),age(年龄),title(职称)。学生类中包括数据成员name(姓名),age(年龄),score(成绩)。在定义派生类对象时给出初始化的数据(自已定),然后输出这些数据。初值自拟。49.对象引用作为函数参数比用对象指针更方便些。50.你觉得如果不使用常量,直接在程序中填写数字或字符串,将会有什么麻烦?51.在下列函数中,不能重载运算符的函数是()A、成员函数B、构造函数C、普通函数D、友元函数52.写出下面程序的输出结果。53.写一个函数,取一个整数值并返回将此整数的各数字反序的数值。54.计算:1+1/(1+2)+1/(1+2+3)+…+1/(1+2+…+n),n由键盘输入。55.简述C++的发展简况。56.派生类的对象可以直接访问的基类成员是()。A、公有继承的公有成员B、保护继承的公有成员C、私有继承的公有成员D、公有继承的保护成员57.对象指针数组可以使用不同类的对象的地址值进行初始化。58.写一个函数,将一个整数的各位数字的反序打印。59.C++语言编写的程序代码有哪些格式特点?60.以下关于this指针的叙述中正确的是()A、任何与类相关的函数都有this指针B、类的成员函数都有this指针C、类的友员函数都有this指针D、类的非静态成员函数才有this指针61.class类类型和struct结构体类型有何异同点?62.在C++中,要实现动态联编,必须使用()调用虚函数。A、基类指针B、对象名C、派生类指针D、类名63.指向对象数组的指针不一定必须指向数组的首元素。64.有语句typedefdoublefunt(double);funtfun13,*pfun;则以下正确的赋值语句是()A、pfun=fun13;B、*pfun=fun13;C、pfun=funt;D、*pfun=funt;65.填写适当的代码,使得myMax()完成正确的功能。函数myMax(int-a[],int-c)返回整数数组a中最大值所在的下标值(如果有多个相同的最大值,则返回最前面一次最大值的下标值),c为数组元素的个数。 注意:部分源程序给出如下。请勿改动主函数main和其它函数中的任何内容,仅在函数的花括号中填入所编写的若干语句。 66.抽象类的派生类一定是具体类。67.成员函数与一般函数一样可以重载、内联和设置参数的默认值。68.印度国王的奖励,求和s=20+21+22+...+26369.const型指针有几种形式?其作用是什么?70.在函数调用时,如某一默认参数要指明一个特定值,则有()。A、其之前所有参数都必须赋值B、其之后所有参数都必须赋值C、其前、后所有参数都必须赋值D、其前、后所有参数都不必赋值71.定义结构变量时必须指出该结构变量是属于某种结构类型的。72.按下列要求编程:按照下图中所示的各类的关系,编程输出它们的信息。各类中的数据成员如下: Person:char*name(姓名),*dept(系别) Student:char*grade(年级) Teacher:char*lesson(授课名) StudentTeacher(在职读研):char*major(专业方向)73.错误的转义字符是()A、’/091’B、’//’C、’/0’D、’/’‘74.Cin后面的符号是:(),cout后面的符号是:()。75.编写一个程序根据输入的三角形的三条边判断是否能组成三角形,如果可以则输出它的面积和三角形类型(等边、等腰、直角三角形)。第1卷参考答案一.参考题库1.参考答案:错误2.参考答案:A3.参考答案: 4.参考答案:C5.参考答案: A.constructorcalled. A.constructorcalled. B.Constructorcalled. A.constructorcalled. A.constructorcalled. B.Constructorcalled. 8 8,0 12 27,15 B.Destructorcalled. A.Destructorcalled. A.Destructorcalled. B.Destructorcalled. A.Destructorcalled. A.Destructorcalled.6.参考答案:D7.参考答案:8.参考答案: D://:fun1(). D://:fun2(). B::fun3(). B::fun4().9.参考答案:10.参考答案:A11.参考答案:12.参考答案:B13.参考答案:A14.参考答案:指针15.参考答案:错误16.参考答案:多个;117.参考答案:指针指向的内存区域中的数据称为指针的目标。18.参考答案:C19.参考答案:B20.参考答案:21.参考答案:22.参考答案:protected用来声明保护类型的成员,保护类型的性质和私有类型的性质相似,其差别在于继承和派生时派生类的成员函数可以访问基类的保护成员。23.参考答案:24.参考答案:25.参考答案:26.参考答案:B27.参考答案:B28.参考答案:错误29.参考答案:A30.参考答案:31.参考答案:32.参考答案:33.参考答案:纯虚函数;对象指针;对象引用34.参考答案: 35.参考答案:B36.参考答案:正确37.参考答案:A38.参考答案:39.参考答案:40.参考答案:41.参考答案: 42.参考答案:43.参考答案: 2005/10/1 2005/12/944.参考答案:D45.参考答案:从许多事物中舍弃个别的、非本质的特征,抽取共同的、本质性的特征,就叫作抽象。抽象是形成概念的必须手段。分类就是把具有相同属性和服务的对象划分为一类,用类作为这些对象的抽象描述。46.参考答案:可以同名,从生命周期来说全局变量存活于整个程序运行周期,而局部变量只存在所在函数的运行周期,当函数返回后,局部变量也消失,全局变量储存在静态数据库,局部变量在堆栈。47.参考答案:可以,二者都是合法的。数据成员和成员函数都可以为公有或私有的。但数据成员最好定义为私有的。48.参考答案: 49.参考答案:正确50.参考答案:C51.参考答案: 对象指针可以指向一个有名对象,也可以指向一个无名对象。例如,对象指针指向堆对象就是一个例子。假定己知类A,定义该类对象指针pa: A.pa; P.a=newA(8); P.a就是一个指向类A的无名对象的指针。52.参考答案: 53.参考答案:正确54.参考答案:55.参考答案: 56.参考答案:new57.参考答案:错误58.参考答案:59.参考答案:正确60.参考答案: 61.参考答案:62.参考答案:正确63.参考答案:正确64.参考答案:C65.参考答案: const定义的常量是有类型的,所以在使用它们时编译器可以检查类型错误;而且,这些常量在调试时是可见的。66.参考答案:正确67.参考答案:D68.参考答案:正确69.参考答案:C70.参考答案:A71.参考答案:正确,这个sizeof是编译时运算符,编译时就确定了可以看成和机器有关的常量。72.参考答案:A73.参考答案:C74.参考答案:错误75.参考答案:正确第2卷参考答案一.参考题库1.参考答案:A2.参考答案:D3.参考答案:4.参考答案:正确5.参考答案:运算符new主要用于分配内存,并获得分配到的内存的首地址,通常需要将其赋给相应数据类型的指针。如果程序中不再需要由new分配的内存空间时,用运算符delete释放这些空间。6.参考答案: C.+语言支持四种存储类型:auto,register,static和extern。 (1)auto称为自动型也称为堆栈型,用auto存储类型说明的变量都是局部于某个程序范围内的,只能在某个程序范围内使用,通常在函数体内或函数中的复合语句里。 (2)register称为寄存器型,使用register关键词说明的变量主要目的是想将所说明的变量放入CPU的寄存器存储空间中,这样可以加快程序的运行速度。 (3)static称为静态存储类型,在C++语言中,既可以在函数体内,也可在函数体外说明static存储类型的变量。在函数体内说明的static存储类型的变量也是一种局部变量,与auto最大不同点是:static存储类型的变量在内存中是以固定地址存放的,而不是以堆栈方式存放的;只要整个程序还在继续运行静态变量就不会随着说明它的程序段的结束而消失,它下次再调用该函数,该存储类型的变量不再重新说明,而且还保留上次调用存入的数值。 (4)extern称为外部参照引用型,使用extern说明的变量是想引用在其它文件中函数体外部说明的变量。当变量在一个文件中的函数体外说明,所有其他文件中的函数或程序段都可引用这个变量。这种变量的作用域是所有的函数和程序段,一般用于在函数之间传递数据。7.参考答案:B8.参考答案:void9.参考答案:B10.参考答案:11.参考答案:B12.参考答案:A13.参考答案:D14.参考答案: 15.参考答案:16.参考答案:C17.参考答案: ①在类定义中,构造函数(ConstructFunction)是类的成员函数,函数体可写在类定义体内,也可在类定义体外定义; ②它是一个特殊的函数,其函数名与类名相同,该函数不指定类型说明,它有隐含的返回值,该值由系统内部使用; ③该函数可以没有参数,也可以有一个或多个参数,即构造函数可以重载,可以定义具有不同数据类型或不同参数个数的构造函数; ④程序中不能直接调用构造函数,在创建对象时系统将自动调用构造函数。18.参考答案:D19.参考答案: 20.参考答案:21.参考答案:B22.参考答案:23.参考答案:24.参考答案:25.参考答案:错误26.参考答案:运行时的多态性27.参考答案:函数;运算符28.参考答案: 运算符重载实际上通过函数来重新定义运算符的功能,运算符重载的功能可以直接通过函数调用。29.参考答案:B30.参考答案:31.参考答案:C32.参考答案:B33.参考答案: 使用new运算符创建的对象,如果不使用delete运算符释放,它们不会在生存期到了时被系统释放。34.参考答案:135.参考答案: 36.参考答案:D37.参考答案:必要的参数38.参考答案:每种体系结构及对应的编译器对参数传递都有自己的规定。参数传递并非总是通过堆栈进行的,参数入栈出栈是需要耗费时间的,编译器总是尽量优化利用寄存器来传递参数,因为寄存器的访问效率要高,但当参数过多时,将放弃优化从而用栈传递参数。因此为了提高调用性能,应尽量减少参数个数,太多时可以将所有参数重新定义为一个结构体,利用结构体指针来传递参数。在函数接口设计时应考虑硬件平台和编译器的特性,以灵活定义参数形式39.参考答案:A40.参考答案:错误41.参考答案:C42.参考答案:cout.setf(ios::scientific,ios::float

温馨提示

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

评论

0/150

提交评论