




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2002年(秋)第二部分 Visual C+程序设计一、选择题用答题卡答题,答案依次填在(21)(30)答题号内21数字式在C+程序中对应的正确表达式是 (21) 。Asqrt(x0? sin(x): sin(x)Bsqrt(fabs(sin(x)Csqrt(sqrt(sinx*sinx)Dfabs(sqrt(sin(x)22设有四个常数:4e0.5、87、0X5A、,其中符合C+语法规则的常量是 (22) 。ABCD23设有说明“int x=1,2,3,4,5, *p=x;”,输出值不是5(数组x的元素个数)的是 (23) 。Acoutsizeof(x)/sizeof(int)n;Bcoutsizeof(x)/sizeof(x0)n;Ccoutsizeof(p)/sizeof(int)n;Dcoutsizeof(x)/sizeof(1)n;24循环语句“for(int x=0, y=0;y!=100|x10);x+;”,执行的循环次数是 (24) 。A无限次B10C11D10025下列数组定义中错误的是 (25) 。Achar s1a;Bchar s26=string;Cstatic int a4=1;Dchar * p=A,B,C;26设有宏定义“# define f(x) (x*2)”,执行语句“coutf(3+4)*S3比较的是 (28) 。A1234和9012B5和3C1和9D5678和345629下列叙述中不正确的是 (29) 。A含纯虚函数的类为抽象类B不能直接由抽象类建立对象C抽象类不能作为派生类的基类D纯虚函数没有其函数的实现部分30以下关于运行时的多态性的叙述中,不正确的是 (30) 。A运行时的多态性要通过虚函数来实现B运行时的多态性要通过指向基类的指针来实现C运行时的多态性是在编译时确定其要执行的函数D运行时的多态性是在执行过程中根据具体被操作的对象来确定要运行的函数二、填空题(请将答案填写在答题纸的相应答题号内,每个答案只占一行) 基本概念题(共5分)1break语句只能用在循环语句和 (1) 语句中。2设有语句“int a=6,b=3; float x=8,y; y=b/a*x/2;”则y的值是 (2) 。3设有语句“char s=Rep0Ch;int m=sizeof(s);”,则m的值是 (3) 。4在C+中,运算符的重载有两种实现方法,一种是通过成员函数来实现,另一种则通过 (4) 来实现。5设有语句“int a=258,b;unsigned char c;b=c=a;”,则b的值是 (5) 。 阅读程序题(共13分)6以下程序输出的第一行是 (6) ,第二行是 (7) 。# include float f(float sum, float x,int n)for(int i=0;in;i+)sum+=xi;return sum/n;void main(void)float x=2,4,6,8,sum=0,y;y=f(sum,x,4);coutsum=sumn;couty=yn;7能下程序输出的第一行是 (8) ,第二行是 (9) 。# include void main(void)int y=122, a8;for(int i=0; y; i+) ai=y%8; y=y/8;for(int j=i1; j=0; j )coutaj;coutend1; couty=yn;8以下程序输出的第一行是 (10) ,第二行是 (11) 。# include int f(void)static int a,b=10,c=1;a+=b;b+=c;return c=a+b;void main(void) coutf()end1;coutf()end1;9以下程序输出的第一行、第三行、第五行分别是 (12) 、 (13) 、 (14) 。# include void fun(int *p, int i)coutpin;if(i7)fun(p,i+2)void main(void)int a10=10,2,5,14,15,8,11,8,19;fun(a, 0);10以下程序输出的第一行是 (15) ,第三行是 (16) 。# include class Apublic:int x;A()x=100;A(int i)x=i;void Show()cout x=xtAA n;class Bpublic:int y;B()y=300;B(int iy=i;void Show()couty=ytBB n;class C: public A, public Bpublic:int y;C(int a, int b, int c):A(a),B(b) y=c;void Show()couty=ytCCn;void main(void)C c1(400,500,600);c1.y=200;c1.Show();c1.AShow(); c1.BShow();11以下程序输出的第一行是 (17) ,第三行是 (18) 。# include class Aint x, n;int mul;public:A(int a, int b) x=a; n=b; mul=1;virtual int power(void)mul=1;for(int i=1;i=n; i+)mul*=x;return mul;void show(void) coutmult;class B: public Aint y, m;int p;public:B(int i, int j, int k, int h): A(i, j) y=k; m=h; p=10;int power(void)p=0;for(int i=1; i=m;i+)p*=y;return p;void show(void)Ashow(); coutpn;void fun(A*f)coutpowr()n;void main()A a(5, 3); B b(2,4,3,3);fun(&a); fun(&b);b.show();完善程序题(共12分)12下面程序的功能是:从输入的一行字符串中求出最长英文单词长度最长单词数,并输出长度和个数,单词之间只能用一个或多个空格隔开。如输入字符串I am a student时,最长单词的长度为7,个数为1。而输入字符串word body book try时,最长单词的长度为4,个数为3,即有三个单词均为最长单词。# include int lenOfLongest( char *s , int &num)int maxlen=0,curlen=0;num=0;for(; (19) ;)while(*s= = ) (20) ; /跳过空格if(*s!=0)while(*s!= &*s) curlen+ ;s+;if(curlenmaxlen) maxlen=curlen; num=1;else if(curlen= =maxlen) (21) ;curlen=0;return (22) ;void main(void)char str25; int number, len;cout输入一个英文句子:;cin.getline(str,256);len=lenOfLongest(str,number);coutstr=strn;cout最长单词长度:lenn最长单词个数:numberendl;13通过重载运算符“+=”,实现多项式类的相加赋值操作。描述一个多项式只要用一个数组依次记录从低次方到高次方的系数,及最高次方数。如多项式x3+3x+12.5,其系数数组为12.5,3,0,1。而多项式15x4x315x+1的系数数组为1,15,0,1,15。两个多项式相加时,依次将同次方幂的系数相加。如以上两个多项式相加后的系数数组为13.5, 12, 0,0,15。# include class polygenunsigned int num; /多项式的最高次方数double * p; /指向多项式的系数数组,系数依次从低次方到高次方public:polygen(unsigned int, double * ); polygen() (23) ; polygen&operator +=(polygen &);void show(void);polygenpolygen(unsigned int n , double * ce)num=n;p=new doublen+1;for(int i=0; i=n;i+) pi= (24) ;polygen & polygenperator +=(polygen &pg)if(numpg.num) /构成同次方的多项式double * pt=p;p=new doublepg.num+1;for(int i=0; i=pg.num; i+)pi=(i0;i )coutpix(i=0)cout+;coutp0endl;void main(void)double c1()=12.5,3,0,1;/多项式x3+3x+12.5的系数数组double c2=1,15,0,1,15;/多项式15x4x315x+1的系数数组polygen pg1(3,c1), pg2(4,c2);pg1+=pg2;pg1.show( );/输出:15x(4)+0x(3)+0x(2)12x(1)+13.5pg2.show( );/输出:15x(4)1x(3)+0x(2)15x(1)+114n个人围成一圈,他们的序号依次为1n,从第一个人开始顺序报数1、2、3、m,报到m者退出圈子,并输出退出圈子的人的序号。接着再顺序报数,直到圈子中留下一个人为止。用一个有n个结点的环形链表模拟围成一圈的人。假定有10个人围成一圈,凡报到5者退出圈子,则退出圈子的人的序号依交为5、10、6、2、9、8、1、4、7,最后留在圈中的人是3号。单向环形链表的结构如下图所示。其中head指向第一个人。# include struct Nodeint x; /围成一圈时,人的序号Node * next;Node * DelNode(Node * head, int m)/依次输出环形链表中凡报到m者的序号Node * p;int count;if(head= =NULL)return (27) ;while(head !=headnext)/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 项目居间协议居间协议合同8篇
- 2025家居电器分销合作合同协议书
- 2025新混凝土工程合同版
- 2025家具买卖合同样本
- 2025合同依据多样化分类标准展现出多样化类型
- 物质的量在化学实验中的应用教案(以核心素养为本的教学设计案例)
- 机械厂仓库规划布局规章
- 2025年商品房与经济适用房买卖合同差异解析
- 湖北事业单位笔试真题2025
- 考试我想和你握握手(说课稿)2025-2026学年初三下学期教育主题班会
- GB/T 29433-2012学生心理健康教育指南
- 农作物品种区域试验站建设实施方案
- 疫情防控 5.1普法教育培训记录表AQ-C1-18
- 有砟轨道施工课件
- ISO9001:2015质量管理体系内审和管理评审全套资料
- 中国的世界文化遗产课件
- 万科企业股份有限公司员工职务行为准则
- 幼儿园教学课件《半条棉被》课件
- 一建市政记忆口诀
- 阀门系数Cv和KV值计算表格(带公式)
- PETS公共英语二级大纲词汇
评论
0/150
提交评论