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

  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页。

相关文档
最新文档