试卷名称:程序设计试卷13试卷说明:C++程序设计期未考试命题教师:中南大学信息科学与工程学院曹岳辉一、单项选择题(总分21)1.(分值:1.0分)若有以下定义和语句:ints[4][5],(*p)[5];p=s;则指针对s数组中第三个元素的正确引用形式是()。A:p[0][3]B:p[1][2]C:p[0][2]D:p[1][3]序号:92难度:1考查点:指针2.(分值:1.0分)定义整型变量x,y,z并赋初始值6的正确语句是__________。A:intx=y=z=6;B:intx=6,y=6,z=6;C:x=y=z=6;D:intx,y,z=6;序号:113难度:1考查点:C++基础知识3.(分值:1.0分)下列描述中哪个是正确的__________。A:私有派生的子类无法访问父类的成员B:类A的私有派生子类的派生类C无法初始化其祖先类A对象的属性,因为类A的成员对类C是不可访问的C:私有派生类不能作为基类派生子类D:私有派生类的所有子孙类将无法继续继承该类的成员序号:126难度:1考查点:继承与派生4.(分值:1.0分)34A:1B:2C:3D:4序号:140难度:1考查点:数组5.(分值:1.0分)有以下函数:/pimgsrc=../picturefile/dd60d687-ef21-48ca-884c-8809a74ef1ac/image004.jpg/p以下程序段中不能根据x值正确计算出y值的是()。/pA:if(x0)y=1;/pelseif(x==0)y=0;/pelsey=-1;/pB:y=0;if(x0)y=1;/pelseif(x0)y=-1;/pC:y=0;/pif(x=0)/pif(x0)y=1;/pelsey=-1;/pD:if(x=0)/pif(x0)y=1;/pelsey=0;/pelsey=-1;/p序号:195难度:1考查点:程序控制结构6.(分值:1.0分)下面哪一C++语言表达式不能正确表示数学关系a<x≤b。选项为__________。A:ax&&x=bB:x=b&&axC:!(a=x)&&!(xb)D:ax=b序号:217难度:1考查点:C++基础知识7.(分值:1.0分)关于源程序中注释部分的说法,___________是正确的。A:注释参加编译,出现在目标程序中B:注释参加编译,但不出现在目标程序中C:注释不参加编译,但出现在目标程序中D:注释不参加编译,也不出现在目标程序中序号:218难度:1考查点:C++基础知识8.(分值:1.0分)某结构体变量定义如下,对此结构体变量的成员的引用形式正确的是()structst{inta,b;floatx,y;}s1,*p;p=&s1;A:s1-aB:p-bC:p.xD:*p.y序号:234难度:2考查点:自定义数据类型9.(分值:1.0分)C++源程序文件的扩展名为。A:.CPPB:.CC:.DLLD:.EXE序号:241难度:1考查点:C++基础知识10.(分值:1.0分)关于read(char*buf,intsize)函数的下列描述中,()是对的。A:函数只能从键盘输入中获取字符串B:函数所获取的字符多少是不受限制的C:该函数只能用于文本文件的操作中D:该函数只能按规定读取所指定的字符数序号:252难度:1考查点:输入输出流11.(分值:1.0分)使用setw()对数据进行格式输出时,应包含()文件。A:iostream.hB:fstream.hC:iomanip.hD:stdlib.h序号:261难度:1考查点:输入输出流12.(分值:1.0分)下列说法不正确的是____。A:函数必须有返回值B:函数的返回值是通过return语句返回到主调函数的。C:return语句后的括号可要可不要D:有函数值的函数,它返回的函数值的类型是确定的序号:316难度:1考查点:函数13.(分值:1.0分)有关变量的正确说法是______。A:存储单元及内容B:自动变化的数C:地址D:人为设置的数序号:344难度:1考查点:C++基础知识14.(分值:1.0分)下列描述中错误的是()。A:继承分为多重继承和单继承B:对象间通信靠传递消息实现C:在外面看不到对象的内部特征是基于对象的模块独立性好这个特征D:类是具有共同属性、共同方法的对象的集合序号:361难度:1考查点:继承与派生15.(分值:1.0分)假定MyCIass为一个类,那么下列的函数说明中,()为该类的析构函数。A:void~MyClass();B:~MyClass(intn);C:MyClass();D:~MyClass();序号:367难度:1考查点:类与对象16.(分值:1.0分)设有以下定义:/p#includeiostream.h/pclassA1/p{/ppublic:/pvoidshow1(){coutclassA1endl;}/p};/pclassA2:publicA1/p{/ppublic:/pvoidshow2(){coutclassA2endl;}/p};/pclassA3:protectedA2/p{/ppublic:/pvoidshow3(){coutclassA3endl;}/p};/pvoidmain()/p{/pA1obj1;/pA2obj2;/pA3obj3;/p.../p}/p以下不合法的调用语句是()。/pA:obj1.show1();B:obj2.show1();C:obj3.show1();D:obj2.show2();序号:386难度:1考查点:继承与派生17.(分值:1.0分)在类中用来声明虚成员函数的关键字是________。A:virtualB:publicC:protectedD:private序号:388难度:1考查点:多态性与虚函数18.(分值:1.0分)有如下类声明:classTestClass{inti;private:intj;protected:intk;public:intm,n;};其中,私有成员的数量为()。A:0B:1C:2D:3序号:403难度:1考查点:类与对象19.(分值:1.0分)下列运算符中全都可以被友元函数重载的是()。A:=,+,-,\B:[],+,(),newC:-,+,*,D:,,+,*序号:412难度:1考查点:重载20.(分值:1.0分)下面关于类模板叙述不正确的是________。A:可以使用派生B:可以有多个析构函数C:可以有多个构造函数D:可以有多个参数序号:422难度:1考查点:模板21.(分值:1.0分)已知枚举类型定义语句为:enumToken{NAME,NUMBER,PLUS=5,MINUS,PRINT=10};则下列叙述中错误的是()。A:枚举常量NAME的值为1B:枚举常量NUMBER的值为1C:枚举常量MINUS的值为6D:枚举常量PRINT的值为10序号:433难度:1考查点:自定义数据类型二、填空题(总分44)1.(分值:6.0)已知main函数中有A类对象ab,程序的运行结果为12,请完成以下代码:/p#includeiostream.h/pclassA/p{/ppublic:/pintx,y;/pvoiddisplay(){coutxy;}/p};/pvoidmain()/p{/pAab或Aab;;ab.x=1;/pab.y=2;ab.display();/p}序号:111难度:2考查点:类与对象2.(分值:2.0)程序中的预处理命令是指以#字符开头的命令。序号:115难度:1考查点:编译预处理3.(分值:2.0)设有定义:enumcolor{red=5,yellow=0,blue=3,white,green};则white的取值为4。序号:127难度:1考查点:自定义数据类型4.(分值:2.0)类ios是所有基本流类的基类,它有一个保护访问限制的指针指向类streambuf,其作用是管理一个流的缓冲区。序号:134难度:2考查点:输入输出流5.(分值:6.0)计算1000以内能被3整除的自然数之和。#includeiostreamusingnamespacestd;intmain(){intx=1,sum=0;while(true){if(x1000或1000x)break;if(x%3==0或0==x%3或x==x/3*3)sum+=x;x++;}coutsumendl;return0;}序号:153难度:2考查点:程序控制结构6.(分值:2.0)给变量赋初值,初值必须是常数和常数表达式。序号:167难度:1考查点:C++基础知识7.(分值:2.0)类的成员按访问权限可分为3类,分别是public、private、protected。序号:206难度:1考查点:类与对象8.(分值:6.0)下面函数的功能是从数组x(有n0个元素)中找出最大元素,请将函数补充完整。/pintfindmax(intx[],intn)/p{/pintmax=x[0];for(inti=1;in;i++)/pif(x[i]max)/pmax=x[i];returnmax;/p}/p序号:221难度:2考查点:数组9.(分值:2.0)设有int*p,a=2,b=1;则执行以下语句p=&a;*p=a+b;后,a的值为3。序号:230难度:1考查点:指针10.(分值:2.0)要使用strcat、strlen等字符串处理函数,则需要预处理命令#includestring或string.h。序号:236难度:1考查点:数组11.(分值:6.0)本题自定义函数f()的功能是:对给定的一维数组a及其元素个数n,求偶数下标的元素之和以及奇数下标的元素之积。偶数下标的元素之和在函数中输出;而奇数下标的元素之积作为函数值返回。请补充程序中空格处所缺的语句。(注:严格按空格的顺序号依次书写每空的答案)。#includeiostreamusingnamespacestd;intf(longa[],intn)//n是数组a的元素个数{inti,s1,s2;s1=0;s2=1;for(i=1;in;i++)if(i%2==0)s1=s1+a[i];elses2=s2*a[i];couts1=s1endl;returns2;}序号:272难度:2考查点:函数12.(分值:2.0)虚函数必须是类的非静态成员函数或成员函数。序号:303难度:1考查点:多态性与虚函数13.(分值:2.0)多态性分为两类:编译时的多态性和运行时的多态性。序号:304难度:1考查点:多态性与虚函数14.(分值:2.0)标识符是以字母及下划线开头的数字、字母及下划线组成字串。序号:93难度:1考查点:C++基础知识三、问答题(总分25)1.(分值:5.0分)如下程序的运行结果是:#includeiostreamusingnamespacestd;classBase{public:virtualvoidprint(){coutB;}};classDerived:publicBase{public:voidprint(){coutD;}};intmain(){Base*pb;Derivedd,*pd=&d;;pb=pd;pb-print();pd-print();coutendl;return0;}参考答案:DD序号:12难度:2考查点:类与对象2.(分值:5.0分)写出运算结果:#includeiostream.hvoidmain(){inta,b,c;a=123;b=10;c=100;cout(a-a/b*10),(a/b-