全国2018年10月高等教育自学考试04737C++程序设计试题
全国10月高等教育自学考试高级语言程序设计(一)试题及答案解析
全国10月高等教育自学考试高级语言程序设计(一)试题及答案解析全国2018年10月高等教育自学考试高级语言程序设计(一)试题课程代码:00342一、单项选择题(在每小题的四个备选答案中选出一个正确答案,并将其号码填在题干的括号内。
每小题1分,共20分)1.C语言不能选用的字母是( )A.wB.πC.ID.i2.构成一个C程序的是( )A.一个主函数和若干个非主函数B.若干个主函数和若干个非主函数C.一个主函数和最多一个非主函数D.若干个主函数和最多一个非主函数3.设int m1=5,m2=3;表达式m1>m2?(m1=1):(m2=-1)运算后,m1和m2的值分别是( )A.1和-1B.1和3C.5和-1D.5和34.设float m=4.0,n=4.0;使m为10.0的表达式是( )A.m-=n*2.5B.m/=n+9C.m*=n-6D.m+=n+25.表达式5&2||5|2的值是( )B.1C.2D.36.对于do-while语句,错误..的.说法是( )A.先执行循环体后判断循环条件B.循环体至少要执行一次C.循环体有可能一次也不执行D.循环体中可以包含若干条语句7.设int x=-1;执行表达式++x||++x||++x后,x的值是( )A.0B.1C.2D.38.设int a=7,b=8;则printf(″%d,%d″,(a+b,a),(b,a+b));的输出是( )A.7,15B.8,15C.15,7D.出错9.设int a[10];则对a数组元素的错误..引用是( )A.a[5]B.*(a+1)C.a[10-10]D.a(5)10.设char c[5]={′a′,′b′,′\0′,′c′,′\0′};则printf(″%s″,c)的输出是( )A.′a′′b′B.abD.″ab\0c″11.设double * p[6];则( )A.p是指向double型变量的指针B.p是double型数组C.p是指针数组,其元素是指向double型变量的指针D.p是数组指针,指向double型数组12.设char *s=″china″;则printf(″%s,%c,%c\n″,s,*s,s[3]);的输出是( )A.china, c,nB.china,china,iC.c,c,nD.china,china,n13.全局变量的存储类型可以定义为( )A.auto或staticB.extern或registerC.auto或externD.extern或static14.函数调用语句fun((((1,2),3),4));中参数的个数是( )A.1B.2C.3D.415.对于下列定义的枚举型enum colorl {yellow,green,blue=5, red,brone};则枚举常量yellow和red的值分别是( )A.3,6B.1,6C.0,6D.0,316.设有定义struct ru{long x;float y;} time,*timep=&time;则对time中成员x的正确引用是( )A.rnu.time.xB.timep.xC.(* timep).xD.time->x17.设FILE*fp;若fp指向的文件未结束,则函数feof(fp)的返回值为( )A.0B.trueC.非0D.false18.C语言中,系统自动打开的文件是( )A.二进制文件B.随机文件C.非缓冲文件D.设备文件19.执行下列程序#define R 0.5#define AREA(x) R*x*xmain (){int a=1, b=2;printf (″%5。
04737c程序设计试题及答案20200_图文
全国2009年10月高等教育自学考试C++程序设计试题课程代码:04737一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.对C++中主函数描述正确的是( )A.名称为main,可为多个B.名称不限,可为多个C.名称为main,必须有且只能有一个D.名称不限,必须有且只能有一个2.调用声明为int result(int a,int b)的函数时,正确的方法是( )A.result(1,2)B.result(1)C.result(0.1,0.3)D.result(1,2,3)3.用于包含C++标准库iostream的预处理指令是( )A.#define<iostream>B.#include<iostream>C.#define ‘iostream’D.#include‘iostream’4.无类型标识符是指( )A.voidB.boolC.shortD.long5.从本质上看,引用是被引用变量的( )A.拷贝B.别名C.复制D.克隆6.下面关于数组的初始化正确的是( )A.char str[ ]={'a','b','c'};B.char str[2]={'a','b','c'};C.char str[1][2]={{'a','b'},{'e','d'}};D.char str[ ][ ]={'a','b','c'};7.C++类中定义的成员默认访问属性为( )A.publicB.privateC.protectedD.friend1文档来源为:从网络收集整理.word版本可编辑.8.决定C++语言中函数的返回值类型的是( )A.return语句中的表达式类型B.调用该函数时系统随机产生的类型C.调用该函数时的主调用函数类型D.在定义该函数时所指定的数据类型9.函数int & min(int &,int &)返回参数中较小者,设有两整型变量int a=10;int b=15;在执行语句min(a,b)--;之后,a,b值分别为( )A.9,14B.9,15C.10,14D.10,1510.声明函数为内联函数时所使用的关键字为( )A.constB.inlineC.shortD.signed11.函数int sum(int a=l,int b=1,int c=3)可与下列哪个函数同时声明( )A.double sum(int);B.char sum(int,int);C.int sum(double);D.int sum(int,int,int);12.函数模板template<typename T> void Func(T,T)可具有下列哪种实例化形式( )A.void Func(float,int)B.void Func(char,char)C.void Func(int,double)D.void Func(bool,float)13.下列访问成员的方式哪个是正确的( )A.对象名.对象成员名B.对象指针名.对象成员名C.对象名→对象成员名D.类名→对象成员名14.对类A,复制构造函数的原型是( )A.A::A(const A&);B.A::A(const A *);C.A::A(const A);D.A::A( );15.对class point,如使用point * ptr=new point[2];创建对象数组,则删除此数组使用的语句是( )A.delete ptr[2];B.delete[ ] ptr;C.delete ptr[ ];D.delete[2] ptr;16.下列哪个编译指令不属于条件编译指令( )A.#ifB.#else1文档来源为:从网络收集整理.word版本可编辑.C.#endifD.#error17.类A中存在静态数据成员x,设a和b是类A的两个对象,在执行a.x=10之后,b.x的值为( )A.未初始化B.等于a.xC.等于0D.随机18.使用string.h库操纵字符串时,将两个字符串连接成一个字符串的函数是( )A.strlen()B.strcap()C.strcat()D.strcmp()19.基类中的public成员,通过public派生,其在派生类中的访问权限为( )A.不可访问B.privateC.protectedD.public20.不同对象调用同名函数,但导致完全不同行为的现象称为( )A.抽象B.封装C.继承D.多态性二、填空题(本大题共20小题,每小题1分,共20分)请在每小题的空格中填上正确答案。
10月全国自考高级语言程序设计(一)试题及答案解析
A.数组的第一个元素值B.数组元素的个数
C.数组中全部元素的值D.数组首地址
15.下列错误的是( )
A. char s[]=″China″;B. char s[10]={″China″};
C. char s[10]; s=″China″;D. char s[10]={′C′,′h′,′i′,;′n′,′a′};
}
printf(″\n″);
}
四、程序填充题(本大题共3小题,每小题6分,共18分)
给出下列程序,将横线处缺少的部分补上,使其能正确运行。
36.一个三位整数(100~999),若各位数的立方和等于该数自身,则称其为“水仙花数”(如:153=13+53+33),找出所有的这种数。
main( )
{
int n, a, b, c;/*n、a、b和c分别为三位数自身及其个位、十位和百位*/
for(i=1;i<3;i++)f(i);
}
f(int j)
{ static int a=100;
int k=1;
++k;
printf(″%d\n″, j+a+k);
a-=2;
}
32. #include <stdio. h>
long fun(int n)
{ long s;
if(n<=2)s=2;
else s=n+fun(n-1);
}
五、程序设计题(本大题共3小题,第39小题5分,第40、41小题各6分,共17分)
39.输入某学生的数学(math)、英语(english)和C语言(C)的成绩,输出该学生这三门课的成绩、总成绩(sum)和平均成绩(aver)。
全国月自学考试C加加程序设计试题
中国自考人()--700门自考课程永久免费、完整在线学习快快加入我们吧!全国2013年1月自学考试C加加程序设计试题课程代码:04737请考生按规定用笔将所有试题的答案涂、写在答题纸上。
选择题部分注意事项:1. 答题前,考生务必将自己的考试课程名称、姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上。
2. 每小题选出答案后,用2B铅笔把答题纸上对应题目的答案标号涂黑。
如需改动,用橡皮擦干净后,再选涂其他答案标号。
不能答在试题卷上。
一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸”的相应代码涂黑。
错涂、多涂或未涂均无分。
1.下列不属于C++关键字的是A. externB.gotoC.freeD.default2.C++中定义标准输入输出的库为A.stdioB.mathC.iostreamD.stdlib3.My是一个类,则执行语句My a[3],*p[2]之后,自动调用构造函数次数为A.2B.3C.4D.54.下列语句错误的是A. int val( 20);B.extern int val( 20);C. const int val;D.extern const int val;5.下列说法中,有关构造函数是正确的是1 / 13A.任何一类必定有构造函数B.可定义没有构造函数的类C.构造函数不能重载D.任何一类必定有缺省的构造函数6.下面关于类和对象说法不正确是A.类由数据与函数组成B.一个对象必属于某个类C.对象是类的实例D.一个类的对象只有一个7.下面选项中不是类成员函数的是A.构造函数B.析构函数C.友元函数D.静态函数8.在C++中类之间的继承关系具有A.自反性B.对称性C.传递性D.反对称性9.C++中类的成员默认为A. publicB.privateC.protectedD.static10.C++中要实现动态联编,调用虚函数时必须使用A.基类指针B.类名C.派生类指针D.对象名11.下面对析构函数的正确描述是A.系统不能提供默认的析构函数B.析构函数必须由用户定义C.析构函数没有参数D.析构函数可以设置默认参数12.在下面的二维数定义正确的是A.int ary[5][];B.int ary[][5]={{0,1,2}};C.int ary[][5];D.int ary[5,5];13.以下说法中正确的是A.C++程序总是从第一个定义的函数开始执行B.C++程序总是从main函数开始执行C.C++中函数必须有返回值D.C++中函数名必须唯一14.对C++中主函数描述正确的是A.名称为main,可为多个B.名称不限,可为多个2 / 13C.名称为main,必须有且只能有—个D.名称不限,必须有且只能有—个15.下面声明纯虚函数语句正确的是A. void fun( ) =0;B.virtual void fun( )=0;C. virtual void fun( );D.virtual void fun( ){ };16.对于拷贝初始化构造函数和赋值操作的关系,正确的描述是A.拷贝初始化构造函数和赋值操作是完全一样的操作B.进行赋值操作时,会调用类的构造函数C.当调用拷贝初始化构造函数时,类的对象正在被建立并被初始化D.拷贝初始化构造函数和赋值操作不能在同一个类中被同时定义17.使用重载函数的目的是A.共享函数数据B.减少代码量C.优化运行效率D.提高可读性18.C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是A.增加了一些新的运算符B.允许函数重载,并允许设置缺省参数C.规定函数说明符必须用原型D.引进了类和对象的概念19.假定有“char*p=“Hello”;”,若要输出这个字符串的地址值正确的写法为A. cout<<*p;B.cout<<p;C. cout<<&p;D.cout<< (void*)p;20.对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是A.公有类型 B.私有类型C.保护类型 D.友元类型3 / 13非选择题部分注意事项:用黑色字迹的签字笔或钢笔将答案写在答题纸上,不能答在试题卷上。
(全新整理)10月高级语言程序设计一全国自考试卷及答案解析
高级语言程序设计(一)试题
课程代码:00342
一、单项选择题(本大题共15小题,每小题2分,共30分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.可以作为自定义标识符的是( )
A.2xB.break
C.m-nD.m_n
2.正确的变量定义是( )
A.unsigned long d=1000;B.float m1=m2=10.0;
C.char c1=’A’,c2=A;D.double x=0.618,x=3.14;
3.表达式的值为0的是( )
A.5/5%5B.5>2
C.!4D.0x7&7
4.设int a=1,b=2;,则执行a=b+2,a++,a+b;后a和b的值分别是( )
34.(1)编写一个计算梯形面积的函数。函数头是:float area(float t,float b,float h)
其中变量t、b和h分别表示梯形的上底、下底和高。
(2)编写主函数从键盘输入梯形的上底、下底和高的值,调用上述函数输出梯形面积
(保留小数点后两位)。
case 3:
case 4:y=_____________;break; /*第三空*/
default :y=1/(x*x+1);
}
printf(〞x=%7.2f,y=%10.6f\n〞,x,y);
}
}
五、程序设计题(本大题共2小题,每小题8分,共16分)
33.从键盘输入100个整数,计算并输出大于等于零的数的平均值(保留小数点后两位)。
则执行语句printf(〞%s%d\n〞,p->name,stu[1].age);后输出结果是( )
最新自考04747Java语言程序设计(一)试卷及答案
2018年10月高等教育自学考试全国统一命题考试Java语言程序设计(一) 试卷(课程代码04747)本试卷共7页,满分l00分,考试时间l50分钟。
第一部分选择题一、单项选择题:本大题共l0小题,每小题l分,共10分。
在每小题列出的备选项中只有一项是最符合题目要求的,请将其选出。
1.以下标识符中,不晕Java语言关键字的是A.class B.newC.long D.wait2.以下程序代码的输出结果是A.6420 B.753lC.642 D.5313.以下选项中,不是转义字符的是A.\u061 B.\`C.\l41 D.\u00614.假设有定义:String S=null;,则下列选项中,能引发异常的是5.设有数组定义int[][]X={{1,2,3},{},{3,4,5},{6,7}};,下列选项中正确的是 A.x.1ength的值是3 B.x[1][0]的值是0C.x[2].1ength的值是3 D.x[3][1]的值是36.下列关于抽象类的叙述中,正确的是A.类中只能含有抽象方法,不能含有普通方法B.类中不一定要有抽象方法,必须要有普通方法C.类中必须含有抽象方法,也可以有普通方法D.类中既可以有抽象方法,也可以有普通方法。
7.以下Java程序代码中,能创建BufferedReader对象的是8.MouseMotionListener接口能处理的鼠标事件是A.按下鼠标键 B.释放鼠标键C.鼠标离开 D.鼠标移动9.列表(JList)中可以对所选项进行控制,下列选项中正确的是A.仅支持单项选择。
B.同时支持单项或多项选择。
C.仅支持连续的多项选择D.既支持单项选择,也支持连续或间断的多项选择10.以下方法中,可以使新创建的线程投入运行的是A.start() B.yield()C.runO D.wait0第二部分非选择题二、填空题:本大题共l0小题,每空2分,共20分。
11.源文件Test11.java经编译后,若正确,则得到的文件名是_________。
2018年10月自考04737C++程序设计试题及答案含评分标准
2018年10月高等教育自学考试全国统一命题考试C++程序设计试卷(课程代码04737)本试卷共l0页,满分l00分,考试时间l50分钟。
考生答题注意事项:1.本卷所有试题必须在答题卡上作答。
答在试卷上无效,试卷空白处和背面均可作草稿纸。
2.第一部分为选择题。
必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑。
3.第二部分为非选择题。
必须注明大、小题号,使用0.5毫米黑色字迹签字笔作答。
4.合理安排答题空间,超出答题区域无效。
第一部分选择题一、单项选择题:本大题共20小题,每小题l分,共20分。
在每小题列出的备选项审只有一项是最符合题目要求的,请将其选出。
2.设X和y均为bool量,则x&&y曲为真的条件是A.它们均为真 B.其中一个为真 C.它们均为假 D.其中一个为假3.拷贝构造函数应该是A.不带参数的构造函数 B.带有一个参数的构造函数C.带有两个参数的构造函数 D.缺省构造函数4.以下说法中正确的是A.C++程序总是从第一个定义的函数开始执行B.C++程序总是从main函数开始执行C. C++中函数必须有返回值D.C++中函数名必须唯一5.下列虚基类的声明中,正确的是A.class virtual B:public A B.class B:virtual public AC.class B:public A virtual D.virtual class B:public A6.下列哪个类型函数不适合声明为内联函数A.函数体语句较多 B.函数体语句较少C.函数执行时间较短 D.函数被频繁调用7.以下类模板定义正确的为A.template<class T> B.template<class T.class int i>C.template<class T,typename T> D.template<class Tl,T2>8.C++中要实现动态联编,调用虚函数时必须使用A.基类指针 B.类名 C.派生类指针 D.对象名9.下列对静态成员的描述中,不正确的是·A.静态成员不属于对象,是类的共享成员B.静态数据成员要在类外定义和初始化C.调用静态成员函数时要通过类或对象激活,所以静态成员函数拥有this指针D.非静态成员函数也可以操作静态数据成员10.下列对派生类的描述中,错误的是A.一个派生类可以作为另一个派生类的基类B.派生类至少有一个基类C.派生类的成员除了它自己的成员外,还包含了它的基类的成员D.派生类中继承的基类成员的访问权限到派生类保持不变11.下列函数原型声明语句中,错误的是A.int f(void); B.void f(hat); C.int f(a); D.void f(double a);12.如果有洒t型变量a,则定义指向变量a的指针P正确的写法是A.int P=&a B.int * P=&a C.int&p=*a D.int*P = a13.假定指针变量P定义为“int冰P=flew int(100);”,要释放P所指向盼动态内存,应使用语句A.delete p; B.delete* p; C.delete&p; D.delete[]p;14.假定A为一个类,则执行“A a[3],b(3);”语句时调用该类构造函数的次数为A.3 B.4 C.5 D.915.C++中定义标准输入输出的痒为A.stdio B.math C。
2018年10月高等教育自学考试全国统一命题考试C++程序设计试卷及答案(课程代码04737)
2018年10月高等教育自学考试全国统一命题考试C++程序设计试卷(课程代码04737)本试卷共l0页,满分l00分,考试时间l50分钟。
考生答题注意事项:1.本卷所有试题必须在答题卡上作答。
答在试卷上无效,试卷空白处和背面均可作草稿纸。
2.第一部分为选择题。
必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑。
3.第二部分为非选择题。
必须注明大、小题号,使用0.5毫米黑色字迹签字笔作答。
4.合理安排答题空间,超出答题区域无效。
第一部分选择题一、单项选择题:本大题共20小题,每小题l分,共20分。
在每小题列出的备选项审只有一项是最符合题目要求的,请将其选出。
2.设X和y均为bool量,则x&&y曲为真的条件是A.它们均为真 B.其中一个为真 C.它们均为假 D.其中一个为假3.拷贝构造函数应该是A.不带参数的构造函数 B.带有一个参数的构造函数C.带有两个参数的构造函数 D.缺省构造函数4.以下说法中正确的是A.C++程序总是从第一个定义的函数开始执行B.C++程序总是从main函数开始执行C. C++中函数必须有返回值D.C++中函数名必须唯一5.下列虚基类的声明中,正确的是A.class virtual B:public A B.class B:virtual public AC.class B:public A virtual D.virtual class B:public A6.下列哪个类型函数不适合声明为内联函数A.函数体语句较多 B.函数体语句较少C.函数执行时间较短 D.函数被频繁调用7.以下类模板定义正确的为A.template<class T> B.template<class T.class int i>C.template<class T,typename T> D.template<class Tl,T2>8.C++中要实现动态联编,调用虚函数时必须使用A.基类指针 B.类名 C.派生类指针 D.对象名9.下列对静态成员的描述中,不正确的是·A.静态成员不属于对象,是类的共享成员B.静态数据成员要在类外定义和初始化C.调用静态成员函数时要通过类或对象激活,所以静态成员函数拥有this指针D.非静态成员函数也可以操作静态数据成员10.下列对派生类的描述中,错误的是A.一个派生类可以作为另一个派生类的基类B.派生类至少有一个基类C.派生类的成员除了它自己的成员外,还包含了它的基类的成员D.派生类中继承的基类成员的访问权限到派生类保持不变11.下列函数原型声明语句中,错误的是A.int f(void); B.void f(hat); C.int f(a); D.void f(double a);12.如果有洒t型变量a,则定义指向变量a的指针P正确的写法是A.int P=&a B.int * P=&a C.int&p=*a D.int*P = a13.假定指针变量P定义为“int冰P=flew int(100);”,要释放P所指向盼动态内存,应使用语句A.delete p; B.delete* p; C.delete&p; D.delete[]p;14.假定A为一个类,则执行“A a[3],b(3);”语句时调用该类构造函数的次数为A.3 B.4 C.5 D.915.C++中定义标准输入输出的痒为A.stdio B.math C。
10月自考C程序设计(04737)试题及答案解析
2015年10月高等教育自学考试全国统一命题考试C++程序设计试卷(课程代码04737)本试卷共10页,满分100分,考试时间150分钟。
考生答题注意事项:1.本卷所有试题必须在答题卡上作答。
答在试卷上无效,试卷空白处和背面均可作草稿纸。
2.第一部分为选择题。
必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑。
3.第二部分为非选择题。
必须注明大、小题号,使用0.5毫米黑色字迹签字笔作答o 4.合理安排答题空间,超出答题区域无效。
第一部分选择题一、单项选择题(本大题共20小题,每小题1分。
共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题卡”的相应代码涂黑。
未涂、错涂或多涂均无分。
1.在C++语言中用于注释的标识符是A.& B.//C.* D./2.编写C++程序一般需经过的几个步骤依次是A.编辑、调试、编译、连接B.编译、调试、编辑、连接C.编译、编辑、连接、运行D.编辑、编译、连接、运行3.要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用A.内联函数B.重载函数C.内部函数D.函数模板4.设x=8,执行语句Y=x++,则y等于A.6 B.7 C.9 D.85.下列运算符中,优先级最高的是A. * B.一> C.&& D.>=6.关于new运算符的下列描述中,错误的是A.它可以用来动态创建对象和对象数组B.使用它创建的对象和对象数组可以使用运算符delete删除C.使用它创建对象时要调用构造函数D.使用它创建对象数组时必须指定初始值7.存储下列数据,占用存储字节最多的是A. 0 B.‘0’ C.〝0〞D.0.08.关于类和对象不正确的说法是A.类是一种类型,它封装了数据和操作B.对象是类的实例C.一个类的对象只有一个D.一个对象必属于某个类9.下列有关构造函数的描述中,正确的是A.构造函数可以带有返回值B.构造函数的名字与类名完全相同C.构造函数必须带有参数D.构造函数必须定义,不能缺省10.假定a为一个整型数组名,则元素a[4]的字节地址为A. a+4 B.a+8 C.a+16 D.a+32 11.类中能访问静态成员的函数是A.虚函数B.静态成员函数 C. 构造函数D.析构函数12.下列说明语句中正确的是A.int a,&ra=a,&&ref=ra B.int&refa[10]C.int a,&ra=a,&*refp=&ra D.int*pi,*&pref=pi13.关于对象概念的描述中,说法错误的是A.对象就是C语言中的结构体B.对象代表着正在创建的系统中的一个实体C.对象是类的一个变量D.对象之间的信息传递是通过消息进行的14.有关多态性说法不正确的是A.C++语言的多态性分为编译时的多态性和运行时的多态性B.编译时的多态性可通过函数重载实现C.运行时的多态性可通过模板和虚函数实现D.实现运行时多态性的机制称为动态多态性15.关于友元函数的描述中,错误的是A.友元函数不是成员函数B.友元函数只能访问类中私有成员C.友元函数破坏隐藏性,尽量少用D.友元函数说明在类体内,使用关键字friend16.类中定义的成员默认访问属性为A.public B.private C.protected D.friend 17.拷贝构造函数的参数是A.某个对象名B.某个对象的成员名C.某个对象的引用名D.某个对象的指针名18.关于类模板的说法正确的是A.类模板的主要作用是生成抽象类B.类模板实例化时,编译器将根据给出的模板实参生成一个类C.在类模板中的数据成员具有同样类型D.类模板中的成员函数没有返回值19.下列有关重载函数的说法中正确的是A.重载函数必须具有不同的返回值类型B.重载函数参数个数必须相同C.重载函数必须有不同的形参列表D.重载函数名可以不同20.当一个类的某个函数被说明为virtual时,在该类的所有派生类中的同原型函数A.都是虚函数B.只有被重新说明时才是虚函数C.都不是虚函数D.只有被重新说明为virtual时才是虚函数第二部分非选择题二、填空题(本大题共20小题,每小题1分,共20分)请在答题卡上作答。
计算机及应用自考试题04737C++程序设计题库
04737C++程序设计一、单选题1.对C++语言和C语言的兼容性,描述正确的是(A )A.C++兼容C B.C++部分兼容CC.C++不兼容C D.C兼容C++2.在C++中使用流进行输入输出,其中用于屏幕输出的对象是(C)A.cerr B.cin C.cout D.cfile3.对使用关键字new所开辟的动态存储空间,释放时必须使用(C)A.free B.createC.delete D.realse4.如没有使用private关键字定义类的数据成员,则默认为(A )A.private B.publicC.protected D.friend5.使用值传递方式将实参传给形参,下列说法正确的是(A)A.形参是实参的备份 B.实参是形参的备份C.形参和实参是同一对象 D.形参和实参无联系6.在函数调用时,如某一默认参数要指明一个特定值,则有(A )A.其之前所有参数都必须赋值 B.其之后所有参数都必须赋值C.其前、后所有参数都必须赋值D.其前、后所有参数都不必赋值7.设存在函数int max(int,int)返回两参数中较大值,若求22,59,70三者中最大值,下列表达式不正确的是( C )A.int m = max(22,max(59,70));B.int m = max(max(22,59),70);C.int m = max(22,59,70); D.int m = max(59,max(22,70));8.下列哪个类型函数不适合声明为内联函数(A )A.函数体语句较多 B.函数体语句较少C.函数执行时间较短 D.函数执行时间过长9.int Func(int,int);不可与下列哪个函数构成重载(B)A.int Func(int,int,int);B.double Func(int,int);C.double Func(double,double);D.double Func(int,double);10.对类中声明的变量,下列描述中正确的是(C)A.属于全局变量B.只属于该类C.属于该类,某些情况下也可被该类不同实例所共享D.任何情况下都可被该类所有实例共享11.类的私有成员可在何处访问(D)A.通过子类的对象访问B.本类及子类的成员函数中C.通过该类对象访问D.本类的成员函数中12.如果没有为一个类定义任何构造函数的情况下,下列描述正确的是(A)A.编译器总是自动创建一个不带参数的构造函数B.这个类没有构造函数C.这个类不需要构造函数D.该类不能通过编译13.一个类可包含析构函数的个数是( B)A.0个B.1个 C.至少一个 D.0个或多个14.this指针存在的目的是(B)A.保证基类公有成员在子类中可以被访问B.保证每个对象拥有自己的数据成员,但共享处理这些数据成员的代码C.保证基类保护成员在子类中可以被访问D.保证基类私有成员在子类中可以被访问15.下列关于类的权限的描述错误的是(A)A.类本身的成员函数只能访问自身的私有成员B.类的对象只能访问该类的公有成员C.普通函数不能直接访问类的公有成员,必须通过对象访问D.一个类可以将另一个类的对象作为成员16.在编译指令中,宏定义使用哪个指令(B)A.#includeB.#defineC.#if D.#else17.设类A将其它类对象作为成员,则建立A类对象时,下列描述正确的是(B)A.A类构造函数先执行B.成员构造函数先执行C.两者并行执行D.不能确定18.下列描述错误的是(A)A.在创建对象前,静态成员不存在B.静态成员是类的成员C.静态成员不能是虚函数D.静态成员函数不能直接访问非静态成员19.对于友元描述正确的是(B )A.友元是本类的成员函数B.友元不是本类的成员函数C.友元不是函数 D.友元不能访问本类私有成员20.在哪种派生方式中,派生类可以访问基类中的protected成员(B)A.public和privateB.public和protectedC.protected和privateD.仅protected21.C++源程序文件扩展名为( A )A..cppB..hC..1ibD..obj22.在C++中使用流进行输入输出,其中专用于从键盘进行输入的流是( B )A.cerrB.cinC.coutD.cfile23.包含自定义头文件file.h的预处理指令是( D )A.#define<file.h>B.#include file.hC.#define file.hD.#include "file.h"24.用于标识十六进制前缀或后缀是( D )A.无B.后缀L或eC.前缀零D.前缀0x25.设存在整型变量int x,则下列语句中与其它三项含义不同的是( A )A.int* p=&x;B.int& p=x;C.int & p=x;D.int &p=x;26.在定义类成员时,为产生封装性,则需使用哪个关键字( D )A.publicB.publishC.protectedD.private27.设函数void swap(int&,int&)将交换两形参的值,如两整型变量int a=10;int b=15;则执行swap(a,b)后,a、b值分别为( C )A.10,10B.10,15C.15,10D.15,1528.函数默认参数在函数原型中说明,默认参数必须放在参数序列的( C )A.前部B.中部C.后部D.两端29.设存在函数int min(int,int)返回两参数中较小值,若求15,26,47三者中最小值,下列表达式中错误的是( B )A.int m=min(min(15,26),min(15,47));B.int m=min(15,26,47);C.int m=min(15,min(47,26));D.int m =min(min(47,26),16);30.下列函数不能和函数void print(char)构成重载的是( C )A.int print(int);B.void print(char,char);C.int print(char);D.void print(int,int);31.在下列成对的表达式中,运算结果类型相同的一对是( D )A.7/2和7.0/2.0B.7/2.0和7/2C.7.0/2和7/2D.7.0/2.0和7.0/232.内联函数的特点是( D )A.减少代码量,加快访问速度B.减少代码量,减缓访问速度C.增加代码量,减缓访问速度D.增加代码量,加快访问速度33.类的私有成员可在何处被访问( A )A.本类的成员函数中B.本类及子类的成员函数中C.通过对象名在任何位置D.不可访问34.类的构造函数在以下什么情况下会被自动调用( B )A.定义成员函数时B.定义对象时C.定义数据成员时D.定义友元函数时35.下列关于析构函数描述正确的是( D )A.可以重载B.函数体中必须有delete语句C.返回类型必须是void类型D.不能指定返回类型37.下列哪个编译指令属于条件编译指令( C )A.#includeB.#defineC.#elseD.#pragma38.关于类的静态成员函数描述错误的是( A )A.在创建对象前不存在B.不能说明为虚函数C.不能直接访问非静态函数D.不是对象的成员39.如果类A被声明成类B的友元,则( D )A.类A的成员即类B的成员B.类B的成员即类A的成员C.类A的成员函数不得访问类B的成员D.类B不一定是类A的友元40.派生类的对象可以访问以下那种情况继承的基类成员( D )A.私有继承的私有成员B.公有继承的私有成员C.私有继承的保护成员D.公有继承的公有成员41.对C++中主函数描述正确的是( C )A.名称为main,可为多个B.名称不限,可为多个C.名称为main,必须有且只能有一个D.名称不限,必须有且只能有一个42.调用声明为int result(int a,int b)的函数时,正确的方法是( A )A.result(1,2)B.result(1)C.result(0.1,0.3)D.result(1,2,3)43.用于包含C++标准库iostream的预处理指令是( B )A.#define<iostream>B.#include<iostream>C.#define ‘iostream’D.#include‘iostream’44.无类型标识符是指( A )A.voidB.boolC.shortD.long45.从本质上看,引用是被引用变量的( B )A.拷贝B.别名C.复制D.克隆46.下面关于数组的初始化正确的是( A )A.char str[ ]={'a','b','c'};B.char str[2]={'a','b','c'};C.char str[1][2]={{'a','b'},{'e','d'}};D.char str[ ][ ]={'a','b','c'};47.C++类中定义的成员默认访问属性为( B )A.publicB.privateC.protectedD.friend48.决定C++语言中函数的返回值类型的是( D )A.return语句中的表达式类型B.调用该函数时系统随机产生的类型C.调用该函数时的主调用函数类型D.在定义该函数时所指定的数据类型49.函数int & min(int &,int &)返回参数中较小者,设有两整型变量int a=10;int b=15;在执行语句min(a,b)--;之后,a,b值分别为( B )A.9,14B.9,15C.10,14D.10,1550.声明函数为内联函数时所使用的关键字为( B )A.constB.inlineC.shortD.signed51.函数int sum(int a=l,int b=1,int c=3)可与下列哪个函数同时声明( C )A.double sum(int);B.char sum(int,int);C.int sum(double);D.int sum(int,int,int);53.下列访问对象成员的方式哪个是正确的( A )A.对象名.对象成员名B.对象指针名.对象成员名C.对象名→对象成员名D.类名→对象成员名54.对类A,复制构造函数的原型是( A)A.A::A(const A&);B.A::A(const A *);C.A::A(const A);D.A::A( );55.对class point,如使用point * ptr=new point[2];创建对象数组,则删除此数组使用的语句是( B )A.delete ptr[2];B.delete[ ] ptr;C.delete ptr[ ];D.delete[2] ptr;56.下列哪个编译指令不属于条件编译指令( D )A.#ifB.#elseC.#endifD.#error57.类A中存在静态数据成员x,设a和b是类A的两个对象,在执行a.x=10之后,b.x的值为( B )A.未初始化B.等于a.xC.等于0D.随机58.使用string.h库操纵字符串时,将两个字符串连接成一个字符串的函数是( C )A.strlen()B.strcap()C.strcat()D.strcmp()59.基类中的public成员,通过public派生,其在派生类中的访问权限为( D)A.不可访问B.privateC.protectedD.public60.不同对象调用同名函数,但导致完全不同行为的现象称为( D )A.抽象B.封装C.继承D.多态性61.在C++中,头文件扩展名为( B)A.cppB.hC.1ibD.obj62.下列符号中,不属于分隔符的是(B)A.,B./C.;D.{}63.可替换#define PI 3.1415926的语句是(B)A.float PI 3.1415926;B.const float PI=3.1415926;C.const PI(3.1415926);D.const 3.1415926;64.布尔类型标识符是(D)A.voidB.shortC.longD.bool65.下列不是C++语言的基本数据类型的是(D)A.字符类型B.整数类型C.逻辑类型D.枚举类型66.C++允许在结构中定义函数,这些函数称为(D)A.静态函数B.构造函数C.析构函数D.成员函数67.设函数void inc(int)将形参加1,如有整型变量int i=10;则执行inc(i);后,i的值为(B)A.9B.10C.11D.未知68.下列哪种默认参数的声明是不正确的(C)A. int max(int a,int b,int c,int d=0);B. int max(int a,int b,int c=0,int d=0);C. int max(int a=0,int b,int c=0,int d=0);D. int max(int a,int b=0,int c=0,int d=0);69.设int &max(int &,int &)返回两参数中较大者,如有两整型变量int a=10;int b=15;在执行max(a,b)++后,a,b值分别为(C)A.10,15B.11,15C.10,16D.1l,1670.包含哪种语句的函数不能声明为内联函数(A )A.循环B.变量自增自减C.if...else…D.变量声明72.一个类拥有多个构造函数,则这些构造函数间为(A)A.重载关系B.重复关系C.拷贝关系D.无关系73.对于拷贝构造函数point::point(point& P),下列说明正确的是(C)A.该函数只能访问P的私有成员B.该函数不能访问P的公有成员C.该函数可以访问P的私有和公有成员D.该函数不能访问P的成员74.使用delete[]删除对象数组时,描述正确的是(A)A.数组中各元素都调用析构函数B.数组中各元素都调用构造函数C.不调用析构函数D.只有首元素调用析构函数76.设类Test中存在成员static int x,则下列哪种初始化方式是正确的(C )A.Test::int x=25;B.int x=25;C.int Test::x=25;D.int Test x=25;77.下列关于友元的描述错误的是(A)A.成员函数不可作友元B.类可以作友元C.普通函数可以作友元D.静态函数可以作友元78.在继承中,派生类拥有的基类个数为(D)A.0个B.1个C.多个D.至少1个79.基类中的protected成员,通过public派生,其在派生类中的可见性为(C)A.不可访问B.privateC.protectedD.public80.下列哪个不是面向对象的关键要素(B)A.抽象性B.结构性C.封装性D.多态性81.C++中注释“∥”的有效范围是(A)A.从“∥”开始到行尾B.从“∥”开始到下一个“∥”C.“∥”及其后一个字符D.从“∥”开始到程序尾82.假定MyClass为一个类,则该类的复制构造函数的声明语句为(C)A.MyClass&(MyClass x);B.MyClass(MyClass x);C.MyClass(MyClass &x);D.MyClass(MyClass *x);83.下列选项不是C++关键字的是(D)A.typedefB.voidC.boolD.inc84.用于标识十进制常量的前缀或后缀是(A)A.无前后缀B.后缀L或lC.前缀0D.前缀0x85.设int x=56;int r=x;若cout <<&x;显示0012FF7A,则cout <<&r;输出值为(D )A.56B.00l2FF7AC.0012FF7BD.未知86.使用下列哪个流格式控制符可设置转换基数为八进制(B)A.decB.octC.hexD.endl87.C++中是否允许在类结构中定义函数(B )A.不允许B.允许C.仅允许定义构造函数D.只不允许定义构造函数88.设函数void subone(int &)将形参减1,如有整型变量int k=10,则执行subone(k);后,k的值为(A)A.9B.10C.11D.未知89.对函数int max(int a,int b=0,int c=0,int d=0,int e=0);下列调用方式正确的是(A )A.int m=max(10,11,12,13,14);B.int m=max(10,,12,13,14);C.int m=max(10,1l,,13,14);D.int m=max(10,11,12,,14);90.类MyClass的定义如下:class MyClass{public:MyClass(){}MyClass(int i){value=new int(i);}int * value;};若要对value赋值,则下面语句正确的是(D)A.MyClass my;my.value=10;B.MyClass my;*my.value=10;C.MyClass my;my.*value=10;D.MyClass my(10);91.包含哪种语句的函数不能声明为内联函数(D)A.变量定义B.if……elseC.位操作D.switch93.对于类中的成员,使用public修饰,表明该成员的访问权限是(A)A.公有的B.私有的C.保护的D.不可见的94.一个类中是否可以允许一个无参数构造函数和一个全部都是默认参数的构造函数共存(A )A.不允许B.允许C.无法确定D.视构造函数的函数,可确定95.析构函数的参数个数为(A)A.0个B.1个C.至少1个D.多于1个96.非静态成员函数都会有一个隐含指针,它是( B )A.self指针B.this指针C.current指针D.one指针97.下列访问公有静态成员的方式,错误的是(D)A.类名::静态成员名B.对象名.静态成员名C.对象指针->静态成员名D.对象指针.静态成员名98.声明友元使用下列哪个关键字(C)A.class B.constC.friend D.virtual99.派生类继承了基类的(A)A.所有成员 B.部分成员C.数据成员 D.成员函数100.基类private成员,通过public派生,其在派生类中为(D)A.private B.protectedC.public D.不可访问101.在哪种派生方式中,派生类可以访问基类中的protected成员( B )A.public和privateB.public和protectedC.protected和privateD.仅protected102.在定义结构时,为产生封装性,则需使用哪个关键字数据成员? ( D )A.public B.publish C.protected D.private103.下列有关重载函数的说法中正确的是 ( C )A.重载函数必须具有不同的返回值类型 B.重载函数参数个数必须相同C.重载函数必须有不同的形参列表 D.重载函数名可以不同104.类中能访问静态成员的函数是( B )A.虚函数 B.静态成员函数 C. 构造函数 D.析构函数105.如没有使用关键字定义类的数据成员,则默认为( A )A.privateB.publicC.protectedD.friend106.使用值传递方式将实参传给形参,下列说法正确的是( A )A.形参是实参的备份B.实参是形参的备份C.形参和实参是同一对象D.形参和实参无联系107.在函数调用时,如某一默认参数要指明一个特定值,则有( A )A.其之前所有参数都必须赋值B.其之后所有参数都必须赋值C.其前、后所有参数都必须赋值D.其前、后所有参数都不必赋值108.设存在函数int max(int,int)返回两参数中较大值,若求22,59,70三者中最大值,下列表达式不正确的是( C )A.int m=max(22,max(59,70));B.int m=max(max(22,59),70);C.int m=max(22,59,70);D.int m=max(59,max(22,70));109.下列哪个类型函数不适合声明为内联函数( A )A.函数体语句较多B.函数体语句较少C.函数执行时间较短D.函数执行时间过长110.int Func(int,int);不可与下列哪个函数构成重载( B )A.int Func(int,int,int);B.double Func(int,int);C.double Func(double,double);D.double Func(int,double);111.下列说明语句中正确的是( D )A.int a,&ra=a,&&ref=ra; B.int&refa[10];C.int a,&ra=a,&*refp=&ra; D.int*pi,*&pref=pi;112.类的私有成员可在何处访问( D )A.通过子类的对象访问B.本类及子类的成员函数中C.通过该类对象访问D.本类的成员函数中113.如果没有为一个类定义任何构造函数的情况下,下列描述正确的是( A )A.编译器总是自动创建一个不带参数的构造函数B.这个类没有构造函数C.这个类不需要构造函数D.该类不能通过编译114.一个类可包含析构函数的个数是( B )A.0个B.1个C.至少一个D.0个或多个115.拷贝构造函数的参数是 ( C )A.某个对象名 B.某个对象的成员名C.某个对象的引用名 D.某个对象的指针名116.下列关于类的权限的描述错误的是( A )A.类本身的成员函数只能访问自身的私有成员B.类的对象只能访问该类的公有成员C.普通函数不能直接访问类的公有成员,必须通过对象访问D.一个类可以将另一个类的对象作为成员117.在编译指令中,宏定义使用哪个指令( B )A.#includeB.#defineC.#ifD.#else118.设类A将其它类对象作为成员,则建立A类对象时,下列描述正确的是( B )A.A类构造函数先执行B.成员构造函数先执行C.两者并行执行D.不能确定119.下列描述错误的是( A )A.在创建对象前,静态成员不存在B.静态成员是类的成员C.静态成员不能是虚函数D.静态成员函数不能直接访问非静态成员120.使用new Point(5,7)创建对象,调用的是下列哪个构造函数? ( B )A.Point::Point()B.Point::Point(int,int)C.Point::Creat()D.Point::Creat(int,int)121.C++中注释“/*”的有效范围是 ( D )A.从“/*”开始到行尾B.从“/*”开始后不终止C.从“/*”开始到“//”为止D.从“/*”开始到“*/”为止122.如想使用std命名空间,正确的程序语句是( D )ing std;space std;ing namespace;ing namespace std;123.下列选项中不是C++关键字的是( D )A.boolB.intC.floatD.vat124.用于标识长整型常量的前缀或后缀是( B )A.无前后缀B.后缀L或lC.前缀零D.前缀0x125.对于new类型名[size]描述正确的是( C )A.申请可以存储size个字节的空间B.申请可以存储1个该数据类型的空间C.申请可以存储size个该数据类型对象的空间D.申请可以存储1个字节的空间126.使用下列哪个流格式控制符可以设置转换基数为十六进制( C )A.decB.octC.hexD.endl127.构造函数用于( B )A.定义对象B.初始化对象C.清除对象D.普通计算128.设函数void swap(int,int)将交换两形参数值,如有两整型变量int a=10;int b=15,则执行swap(a,b);之后,a,b值分别为 ( C )A.15,10B.15,15C.10,15D.10,10129.设函数void subone(int)将形参值减1,如有整形变量int b=10;则执行subone(b)后,b的值为( B )A.9B.10C.11D.未知130.C++中函数返回值类型不可以是( D )A.引用B.指针C.结构D.数组131.声明函数int Func(int a =0,int b=3,int c=4)相当于声明了几个函数形式 ( D ) A.1 B.2 C.3 D.4133.对于类中的成员,使用private修饰,表明该成员的访问权限是 ( B )A.公有的B.私有的C.保护的D.不可见的134.使用new创建的对象,对其生命周期描述正确的是 ( B )A.由系统决定B.由用户控制C.全局生命周期D.永久存在135.析构函数被调用的时间点是 ( B )A.对象被创建时B.对象被销毁时C.不会被调用D.主函数被调用时136.对象成员的构造函数调用顺序取决于 ( B )A.对象成员在初始化列表中给出的顺序B.对象成员在类中声明的顺序C.对象成员与在初始化列表中顺序和类中声明顺序均有关D.随机顺序137.下列对静态成员函数描述正确的是 ( B )A.静态成员函数中可使用1个this指针B.静态成员函数中不能使用this指针C.静态成员函数中可使用多个this指针D.静态成员函数中只可使用1个that指针138.友元的声明可出现在 ( D )A.类的私有部分B.类的公有部分C.类的保护部分D.类的任何部分141.如声明对象数组,则下列描述正确的是 ( A )A.对每个元素均调用一次构造函数B.部分元素调用构造函数,其它元素不需调用C.均不需要调用构造函数D.只是首元素调用构造函数142.不同对象调用同一成员函数时,this指针指向 ( A )A.不同对象B.相同对象C.无对象D.不确定143.设存在函数int max(int,int)返回两参数中较大值,若求22,59,70三者中最大值,下列表达式正确的是 ( D )A.int m=max(22,max(59,70));B.int m=max(max(22,59),max(59,70));C.int m=max(max(22,70),59);D.以上皆正确144.一个类可拥有多少个构造函数 ( C )A.0个B.1个C.1或多个D.以上皆对145.在编译指令中,嵌入指令是指 ( A )A.#includeB.#defineC.#ifD.#else147.下列哪个要素不是面向对象的关键要素 ( A )A.模块化B.抽象性C.封装性D.继承性148.下列对于类的描述错误的是 ( C )A.类要先声明后使用B.类是具有唯一标识的实体C.两个类可以使用同一个名称D.组成类的不仅有数据,还可以有对数据进行操作的函数149.使用引用调用方式将实参传给形参,下列说法正确的是 ( C )A.形参是实参的备份B.实参是形参的备份C.形参和实参共享同一对象D.形参和实参无联系150.关于对象的性质,下列描述错误的是 ( B )A.同一类对象之间可相互赋值B.不能使用对象数组C.对象可以用作函数参数D.一个对象可以用作另一个类的成员151.类的私有成员可在哪里被赋值 ( B )A.类体中B.该类的成员函数中C.A和BD.以上都不是153.用于标识八进制常量的前缀或后缀是 ( C )A.无B.后缀L或1C.前缀零D.前缀Ox154.派生类中继承的基类成员初始化如何进行 ( A )A.由派生类构造函数调用基类的构造函数进行B.由派生类构造函数进行C.由基类构造函数进行,无需派生类构造函数调用D.以上皆不正确155.对于多重继承,下列描述正确的是 ( B )A.所有基类使用相同的派生方式B.每个基类可使用不同派生方式C.只能是public派生D.只能是protected派生156.下列关于类的权限描述错误的是 ( B )A.类本身的成员函数可以访问自身的任何成员B.类的对象可以访问该类的所有成员C.普通函数不能直接访问类的公有成员,必须通过成员函数对其访问D.一个类可以将另一个类的对象作为成员157.运算符delete与哪个函数一起运行 ( B )A.构造函数B.析构函数C.主函数D.不与任何函数一起工作158.一个类可以获得另一个类的特性的机制称为 ( C )A.抽象B.封装C.继承D.多态性159.使用下列哪个格式控制符可设置转换十六进制为十进制 ( A )A.decB.octC.hexD.endl160.对引用调用描述正确的是 ( D )A.分配新存储空间B.修改已存储空间的名称为引用名C.引用名与已存在存储空间无任何关联D.将引用名标识符与一块已存在存储区域相关联,没有分配新存储空间161.使用下列哪一限定符可强制改变访问方式 ( A )A.constB.shortC.1ongD.signed163.运算符::叫做 ( D )A.下标运算符B.自增运算符C.成员访问运算符D.作用域运算符164.如果为一个类定义了自己的构造函数,下列描述正确的是 ( C )A.系统不再提供默认构造函数,但提供其他构造函数B.系统提供其他非默认构造函数C.系统不再提供默认构造函数D.系统仍提供默认构造函数165.对于类中的成员,使用protected修饰,表明该成员的访问权限是 ( C ) A.公有的 B.私有的C.保护的D.不可见的166.类不是内存中的物理实体,只有当使用类产生对象时,才进行内存分配,这种对象建立的过程称为 ( D )A.程序化B.结构化C.过程化D.实例化167.下列关于类的权限描述错误的是 ( D )A.类本身的成员函数可以访问自己定义的任何成员B.类的对象只能访问公有成员C.普通函数只能通过对象访问类的公有成员D.一个类不能包含另一个类的对象作为成员168.在派生中,访问控制方式没有下列哪种 ( A )A.publishB.publicC.protectedD.private169.采用重载函数的目的是 ( D )A.实现共享B.减少空间C.提高速度D.使用方便,提高可读性170.设类A中包含若干其他类的对象作为成员,则在定义类A的构造函数时,应使用下列哪个符号将A::A(参数表)与成员初始化列表隔开 ( C )A.,B.;C.:D..172.函数int sum(int a=10,int b=15,int c=25);不可与下列哪个函数同时声明 ( B ) A.int sum(int,int,int,int) B.int sum(int,int,int)C.int sum(double)D.int sum(double,double,double);173.对函数int saveName(char * first,char * sec=" ",char * thd=" ")下列调用方法不正确的是 ( D )A.int s=saveName("1","2","3");B.int s=saveName("1","2");C.int s=saveName("1");D.int s=saveName("1",,"3");174.下列哪个不是函数重载需要满足的条件 ( A )A.返回值类型不同B.参数个数不同C.参数个数相同时,参数类型不同D.函数名相同175.关于对象性质,下列描述错误的是 ( A )A.同一类对象之间不可相互赋值B.可以使用对象数组C.对象可以用作函数参数D.一个对象可以用作另一个类的成员176.可用作C++语言用户标识符的一组标识符是 ( B )A.void,define,+WORDB.a3_b3,_123,YNC.for,-abc,CaseD.2a,DO,sizeof177.设函数int& index(int a[],int i)返回数组a中下标为i的元素,如果在整型数组int array[]={1,2,3},在执行index(array,1)+=3后,array中各元素值为 ( B ) A.{4,2,3} B.{1,5,3}C.{1,2,6}D.{4,5,6}178.对指针动态分配空间用的关键字是 ( C )A.defineB.intC.newD.float179.一个函数功能不太复杂,但要求被频繁调用,应选用 ( A )A.内联函数B.重载函数C.递归函数D.嵌套函数180.在int a=3,*p=&a;中,*p的值是 ( D )A.变量a的地址值B.无意义C.变量p的地址值D.3181. 在编译指令中,宏定义使用的指令是 ( B )A.#include B.#define C.#if D.#else182.基类中的protected成员,通过哪种派生,其在派生类中的可见性为protected? (B) A.public和private B.public和protectedC.protected和private D.仅protected183.声明函数为内联使用的关键字为 ( B )A.const B.inline C.short D.signed184.设类A中有静态数据成员x,两个A类对象a和b,若a.x=10,则b.x的值为 (B) A.9 B.10 C.1l D.不能确定185.C ++允许在结构中定义函数,这些函数称为 ( D )A.静态函数 B.构造函数 C.析构函数D.成员函数186.下列哪种类型的函数适合声明为内联函数? ( D )A.函数体语句较多 B.函数体逻辑较复杂C.函数执行时间较长D.函数语句较少,执行速度要求高187.析构函数的返回值类型为 ( D )A.void B.bool C.int D.无类型188.C++中函数中的return指令可以 ( B )A.只能有一条B.0或多条 C.至少有一条 D.只能主函数调用189.类声明的内容用花括号括起来,在花括号后跟哪个符号表示类声明结束 ( B )A.: B.; C., D..190.类中的protected成员在何处访问? ( C )A.只在类自身成员函数中 B.只在子类成员函数中C.类和子类的成员函数中 D.通过对象类外访问191.编写C++程序一般需经过的几个步骤依次是 ( D )A.编辑、调试、编译、连接 B.编译、调试、编辑、连接C.编译、编辑、连接、运行D.编辑、编译、连接、运行192.要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用( A ) A.内联函数 B.重载函数 C.内部函数 D.函数模板193.设x=8,执行语句y=x++,则y等于 ( D )A.6 B.7 C.9 D.8194.下列运算符中,优先级最高的是 ( B )A. * B.-> C.&& D.>=195.关于new运算符的下列描述中,错误的是( D )A.它可以用来动态创建对象和对象数组B.使用它创建的对象和对象数组可以使用运算符delete删除C.使用它创建对象时要调用构造函数D.使用它创建对象数组时必须指定初始值196.存储下列数据,占用存储字节最多的是( D )A. 0 B.‘0’ C.〝0〞 D.0.0197.关于类和对象不正确的说法是( C )A.类是一种类型,它封装了数据和操作 B.对象是类的实例C.一个类的对象只有一个 D.一个对象必属于某个类198.下列有关构造函数的描述中,正确的是( B )A.构造函数可以带有返回值B.构造函数的名字与类名完全相同C.构造函数必须带有参数 D.构造函数必须定义,不能缺省199.假定a为一个整型数组名,则元素a[4]的字节地址为( A )A. a+4 B.a+8 C.a+16 D.a+32200.对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是 ( D )A.公有类型 B.私有类型C.保护类型 D.友元类型201.下列不属于C++关键字的是 ( C )A.externB.gotoC.freeD.default202.C++中定义标准输入的库为 ( C )A.stdioB.mathC.istreamD.stdlib203.My是一个类,则执行语句My a[3],*b[2];之后,自动调用构造函数次数为 ( B ) A.2 B.3 C.4 D.5205.下列说法中,有关构造函数是正确的是 ( A )A.任何一类必定有构造函数B.可定义没有构造函数的类C.构造函数不能重载 D. 任何一类必定有缺省的构造函数206.下面关于类和对象说法不正确是 ( D )A.类由数据与函数组成 B.一个对象必属于某个类C.对象是类的实例 D.一个类的对象只有一个207.下面选项中不是类成员函数的是 ( C )A.构造函数 B.析构函数C.友元函数 D.静态函数208.在C++中类之间的继承关系具有 ( C )A.自反性 B.对称性C.传递性 D.反对称性209.当一个类的某个函数被说明为virtual时,在该类的所有派生类中的同原型函数( A )A.都是虚函数B.只有被重新说明时才是虚函数C.都不是虚函数D.只有被重新说明为virtual时才是虚函数210.C++中要实现动态联编,调用虚函数时必须使用 ( C )A.基类指针B.类名C.派生类指针D.对象名211.在类中使用static关键字修饰的成员函数称为 ( C )A.全局成员函数 B.公有成员函数C.静态成员函数 D.非静态成员函数212.在下面的二维数组定义正确的是 ( B )A.int ary[5][];B.int ary[][5]={{0,1,2}};C.int ary[][5];D.int ary[5,5];。
