2015年10月自考C++程序设计(04737)试题及答案解析

合集下载

C全国自考真题及答案

C全国自考真题及答案

C全国自考真题及答案集团标准化办公室:[VV986T-J682P28-JP266L8-68PNN]2015年4月高等教育自学考试全国统一命题考试C++程序设计试卷(课程代码04737)本试卷共ll页,满分t00分,考试时间l50分钟。

考生答题注意事项:1.本卷所有试题必须在答题卡上作答。

答在试卷上无效,试卷空白处和背面均可作草稿纸。

2.第一部分为选择题。

必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑。

3.第二部分为非选择题。

必须注明大、小题号,使用0.5毫米黑色字迹签字笔作答。

4.合理安排答题空间。

超出答题区域无效。

第一部分选择题一、单项选择题(本大题共20小题,每小题l分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题卡”的相应代码涂黑。

未涂、错涂或多涂均无分。

1.C++语言是从早期的C语言逐渐发展演变而来的,与C语言相比,C++在求解问题方法上进行的最大改进是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.public B.private C.stadc D.protected7. 有如下类声明“class A{int x;…};”,则A类的成员x是A. 公有数据成员 B.私有数据成员C.公有成员函数 D.私有成员函数8. 下列不是构造函数的特征的是A.构造函数的函数名与类名相同 B.构造函数可以重载C.构造函数可以设置缺省参数 D.构造函数不能重载9.通常的拷贝构造函数的参数是A. 某个对象名 B.某个对象成员名C.某个对象的引用 D.某个对象的指针名10.下列哪个类型函数不适合声明为内联函数A. 函数体语句较多 B.函数体语句较少C.函数执行时间较短 D.函数执行时间过长11.设x和y均为bool量,则x&&y为真的条件是A.它们均为真 B.其中一个为真C.它们均为假 D.其中一个为假12.对于友元描述正确的是A.友元是本类的成员函数 B.友元不是本类的成员函数C.友元不是函数 D.友元不能访问本类私有成员13.当一个派生类公有继承一个基类时,基类中的所有公有成员成为派生类的 A.public成员 B.private成员C.protected成员 D.友元14.在C++语言中,080是A.八进制数 B.十进制数C.十六进制数 D.非法数15.下面函数原型声明中,声明了fun为虚函数的是A. void fun()=0 B.virtual void fun()=OC.virtual void fun() D.virtual void fun(){} 16.下列虚基类的声明中,正确的是A.class virtual B:public A B.class B:virtual public AC.class B:public A virtual D.virtual class B:public A 17.下列运算符中,在C++语言中不能重载的是A. * B.>= C.:: D./18.在C++语言中,能代表逻辑值“假”的是A.小于0的数 B.大于0的数 C.非0整数 D.019.以下叙述中不正确的是A.在一个函数中,可以有多条return语句B.函数的定义不能嵌套,但函数的调用可以嵌套C.函数必须有返回值D.不同的函数中可以使用相同名字的变量20.已知:int m=10;在下列表示引用的方法中,下列哪一项是正确的A.hat&x=m B.int&y=10 &z D.float &t=&m第二部分非选择题二、填空题(本大题共20小题,每小题l分,共20分)请在答题卡上作答。

C语言程序设计试题及答案解析

C语言程序设计试题及答案解析
C.制定正确的算法和选择合理的数据结构D.以上都不是
(知识点:算法的基本概念; 难度系数:1; 答案:C )
算法具有五个特性,以下选项中不属于算法特性的是:( )
A.有穷性B.简洁性C.可行性D.确定性
(知识点:算法的基本概念; 难度系数:3; 答案:B )
下述哪一个不是结构化程序基本结构:( )
A.顺序B.选择C.循环D.嵌套
下面不是C语言合法标识符的是:( )
A、abcB、5nC、_4mD、x3
答案:B
以下叙述不正确的是:( )
A.分号是C语句的必要组成部分B.C程序的注释可以写在语句的后面
C.函数是C程序的基本单位D.主函数的名字不一定非用main来表示
答案:D
C语言中允许的基本数据类型包括:( )
A.整型、实型、逻辑型B.整型、实型、字符型
D.程序设计就是用计算机能识别的语言来编写程序
(知识点:程序设计的基本概念; 难度系数:1; 答案:C )
目前编写计算机程序一般采用的是:( )
A.机器语言B.汇编语言C.高级语言D.英语
(知识点:程序设计的基本概念; 难度系数:1; 答案:C )
设计一个计算机程序最基本的工作是:( )
A.制定正确的算法B.选择合理的数据结构
A、0LB、4962710 C、0412765 D、0xa34b7fe
答案:A
若有以下定义语句char c1=’b’, c2=’e’; printf(“%d,%c\n”,c2-c1,c2-‘a’+’A’);则输出结果是:( )
A、2,MB、3,E
C、2,E D、输出项与相应的格式控制不一致,输出结果不确定
A、<= B、==C、%D、&&

04737C 程序设计试题和答案解析2015年

04737C  程序设计试题和答案解析2015年

全国2014年4月高等教育自学考试C++程序设计试题课程代码:04737本试卷满分100分,考试时间150分钟.考生答题注意事项:1.本卷所有试题必须在答题卡上作答。

答在试卷上无效。

试卷空白处和背面均可作草稿纸。

2.第一部分为选择题。

必须对应试卷上的题号使用28铅笔将“答题卡”的相应代码涂黑。

3.第二部分为非选择题。

必须注明大、小题号,使用0.5毫米黑色字迹签字笔作答。

4.合理安排答题空间。

超出答题区域无效。

第一部分选择题一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸”的相应代码涂黑。

错涂、多涂或未涂均无分。

1.下列关于类的权限描述错误的是A.类本身的成员函数可以访问自身的任何成员B.类的对象只能访问公有成员C.普通函数可以不通过对象直接访问类的公有成员D.一个类可以包含另一个类的对象作为成员2.只能在自身类和子类成员函数中被访问,无法通过对象在类外访问的成员属于A.privateB.protectedC.publicD.publish3.面向对象中的“对象”是指A.行为抽象B.数据抽象C.行为抽象和数据抽象的统一D.行为抽象和数据抽象的对立4.在类外定义成员函数时,::运算符两侧分别连接A.返回值类型函数名B.返回值类型类名C.函数名类名D.类名函数名5.设函数int& index(int * a,int i)返回数组a中下标为i的元素,如存在整型数组int Array[]={1,2,3},在执行index(Array,2)+ +后,Array中各元素值为A.{0,1,2}B.{l,1,2}C.{1,2,4}D.{0,2,3}6.类构造函数定义的位置是A.类体内或体外B.只是在类体内C.只在类体外D.在类的成员函数中7.设存在数组a,其长度为Len,则下列哪项泛型算法用于在a中寻找值Value的位置A.reverse(a,a+Len,Value);B.sort(a,a+Len,Value);C.find(a,a+Len,Value);D.copy(a,a+Len,Value);8.关于对象的性质,下列描述错误的是:A.同一类对象间可相互赋值B.可以使用对象数组C.对象不可以用作函数参数D.一个对象可以用作另一个类的成员9.声明一个没有初始化参数的对象,需调用A.指定参数构造函数B.拷贝构造函数C.初始化函数D.默认构造函数10.下列运算符不能重载的是A.!B.sizeofC.newD.delete11.如P是一指针类型表达式,则下列表达式中不是左值表达式的是A.PB.*PC.&PD.P+112.使用下列流格式控制符能输出一个换行符的是A.decB.octC.hexD.endl13.下列表达式,能将P声明为常量指针的是A.const int * P;B.int*const P;C.const int * const PD.int * P14.C++程序文件扩展名为A..cppB..hC..libD..obj15.对C++中主函数描述正确的是A.名称为main,可为多个B.名称不限,可为多个C.名称为main,必须有且只能有一个D.名称不限,必须有且只能有一个16.假定有char * P="Hello";,要输出这个字符串的地址值的正确写法是A.cout<< *PB.cout<<PC.cout<<&PD.cout<<(void *)P17.下列描述错误的是A.在没创建对象前,静态成员不存在B.静态成员是类的成员,不是对象成员C.静态成员不能是虚函数D.静态成员函数不能直接访问非静态成员18.对于友元描述正确的是A.友元是本类的成员函数B.友元不是本类的成员函数C.友元不是函数D.以上皆不正确19.一个函数功能不太复杂,但要求频繁使用,则该函数适合作为A.内联函数B.重载函数C.递归函数D.嵌套函数20.下列默认参数的声明不正确的是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);非选择题部分注意事项:用黑色字迹的签字笔或钢笔将答案写在答题纸上,不能答在试题卷上。

山西省2015年专升本选拔考试(C程序设计数据结构)历年真题详解

山西省2015年专升本选拔考试(C程序设计数据结构)历年真题详解

山西省 2015年专升本选拔考试C 程序设计数据结构(C语言版)说明:1.本试卷分C程序设计和数据结构(C语言版)两部分,各占100分,满分200 分,考试时间150分钟。

2.答卷前先填写密封线内的项目和座位号,答案直接写在试卷上。

第一部分C程序设计一、单项选择题【本大题共10小题,每小题1分,共计10分。

在每小题的四个备选答案中,只有一个答案是正确的,请将代表正确答案的字母填入下列表格内)1.下列标识符中,不合法的标识符是(B )A.CHARB.-abC.SumD.a_b2.下列不是合法字符常量的是(B )A.‘+’B. "m"C.‘?’D.‘6’3.假设定义 int x,y;且执行scanf("%d%3d",&x,&y);语句时,从第一列开始输入数据1234 56789<回车>,则x和y的值分别是(A )A.1234 567B.1234 56789C.1 234D.1234 894.执行下面程序时,将M,N分别赋给c,d,正确的输入是(B )main({char c,d;scanf(“c:%c;d:%c”,&c,&d);}A.M NB. c:M;d:NC.M;ND.c:M d:N5. 在下列运算符中,优先级最低的运算符是(C )A.!=B.!C. &&D.++6. 若a=1,b=2,c=3,d=4,则条件表达式 a<b?a:c<d?c:d 的结果是(A)A.1B.2C.3D.47. 以下程序输出结果是(D )main{int i=8,j=8;printf("%d,%d\n",++i, j--);A.8,7B.8,8C. 9,7D.9,88.在C语言的语句中,用作判断的表达式是(D )A.关系表达式B.逻辑表达式C.算术表达式D.任意表达式9.在C语言中,while 和 do…while循环的主要区别是(A )A.do……while 的循环体至少无条件执行一次B.while 循环的控制条件比do…while的循环控制条件严格C.do…while允许从外部转到循环体内D.do…while的环体不能是复合语句10.下列定义语句不正确的是(C )A.double x[5]={2.0,4.0,6.0,8.0,10.0};B.char c1[]={‘1’,‘2’,‘3’,’4’, ‘5’,‘1’};C. int yf[5]=(0,1,3,5,7,9);D.char c2[]={‘\10’,’\xa’,’\x8’};二、填空题(本大题共5小题,每空2分,共计12分。

自考 c 程序试题及答案

自考 c 程序试题及答案

自考 c 程序试题及答案一、选择题(每题4分,共20分)1. 下列哪个选项是 C 语言关键字?A. intB. printfC. mainD. include2. 在 C 语言中,以下哪个选项可以用于读取用户输入?A. printB. inputC. scanD. scanf3. 下列哪个选项是用来声明一个整型变量?A. charB. floatC. intD. double4. 如果要判断两个变量是否相等,应使用哪个运算符?A. =B. ==C. >D. <5. 下列哪个选项用于将一个整型值转换为字符型?A. atoi()B. itoa()C. sprintf()D. cast()二、填空题(每题4分,共20分)1. 在 C 语言中,用于循环执行代码块的关键字是____。

2. 当变量的值大于或等于某个特定值时,才会继续执行循环,这个循环结构是____。

3. 在 C 语言中,用于分支选择的关键字是____。

4. 在 C 语言中,用于定义常量的关键字是____。

5. C 语言中表示逻辑非的运算符是____。

三、编程题(共60分)请编写一个 C 语言程序,要求能够根据用户输入的学生成绩输出相应的等级。

规定如下:90 分及以上为优秀,80 分及以上为良好,70 分及以上为中等,60 分及以上为及格,60 分以下为不及格。

程序运行示例1:输入成绩:85输出等级:良好程序运行示例2:输入成绩:72输出等级:中等程序运行示例3:输入成绩:58输出等级:不及格(提示:可以使用 if-else if-else 结构来实现条件判断,根据不同的成绩范围输出不同的等级。

)四、答案解析一、选择题答案:1. A 2. D 3. C 4. B 5. A二、填空题答案:1. for 2. do-while 3. if 4. const 5. !三、编程题答案:```c#include <stdio.h>int main() {int score;printf("请输入成绩:"); scanf("%d", &score);if (score >= 90) {printf("等级:优秀"); } else if (score >= 80) {printf("等级:良好"); } else if (score >= 70) {printf("等级:中等"); } else if (score >= 60) {printf("等级:及格"); } else {printf("等级:不及格"); }return 0;}```注意:以上程序仅为参考答案,实际编程过程中可以有多种实现方式。

2015年10月全国自考计算机基础与程序设计考前密卷和答案

2015年10月全国自考计算机基础与程序设计考前密卷和答案

2015年10月全国自考计算机基础与程序设计考前密卷和答案一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

第1题定义一个具有10个元素的整型数组,应当使用语句【】A. int a[10];B. int a[2,5];C. int a[];D. int *a[10];【正确答案】 A【你的答案】本题分数1分第2题设指针变量p1、 p2已经指向同一个数组的元素,则下列表达式中错误的是【】A. p1=p2B. p1==p2C. p1-p2D. p1+p2【正确答案】 D【你的答案】本题分数1分第3题设有关变量已经正确定义并赋值,则下列表达式中符合C语言语法规则的是【】A. a_=\\12B. a_1=a_2+=12C. int13.5%2D. a=b+7=C-2【正确答案】 B【你的答案】本题分数1分第4题若a、b、c1、c2、x、y均为整型变量,正确的switch 语句是【】【正确答案】 D【你的答案】本题分数1分第5题有如下程序main{ char s[]="ABCD", *p;for(p=s+1; p<s+4; p++)printf ("%s\n",p);}该程序的输出结果是【】【正确答案】 D【你的答案】本题分数1分第6题设定义int i=8;表达式(i<<2)*i/(i>>2)的值是【】A. 32B. 64C. 128D. 256【正确答案】 C【你的答案】本题分数1分第7题下面程序段的运行结果是【】char str[]="ABC",*p=str; printf("%d\n",*(p+3));A. 67B. 0C. 字符'C'的地址D. 字符'C'【正确答案】 B【你的答案】本题分数1分第8题以下程序的输出结果是【】main(){int y=9;for(;y>0;y--)if(y%3==0){printf("%d",--y);continue;}}A. 963B. 852C. 741D. 863【正确答案】 B【你的答案】本题分数1分第9题以下程序的输出是【】struct st{ int x;int *y;} *p;int dt[4]={10,20,30,40};struct st aa[4]={50,&dt[0],60,&dt[0],60,&dt[0],60,&dt[0]};main(){ p=aa;printf("%d\n",++(p->x));}A. 10B. 11C. 51D. 60【正确答案】 C【你的答案】本题分数1分第10题设变量a是int型,f是float型,i是double型,则表达式10+?a?+i*f值的数据类型为【】A. intB. floatC. doubleD. 不确定【正确答案】 C【你的答案】本题分数1分第11题 C语言中提供的关键字有【】A. swicthB. cherC. CaseD. default【正确答案】 D【你的答案】本题分数1分第12题下面程序段的运行结果是【】char *format="%s,a=%d,b=%d\n";int a=11,b=10;a+=b;printf(format,"a+=b",a,b);A. for,"a+=b",abB. format,"a+=b"C. a+=b,a=21,b=10D. 以上结果都不对【正确答案】 C【你的答案】本题分数1分第13题假定x和y为double型,则表达式x=2,y=x+3/2的值是【】A. 3.500000B. 3C. 2.000000D. 3.000000【正确答案】 D【你的答案】本题分数1分第14题若执行下面的程序时,从键盘上输入5和2,则输出结果是【】main(){int a,b,k;scanf("%d%d",&a,&b);k=a;if(a<b) k=a%b;else k=b%a;printf("%d\n",k);}A. 5B. 3C. 2D. 0【正确答案】 C【你的答案】本题分数1分第15题设x和y为int型变量,则执行下面的循环后,y的值为【】 for(y=l, x=l; y<=50; y++){if(x>=10) break;if(x%2==1){x+=5; continue;}x-= 3;}A. 2B. 4C. 6D. 8【正确答案】 C【你的答案】本题分数1分第16题字符串“XyZ”在内存中占用的字节数是【】A. 3B. 4C. 6D. 8【正确答案】 B【你的答案】本题分数1分第17题设有如下数据定义语句char x[]={"abcdefg"};char y[]={'a','b','c','d','e','f','g'};则下列叙述正确的是【】A. 数组x和数组y等价B. 数组x和数组y的长度相同C. 数组x的长度大于数组y的长度D. 数组x的长度小于数组y的长度【正确答案】 C【你的答案】本题分数1分第18题以下所列的各函数首部中,正确的是【】A. void play(var:integer,varb:integer)B. void play(int a,b)C. void play(int a,int b)D. sub play(a as integer,b as integer)【正确答案】 C【你的答案】本题分数1分第19题有一堆零件(100到200之间),如果分成4个零件一组的若干组,则多2个零件;若分成7个零件一组,则多3个零件;若分成9个零件一组,则多5个零件。

2015年7月全国自考C++程序设计考前密卷和答案04737(含答案)

2015年7月全国自考C++程序设计考前密卷和答案04737(含答案)

2015年7月全国自考C++程序设计考前密卷和答案04737(含答案)一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

第1题静态成员函数没有()A. 返回值B. this指针C. 指针参数D. 返回类型【正确答案】 B【你的答案】本题分数1分第2题下面叙述不正确的是()A. 派生类一般都用公有派生B. 对基类成员的访问必须是无二义性的C. 赋值兼容规则也适用于多重继承的组合D. 基类的公有成员在派生类中仍然是公有的【正确答案】 D【你的答案】本题分数1分第3题所有在函数中定义的变量,都是()A. 全局变量B. 局部变量C. 静态变量D. 寄存器变量【正确答案】 B【你的答案】本题分数1分第4题如果表达式++a中的“++”是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为()A. a.operator++(1)B. operator++(a)C. operator++(a,1)D. a.operator++()【正确答案】 D【你的答案】本题分数1分第5题使用string类建立对象的不正确方式是()A. string s(“C++”);B. string s=“C++”;C. string str;D. string s=‘C++’;【正确答案】 D【你的答案】本题分数1分第6题下面运算符中,不能被重载的运算符是()A. <=B. -C. []D. ?:【正确答案】 D【你的答案】本题分数1分第7题有如下程序段:int *p,a[7]={-5,0,4,2,7,1};p=a+6;执行该程序段后,*p的值为()A. 4B. 2C. 1D. 0【正确答案】 D【你的答案】本题分数1分第8题一个函数功能不太复杂,但要求被频繁调用,则应把它定义为()A. 内联函数B. 重载函数C. 递归函数D. 嵌套函数【正确答案】 A【你的答案】本题分数1分第9题以下有关继承的叙述正确的是()A. 构造函数和析构函数都能被继承B. 派生类是基类的组合C. 派生类对象除了能访问自己的成员以外,不能访问基类中的所有成员D. 基类的公有成员一定能被派生类的对象访问【正确答案】 C【你的答案】本题分数1分第10题在C++程序中,对象之间的相互通信通过()A. 继承实现B. 封装实现C. 调用成员函数实现D. 函数重载实现【正确答案】 C【你的答案】本题分数1分第11题有关C++编译指令,以下叙述正确的是()A. C++每行可以写多条编译指令B. #include指令中的文件名可含有路径信息C. C++的编译指令可以以#或//开始D. C++中不管#if后的常量表达式是否为真,该部分都需要编译【正确答案】 B【你的答案】本题分数1分第12题若Sample类中的一个成员函数说明如下:void set(Sample& a),则Sample& a的含义是()A. 指向类Sample的名为a的指针B. a是类Sample的对象引用,用来作函数Set()的形参C. 将a的地址赋给变量SetD. 变量Sample与a按位与的结果作为函数Set的参数【正确答案】 B【你的答案】本题分数1分第13题适宜采用inline定义函数情况是()A. 函数体含有循环语句B. 函数体含有递归语句C. 函数代码少、频繁调用D. 函数代码多、不常调用【正确答案】 C【你的答案】本题分数1分第14题下列不是描述类的成员函数的是()A. 构造函数B. 析构函数C. 友元函数D. 拷贝构造函数【正确答案】 C【你的答案】本题分数1分第15题在私有继承的情况下,基类成员在派生类中的访问权限()A. 受限制B. 保持不变C. 受保护D. 不受保护【正确答案】 A【你的答案】本题分数1分第16题 C++的继承性允许派生类继承基类的()A. 部分特性,并允许增加新的特性或重定义基类的特性B. 部分特性,但不允许增加新的特性或重定义基类的特性C. 所有特性,并允许增加新的特性或重定义基类的特性D. 所有特性,但不允许增加新的特性或重定义基类的特性【正确答案】 A【你的答案】本题分数1分第17题下列给字符数组进行初始化中,正确的是()A. char s1[]=?\n?;B. char s2[3]="xyz";C. char s3[][3]={?a?,?x?,?y?};D. char s4[2,4]={"xyz","mnp"};【正确答案】 C【你的答案】本题分数1分第18题关于new运算符的下列描述中,错误的是()A. 它可以用来动态创建对象和对象数组B. 使用它创建的对象或对象数组可以使用运算符delete删除C. 使用它创建对象时要调用构造函数D. 使用它创建对象数组时必须指定初始值【正确答案】 D【你的答案】本题分数1分第19题如果类A被说明成类B的友元,则()A. 类B不一定是类A的友元B. 类B的成员即类A的成员C. 类A的成员即类B的成员D. 类A的成员函数不得访问类B的成员【正确答案】 A【你的答案】本题分数1分第20题 C++类体系中,不能被派生类继承的有()A. 常成员函数B. 构造函数C. 虚函数D. 静态成员函数【正确答案】 B二、填空题(本大题共20小题,每小题1分,共20分)请在每小题的空格中填上正确答案。

04737C程序设计2022年10月份历年真题-答案-图文

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小题。

2018年10月高等教育自学考试全国统一命题考试C++程序设计(课程代码04737)真题及答案

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。

计算机及应用自考试题04737C++程序设计题库

计算机及应用自考试题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];。

2018年10月高等教育自学考试全国统一命题考试C++程序设计(课程代码04737)真题及答案

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。

自考Java语言程序设计一04747试题及答案解析

自考Java语言程序设计一04747试题及答案解析

2015年10月自考Java语言程序设计(一)(04747)试题及答案解析2015年10月高等教育自学考试全国统一命题考试Java语言程序设计(一) 试卷(课程代码04747)本试卷共13页,满分100分.考试时间150分钟。

考生答题注意事项:1.本卷所有试题必须在答题卡上作答。

答在试卷上无效,试卷空白处和背面均可作草稿纸.2.第一部分为选择题。

必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑.3.第二部分为非选择题。

必须注明大、小题号.使用0.5毫米黑色字迹签字笔作答.4.合理安排答题空间.超出答题区域无效。

第一部分选择题一、单项选择题(本大题共10小题.每小题1分.共10分)在每小题列出的四个备选项中只有一个是符合题目要求的。

请将其选出并将“答题卡”的相应代码涂黑。

未涂、错涂或多涂均无分.1.以下字符组合中,不能作为Java整型常量的是A.037 B.0x3ADG C.7000 D.0x3abcL2.以下程序代码的输出结果是3.设有数组定义,则x.length的值为A.2 B.3 C.4 D.54. 设有字符串String s=〝ABCDEFGABC〞;,则表达式s.indexOf(〝A〞,7)的值是A.7 B.6 C.3 D.05.以下关于Swing与AWT之间关系的叙述中,正确的是A.Swing是AWT的提高和扩展B.在写GUl程序时,AWT和Swing不能同时使用C.AWT和Swing在不同的平台上都有相同的表示D.AWT中有一些类是从Swing中的一些继承的6.以下供选择的类中,其子类能用来创建框架窗口的是A.JWindow B.JFrameC.JDialog D.JAudio 7.某程序定义了一个子类,并要让它实现多线程,以下正确的步骤是A.继承Thread类,在类内定义run( )方法,声明和创建线程对象,并让该对象调用start( )方法。

B.继承Thread类,在类内定义run( )方法,声明线程对象,并让该对象调用start( )方法。

最新10月全国自学考试C加加程序设计试题及答案解析

最新10月全国自学考试C加加程序设计试题及答案解析

最新10月全国自学考试C加加程序设计试题及答案解析全国2018年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.#defineB.#includeC.#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.friend8.决定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 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.#elseC.#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分)请在每小题的空格中填上正确答案。

2015年10月自考C 程序设计(04737)试题及答案解析

2015年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+3211.类中能访问静态成员的函数是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.friend17.拷贝构造函数的参数是A.某个对象名B.某个对象的成员名C.某个对象的引用名D.某个对象的指针名18.关于类模板的说法正确的是A.类模板的主要作用是生成抽象类B.类模板实例化时,编译器将根据给出的模板实参生成一个类C.在类模板中的数据成员具有同样类型D.类模板中的成员函数没有返回值19.下列有关重载函数的说法中正确的是A.重载函数必须具有不同的返回值类型B.重载函数参数个数必须相同C.重载函数必须有不同的形参列表D.重载函数名可以不同20.当一个类的某个函数被说明为virtual时,在该类的所有派生类中的同原型函数A.都是虚函数B.只有被重新说明时才是虚函数C.都不是虚函数D.只有被重新说明为virtual时才是虚函数第二部分非选择题二、填空题(本大题共20小题,每小题1分,共20分)请在答题卡上作答。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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.8
5.下列运算符中,优先级最高的是
A. * B.一> C.&& D.>=
6.关于new运算符的下列描述中,错误的是
A.它可以用来动态创建对象和对象数组
B.使用它创建的对象和对象数组可以使用运算符delete删除
C.使用它创建对象时要调用构造函数
D.使用它创建对象数组时必须指定初始值
7.存储下列数据,占用存储字节最多的是
A. 0 B.‘0’C.〝0〞D.0.0
8.关于类和对象不正确的说法是
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=pi
13.关于对象概念的描述中,说法错误的是
A.对象就是C语言中的结构体
B.对象代表着正在创建的系统中的一个实体
C.对象是类的一个变量
D.对象之间的信息传递是通过消息进行的
14.有关多态性说法不正确的是
A.C++语言的多态性分为编译时的多态性和运行时的多态性
B.编译时的多态性可通过函数重载实现
C.运行时的多态性可通过模板和虚函数实现
D.实现运行时多态性的机制称为动态多态性
15.关于友元函数的描述中,错误的是
A.友元函数不是成员函数
B.友元函数只能访问类中私有成员
C.友元函数破坏隐藏性,尽量少用
D.友元函数说明在类体内,使用关键字friend
16.类中定义的成员默认访问属性为
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分)
请在答题卡上作答。

21.C语言中scanf命令在C++中改用:cin
22.假定类AB中有一个公用属性的静态数据成员static int bb;在类外不通过对象名给该成员bb赋值为10的写法:int AB; bb=10;
23.在类内部定义的公有(public)数据可以在类外进行存取,但保护protected数据和私有(private)数据不能在类外直接存取。

24.在C++中,虚函数帮助实现了类的多态性。

25.如果要把类B的成员函数void fun( )说明为类A的友元函数,则应在类A中加入语句_______.
26.执行下列程序double a=3.1415926,b=3.14;cout<<setprecision(5)<<a<<〝,〞<< setprecision(5)<<b<<endl;程序的输出结果是_______。

27.在C++中,访问一个指针所指向的对象的成员所用的指向运算符是_______。

28.基类的公有成员在派生类中的访问权限由_______决定。

29.由const修饰的对象称为_______。

30.如果通过同一个基类派生一系列的类,则将这些类总称为_______。

31. 为了实现运行时的多态性,派生类需重新定义基类中的_______。

32.在C++中有两种参数传递方式:传值和传_______。

33.C++中ostream的直接基类_______。

34.已知int*p=NULL,使用new为指针P申请一个存储大小为10的存放int型的空间,代码为_______。

35.在编译指令中,宏定义使用_______指令。

36.每个对象都是所属类的一个_______。

37.函数重载时,编译系统会根据_______或形参的个数来区分。

38.静态成员函数、友元函数、构造函数和析构函数中,不属于成员函数的是_______。

40.局部对象和全局对象中,在同一程序中_______生存期最长。

三、改错题(本大题共5小题,每小题4分,共20分)
请在答题卡上作答。

下面的程序段中有一处错误,请在答题卡上抄写错误所在行并指出错误原因。

四、完成程序题(本大题共5小题,每小题4分,共20分) 请在答题卡上作答。

46.用简单选择法对10个数排序,使其从小到大排列。

47.打印以下图案:
48.任意输入10个同学的成绩,计算其平均成绩。

要求用函数average( )计算平均成绩,主函数输入数据并输出结果。

49.编一个函数to_ lower( ),实现将字符串中的大写字母转换成相应小写字母。

主函数输入数据并输出结果。

50.下面程序用来求直角三角形斜边长度。

五、程序分析题(本大题共2小题,每小题5分,共l0分) 请在答题卡上作答。

51.给如下面程序输出结果。

52.给出下面程序输出结果。

六、程序设计题(本大题共l小题,共l0分)
请在答题卡上作答。

53.写一个程序,定义一个抽象类Shape,由它派生3个类:Square(正方形)、Trapezoid(梯形)和Triangle(三角形)。

用虚函数分别计算几种图形面积、并求它们的和。

要求用基
类指针数组,使它每一个元素指向一个派生类对象。

C++程序设计试卷第11页共12页
C++程序设计试卷第12页共12页。

相关文档
最新文档