版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
二、填空题201•卞列程序实现了输入两个整数,比较两个数的人小的功能,请在空格内填写相应的语句使程序正确执行。#iiiclude<iostieam>usingnamespacestd;iiitmaiii(){mtx、y;cout«MEntei-xandy:n;ciii»x»y;if(x!=y)】f(x>y)cout«Mx>yH«endl;elsecout«Mx<yH«endl;elsecout«Mx=yM«endl;}卞列程序实现了输入一个整数,将各位数字反转后输出的功能,请在空格内填写相应的语句使程序正确执行。#include<iostreain>usingnamespacestd;iiitmaiii(){intn.right_digit,newnum=0;cout«nEnterthenumber:n;cm»n;cout«HThenumberinreverseorderisdo{right_digit=n%10;cout«right_digit;n/=10;〃相当于n=iV'10}while(n!=0);cout«endl;}下列程序实现了输入一个8位二进制数,将其转换为十进制数输出。例如:11012=1(23)+1(22)+0(21)+1(20)=1310所以,如果输入1101,则应输出13
的功能,请在空格内填写相应的语句使程序正确执行。^include<iostreain>usingnamespacestd;doublepower(doublex,iiitn);iiitmain(){inti;intvalue=0;charch;cout«HEnteran8bitbinarynumber”;for(i=7;i>=0;i~)ficm»ch;//输入时是一次输入8个字符,运行时是一次//取一个字符if(ch==T)H«value«endl;value+=int(powei(2j));}cout«HH«value«endl;doublepower(doublex、mtn){doublepower(doublex、mtn){doubleval=1.0;while(n—)val*=x;retuin(val);}运行结果:Enteran8bitbiiiaiynumberDecimalvalueis10501101001下列程序实现了在主函数中初始化一个矩阵并将每个元素都输出,然后调用子函数,分别计算每一行的元素之和,将和直接存放在每行的第一个元素中,返回主函数之后输出各行元素的和。的功能,请在空格内填写相应的语句使程序正确执行。#include<iostreain>usingnamespacestd;voidRowSum(intA[][4],mtmow){intsum;for(mti=0;i<mow;i++){sum=0;for(mtj=0;j<4;j++)sum+=A[i][j];cout«HSuniofrowH«i«11is"«sum«endl;A[i][0]=sum;}iiitmain(){intTable[3][4]={{1,2,3,4},{2,3,4,5},{3,4,5,6}};for(mti=0;1<3;i++){for(intj=0;j<4;j++)cout«Table[i][j]«HH;cout«endl;}RowSum(Table,3);for(iiit1=0;i<3;i++)cout«Tablefi][0]}运行结果:TOC\o"1-5"\h\z12 3 43 4 54 5 6Sumofrow0is10Sumofrow1is14Sumofrow2is18下列程序实现了计算川的公式如下:,1⑺=0)“!=(77>0)这是一个递归形式的公式,应该用递归函数实现。#include<iostreain>usingnamespacestd;longfac(mtn){longf;if(n<0)cout«Hn<0.dataerror!"«endl;elseif(n==0)f=l;elsef=fac(n-l)*n;ietuin(f);}iiitmain(){longfac(mtn);iiitn;longy;cout«HEnterapositivemtegei:M;ciii»n;v=fac(n);cout«n«n!=H«v«endl;}运行结果:Enterapositiveinteger:88!=40320的功能,请在空格内填写相应的语句使程序正确执行。卞列程序实现了输入一个年份,判断是否闰年的功能,请在空格内填写相应的语句使程序正确执行。#include<iostreain>usingnamespacestd;iiitmain(){intyear;boolIsLeapYear;cout«HEntertheveai:n;cm»veai;IsLeapYeai-=((year%4=0&&year%100!=0)|(year%400==0));if(IsLeapYear)cout«yeai«HisaleapyeaiM«endl;elsecout«yeai«Hisnotaleapvearn«endl;}卞列程序实现了输入一个整数,求出它的所有因子的功能,请在空格内填写相应的语句使程序正确执行。#include<iostreain>usingnamespacestd;iiitmain(){intak;cout«nEnterapositivemteger:n;cm»n;cout«HNumberH«n«HFactors”;for(k=l;k<=n;k++)if(n%k=0)cout«k«H”;cout«endl:}下列程序实现了寻找并输出11-999之间的数m,它满足m、m2和m3均为回文数。回文:各位数字左右对称的整数。
例如:11满足上述条件,因为:11=11,112=121,113=1331。的功能,请在空格内填写相应的语句使程序正确执行。分析:10取余的方法,从最低位开始,依次取出该数的各位数字。按反序重新构成新的数,比较与原数是否相等,若相等,则原数为回文。#include<iostreain>usingnamespacestd;iiit{boolsynun(longn);longm;foi(m=ll;m<1000;in卄)if(syiiuii(m)&&syiiuu(m*m)&&synmi(m*m*m))cout«Hm=H«m«H«Mm*m*m=H«m*m*m«endl:}boolsynun(longn){运行结果:m=11m*m=121 m*m*m=1331运行结果:m=11m*m=121 m*m*m=1331m=101m*m=10201 1030301m=lllm*m=12321 367631i=n;m=0;while(i){m=m*10+i%]0;i=i/10 ;}ieturn(m=n);}下列程序实现了用数组来处理求Fibonacci数列问题的功能,请在空格内填写相应的语句使程序正确执行。#iiiclude<iostieam>usingnamespacestd;iiit{mti;staticmtf[20]={l,l}y/初始化第0、1个数fbr(i=2;i<20;i++)//求第2〜19个数fbr(i=0;i<20;i++)//输出,每行5个数〃{iqi%5==0)cout«endl;cout.width(12);//设置输出宽度为12cout«f{i];}
K列程序实现了用递归法计算从n个人中选择k个人组成一个委员会的不同组合数的功能,请在空格内填写相应的语句使程序正确执行。#iiiclude<iostieam>usingnamespacestd;iiit{intn.k;mtconun(intn,iiitk);cin»n»k;cout«conun(n,k)«endl;}运行结果:185运行结果:1858568{if(k>n)return0;elseif(n=k||k=0)return1;elsereturnconmi(n-l,k)+coinin(n-Lk-1);}三、简答题30什么是对象?什么是面向对彖方法?这种方法有哪些特点?从一般意义上讲,对彖是现实世界中一个实际存在的爭物,它可以是有形的,也可以是无形的。对象是构成世界的一个独立单位,它具有自己的静态特征和动态特征。面向对彖方法中的对象,是系统中用来描述客观事物的一个实体,它是用来构成系统的一个基本单位,由一组属性和一组行为构成。面向对彖的方法将数据及对数据的操作方法放在一起,作为一个相互依存、不可分离的整体-对象。对同类型对象抽象出其共性,形成类。类中的人多数数据,只能用本类的方法进行处理。类通过一个简单的外部接II,与外界发生关系,对象与对象之间通过消息进行通讯。这样,程序模块间的关系更为简单,程序模块的独立性、数据的安全性就有了良好的保障。通过实现继承与多态性,还町以人大提高程序的可重用性,使得软件的开发和维护都更为方便。面向对彖方法所强调的基本原则,就是直接面对客观存在的事物来进行软件开发,将人们在口常生活中习惯的思维方式和表达方式应用在软件开发中,使软件开发从过分专业化的方法、规则和技巧中回到客观世界,回到人们通常的思维。C++中的函数是什么?什么叫主调函数,什么叫被调函数,二者之间有什么关系?如何调用一个函数?一个较为复杂的系统往往需要划分为若干子系统,高级语言中的子程序就是用来实现这种模块划分的。C和C卄语言中的子程序就体现为函数。调用其它函数的函数被称为主调函数,被其它函数调用的函数称为被调函数。一个函数很町能既调用别的函数又被另外的函数调用,这样它可能在某一个调用与被调用关系中充当主调函数,而在另一个调用与被调用关系中充当被调函数。调用函数之前先要声明函数原型。按如下形式声明:类型标识符被调函数名(含类型说明的形参表);声明了函数原型之后,便口I以按如下形式调用子函数:函数名(实参列表)3什么叫内联函数?它有哪些特点?解:定义时使用关键字uilme的函数叫做内联函数;编译器在编译时在调用处用函数体进行替换,节省了参数传递、控制转移等开销:内联函数体内不能有循环语句和switch语句;内联函数的定义必须出现在内联函数第一次被调用之前;对内联函数不能进行异常接口声明;构造函数和析构函数有什么作用?构造函数的作用就是在对象被创建时利用特定的值构造对象,将对象初始化为一个特定的状态,使此对象具有区别于彼对彖的特征,完成的就是是一个从一般到具体的过程,构造函数在对象创建的时候由系统自动调用。析构函数与构造函数的作用几乎正好相反,它是用来完成对象被删除前的一些清理工作,也就是专门作打尾工作的。一般情况下,析构函数是在对彖的生存期即将结束的时刻由系统自动调用的,它的调用完成之后,对象也就消失了,相应的内存空间也被释放。什么叫做可见性?可见性的一般规则是什么?可见性是标识符是否可以引用的问题;可见性的一般规则是:标识符要声明在前,引用在后,在同一作用域中,不能声明同名的标识符。对于在不同的作用域声明的标识符,遵循的原则是:若有两个或多个具有包含关系的作用域,外层声明的标识符如杲在内层没有声明同名标识符时仍町见,如呆内层声明了同名标识符则外层标识符不可见。面向对象的编程语言有哪些特点?面向对彖的编程语言与以往各种编程语言有根本的不同,它设计的出发点就是为了能更直接的描述客观世界中存在的爭物以及它们之间的关系。面向对彖的编程语言将客观爭物看作具有属性和行为的对彖,通过抽彖找出同一类对象的共同属性(静态特征)和行为(动态特征),形成类。通过类的继承与多态可以很方便地实现代码重用,人人缩短了软件开发周期,并使得软件风格统一。因此,面向对象的编程语言使程序能够比较直接地反问题域的本来面目,软件开发人员能够利用人类认识爭物所采用的一般思维方法来进行软件开发。C++语言是目前应用最广的面向对彖的编程语言。注释有什么作用?C卄中有哪几种注释的方法?他们之间有什么区别?注释在程序中的作用是对程序进行注解和说明,以便于阅读。编译系统在对源程序进行编译时不理会注释部分,因此注释对于程序的功能实现不起任何作用。而且由于编译时忽略注释部分,所以注释内容不会增加最终产生的可执行程序的犬小。适当地使用注释,能够提高程序的可读性。在C卄中,有两种给出注释的方法:一种是延用C语言方法,使用“/*“和”护括起注释文字。另一种方法是使用”〃”,从”〃”开始,直到它所在行的行尾,所有字符都被作为注释处理。比较值调用和引用调用的相同点与不同点。值调用是指当发生函数调用时,给形参分配内存空间,并用实参来初始化形参(直接将实参的值传递给形参)。这一过程是参数值的单向传递过程,一旦形参获得了值便与实参脱离关系,此后无论形参发生了怎样的改变,都不会影响到实参。引用调用将引用作为形参,在执行主调函数中的调用语句时,系统自动用实参来初始化形参。这样形参就成为实参的一个别名,对形参的任何操作也就直接作用于实参。解释public和private的作用,公有类型成员与私有类型成员有些什么区别?公有类型成员用public关键字声明,公有类型定义了类的外部接II:私有类型的成员用private关键字声明,只允许本类的函数成员来访问,而类外部的任何访问都是非法的,这样,私有的成员就整个隐蔽在类中,在类的外部根本就无法看到,实现了访问权限的有效控制。什么叫做静态函数成员?它有何特点?使用static关键字声明的函数成员是静态的,静态函数成员属于整个类,同一个类的所有对象共同维护,为这些对象所共享。静态函数成员具有以卞两个方面的好处,一是由于静态成员函数只能直接访问同一个类的静态数据成员,町以保证不会对该类的其余数据成员造成负面影响;二是同一个类只维护一个静态函数成员的拷贝,节约了系统的开销,提高程序的运行效率。四、编程题编写一个递归函数求满足以下条件的最人的n:I2+22+・・・+n2<1000#include<iostream>usingnamespacestd;intfindn(int,int);intmain(){cout<<"n="«findn(0,0)«endl;return0;}intfindn(intn,ints){intsi,nl;si=s+n*n;if(sl<1000){nl=n+1;findn(nl,si);}elsereturnn"l;}运用函数重载的原理,设计两个求面积的函数:area();//求圆面积,需要传递一个参数area();//求矩形面积,需要传递两个个参数编写主函数,然后自行输入数据进行测试。#include<iostream>usingnamespacestd;constdoublePI=3.1415926;doublearea(floatr)//求圆面枳,需传递一个参数{returnPI*r*r;}doublearea(floatx,floaty)//求矩形面枳,需传递两个参数{returnx*y;}intmainO{floata,b,r;cout«"输入圆半径:cin>>r;cout<<"圆面积:"«area(r)«endl;cout<<"输入矩形的长和宽:";cin>>a>>b;cout<<"矩形面积:"《area(a,b)<<endl;return0;}/*运行结果:输入圆半径:1圆面积:3.14159输入矩形的长和宽:24矩形面积:8定义一个rectangle类,用于计算两个给定长方形的面积,其中在设计类成员函数addarea()(用于计算两个长方形的面积之和),使用rectangle类的对彖作为参数。#include<iosusingnamespacestd;classrectangle{private:doublelength,width;public:rectangle0{};rectangle(doublea,doubleb){
length=a;width=b;voidaddarea(rectanglerl,rectangler2){cout«"总面枳:"«rl.length*rl.width+r2.length*r2.width«endl;}};intmainO{rectangleA(3.5,2.5),B(4.2,3.8),C;C・addarea(A,B);return0;}已知一个三角形中三条边的长度分别为养b和c,编写程序利用公式Js(s一d)(S—b)G—c)求出三角形的面积,其中S二(a+b+c)/2o要求边长a、b、c的值由键盘输入,并确保任意两边的长度之和人于等于第三条边。#include<iostream>#include<cmath>s,area;c,b,c=bs,area;c,b,c=b»c;floata,b,cout«,za,cin>>a>>if(a+b>=c&&b+c>=a&&c+a>=b)s=(a+b+c)=sqrt(s*<<if(a+b>=c&&b+c>=a&&c+a>=b)s=(a+b+c)=sqrt(s*<<z,area=areacout}else/2.0;(s~a)*(s~b)*(s-c));"«area«endl;cout"Itisnotatrilateral!«endl;cout:return0;}生成一个Trigon类表示三角形,三边的长度作为其3个数据成员。编写一个求3个数之和的函数sum(Trigontri) 注意:其函数参数为Trigon类的对■彖,并将它声明为Trigon的一个友元函数。实例化一个对象tril,三边分别为3、4、5o利用Sum()求出该三角形的周长。定义Trigon类,包含3个数据成员a、b和c分别表示三角形三边的长度,数据类型为float,并将函数sum()声明为其友元函数。程序执行结果为:边长为3、4、5的三角形的周长为:12#include<iostrEam>usingnamespacestd;classTrigon{private:floata,b,c;public:Trigon(floatx,floaty,floatz){a=x;b=y;c=z;}friendfloatsum(Trigontri); //声明友元函数};//编写函数sum()floatsum(Trigontri){returntri・a+tri.b+tri.c;}//实例化一个三角形对彖,其三边长度为3、>1和5,利用函数sum()求其周长intmainO{Trigontril(3,4,5);cout<<"边长为3、4、5的三角形的周长为:"«sum(tri1)«endl;retur
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 常压储罐管理制度
- 输液泵注射泵应急预案及程序
- 配电室操作管理制度培训课件
- 2025《陈涉世家》中陈胜吴广起义的历史必然性课件
- 2025《祝福》环境描写课件
- 2026年跨境电商交易纠纷合同协议
- 2026年广东生态工程职业学院单招职业倾向性测试题库及答案详解(历年真题)
- 2026年广西农业工程职业技术学院单招职业倾向性测试题库含答案详解(模拟题)
- 2026年广东省汕头市单招职业倾向性测试题库带答案详解(培优a卷)
- 2026年嵩山少林武术职业学院单招职业适应性考试题库含答案详解(精练)
- 片区业务承包制度
- 2025年第一批广西广投临港工业有限公司社会招聘35人笔试参考题库附带答案详解
- 2026杭州市临安区机关事业单位编外招聘56人考试参考试题及答案解析
- 2026年六安职业技术学院单招职业适应性考试题库带答案详解(巩固)
- 2026年春苏科版(新教材)小学劳动技术四年级下册教学计划及进度表
- 2026年佳木斯职业学院单招职业技能测试题库附答案详解(黄金题型)
- 护理案例比赛分析
- 2026年全国普通话水平测试10套真题(含答案及评分要点)
- 纺织服装行业2025年信用回顾与2026年展望-
- 2025年12月青少年机器人技术等级考试理论综合试卷四级真题(含答案)
- 2026年南京信息职业技术学院单招职业技能测试题库带答案详解(满分必刷)
评论
0/150
提交评论