收藏 分享(赏)

c++模拟题(1-4).doc

上传人:精品资料 文档编号:10822216 上传时间:2020-01-12 格式:DOC 页数:26 大小:173KB
下载 相关 举报
c++模拟题(1-4).doc_第1页
第1页 / 共26页
c++模拟题(1-4).doc_第2页
第2页 / 共26页
c++模拟题(1-4).doc_第3页
第3页 / 共26页
c++模拟题(1-4).doc_第4页
第4页 / 共26页
c++模拟题(1-4).doc_第5页
第5页 / 共26页
点击查看更多>>
资源描述

1、模拟题一一、判断对错题(10%)(对,错)( )1自动变量用堆方式创建,它与块共存亡。( )2运算符+=是右结合的。( )3表达式 couttypedef struct nodelong data;node * next;class stackprivate:node * head;_stack();stack();void push (_);_ pop();_ print();stack:stack() head = new _head-next = _ stack:stack()node * p;p = head;while (p)head = head-next;_p = head;vo

2、id stack:push(long x)node * p = new node;p-data = x;p-next = head-next;_ = p;coutnext;if(p!=NULL)long x = p-data;head-next = p-next;_coutnext;coutdatanext delete p; p=p-next三、简要论述题(20%)本题共 20 分,每题 4 分。概念解释正确给 2 分;论述要求有两条论点,每条给 1 分(非参考答案中的论点只要正确同样给分)。注解。写程序者为读程序者作的说明。C+编译器把所有的注解视为空白。注解有多行注解(/* */)和单行

3、注解(/)。注解通常用来说明程序或模块的名称、用途、编写时间、编写人、变量说明和算法说明等。new 运算。new 是个单目运算,功能是给程序实体动态地分配空间。语法格式 X 类型指针= new X 类型。用 new 申请空间的同时还可以进行初始化。用 new 申请的空间可用 delete 运算收回。宏定义。宏定义就是用一个宏名字来命名一个字符串。编译预处理时宏名将被用宏体简单替换。使用宏定义可以提高程序的可读性、可修改性与可移植性。宏定义可以带参数。private 成员。private 成员为类成员的一种类型。private 成员只能由类作用域中的函数访问。基类的 private 成员在派生类

4、中也是不可见的。private 成员只能通过 public 成员访问。构造函数。构造函数是类的一种特殊成员。构造函数用来创建类的对象(实例)。构造函数具有特定的名字与类名相同。构造函数可以重载。四、程序设计题(50%)本题共 50 分。(第 1、2 题各 10 分;第 3 题有 3 小题,每小题 10,分共计30 分。)每题评分细则:函数原型正确 3 分(函数返回值类型 1 分,函数参数类型和个数 2 分)。函数总体结构正确 4 分(函数的总体结构指主要的循环结构和选择结构)。其他 3 分(实现的细节)。1#include #include void main(int argc,char *

5、argv)if (argc!=3) exit(1);char c0,c1= ;int k=1;ifstream in(argv1,ios:in|ios:binary);ofstream out(argv2,ios:out|ios:binary);while (!in.eof()in.read(if( kif( !kif( kif( kc1=c0;in.close();out.close();2int tga(int *a,int n)if(n999)_;a=n/100;b=(n/10)%10;c=n%10;if(flag(a,b,c)coutclass Pprivate:int x1,x2;s

6、tatic int y; public:P(_) x1 = i; x2 = j; ;_=0; /对静态成员 y 赋值void main()P data20;4在下面程序横线处填上适当的字句,使其输出结果为 0,56,56。#include class basepublic:int func() return 0; ;class derived:public basepublic:int a,b,c;setValue(int x,int y,int z) a = x; b = y; c = z; int func() return(a+b)*c; ;void main() base b;deri

7、ved d;coutint f(int i)return -i; int g(int void main( )int a,b,c,d,e;a = b = c = d = 10;a += f(g(a); b += g(e=g(b);c += g(e=f(c);d += f(f(d);coutclass Sampleint x;public:Sample(int a) x = a; friend double square(Sample ;double square(Sample void main()Sample s1(20);Sample s2(30);coutclass base1int x

8、;public:base1(int i) x = i; cout:#include #include void main(int argc,char * argv)if(argc!=3) cerr=A public:void getscore(); /获取一个学生成绩void display(); /显示一个学生成绩void sort(Student *); /将若干个学生按总分从高到低排序Student();void Student:getscore()coutenglish;coutcomputer;total=english+computer;void Student:sort(Stud

9、ent *p)int tmp,i,j;for(j=0;jtotal)tmp=total;total=p-total;p-total=tmp;tmp=english;english=p-english;p-english=tmp;tmp=computer;computer=p-computer;p-computer=tmp;void Student:display()coutgetscore();int i;for(j=0;jsort(Ai+1);coutdisplay();模拟题三一、判断对错题(10 分)(对,错)( )1构造函数的访问属性可以是 public 的,但不可以是 protect

10、ed 和private。( )2析构函数可以被显式调用,也可以被系统自动调用。( )3可以用派生类对象地址来初始化一个指向基类对象的指针。( )4C+有三种存储类。( )5从派生类看 private 成员和 protected 成员没有区别。( )6重载运算符只能采用友元函数方式。( )7C+按行优先存放数组元素。( )8YIJ与*(*(Y+I)+J)等价。( )9protected 派生使基类的非私有成员的访问属性在派生类中都降一级。( )10表达式 cout和作用域运算符 D.静态数据成员不是所有对象所共用的9下列运算符中,在 C+里不能重载的是( )。A.while(i#include

11、class Pointint x,y;public:Point(int i = 0,int j =0 )_ _double distance(Point p,Point q);double distance(Point p,Point q)double d;d = (p.x-q.x)*(p.x-q.x)+(p.y-q.y)*(p.y-q.y);return sqrt(d);void main()Point p(1,1),q(4,5);coutclass A_int x;public:A(int x=20) _;class B:public Aint y;public:B(int i=30,in

12、t j=40) _void print()_;void main()B b;b.print();4在下面程序横线处填上适当的语句,使其输出结果为 0,56,56。include class basepublic:_ int func() return 0; ;class derived:public basepublic:int a,b,c;void setValue(int x,int y,int z) a = x; b = y; c = z; int func()return(a+b)*c;void main()base b;derived d;coutfunc( )class Bpubl

13、ic:B() coutclass Aint x;public:A(int i = 10) coutclass Apublic:A() coutf();pb-f();输出为:五、程序设计题(35 分)1(10 分)按下述递归定义编写一个计算幂级数的递归函数2(10 分)写一基于文件流的程序将文件中小写字母转换成大写字母。要求:输入和输出文件名均在命令行中给出。3(15 分)下列 shape 类是一个表示形状的抽象类,area( )为求图形面积的函数,total( )则是一个通用的用以求不同形状的图形面积总和的函数。请从shape 类派生三角形类(triangle)、矩形类(rectangle),

14、并给出具体的求面积函数。 class shape public: virtual float area( )=0; ; float total(shape *s ,int n) float sum=0.0; for(int i=0;iarea( ); return sum; 模拟题三参考答案一、判断对错题(10 分,每题 1 分)(对,错)1 2 3 4 5 6 7 8 9 10二、单项选择题(20 分,每题 2 分) 1C 2B 3B 4B 5A 6D 7C 8D 9C 10A三、完成程序题:根据题目要求,完成程序填空。(20 分,每空 2 分)1 ix=x(或 A:x=x) y=j;(或

15、:y(j) 或 :A(20)y=j; 或 A:x=20;y=j; ) (说明:其他任何可使程序正确运行得出正确结果的答案均可,但 :A(i)y=j;只得 1 分) cout:#include #include void main(int argc,char * argv)if (argc!=3) cerr=aclass queueprivate:int q_;int len;int rear;_queue();queue();void in (_);int out();void print();_queue()_0;rear = 0;queue:queue()void queue:in(int

16、 x)if(_)qrear = _;rear = (rear+1)%n;len+;cout0 len- j+三、简答题(20%)本题共 20 分,每题 4 分。概念解释正确给 2 分;论述要求有两条论点,每条给 1 分(非参考答案中的论点只要正确同样给分)。1 enum 类型。enum 是 C+中的一种用户定义类型。基本格式为:enum 枚举类型名 枚举成员表列。枚举常量实际上是整型量的名称。使用枚举常量使程序容易理解,同时迫使编译器加以检查,以提高程序的可靠性。2函数模板。类型参数化的函数。为了使用函数必须将其模板参数实例化。若无实例化,则使用隐式的模板函数。函数模板对某种类型不适用时可进行

17、异常处理。3?:运算符。?:为 C+中唯一的一个三目运算,条件运算。?:运算为右结合的。?:的运算级很低,使用时易出现副作用。?:可代替简单的 if 语句。4函数重载。多个函数使用一个函数名。编译器根据参数的类型、个数和次序来自动选择应调用哪个函数。使用权函数重载使用权程序更容易理解。不能利用函数返回值的类型来区别重载函数5public 派生。派生类的一种方式。基类的 private 成员即使是 public 派生,在派生类中仍是不可见的。public 派生使基类的非 private 成员的访问属性在派生类中保持不变。public 派生不能省略,缺省的派生方式为 private 派生。四、程序

18、设计题(50%)本题共 50 分。(第 1、2 题各 10 分;第 3 题有 3 小题,每小题 10 分,共计 30 分。)每题评分细则:函数原型正确 3 分(函数返回值类型 1 分,函数参数类型和个数 2 分)。函数总体结构正确 4 分(函数的总体结构指主要的循环结构和选择结构)。其他 3 分(实现的细节)。1#include #include void main(int argc,char * argv)if (argc!=4) exit(1);char c;fstream in1(argv1,ios:in|ios:binary);fstream in2(argv2,ios:in|ios:binary);fstream out(argv3,ios:out|ios:binary);while (!in1.eof()in1.read(out.write(while (!in2.eof()in2.read(out.write(in1.close();in2.close();out.close();

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报