全国2002年10月高等教育自学考试C++程序设计试题
全国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。
C语言程序设计试题及答案
《C语言程序设计》(卷)考核班级学生数印数考核方式闭卷考核时间120 分钟(本试卷包括第一卷和第二卷,答卷时间总共120分钟)第一卷第一部分:基础知识(20项,共40分)1.一个C语言程序是由()组成的。
A.主程序B.子程序C.函数D.过程2.转换说明符%x的输出形式是()。
A.十进制B.八进制C.十六进制D.二进制3.若a、b均为int型变量,且a=100,则关于循环语句for(b=100;a!=b;++a,++b) printf ( “------------“) ;的正确说法是()。
A.循环体只执行一次B.死循环C.循环体一次也不执行D.输出-----------4.若x、y、z均为int 型变量,则执行下列语句后的z值为()。
x=1; y=2; z=3; z=(x>y)?z :y ; z = (z<y)?z:x;A.1 B.4 C.2 D.35.下面标识符中,合法的用户标识符为()。
A.P#Ad B.12a C.char D._int6.‘A’+ 3 的结果是()。
A.’A’B.’D’的ASCⅡ码C.65 D.37.语句char str[20];说明str是一个字符串,最多能表示()。
A.20个字符B.19个字符C.18个字符D.21个字符8.将int 型变量n转换成float型变量的方法是()。
A.float n B.(float)n C.float(n) D.21个字符9.以下不正确的描述是()。
A.使用while和do-while循环时,循环变量初始化的操作应在循环语句之前完成B.while循环是先判断表达式后执行循环体语句C.do-while和for循环均是先执行循环体语句,后判断表达式D.for、while、do-while循环中的循环体均可以由空语句构成10.在循环中使用break 语句的功能是()。
A.使程序的执行跳出break所在的那一重循环B.使程序执行结束C.跳出包含此break语句的所有循环D.终止本次循环,继续下次循环11.下面是一个初始化指针的语句:int *px = &a;其中指针变量的名字应该是()。
全国2010年10月高等教育自学考试C++程序设计试题及参考答案
全国2010年10月高等教育自学考试C++程序设计试题课程代码:04737一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.C++中注释“∥”的有效范围是( A )A.从“∥”开始到行尾B.从“∥”开始到下一个“∥”C.“∥”及其后一个字符D.从“∥”开始到程序尾2.假定MyClass为一个类,则该类的复制构造函数的声明语句为( C )A.MyClass&(MyClass x);B.MyClass(MyClass x);C.MyClass(MyClass &x);D.MyClass(MyClass *x);3.下列选项不是C++关键字的是()A.typedefB.voidC.boolD.inc4.用于标识十进制常量的前缀或后缀是()A.无前后缀B.后缀L或lC.前缀0D.前缀0x5.设int x=56;int r=x;若cout <<&x;显示0012FF7A,则cout <<&r;输出值为()A.56B.00l2FF7AC.0012FF7BD.未知6.使用下列哪个流格式控制符可设置转换基数为八进制()A.decB.octC.hexD.endl7.C++中是否允许在类结构中定义函数()A.不允许B.允许C.仅允许定义构造函数D.只不允许定义构造函数8.设函数void subone(int &)将形参减1,如有整型变量int k=10,则执行subone(k);后,k的值为()A.9B.10C.11D.未知9.对函数int max(int a,int b=0,int c=0,int d=0,int e=0);下列调用方式正确的是()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);10.类MyClass的定义如下:class MyClass{public:MyClass(){}MyClass(int i){value=new int(i);}int * value;};若要对value赋值,则下面语句正确的是()A.MyClass my;my.value=10;B.MyClass my;*my.value=10;C.MyClass my;my.*value=10;D.MyClass my(10);11.包含哪种语句的函数不能声明为内联函数()A.变量定义B.if……elseC.位操作D.switch12.声明函数模板的关键字是()A.inlineB.templateC.constD.short13.对于类中的成员,使用public修饰,表明该成员的访问权限是()A.公有的B.私有的C.保护的D.不可见的14.一个类中是否可以允许一个无参数构造函数和一个全部都是默认参数的构造函数共存()A.不允许B.允许C.无法确定D.视构造函数的函数,可确定15.析构函数的参数个数为()A.0个B.1个C.至少1个D.多于1个16.非静态成员函数都会有一个隐含指针,它是()A.self指针B.this指针C.current指针D.one指针17.下列访问公有静态成员的方式,错误的是()A.类名::静态成员名B.对象名.静态成员名C.对象指针->静态成员名D.对象指针.静态成员名18.声明友元使用下列哪个关键字()A.class B.constC.friend D.virtual19.派生类继承了基类的()A.所有成员B.部分成员C.数据成员D.成员函数20.基类private成员,通过public派生,其在派生类中为()A.private B.protectedC.public D.不可访问二、填空题(本大题共20小题,每小题1分,共20分)请在每小题的空格中填上正确答案。
全国2007年10月高等教育自学考试C++程序设计试题
2007年10月自考面向对象程序设计试题一、单项选择题(本大题共10小题,每小题2分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.以下说法中正确的是( B )A.C++程序总是从第一个定义的函数开始执行B.C++程序总是从main函数开始执行C.C++函数必须有返回值,否则不能使用函数D.C++程序中有调用关系的所有函数必须放在同一个程序文件中2.以下关于函数模板叙述正确的是( C )A.函数模板也是一个具体类型的函数B.函数模板的类型参数与函数的参数是同一个概念C.通过使用不同的类型参数,函数模板可以生成不同类型的函数D.用函数模板定义的函数没有类型3.在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是( B )A.作为友元函数重载的1元运算符B.作为成员函数重载的1元运算符C.作为友元函数重载的2元运算符D.作为成员函数重载的2元运算符4.构造函数不具备的特征是( D )A.构造函数的函数名与类名相同B.构造函数可以重载C.构造函数可以设置默认参数D.构造函数必须指定类型说明5.在C++中,封装是借助什么达到的( C )A.结构B.数组C.类D.函数6.在哪种情况下适宜采用inline 定义内联函数?( C )A.函数体含有循环语句B.函数体含有递归语句C.函数代码少、频繁调用D.函数代码多、不常调用7.在关键字public后面定义的成员为类的( B )A.私有成员B.公用成员C.保护成员D.任何成员8. 以下哪个基类中的成员函数表示纯虚函数?( A )A.virtual void tt()=0B.void tt(int) = 0C.virtual void tt(int)D.virtual void tt(int){}9.假定AA是一个类,“AA* abc()const;”是该类中一个成员函数的原型,若该函数返回this 值,当用x.abc()调用该成员函数后,x的值( C )A.已经被改变B.可能被改变C.不变D.受到函数调用的影响10.C++ 对C 语言作了很多改进,即从面向过程变成为面向对象的主要原因是( D )A.增加了一些新的运算符B.允许函数重载,并允许设置缺省参数C.规定函数说明符必须用原型D.引进了类和对象的概念请在每小题的空格中填上正确答案。
全国2002年10月自考软件开发工具试题及答案
全国2002年10月高等教育自学考试软件开发工具试题课程代码:03173第一部分选择题一、单项选择题(本大题共10小题,每小题1分,共10分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。
1.下列陈述中,正确的是( )A.软件开发工具包括第三代语言B.软件开发工具是指代码生成器C.操作系统是一种软件开发工具D.软件开发工具是帮助人们开发软件的软件2.软件工具中出现得最早、数量最大的一类是()A.设计工具B.分析工具C.计划工具D.集成化工具3.近来对质量好的软件评判标准有()A.运行越快越好B.程序越短越好C.占用内存越少越好D.用户界面友好4.项目管理的核心是()A.进度B.质量C.费用D.资源利用5.多媒体技术不具有以下哪一特征()A.集成性B.交互性C.模拟性D.实时性6.建模工具不必满足()A.正确性B.可视化C.便于交流D.一致性7.在软件开发工具的一般结构中,处于中心位置的是()A.总控部分和人机界面B.信息库及其管理C.代码生成与文档管理D.项目管理和版本管理8.目前中外软件工具发展水平为:()A.从研究水平看,外国与中国相当,从应用水平看,外国与中国相当B.从研究水平看,外国比中国高,从应用水平看,外国比中国低C.从研究水平看,外国比中国高,从应用水平看,外国比中国高D.从研究水平看,外国与中国相当,从应用水平看,外国比中国高9.项目管理的特点不包括()A.子任务多,关系复杂B.任务可重复,变更不大C.协调组织任务突出D.信息处理工作的作用和意义突出10.XML的标记()A.机器不可读,人可读B.机器不可读,人不可读C.机器可读,人可读D.机器可读,人不可读二、多项选择题(本大题共10小题,每小题2分,共20分)在每小题列出的五个选项中有二至五个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。
多选、少选、错选均无分。
11.软件开发工具的性能指标有( )A.表达能力B.保持信息一致的能力C.使用的方便程度D.运行速度E.对硬件及软件环境的要求12.为了解决“软件危机”问题,人们提出的方法有:()A.结构化程序设计B.软件工程C.面向对象程序设计D.即插即用的程序设计E.软件开发工具13.软件开发工具对开发者提供的帮助有()A.规划B.分析C.设计D.成文E.防病毒14.程序员作为项目组的成员应做到()A.发挥自己的技巧,巧妙地使用机器内部命令提高程序的效率B.按统一的原则命名标识符C.对所有项目的领域,都有较深入的理解D.严格按总体设计的要求和理解去传递参数值E.遵守统一的文档编写风格15.在CMM模型中一个好的项目组应具备()A.有严格的成文的工作规范和文档标准B.每个项目都有事先制定的详细时间表C.项目负责人应参加编程工作D.程序员参加测试工作E.文档标准只须专门负责文档收集管理的秘书熟知16.软件开发过程中所涉及的信息包括()A. 设计方案B.变更要求C.需求信息D.程序员信息E.代码,文档17.Model works支持()A.组件化B.多亲继承C.生成VB目标代码D.编辑Business RulesE.可视化18.信息库中需要存放的信息类有:()A.系统状况信息B.设计成果C.运行状况记录D.项目管理与版本管理信息E.系统测试用例19.从目前的软件开发工具发展趋势看,值得注意的动向有()A.智能化 B.网络化C.通用化D.一体化E.标准化20.管理数据字典的工具有()A.CDDB.FLOWC.AD/CycleD.DictionaryE.PVCS第二部分非选择题三、填空题(本大题共14小题,每空1分,共20分)21222324252627.软件开发工具对软件开发的支持体现在信息的管理和处理两方面。
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分)请在答题卡上作答。
2002年10月高等教育自学考试数据库及其应用试题历年试卷
做试题,没答案?上自考365,网校名师为你详细解答!全国2002年10月高等教育自学考试数据库及其应用试题课程代码:02120一、单项选择题(在每小题的四个备选答案中选出一个正确答案,并将其号码填在题干的括号内。
每小题2分,共40分)1.英文缩写DBA代表( )A.数据库管理员B.数据库管理系统C.数据定义语言D.数据操纵语言2.若在实体R的诸属性中,属性A不是R的主键,却是另一个实体S的主键,则称A为R的( )A.候选键B.外部键C.非主属性D.主属性3.数据库系统与文件系统本质的不同表现在( )A.数据库中的数据是按一定的数据结构组织的B.数据库中的数据项需指明数据类型和取值范围C.数据库提供了便利的存取方法D.数据库具有更高的数据存储量4.设一位教师可讲授多门课程,一门课程可由多位教师讲授,教师与课程之间是( )A.一对一的联系B.一对多的联系C.多对一的联系D.多对多的联系5.关系数据库标准语言具有一体化的特点,该特点的提出主要是对比( )A.操作系统命令B.非关系模型的数据操纵语言C.高级程序设计语言D.自然语言6.在下述局部E-R图中,标出*号的图形元素是( )A.实体B.实体的属性C.联系D.联系的属性7.计算表达式“-3+5<3.OR.2^2%3>1”的值时,运算顺序为( )A.+ - ^ % < > .OR.B.- ^ % + < > .OR.C.- + ^ % < > .OR.D.- % ^ + < > .OR.8.执行语句“?”{99/05/01}-{99/06/01}”后,输出结果为( )A.30B.-31C.31D.-309.下列标识符中不.是FoxPro函数的是( )A.SQRTB.LOGC.EXPD.LIST10.在下列语句中,错误的语句是( )A.STORE 2*3 TO a,bB.a=2*3C.STORE 2*3, 2+3 TO a,bD.SA VE SCREEN TO c11.函数调用SUBSTR(″daughter″,4)的结果是( )A.ghterB.ghteC.hterD.空串12.执行语句“? STUFF(″MS Windows OS″,4,8,″D″)”后,输出结果为( )A.MSDOSB.MS DOSC.MS D OSD.MSD OS13.对两个数据库文件进行连接操作,在工作区2、3中分别打开这两个数据库文件。
全国2013年10月高等教育自学考试C++程序设计试题
绝密★考试结束前全国2 0 1 3年1 0月高等教育自学考试C++程序设计试题课程代码:04737请考生按规定用笔将所有试题的答案涂、写在答题纸上。
选择题部分注意事项:1.答题前,考生务必将自己的考试课程名称、姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上。
2.每小题选出答案后,用2B铅笔把答题纸上对应题目的答案标号涂黑。
如需改动,用橡皮擦干净后,再选涂其他答案标号。
不能答在试题卷上。
一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸”的相应代码涂黑。
错涂、多涂或未涂均无分。
1.下列不属于C++关键字的是A. externB.gotoC.freeD.default2.C++中定义标准输入的库为A.stdioB.mathC.istreamD.stdlib3.My是一个类,则执行语句My a[3],*[2];之后,自动调用构造函数次数为A.2 B.3 C.4 D.54.下列语句错误的是A. int val( 20);B.extern int val( 20);C. const int val;D.extern const int val;5.下列说法中,有关构造函数是正确的是A.任何一类必定有构造函数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.名称不限,可为多个C.名称为main,必须有且只能有—个 D.名称不限,必须有且只能有—个15.下面声明纯虚函数语句正确的是A. void fun( ) =0;B.virtual void fun( )=0;C. virtual voicl 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.克隆非选择题部分注意事项:用黑色字迹的签字笔或钢笔将答案写在答题纸上,不能答在试题卷上。
04737C程序设计2022年10月份历年真题-答案-图文
04737C程序设计2022年10月份历年真题-答案-图文2022年10月高等教育自学考试全国统一命题考试C++程序设计试卷(课程代码04737)本试卷共l0页,满分l00分,考试时间l50分钟。
考生答题注意事项:1.本卷所有试题必须在答题卡上作答。
答在试卷上无效,试卷空白处和背面均可作草稿纸。
2.第一部分为选择题。
必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑。
3.第二部分为非选择题。
必须注明大、小题号,使用0.5毫米黑色字迹签字笔作答。
4.合理安排答题空间,超出答题区域无效。
第一部分选择题(共20分)一、单项选择题(本大题共20小题,每小题l分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题卡”的相应代码涂黑。
错涂、多涂或未涂均无分。
1.一个函数的功能不太复杂,但要求被频繁调用,选用最适合的是A.内联函数B.重载函数C.递归函数D.嵌套函数2.假定有类AB,有相应的构造函数定义,能正确执行″ABa(4),b(5),c[3],某p[2]={&a,&b};”语句,请问执行完此语句后共调用该类析构函数的次数为A.14B.5C.3D.13.在下面有关析构函数特征的描述中,正确的是A.一个类中可以定义多个析构函数B.析构函数名与类名完全相同C.析构函数不能指定返回类型D.析构函数可以有一个或多个参数4.派生类的对象对它的哪一类基类成员是可以访问的A.公有继承的基类的公有成员B.公有继承的基类的保护成员C.公有继承的基类的私有成员D.保护继承的基类的公有成员5.如果A是抽象类,刚下面正确的是A.A中没有纯虚函数B.Aa;C.Aa[3];D.A某pa;6.下列关于纯虚函数与抽象类的描述中,错误的是A.纯虚函数是一种特殊的函数,它允许没有具体的实现B.抽象类是指具有纯虚函数的类c.一个基类的说疆中有纯虚函数,该基类的派生类一定不再是抽象类D.抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出7.cout是C++的A.关键字B.对象C.类D.运算符8.下列哪个函数不是类的成员函数A.构造函数B.析构函数C.友元函数D.拷贝构造函数9.下列有关重载函数的说法中错误的是A.重载函数必须具有不同的返回值类型B.重载函数名必须相同C.重载丞数参数个数可以不同D.重载函数必须有不同的形参列表10.下面说法正确的是A.生成对象时调用析构函数B.定义类时必须写出该类的构造函数C.调用构造函数时必须在主函数中明确写出调用格式D.析构函数不可以重载11.在编译指令中,宏定义使用指令A.#defineB.#includeC.#typedefD.#friend12.假设声明了以下的西数模板,错误的调用语句是13.若有说明:intn=2,某P=&n,某q=p;,则以下非法的赋值语句是A.n=某qB.P=nC.P=qD.某q=某P14.进行文件操作时需要包含头文件A.iotreamB.ftreamC.tdioD.tdlib15.类模板templatecla({};,其中友元函数f对特定类型T(如int),使函数f(某&)成为某模板类的友元,则其说明应为A.friendvoid“);B.friendvoidf(某&);C.friendvoidA::f();D.friendvoidC(T);16.动态编联所支持的多态性称为运行时的多态性,支持的函数是A.构造函数B.友元函数C.继承D.虚函数17.用运算符delete删除—个动态对象时A.首先为该动态对象调用构造函数,再释放其占用的内存B.首先释放该动态对象占用的内存,再为其调用构造函数C.首先为该动态对象调用析构函数,荐释放其占用的内存D.首先释放该动态对象占用的内存,再为其调用析构函数18.下列字符常量的写法中,错误的是A.′\t′B.′b′C.′某′D.′a′19.C++类体系中,不能被派生类继承的有A.静态数据成员B.构造函数C.康函数D.静态成员函数20.下列对派生类的描述中,错误的是A.派生类至少应有一个基类B.派生类的成员除了自己定义的成员外,还包含了它的基类成员C.基类中成员访闽权限继承到派生类中都保持不变D.一个派生类可以作为另一个派生类的基类第二部分非选择题(共80分)二、填空题(本大题共20小题。
2002年C++程序设计试题
一、选择题(共40分,每个选择题2分)1.下面四个选项中,均是不合法的用户标识符的选项是。
A)_LargeRoom, P_0, do B)float, ok, _new, _asmC)-0123, temp, INT D)足_球,VC-L, goto, int2.假定有以下变量定义:int k=8,x=21;则能使x的值为5的表达式是。
A) x%=(k%=5)B)x%=(k-k%5)C)(x%=k)-(k%=5) D)x%=k-k%53.以下程序的输出结果是。
#include <iostream.h>void main(){ int a=12,b=12;cout<<a++<<' '<<b--<<endl; }A)10 10 B)12 12C)11 10D)11 134.已知函数的原型说明为int f( int &, char *); 另有变量说明如下:char str[100]; int k; 如要调用以上函数,那么正确的函数调用形式为。
A) f(str,&k); B) f(str[100], k);C) f(k,str); D) f(str,&k);5.设整型变量a表示天不下雨,整型变量b表示无任何会议通知,语句c表示我去图书官;则“如果天不下雨并且无任何会议通知我去图书官”正确表示的C++语句为。
A)if (a|b) {c;} B) if (a &&b) {c;}C) if (a||b) {c;} D) if (a<b) {c;}6.为了避免嵌套的块语句的二义性,C++语言规定“}”与配对。
A)编辑时在同一列上的“{ ”B)其之前最近的还没有配对过的“}”C)其之后最近的“{”D)其之前最近的还没有配对过的“{”7.设有:int a=1, b=2, c=3, d=4,m=2, n=3;执行(m=a<b) || (n=c>d) 后n 的值为。
自考C 试题及答案(6套合集)要点
2009年全国自考C++程序设计模拟试卷(一)一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1. 编写C++程序一般需经过的几个步骤依次是()A. 编辑、调试、编译、连接B. 编辑、编译、连接、运行C. 编译、调试、编辑、连接D. 编译、编辑、连接、运行答案:B解析:(P21)经过编辑、编译、连接和运行四个步骤。
编辑是将C++源程序输入计算机的过程,保存文件名为cpp。
编译是使用系统提供的编译器将源程序cpp生成机器语言的过程,目标文件为obj,由于没有得到系统分配的绝对地址,还不能直接运行。
连接是将目标文件obj转换为可执行程序的过程,结果为exe。
运行是执行exe,在屏幕上显示结果的过程。
2. 决定C++语言中函数的返回值类型的是()A. return语句中的表达式类型B. 调用该函数时系统随机产生的类型C. 调用该函数时的主调用函数类型D. 在定义该函数时所指定的数据类型答案:D解析:(P51)函数的返回值类型由定义函数时的指定的数据类型决定的。
A项的表达式的值要转换成函数的定义时的返回类型。
3. 下面叙述不正确的是()A. 派生类一般都用公有派生B. 对基类成员的访问必须是无二义性的C. 赋值兼容规则也适用于多重继承的组合D. 基类的公有成员在派生类中仍然是公有的答案:D解析:(P136)继承方式有三种:公有、私有和保护。
多继承中,多个基类具有同名成员,在它们的子类中访问这些成员,就产生了二义性,但进行访问时,不能存在二义性。
赋值兼容规则是指派生类对象可以当作基类对象使用,只要存在继承关系,所以单继承或多继承都适用。
基类中的公有成员采用私有继承时,在派生类中变成了私有成员,所以D项错误。
4. 所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是()A. 类B. 对象C. 函数体D. 数据块答案:A解析:(P39)类即数据和操作的组合体,数据是类的静态特征,操作是类具有的动作。
全国2002年10月高等教育自学考试
全国2002年10月高等教育自学考试计算机原理试题课程代码:02384第一部分 选择题一、单项选择题(本大题共25小题,每小题1分,共25分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。
1.家用电脑是指( )A.家用电器B.家庭电影院C.家庭音响设备D.家用计算机2.目前市场上供应的“奔腾586”机的芯片集成了几百万只晶体管,主频达几亿次,硬盘容量达几千亿字节。
按规模分类,这是一种( )A.大型机B.中型机C.微型机D.小型机3.描述下面开关灯事件的一组正确表达式是( )。
(设灯亮L=1,灯灭L=0,开关合上为1,断开为0) A.B A L +=B.L=A ·BC.L=B A +D.L=AB4.使逻辑函数F=CD AB +=1的一组A ,B ,C ,D 变量值是( )AB C D A.01 0 1 B.11 0 1 C.00 1 1 D.1 1 1 15.下图所示的门电路输出为“1”,则电路输入正确的一组(A ,EN )值是( ) A ENA.0 0B.0 1C.1 0D.1 16.十进制小数转换成十六进制数可采用( )A.除基(10)取余法B.除基(16)取余法C.乘基(10)取整法D.乘基(16)取整法7.二进制数1001101B 的十进制数表示为( )A.4DHB.95DC.77DD.9AD8.在底数取16及尾数为二进制的浮点数中,为了保持数值不变,阶码加1,小数点要( )A.左移1位B.右移1位C.左移4位D.右移4位9.以下叙述错误的是()A.语言信号经过采样量化编码后输入计算机B.计算机播放语音信息时,把声音文件中的数字信号还原成模拟信号C.图像信息在输入计算机时需要经过抽样和量化过程D.图形信息是一种点阵信息10.两个不为0的五位二进制的定点小数,经补码加法运算后结果为1.00000,若此结果不表示溢出,则下列推论中正确的是()A.两个都为正定点小数,和为1.00000B.两个都为负定点小数,和为1.00000C.两个数符号相反,被加数比加数大1.00000D.两个数符号相反,被加数比加数小1.0000011.两个n位数(不包含符号位)按原码一位乘法运算,将最后一次加操作后加法器中的结果右移一位得到的是()A.乘积有效值的高n位B.乘积有效值的低n位C.乘积有效值的高n-1位D.乘积有效值的低n-1位12.用原码一位除法进行两定点数相除,在执行运算之前首先要进行的操作是()A.判商是否为正数 B.判商是否为负数C.判商是否为0D.判商是否溢出13.16位字长的计算机中,为了进行位寻址,位指针至少应有的位数是()A.4B.8C.16D.3214.大循环移位操作与小循环移位操作的主要差别在于大循环移位操作是()A.将累加器与数据寄存器连接起来一起移位B.将操作数与数据寄存器一起移位C.将操作数与状态寄存器中的进位C一起循环移位D.将操作数与左符号位一起循环移位15.执行A—B运算的指令后,可以用来判别A和B大小关系的是()A.零标志(Z)B.进位标志(C)C.溢出标志(V)D.负标志(N)16.间接访内指令STA@A(以主存A单元中的内容作为地址,将累加器的内容存入该主存单元)的指令周期包含CPU周期至少有()A.一个B.二个C.三个D.四个17.存储器进行两次连续、独立的操作(读或写)所需的时间间隔,通常称为()A.存储器的读写时间 B.存储器的存取速度C.存储器的平均无故障时间D.存储周期时间18.一个8K 8bitRAM芯片,如果不采用地址复用技术的话,该芯片的数据线(即位线)有()A.8根B.8K根C.13根D.14根19.评价存储器的主要性能指标之一是T A,而T A的意义是()A.存储器的存储容量B.存储器的存取时间C.存储器的平均无故障时间D.存储器的性能价格比20.采用虚拟存储器一定是( )A.主存的物理空间与逻辑地址所需的容量相等B.主存的物理空间比逻辑地址代码所需的空间大C.虚拟存储器空间比物理空间小D.虚拟存储器空间比物理空间大21.按接口与设备之间的数据传输宽度,并行接口指的是( )A.逐位串行传输并成一字节B.逐位串行传输并成一个字C.每次同时传输一个字或一个字节D.逐个字节传输并成一个字22.目前微型机系统上广泛使用的机械式鼠标是一种( )A.输入设备B.输出设备C.输入输出设备D.显示设备组成之一23.为允许多重中断,在中断处理中,通常把断点及现场保存在( )A.通用寄存器B.中断向量表C.缓冲寄存器D.堆栈24.在现代计算机中存储器是系统的中心,它为CPU 和I/O 设备所共享。
200210高等教育面向对象程序设计C++自考
全国2002年10月高等教育自学考试面向对象程序设计试题课程代码:02328一、单项选择题(在每小题的四个备选答案中选出一个正确答案,并将其号码填在题干的括号内。
每小题2分,共20分)1.所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是( )A.类B.对象C.函数体D.数据块2.面向对象的程序设计语言必须具备的关键要素是( )A.抽象和封装B.抽象和多态性C.抽象、封装、继承和多态性D.抽象、封装和继承性3.类的构造函数被自动调用执行的情况是在定义该类的( )A.成员函数时B.数据成员时C.对象时D.友元函数时4.设有函数模板template<class Q>Q Sum(Qx,Qy){return(x)+(y);}则下列语句中对该函数模板错误..的使用是( )A.Sum(10,2);B.Sum(5.0,6.7);C.Sum(15.2f,16.0f);D.Sum(″AB″,″CD″);5.已知类A是类B的友元,类B是类C的友元,则( )A.类A一定是类C的友元B.类C一定是类A的友元C.类C的成员函数可以访问类B的对象的任何成员D.类A的成员函数可以访问类B的对象的任何成员6.如果表达式++i*k中的“++”和“*”都是重载的友元运算符,则采用运算符函数调用格式,该表达式还可表示为( )A.operator*(i.operator++(),k)B.operator*(operator++(i),k)C.i.operator++().operator*(k)D.k.operator*(operator++(i))7.下列说法中正确的是( )A.类定义中只能说明函数成员的函数头,不能定义函数体B.类中的函数成员可以在类体中定义,也可以在类体之外定义C.类中的函数成员在类体之外定义时必须要与类声明在同一文件中D.在类体之外定义的函数成员不能操作该类的私有数据成员8.若派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的( )A.私有成员B.公有成员C.保护成员D.保护成员或私有成员9.对基类和派生类的关系描述中,错误..的是( )A.派生类是基类的具体化B.基类继承了派生类的属性C.派生类是基类定义的延续D.派生类是基类的特殊化10.类B是类A的公有派生类,类A和类B中都定义了虚函数func(),p是一个指向类A对象的指针,则p->A::func()将( )A.调用类A中的函数func()B.调用类B中的函数func()C.根据p所指的对象类型而确定调用类A中或类B中的函数func()D.既调用类A中函数,也调用类B中的函数二、填空题(每小题2分,共20分)11.假定用户没有给一个名为AB的类定义析构函数,则系统自动给出的缺省析构函数定义为__________。
2024年10月高等教育自考试全国统一命题考试软件工程试题含解析
2024年10月高等教育自考试全国统一命题考试软件工程试题一、单项选择题1、有效性测试的目标是发现软件实现的功能与下列哪个选项不一致,正确的是______。
A.需求规格说明书B.概要设计说明书C.详细设计说明书D.测试计划2、RUP设计阶段的主要活动不包含______。
A.程序设计B.体系结构设计C.用况设计D.类设计3、《ISO/IEC软件生存周期过程12207-1995》标准按过程主体把软件生存周期过程分为基本过程、组织过程和______。
A.供应过程B.开发过程C.测试过程D.支持过程4、在教师科研方案中规定对教授、副教授和讲师分别计算分数,做相应的处理,则根据黑盒测试中的等价类划分技术,下列划分正确的是______。
A.3个有效等价类,3个无效等价类B.3个有效等价类,1个无效等价类C.1个有效等价类,1个无效等价类D.1个有效等价类,3个无效等价类5、“与所规约的系统执行之间的偏差”是指______。
A.错误B.失效C.故障D.误差6、在常见的软件开发模型中,主要用于支持面向对象技术软件开发的是______。
A.喷泉模型B.螺旋模型C.增量模型D.瀑布模型7、面向对象方法源于面向对象______。
A.分析B.设计C.建模语言D.编程语言8、RUP中,用于捕获系统语境中的一些重要领域对象,其中领域对象表达系统工作环境中存在的事物或发生的事件,领域模型一般采用______。
A.PAD图B.流程图C.类图D.N-S图9、结构化分析方法给出了一种能表达功能模型的工具是______。
A.HIPO图B.PAD图C.N-S图D.DFD图10、需求规约的基本性质包括重要性和稳定性程度、一致的、完整的和______。
A.可修改的B.可复用的C.可测试的D.无歧义的11、下列可用于概念模型和软件模型的动态结构的是______。
A.类图B.对象图C.部署图D.用况图12、下列不属于需求规约的基本性质是______。
学历类《自考》自考专业(计算机应用)《C++程序设计》考试试题及答案解析
学历类《自考》自考专业(计算机应用)《C ++程序设计》考试试题及答案解析姓名:_____________ 年级:____________ 学号:______________1、以下基类中的成员函数表示纯虚函数的是( )A 、virtualvoidtt( )=0B 、voidtt(int)=0C 、virtualvoidtt(int)D 、virtualvoidtt(int){}正确答案:A答案解析:暂无解析2、对于int*pa [5]; 的描述,正确的是( )A 、pa 是一个指向数组的指针,所指向的数组是5个int 型元素B 、pa 是一个指向某个数组中第5个元素的指针,该元素是int 型变量C 、pa [5]表示某个数组的第5个元素的值D 、pa 是一个具有5个元素的指针数组,每个元素是一个int 型指针正确答案:D答案解析:暂无解析3、C++的继承性允许派生类继承基类的( )A 、部分特性,并允许增加新的特性或重定义基类的特性B 、部分特性,但不允许增加新的特性或重定义基类的特性C 、所有特性,并允许增加新的特性或重定义基类的特性D 、所有特性,但不允许增加新的特性或重定义基类的特性正确答案:C答案解析:暂无解析4、使用地址作为实参传给形参,下列说法正确的是( )A 、实参是形参的备份B 、实参与形参无联系C 、形参是实参的备份D 、实参与形参是同一对象正确答案:D答案解析:暂无解析5、在私有继承的情况下,基类成员在派生类中的访问权限( )A 、受限制B、保持不变C、受保护D、不受保护正确答案:A答案解析:暂无解析6、C++语言中所有在函数中定义的变量,连同形式参数,都属于( )A、全局变量B、局部变量C、静态变量D、函数正确答案:B答案解析:暂无解析7、在类中说明的成员可以使用关键字的是( )A、publicB、externC、cpuD、register正确答案:A答案解析:暂无解析8、C++对C语言做了很多改进,即从面向过程变成为面向对象的主要原因是( )A、增加了一些新的运算符B、允许函数重载,并允许设置缺省参数C、规定函数说明符必须用原型D、引进了类和对象的概念正确答案:D答案解析:暂无解析9、假定一个类的构造函数为A(intaa,intbb){a=aa--;b=a*bb;},则执行Ax(4,5);语句后,和的值分别为( )A、3和15B、5和4C、4和20D、20和5正确答案:C答案解析:暂无解析10、在公有继承的情况下,基类的公有或保护成员在派生类中的访问权限( )A、受限制B、保持不变C、受保护D、不受保护正确答案:B答案解析:暂无解析11、构造函数不具备的特征是( )A、构造函数的函数名与类名相同B、构造函数可以重载C、构造函数可以设置默认参数D、构造函数必须指定类型说明正确答案:D答案解析:暂无解析12、语句ofstreamf(“”,ios::app|ios::binary)?的功能是建立流对象f,试图打开文件并与之连接,并且( )A、若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B、若文件存在,将其置为空文件;若文件不存在,打开失败C、若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D、若文件存在,打开失败;若文件不存在,建立一个新文件正确答案:A答案解析:暂无解析13、友元关系不能( )A、提高程序的运行效率B、是类与类的关系C、是一个类的成员函数与另一个类的关系D、继承正确答案:D答案解析:暂无解析14、所谓多态性是指( )A、不同的对象调用不同名称的函数B、不同的对象调用相同名称的函数C、一个对象调用不同名称的函数D、一个对象调用不同名称的对象正确答案:B答案解析:暂无解析15、关于this指针使用说法正确的是( )A、保证每个对象拥有自己的数据成员,但共享处理这些数据的代码B、保证基类私有成员在子类中可以被访问。
2002机试C卷
2002年广东省普通高校非计算机专业学生计算机应用水平考试试卷(机试)(C卷)Visual Basic程序设计(考试时间:90分钟)学校_______________________准考证号________________________姓名________________________说明:考生在完成以下各题时,请注意以下3点要求:1)试题所涉及的文件均存放在考生文件夹中。
2)考生应当在试题提供的程序文件中直接修改,并按原文件名存放在原处。
3)考生在修改程序代码的过程中只能替换原代码中的#####[n]#####,而不能修改其它内容,特别是不能变动原有的注释。
一、(20分)编写程序,求出101~200内的所有偶数和。
该程序代码已存在窗体文件C1.frm 中,请按题意修改原程序并按原文件名存盘。
运行后,单击窗体将计算出结果。
【程序】Option ExplicitPrivate Sub Form_Click()#####[1]##### i As Integer, sum As Integer ‘第1空sum=0For i = 101 To #####[2]##### ‘第2空If i #####[3]##### 2 =0 Then ‘第3空sum = sum + iEnd If#####[4]##### ‘第4空Print sumEnd Sub二、(25分)编写一个把十进制数转换为三进制数(以字符串表示)的函数To3(如:To3(432)=“121000”)。
该程序代码已存在窗体文件C2.frm中,请按题意修改原程序并按原文件名存盘。
【程序】Option ExplicitFunction To3(By Val dv As Long) As StringDim n As Long, x As Long, s As Stringx=dvs=””Don = x Mod #####[1]##### ‘第1空s = Format(n,”0” ) & sx = x \ #####[2]##### ‘第2空Loop #####[3]##### x =0 ‘第3空To3 = s#####[4]##### ‘第4空Private Sub Form_Click()Print “ To3(432) = “ & #####[5]#####(322) ‘第5空End Sub三、(25分)编写程序,将顺序文件“C3.txt”中的数据顺序读出,并写入另一个顺序文件“C3jg.txt”中,写入时在每行的前面添加一个星号“*”和一个冒号“:”。
C语言2002专升本考试卷[1]
一、选择题(每小题2分,共20分)1. 在TC环境下运行一个程序的快捷键是()A Ctrl + F5B Alt + F5C Ctrl + F9D Alt + F92. 设有int i, j; 则表达式i=1,j=2, i&&j 的值为( )A 1B 2C 3D 03. 假设所有变量均为整型,则表达式(a=2 ,b=5 ,b++ ,a+b)的值是()A 7B 8C 6D 24. 下面正确的字符常量是()A “c”B …\\‟‟C …W‟D …‟5. 设有说明:char w; int x; float y; double z; 则表达式w*x+z-y值的数据类型为()A floatB charC intD double6. 下面程序段的运行结果是()x=y=0;while(x<15) y++ , x+=++y ;printf(“%d,%d”,y,x) ;A 20,7B 6,12C 20,8D 8,207. 下面是对s 的初始化,其中不正确的是()A char s[5]={“abc”} ;B char s[5]={…a‟,‟b‟,‟c‟} ;C char s[5]= ”” ;D char s[5]= “abcdef” ;8. 下面程序段中,for 循环的执行次数是()char *s = ”\ta\018bc” ;for( ; s!=‟\0‟ ;s++) printf(“*”);A 9B 5C 6D 79. 以下程序的运行结果是()typedef union { long a[2] ;int b[4] ;char c[8] ;}TY ;TY our ;main( ){printf(“%d\n”,sizeof(our)) ;}A 32B 16C 8D 2410. 若x=2 , y=3 则x&y 的结果是()A 0B 2C 3D 5二、填空题(每小题2分,共30分)1. 若有定义:int b=7 ; float a=2.5 ,c=4.7 ; 则下面表达式的值为________。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
全国2002年10月高等教育自学考试面向对象程序设计试题课程代码:02328一、单项选择题(在每小题的四个备选答案中选出一个正确答案,并将其号码填在题干的括号内。
每小题2分,共20分)1.所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是( )A.类B.对象C.函数体D.数据块2.面向对象的程序设计语言必须具备的关键要素是( )A.抽象和封装B.抽象和多态性C.抽象、封装、继承和多态性D.抽象、封装和继承性3.类的构造函数被自动调用执行的情况是在定义该类的( )A.成员函数时B.数据成员时C.对象时D.友元函数时4.设有函数模板template<class Q>Q Sum(Qx,Qy){return(x)+(y);}则下列语句中对该函数模板错误..的使用是( )A.Sum(10,2);B.Sum(5.0,6.7);C.Sum(15.2f,16.0f);D.Sum(″AB″,″CD″);5.已知类A是类B的友元,类B是类C的友元,则( )A.类A一定是类C的友元B.类C一定是类A的友元C.类C的成员函数可以访问类B的对象的任何成员D.类A的成员函数可以访问类B的对象的任何成员6.如果表达式++i*k中的“++”和“*”都是重载的友元运算符,则采用运算符函数调用格式,该表达式还可表示为( )A.operator*(i.operator++(),k)B.operator*(operator++(i),k)C.i.operator++().operator*(k)D.k.operator*(operator++(i))7.下列说法中正确的是( )A.类定义中只能说明函数成员的函数头,不能定义函数体B.类中的函数成员可以在类体中定义,也可以在类体之外定义C.类中的函数成员在类体之外定义时必须要与类声明在同一文件中D.在类体之外定义的函数成员不能操作该类的私有数据成员8.若派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的( )A.私有成员B.公有成员C.保护成员D.保护成员或私有成员9.对基类和派生类的关系描述中,错误..的是( )A.派生类是基类的具体化B.基类继承了派生类的属性C.派生类是基类定义的延续D.派生类是基类的特殊化10.类B是类A的公有派生类,类A和类B中都定义了虚函数func(),p是一个指向类A对象的指针,则p->A::func()将( )A.调用类A中的函数func()B.调用类B中的函数func()C.根据p所指的对象类型而确定调用类A中或类B中的函数func()D.既调用类A中函数,也调用类B中的函数二、填空题(每小题2分,共20分)11.假定用户没有给一个名为AB的类定义析构函数,则系统自动给出的缺省析构函数定义为__________。
12.模板定义中标识类型的参数必须用关键字_________修饰。
13.表达式count<<hex还可表示为_________。
14.通过C++语言中的_________机制,可以从现存类中构建其子类。
15.要在调用虚函数的时候强制进行静态联编,可以通过在调用中对虚函数加_________实现。
16.封装要求一个对象应具备明确的功能,并具有_________以便和其它对象相互作用。
17.在删除一个动态对象时,将自动调用该动态对象所属类的_________函数。
18.静态成员函数、友元函数、构造函数和析构函数中,不属于成员函数的是_________。
19.在下面的类定义中,私有成员有_________。
class Location {int X,Y;protected:int zeroX,zerxY;int SetZero(intzeroX, intzeroY);private:int length,height;public:void init(int initX,int initY);int GetX();int GetY();};20.类的私有成员只能被它的成员函数和_________访问。
三、改错题(每小题2分,共10分)21.此类定义有一处错误,请指出错误并改正。
class ABC{int a;public:ABC(int aa)a(aa){}};22.下面程序通过调用函数模板实现计算两个正整数的最大公约数,把main函数中错误找出并改正过来。
#include<iostream.h>template<class T>T gcd(Tx,Ty){while(x! =y)if(x>y)x-=y;else y-=x;return x;}void main(){int a;double d;cin>>a>>d;cout<<gcd(a,d)<<endl;}23.指出下面程序中的错误,并说明出错原因。
#include<iostream.h>class ConstFun{public:void ConstFun(){}const int f5()const{return 5;}int Obj() {return 45;}int val;int f8();};int ConstFun::f8(){return val;}void main(){const ConstFun s;int i=s.f5();cout<<″Value=″<<i<endl;}24.指出下面程序中的错误,并说明错误原因。
#include<iostream.h>class A{public:void fun(){cout<<″a.fun″<<endl;}};class B{public:void fun(){cout<<″b.fun″<<endl;}void gun(){cout<<″b.gun″<<endl;}};class C:public A,public B{private:int b;public:void gun(){cout <<″c.gun<<″endl;}};void main(){c obj;obj.fun();obj.gun();}25.指出下面程序段中的错误,并说明出错原因。
class Location {int X,Y;protected:int zeroX,zeroY;int SetZero(int zeroX,int zeroY){X=zeroX;Y=zeroY;} private:int length,height;public:float radius;void init(int initX,int initY){length=initX;height=initY;}int GetX(){return X;}int GetY(){return Y;}};int main(){Location retangleA={25,20,3,5,6,7,3};return 0;}四、完成程序题(每小题4分,共20分)根据题目要求填空,完成程序。
26.在下面程序段横线处填上适当的内容。
class A{________int n;public:A(int nn=0):n(nn){if(n==0)a=0;else a=new int[n];}________//定义析构函数,释放动态数组空间};27.在下面程序横线处填上适当内容,使程序执行结果为:200_ _ 100程序如下:#include <iostream.h>template ________Tf(Tx,Ty){if(sizeof(T)==__________)return x+y;elsereturn x*y;}void main(){cout <<f(10,20)<<″--″<<f(45.5,54.5)<<endl;}28.下面程序三次调用同一函数sum,在横线处填上适当内容,使输出结果为:S=2S=5S=9程序如下:#include<iostream.h>void sum(int i){static int s;____________;cout<<″S=″<<s<<endl;}void main (void){int i;for (i=0;________)sum(i);}29.请在下面横线处填上适当的内容,使程序的输出为:7.000007程序如下:#include<iomanip.h>viod main(){double x=7;cout<<______________<<x;cout<<endl<<______________<<x;}30.在下面程序横线处填上适当的内容,使该程序输出结果为:Creating Bend of Bend of A程序如下:#include<iostream.h>class A{public:A(){}______________{cout<<″end of A″<<endl;} };calss B:public A{public:B(){________}~B(){cout<<″end of B″<<endl;}};void main(){A*pa=new B;delete pa}五、程序分析题(每小题5分,共30分)给出下面各程序的输出结果。
31.当从键盘上输入1.5 10时,写出下面程序的执行结果。
#include<iostream.h>void mian(){int a,b,c;char ch;cin>>a>>ch>>b>>c;//从键盘上输入1.5 10cout<<a<<endl<<ch<<endl<<b<<endl<<c;}输出为:32.写出下面程序输出结果。
#include<iostream.h>template<class T>void f(T a[3][3],Tb[3][3],Tc[3][3]){for(int i=0;i<3;i++)for(int j=0;j<3;j++){c[i][j]=(T)0for(int k=0;k<3;k++)c[i][j]+=a[i][k]*b[j][k];}}void main(){int a[3][3]={{1,2,3},{4,5,6},{7}},b[3][3],c[3][3]={{2},{0,2},{0,0,2}};f(a,c,b);for(int i=0;i<3;i++){for(int j=0,j<3;j++)cout<<b[i][j]<<″″;cout<<endl;}}输出为:33.写出下面程序的输出结果。