中科大软件学院C+考试试卷

合集下载

历年c语言考研试题及答案

历年c语言考研试题及答案

历年c语言考研试题及答案试题:一、单项选择题(每题2分,共10分)1. 下列哪个选项是C语言中的合法标识符?A. 2classB. class#2C. _class2D. class@22. C语言中,一个整型变量的值超过了整型变量的存储范围,该变量的值将如何变化?A. 变成一个随机值B. 变成一个负数C. 变成一个正数D. 变成一个不确定的值3. 在C语言中,以下哪个函数用于将浮点数转换为整数?A. int()B. float()C. double()D. long()4. 下列关于C语言数组的描述中,哪个是错误的?A. 数组的元素在内存中是连续存储的B. 数组的大小在运行时可以改变C. 数组的下标从0开始D. 数组一旦定义,其类型、大小和长度都不能改变5. 在C语言中,以下哪个关键字用于声明一个结构体?A. structB. unionC. enumD. type二、简答题(每题5分,共10分)1. 请简述C语言中指针和数组的区别。

2. 请解释C语言中函数原型的作用。

三、编程题(每题15分,共30分)1. 编写一个C语言函数,实现两个整数的交换。

2. 编写一个C语言程序,输出前100个素数。

答案:一、单项选择题1. C. _class22. D. 变成一个不确定的值3. A. int()4. B. 数组的大小在运行时可以改变5. A. struct二、简答题1. 指针和数组在C语言中都可以用来访问内存中的元素,但它们之间存在一些区别:- 数组名是一个常量指针,它指向数组的第一个元素,而指针是一个变量,可以在程序执行过程中改变其指向的地址。

- 数组的大小是固定的,一旦定义,不能改变;指针则没有这个限制。

- 通过数组名访问数组元素时,使用的是下标索引;而通过指针访问元素时,使用的是指针运算。

2. 函数原型在C语言中的作用包括:- 它提供了函数的名称和参数类型,帮助编译器检查函数调用时的类型匹配。

2023年9月青少年软件编程C语言等级考试试卷一级真题(含答案)

2023年9月青少年软件编程C语言等级考试试卷一级真题(含答案)

2023年9月青少年软件编程C语言等级考试试卷一级(含答案)分数:100 题数:5一、编程题(共5题,共100分)第1题. 日期输出给定两个整数,表示一个日期的月和日。

请按照"MM-DD"的格式输出日期,即如果月和日不到2位时,填补0使得满足2位。

时间限制:10000内存限制:65536输入2个整数m,d(0 < m <= 12, 0 < d <= 31)。

数据保证日期合法。

输出按照题目要求输出日期样例输入7 18样例输出07-18 。

参考答案:。

第2题. 计算(a+b)*(c-b)的值给定3个整数a、b、c,计算表达式(a+b)*(c-b)的值。

时间限制:1000内存限制:65536输入输入仅一行,包括三个整数a、b、c, 数与数之间以一个空格分开。

(-10,000 < a,b,c < 10,000)输出输出一行,即表达式的值样例输入2 3 5样例输出10 。

参考答案:。

第3题. 有一门课不及格的学生给出一名学生的语文和数学成绩,判断他是否恰好有一门课不及格(成绩小于60分)。

时间限制:10000内存限制:65536输入一行,包含两个在0到100之间的整数,分别是该生的语文成绩和数学成绩。

输出若该生恰好有一门课不及格,输出1;否则输出0。

样例输入50 80样例输出1 。

参考答案:。

第4题. 特殊求和如果一个数能够被7整除或者十进制表示中含有数字7,那么我们称这个数为幻数,比如17,21,73是幻数,而6,59不是。

对于给定的N,求出1~N中所有幻数的和。

时间限制:1000内存限制:65536输入一个整数N(1 < N < 10000)。

输出一个整数,表示1~N中所有幻数的和。

样例输入14样例输出21 。

参考答案:。

第5题. 比n小的最大质数对于给定的n,求比n小的质数中最大的一个。

质数是指一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数。

第三届全国软件大赛决赛C本科真题与答案详析

第三届全国软件大赛决赛C本科真题与答案详析

第三届“蓝桥杯”全国软件专业人才设计与创业大赛全国总决赛C/C++程序设计本科组比赛选手须知:●比赛时间为4小时(9:00-13:00)。

●参赛选手切勿在提交的代码中书写“XX”、“考号”,“院校名”等身份信息或其它与竞赛题目无关的内容,否则成绩无效。

●试题包含三种类型:“结果填空”、“代码填空”与“程序设计”,总计100分。

结果填空:5分代码填空:16分程序设计:19+27+33= 79分结果填空题:要求参赛选手根据题目描述直接填写结果。

求解方式不限。

不要求源代码。

把结果填空的答案存入【XX+XX文件夹】下对应题号的“解答.txt”中即可。

代码填空题:要求参赛选手在弄清给定代码工作原理的基础上填写缺失的部分,使得程序逻辑正确、完整。

所填写的代码不超过一条语句(即中间不能出现分号)。

把代码填空的答案(仅填空处的答案,不包括题面已存在的代码)存入【XX+XX文件夹】下对应题号的“解答.txt”中即可。

程序设计题目:要求选手设计的程序对于给定的输入能给出正确的输出结果。

选手的程序只有能运行出正确结果的时候才有机会得分。

注意:在评卷时使用的输入数据与试卷中给出的实例数据可能是不同的。

选手的程序必须是通用的,不能只对试卷中给定的数据有效。

对每个编程题目,要求选手把所有函数写在一个文件中。

调试好后,存入与【XX+XX 文件夹】下对应题号的“解答.txt”中即可。

相关的工程文件不要拷入。

对于编程题目,要求选手给出的解答完全符合ANSI C++标准,不能使用诸如绘图、Win32API、中断调用、硬件操作或与操作系统相关的API。

代码中允许使用STL类库,但不能使用MFC或ATL等非ANSI c++标准的类库。

例如,不能使用CString类型(属于MFC类库)。

1.结果填空(满分5分)题目在【XX+XX文件夹】下对应题号的“题目.rar”中,请先解压该文件。

解压密码以考场公布为准。

把答案存入【XX+XX文件夹】下对应题号的“解答.txt”中即可。

C阶段测试试卷.doc

C阶段测试试卷.doc

江苏科技大学Visual C++阶段测验试卷班级:学号:姓名:答题注意事项:1.所有答案必须写在答题纸上;考试完毕只交答题纸,不交试卷。

2.填写答案时,注意题号;特别是填空题,做到题号、空格号与试题对应,3.编程题,注意书写的规范、工整,字迹(包括标点符号)清楚。

一、选择题(每题2分,计30分)1、下列符号中,能用作VC++标识符的是________ oA^ 5A B、_double C、a$ D、switch2、下列实数表示中不正确的是__________ 。

A、.25B、12E-5.0C、35.D、2.5f3、下列字符表示中正确的是__________ 。

A、'\b'B、“b”C、‘46’D、'\x250'4、下列变量的定义和赋值屮,不正确的是__________ oA、int x,*y=&x;B、int x,*y; y=&x;C、int x,&y=&D、int x,&y=x;5、设有定义“float x=4,y=2;”,则卜•列表达式中,正确的是_______ 。

A、x%yB、x+y=x*yC、x++=y++D、++x=++y6、设有定义“intk二3,j=4;”,则执行表达式“j二5||k+++k++;”后______ 。

A、j的值为4, k的值为4B、j的值为0, k的值为4C、j的值为5, k的值为5D、j的值为1, k的值为37、执行语句“b二(a=2*5,a*4),a+15J之后,b的值是_______ 。

A、10B、25C、40D、608> 执行语句“intk二12;k=l/2*k++;”后,k 的值是_________ 。

A、0B、1C、6D、79、设有定义"char a=100;int b=100;float c=100;double d=100;“,则表达式“a+b+c+d,啲数据类型是 ________ oA、char int C、float D、double10、__________________________________________________________ 设有说明语句“int x=4,y=3;”,则表达式x->++y?x:y的值是___________________ 。

历年计算机二级c考试真题及答案

历年计算机二级c考试真题及答案

历年计算机二级c考试真题及答案一、选择题(每题2分,共10题)1. 在C语言中,下列哪个关键字用于定义函数?A. intB. voidC. returnD. function答案:A2. 若有定义int a=5;,则执行语句a+=a-=a*a;后,变量a的值是多少?A. 0B. -20C. -5D. 25答案:C3. 在C语言中,以下哪个选项是正确的字符串声明?A. char str[] = "Hello";B. char str[6] = "Hello";C. char str[5] = "Hello";D. char str = "Hello";答案:A4. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-nameD. variable_name答案:B5. 在C语言中,哪个函数用于计算并返回字符串的长度?A. strlen()B. strlength()C. length()D. strleng()答案:A6. 若有定义int a=1, b=2;,则执行语句a+=b;后,变量a的值是多少?A. 1B. 2C. 3D. 4答案:C7. 在C语言中,以下哪个选项是正确的二维数组声明?A. int arr[3][2];B. int arr[3,2];C. int arr[][2];D. int arr[3][];答案:A8. 在C语言中,以下哪个选项是正确的字符常量?A. 'a'B. "a"C. 'ab'D. "ab"答案:A9. 在C语言中,以下哪个选项是正确的条件语句?A. if (x > 0)B. if x > 0C. if(x > 0)D. if (x > 0)答案:D10. 在C语言中,以下哪个选项是正确的循环语句?A. for (int i = 0; i < 10; i++)B. for (int i = 0; i <= 10; i++)C. for (int i = 0; i < 10; i++)D. for (i = 0; i < 10; i++)答案:A二、编程题(每题10分,共1题)11. 编写一个C语言程序,计算并输出100以内所有偶数的和。

2023年9月青少年软件编程C语言等级考试试卷二级真题(含答案)

2023年9月青少年软件编程C语言等级考试试卷二级真题(含答案)

2023年9月青少年软件编程C语言等级考试试卷二级(含答案)分数:100题数:5一、编程题(共5题,共100分)第1题.数组指定部分逆序重放将一个数组中的前k项按逆序重新存放,例如,将数组8,6,5,4,1前3项逆序重放得到5,6,8,4,1。

时间限制:1000内存限制:65536输入:有两行,第一行两个整数,以空格分隔,分别为数组元素的个数n(1<n<100)以及指定的k(1<=k<=n)。

第二行是n个整数,每两个整数之间用空格分隔。

输出:只有一行,输出按题目要求逆序后数组的整数,每两个整数之间用空格分隔。

样例输入:5386541样例输出:56841参考答案:#include<bits/stdc++.h>using namespace std;int a[1000],b[1000];int main(){int n,k;cin>>n>>k;for(int i=0;i<n;i++){cin>>a[i];b[i]=a[i];}for(int i=k-1;i>=0;i--){cout<<b[i]<<';';}for(int i=k;i<n;i++){cout<<a[i]<<';';}}第2题.谁考了第k名在一次考试中,每个学生的成绩都不相同,现知道了每个学生的学.号和成绩,求考第k名学生的学.号和成绩。

时间限制:1000内存限制:65536输入:第一行有两个整数,分别是学生的人数n(1≤n≤100),和求第k名学生的k(1≤k≤n)。

其后有n行数据,每行包括一个学.号(整数)和一个成绩(浮点数),中间用一个空格分隔。

输出:输出第k名学生的学.号和成绩,中间用空格分隔。

(注:请用%g输出成绩)。

样例输入:539078800167.89078800290.390788003619078800468.49078800573.9样例输出:9078800468.4参考答案:#include<bits/stdc++.h>using namespace std;int sum(int n){int s=0;while(n>0){s+=n%10;n/=10;}return s;}int main(){int i,j,t,n,a[1000],b[1000];cin>>n;for(i=0;i<n;i++){cin>>a[i];b[i]=sum(a[i]);}for(i=0;i<n-1;i++){for(j=0;j<n-i-1;j++){if((b[j]<b[j+1])||((b[j]==b[j+1])&&(a[j]<a[j+1]))){t=b[j];b[j]=b[j+1];b[j+1]=t;t=a[j];a[j]=a[j+1];a[j+1]=t;}}}for(i=0;i<n;i++){cout<<a[i]<<"";}return0;}第3题.内部元素之和输入一个整数矩阵,计算位于矩阵内部的元素之和。

2013年中国科学院大学计算机软件基础考研试题

2013年中国科学院大学计算机软件基础考研试题

中国科学院中国科学院大学大学大学2013年招收攻读硕士学位研究生入学统一考试试题年招收攻读硕士学位研究生入学统一考试试题科目名称科目名称::计算机软件基础计算机软件基础考生须知考生须知::1.本试卷满分为150分,全部考试时间总计180分钟。

2.所有答案必须写在答题纸上,写在试题纸上或草稿纸上一律无效。

第一部分第一部分::数据结构数据结构((共70分)一、单选单选题题(每题2分,共20分)1. 下列关于数据的逻辑结构的叙述中,不正确的是【 】。

(A) 数据的逻辑结构是数据间关系的描述(B) 线性表是典型的线性结构(C) 数据的逻辑结构分为线性结构和非线性结构(D) 数据的逻辑结构不仅反映数据间的逻辑关系,而且包含其在计算机中的存储方式2. 下列关于数据运算的叙述中,不正确的是【 】。

(A) 数据运算是数据结构的一个重要方面(B) 数据运算的具体实现是在数据的逻辑结构上进行(C) 检索是一种常用的运算(D) 插入是一种常用的运算3. 在包含1000个元素的线性表中实现如下各运算,所需执行时间最长的是【 】。

(A) 线性表按顺序方式存储,删除线性表的第900个结点(B) 线性表按链式方式存储,删除指针P 所指向的结点(C) 线性表按顺序方式存储,在线性表的第100个结点后面插入一个新结点(D) 线性表按链式方式存储,在线性表的第100个结点后面插入一个新结点 科目名称:计算机软件基础 第 1 页 共 7 页4. 设某散列表的当前状态如下:0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 190 75 194 768 559 582 208 该散列表的负载因子约为【】。

(A) 0.37 (B) 0.42 (C) 0.58 (D) 0.735. 设有关键码序列(Q,G,M,Z,A,N,B,P,X,H,Y,S,T,L,K,E),采用堆排序法进行排序,经过初试建堆后关键码值A在序列中的序号是【】。

中科大计算机考研真题

中科大计算机考研真题

中科大计算机考研真题中科大计算机考研是众多计算机科学与技术专业学生追求的目标之一。

在这道真题中,我们将回顾一些历年的考题,并提供一些解析和思路,以帮助考生更好地准备考试。

本文共分为三个主题部分:操作系统、数据库和算法与数据结构。

一、操作系统1. 多道批处理系统是怎样实现作业调度的?请简要描述操作系统的作业调度过程。

解析:多道批处理系统是指一台计算机同时处理多个作业,而不需要人工干预。

作业调度是指操作系统根据一定的算法,决定当前执行哪个作业。

作业调度过程一般包括以下几个步骤:首先,操作系统根据作业的优先级和提交时间等信息,为每个作业分配一个初始的调度优先级。

其次,对于多个处于就绪状态的作业,操作系统根据调度算法,选择一个作业进行执行。

常见的调度算法有先来先服务(FCFS)、短作业优先(SJF)、最高响应比优先(HRRN)等。

最后,当一个作业执行完成或者处于阻塞状态时,操作系统会根据调度算法重新选择一个作业进行执行,直到所有作业完成。

2. 请解释死锁的概念,并说明死锁的产生条件和解决方法。

解析:死锁是指多个进程在竞争有限资源时,由于彼此之间的互斥和请求资源的非预期顺序等原因,导致都在等待对方释放资源,从而导致系统无法继续执行。

死锁的产生条件主要包括:互斥条件:进程对所请求的资源进行排他性控制,即一次只能有一个进程使用该资源。

持有和等待条件:进程已经持有了一个资源,但又请求额外的资源,而这些资源又被其他进程所占有。

不剥夺条件:其他进程不能强行剥夺一个进程已经持有的资源,只能由进程自己释放。

环路等待条件:多个进程之间形成了一个循环等待资源的关系。

死锁的解决方法主要有以下几种:鸵鸟算法:忽略死锁的存在,不进行处理。

适用于死锁发生概率极低的系统。

死锁检测与恢复:通过系统资源分配图等方法,检测死锁的发生,并进行资源回收和进程终止等操作,使系统恢复正常状态。

死锁预防:通过破坏死锁产生的四个条件之一,预防死锁的发生。

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

《面向对象编程技术》试卷注:1)请将答案写在答题纸上,写在试卷上不算分。

答题纸在试卷的最后页。

2)交卷时,试卷和答题纸一起交。

一、单选题 (每小题1.5分,共30分)1. C++中,以下有关构造函数的叙述不正确的是 ______ 。

A. 构造函数名必须和类名一致B. 构造函数在定义对象时自动执行C. 构造函数无任何函数类型D. 在一个类中构造函数有且仅有一个2.以下叙述不正确的是 ______ 。

A. 在类的定义中,通常是成员变量描述对象的属性;用成员函数描述对象的行为B. 类的一个成员只能具有一种访问控制属性C. 构造函数和析构函数是特殊的成员函数,因此不允许重载D. 通过对象只能访问类的公有成员3. 以下关于虚函数的叙述不正确的是 ______ 。

A. 虚函数属于成员函数B. 虚函数不允许说明成静态的C. 凡是虚函数必须用virtual说明D. 虚函数可以被继承4. cout是I0流库预定义的______ 。

A.类 B. 对象 C. 包含文件 D. 常量5.面向对象程序设计中的数据隐藏指的是______ 。

A.输入数据必须输入保密口令 B.数据经过加密处理C. 对象内部数据结构上建有防火墙D.对象内部数据结构的不可访问性6.拷贝(复制)构造函数的作用是______ 。

A.进行数据类型的转换 B.用对象调用成员函数C.用对象初始化对象D.用一般类型的数据初始化对象7. 下列不是描述类的成员函数的是______ 。

A.构造函数B.析构函数C.友元函数D.拷贝构造函数8. 如果类A被说明成类B的友元,则______ 。

A. 类A的成员即类B的成员B. 类B的成员即类A的成员C. 类A的成员函数不得访问类B的成员D. 类B不一定是类A的友元9. 对于任何一个类,析构函数最多有______ 个。

A. 0B. 1C. 2D. n10. 下列特性中,C与C++共有的是______ 。

A.继承B.封装C.多态性D.函数定义不能嵌套11. 在公有继承的情况下,基类公有和保护成员在派生类中的访问权限______ 。

A. 受限制B. 保持不变C. 受保护D. 不受保护12. 通过______ 调用虚函数时,采用动态束定。

A. 对象指针B. 对象名C. 成员名限定D. 派生类名13. C++ 类体系中,不能被派生类继承的有______ 。

A. 成员转换函数B. 构造函数C. 虚函数D. 静态成员函数14. 假定 ab 为一个类,则执行 ab x;语句时将自动调用该类的______ 。

A. 有参构造函数B. 无参构造函数C. 拷贝构造函数D. 赋值构造函数15. 静态成员函数不能说明为______ 。

A. 整型函数B. 浮点函数C. 虚函数D. 字符型函数16. 在 C++ 中,数据封装要解决的问题是______ 。

A. 数据规范化排列B. 数据高速转换C. 避免数据丢失D. 保证数据完整性17.关于友元函数的描述中,错误的是 ________ 。

A. 友元函数不是成员函数B. 友元函数只能访问类中私有成员C. 友元函数破坏隐藏性,尽量少用D. 友元函数说明在类体内,使用关键字friend18. 实现运行时的多态性用______。

A. 重载函数B. 构造函数C. 析构函数D. 虚函数19. 关于 new和new[] 运算符的下列描述中,______ 是错误的。

A.它可以用来动态创建对象和对象数组;B.使用它创建的对象或对象数组可以使用运算符 delete和delete[] 删除;C.使用它创建对象时要调用构造函数;D.使用它创建对象数组时必须指定初始值;20.下列关于虚函数的说明中,正确的是 ______ 。

A.从虚基类继承的函数都是虚函数。

B.虚函数不得是静态成员函数。

C.只能通过指针和引用调用虚函数。

D.抽象类中的成员函数都是虚函数。

二、写出下列程序的运行结果,如您觉得有错,写明出错原因;如你觉得无输出,请明确写出。

(每小题5分,共40分)1.#include <iostream>using namespace std;class A{protected:int a;public:A(int p1) { a=p1; }int inc1(void) { return ++a; } };class B1:public A{protected: int b1;public: B1(int p1,int p2):A(p1) { b1=p2; }int inc1(void) { return A::inc1(); }void display(void) { cout<<"a="<<a<<" b1="<<b1<<"\n"; } };class B2:public A{private: int b2;public: B2(int p1,int p3):A(p1) { b2=p3; }int inc1(void) { A::inc1(); A::inc1(); return A::inc1(); }void display(void) { cout<<"a="<<a<<" b2="<<b2<<"\n"; } };class C:private B1,public B2{private: int c;public: C(int p11,int p12,int p21,int p22,int p):B1(p11,p12),B2(p21,p22) { c=p; }int inc1(void) { return B2::inc1(); }void display(void) { B1::display(); B2::display(); cout<<"c="<<c<<"\n";} }; int main(void){C d(1,2,3,4,5); cout<<"\n"; d.display(); cout<<"\n";d.inc1(); d.display(); return 0; }#include <iostream>using namespace std;template<class T>class Tclass{T x,y;public:Tclass (T a,T b):x(a) { y=b; }Tclass (T a) { y=(T)0, x=a; }void pr( ) { char c; c=(y>=(T)0)? '+':'-';cout<<x<<c<< (y>(T)0 ? y : -y) <<"i"<<endl; } };int main( ){Tclass<double> a(10.5,-5.8); a.pr( );Tclass<int> b(10); b.pr( ); return 0; }3.#include <fstream>#include <iostream>#include <vector>using namespace std;int main (){ vector<vector<int> > datas;Ifstream ifs("test.dat");int m, n;ifs >> m >> n;int i, j;for (i = 0; i < m; i ++) {vector<int> V;for (j = 0; j < n; j ++ ) { int x; ifs>>x; V.push_back(x); } datas.push_back (V); }for (i = 0; i < m; i ++) {for (j = 0 ;j < n; j ++) { cout << datas [i][j]<< " ";}cout << endl; }}文件Test.dat内容如下:3 4 1 2 3 4 5 6 7 8 9 10 11 124.#include <iostream>using namespace std;class CAT{ public: CAT(){ itsAge=new int; *itsAge=5;}~CAT(){ delete itsAge; itsAge=NULL;}int GetAge(){ return *itsAge; }void SetAge(int age) { *itsAge=age; }protected: int *itsAge; };int main(){ CAT a; cout<<"a's age:"<<a.GetAge()<<endl; a.SetAge(6);CAT b(a); cout<<"a's age:"<<a.GetAge()<<endl;cout<<"b's age:"<<b.GetAge()<<endl; a.SetAge(7);cout<<"a's age:"<<a.GetAge()<<endl; cout<<"b's age:"<<b.GetAge()<<endl; }#include <iostream>using namespace std;#include <string>class Base{ private: char msg[30];protected: int n;public: Base(char s[],int m=0):n(m) { strcpy(msg,s); }void output(void) { cout<<n<<endl<<msg<<endl; } };class Derived1:public Base{ private: int n;public: Derived1 (int m=1): Base("Base",m-1) { n=m; } void output(void) { cout<<n<<endl; Base::output();} };class Derived2:public Derived1{ private: int n;public: Derived2(int m=2):Derived1(m-1) { n=m; }void output(void) { cout<<n<<endl; Derived1::output();} };int main(){ Base B("Base Class",1); Derived2 D; B.output(); D.output();}6.#include <iostream>using namespace std;class Rr{ public: Rr(int a){ data=a;}operator int(){ return data;}operator double(){ return double(data);}private: int data; };int main(){ Rr r1(2),r2(4); int x=int(r1)+int(r2);double y=double(r1)/double(r2); cout<<"x="<<x<<",y="<<y<<endl; return 0; }7.#include <iostream>using namespace std;class sz { int intT1;public: sz() { intT1=5;}void Set1(int t) {intT1=t;}int Get1() { return intT1; } };class sz2{ public: sz2() { mszT=new sz(); mszT2=new sz();}sz *f1() { mszT2=new sz(); mszT2->Set1(1); return mszT2; }sz *f2() const { return mszT; }const sz *f3() { return mszT; }const sz *f4() const {return mszT2;}private:sz *mszT;sz *mszT2; };int main(){ sz t; sz2 f;sz *s1=f.f1(); cout<<s1->Get1()<<endl;s1->Set1(10); cout<<s1->Get1()<<endl;s1=f.f2(); cout<<s1->Get1()<<endl;s1->Set1(20); cout<<s1->Get1()<<endl;const sz *s2=f.f3(); t=*s2; cout<<t.Get1()<<endl;s2=f.f1(); t=*s2; cout<<t.Get1()<<endl;sz * const s3=f.f1(); t=*s3; cout<<t.Get1()<<endl;s3->Set1(30); cout<<s3->Get1()<<endl;return 0; }8.#include <iostream>using namespace std;class A { public: virtual void print(int x) {cout <<"A:"<< x << '\t' ;} }; class B:public A { public: virtual void print(float x) {cout <<"B:"<< x << '\t';} }; class C:public A{ public: virtual void print(int x) {cout <<"C:"<< x <<endl;} }; void show(A &a) { a.print(3); }void main( ){ A a; B b; C c;a.print(1);b.print(2);c.print(3);show(a); show(b); show(c); }三、程序填空题(每空2.5分,共25分)1.下面程序定义了一个圆类,其数据成员为圆心坐标和半径,成员函数area()计算圆的面积,应用程序生成两个圆类实例,若是同心圆则计算圆环的面积。

相关文档
最新文档