20年专升本c考试a卷_第1页
20年专升本c考试a卷_第2页
20年专升本c考试a卷_第3页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、上海电机学院2011年专升本C+程序设计考试试卷A卷一、选择题(每题1分,共25分)1. 编写C+程序一般需经过的几个步骤依次是()。A. 编译、编辑、连接、调试B.编辑、编译、连接、调试C.编译、调试、编辑、连接D.编辑、调试、编辑、连接可用作C+语言用户标识符的一组标识符是()。A. voiddefine+WORDB.a3_b3_1232. 设”inta=12;”,则执行完语句”a+=a*a;”后,a的值是()。A. 12B.144C.156D.288x>0|y=5的相反表达式为()。A. x<=0&&y!=5B.x<=0|y!=5C.x>0|y!=

2、5D.x>0&&y=53. 在下面循环语句中循环体执行的次数为()。for(inti=0;i<n;i+)if(i>n/2)break;A. n/2B.n/2+1C.n/2-1D.n-1switch语句能够改写为()语句。假定一个二维数组的定义语句为“inta34=3,4,2,8,6;”,则元素a21的值为()。A.0B.4C.8D.6函数重载是指()。A. 两个或两个以上的函数取相同的函数名,但形参的个数或类型不同B. 两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同C. 两个以上的函数名字不同,但形参的个数或类型相同D. 两个以上的函数取

3、相同的函数名,并且函数的返回类型相同若用数组名作为函数调用的实参,传递给形参的是()。A.数组的首地址B.数组中第一个元素的值C.数组全部元素的值D.数组元素的个数将两个字符串连接起来组成一个字符串时,选用()函数。A.strlen()B.strcap()C.strcat()D.strcmp()C+语言的编译系统对宏命令的处理是()。A. 在程序运行时进行B. 在程序连接时进行C. 和C+程序的其它语句同时进行编译D. 在对源程序中其它成分正式编译之前进行在下面存储类中,()的对象不是局部变量。A.函数形参B.自动类C.外部静态类D.寄存器类定义p并使p指向动态空间中的包含30个整数的数组所使

4、用的定义语句为()。A.int*p=newint30;B.int*p=newint(30);C.int*p=new30;D.*p=newint30;关于封装,下列说法中不正确的是()。A.通过封装,对象的全部属性和操作结合在一起,形成一个整体B. 通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见)C. 通过封装,每个对象都成为相对独立的实体D. 通过封装,对象的属性都是不可见的假定AA为一个类,a为该类公有的数据成员,x为该类的一个对象,则访问x对象中数据成员a的格式为()。假定AA是一个类,abc是该类的一个成员函数,则参数表中隐含的第一个参数为()。A.abcB.*thisC.thi

5、sD.this&结构中定义的成员默认为()访问属性。假定AB为一个类,则执行ABr仁r2;”语句时将自动调用该类的()。A.无参构造函数B.带参构造函数C.赋值重载函数D.复制构造函数一个类的静态数据成员所表示属性()。A.是类的或对象的属性B.只是对象的属性C.只是类的属性D.类和友元的属性当将一个类A或函数f()说明为另一个类B的友元后,类A或函数f()能够直接访问类B的()。A.只能是公有成员B.只能是保护成员C.只能是除私有成员之外的任何成员D.具有任何权限的成员如果表达式a+b中的“+”是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为()。A.a.operat

6、or+(b)B.b.operator+(a)C.operator+(a,b)D.operator(a+b)从一个基类派生出的各个类的对象之间()。A. 共享所有数据成员,每个对象还包含基类的所有属性B. 共享部分数据成员,每个对象还包含基类的所有属性C.不共享任何数据成员,但每个对象还包含基类的所有属性D.共享部分数据成员和函数成员对于公有继承,基类的公有和保护成员在派生类中将()成员。A.全部变成公有B.全部变成保护C. 全部变成私有D.仍然相应保持为公有和保护C+中的虚基类机制可以保证:()。A. 限定基类只通过一条路径派生出派生类B. 当一个类多次间接从基类派生以后,其基类只被一次继承C

7、. 当一个类多次间接从基类派生以后,派生类对象能保留多份间接基类的成员D. 允许基类通过多条路径派生出派生类,派生类也就能多次继承该基类25. 派生类的对象对其基类中(A.公有继承的私有成员C.公有继承的保护成员26. 派生类的对象对其基类中(A.公有继承的私有成员C.公有继承的保护成员)可直接访问。B.公有继承的公有成员D. 私有继承的公有成员二、填空题(25%)1. 用于从键盘上为变量输入值的标准输入流对象是。2. 程序文件的编译错误分为和类。3. 十进制常数245对应的八进制的C+表示为_0。4. 字符串”sabook.'n”的长度为。12u25. 数学算式axby的C+表达式为

8、。6. 若while循环的“头”为“while(i+<=10)”,并且i的初值为0,同时在循环体中不会修改i的值,则循环体将被重复执行后正常结束。7. strlen(”apple”)的值为,strcmp(”a”,”A”)的值为。8. 在C+语言中,一个函数由函数头和成。9. 全局变量和静态局部变量具有静态生存期,存放在内存的中。10. 假定p所指对象的值为25,p+1所指对象的值为42,则*p+的值为。11. 执行int*p=newint操作得到的一个动态分配的整型对象为_*p。12. 以面向对象方法构造的系统,其基本单位是。13. C+支持两种多态性:寸的多态性和寸的多态性。14. 为

9、了使类中的成员不能被类外的函数通过成员操作符访问,则应把该成员的访问权限定义为。15. 若采用x.abc(y)表达式调用一个成员函数,在成员函数中使用的*this就代表了类外的x对象。16假定AB为一个类,则类定义体中的“AB(AB&);”语句为该类的原型语句。17. 在重载一个单目运算符时,参数表中没有参数,说明该运算符函数只能是类的。18. 派生类的成员函数可以直接访问基类的成员,不能直接访问基类的成员。19. 弓I进虚基类的根本目的是为了消除。20. 设有如下定义:#include<iostream.h>classA1inta1;protected:intb1;pub

10、lic:voidshow1()cout«”classA1”<<endl;classA2:publicA1inta2;protected:intb2;public:voidshow2()cout<<”classA2”<<endl;;voidmain()A1obj1;A2obj2;派生类A2的成员函数show2()中可以访问的成员包括a1、b2、。1. 阅读下面的程序,写出输出结果#include<iostream.h>inta8=6,11,13,4,12,7,16,15;voidmain()ints0,s1,s2;s0=s仁s2=0;fo

11、r(inti=0;i<8;i+)switch(ai%3)case0:s0+=ai;break;case1:s1+=ai;break;case2:s2+=ai;break;coutvvs0vv't'v<s1vv't'vvs2vvendl;阅读下面的程序,写出输出结果#includeviomanip.h>voidfun(int*&a,int&m)a=newintm;int*p=a;for(inti=0;i<m;i+)*p+=i*i+1;voidmain()int*b,n=5;fun(b,n);for(inti=0;i<n

12、;i+)cout<<bi<<''cout«endl;deleteb;2. 阅读下面的程序,写出输出结果文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持.#include<iostream.h>intfun(intn)inta=1;staticintb=1;a=a+1;b=b*n;returna*b;voidmain()inti;for(i=1;i<5;i+)cout<<fun(i)<<endl;3. 阅读下面的程序,写出输出结果#include<iostream.h>classA

13、Aintn;public:AA(inti)n=i;cout<<"调用类AA构造函数n:"<<n<<endl;AA()cout<<"删除类AA"<<endl;classBBintn;public:BB(intj)n=j;cout<<"调用类BB构造函数n:"<<j<<endl;BB()cout<<"删除类BB"<<endl;classCC:publicBB,publicAApublic:CC(int

14、a,intb,intc):AA(a),BB(b),n(c)cout«"调用类CC构造函数n:"<<n<<endl;CC()cout<<"删除类CC"<<endl;private:/派生类的私有对象成员intn;voidmain()CCobj(10,20,30);四改正错误(每题有几处错误,在错误处画线,并写出正确语句。)(每题3分,共9分)1.下列程序是输出设1-100之间素数,并且每行只输出5个数。#include<iostream.h>#include<math.h>v

15、oidmain()inti,j,t,k=0;inta101;for(i=1;i<=100;i+)ai=1;a1=0;i=2;while(i<=100)for(j=i*i;j<=100;j=j+i)aj=0;i+;cout<<"n"for(i=2;i<=100;i+)if(ai=1)cout<<i<<'t'k+;if(k%5=0)cout<<endl;cout<<endl;2定义计数器类Counter。要求具有以下成员:计数器值;可进行增值和减值记数;可提供记数值。#inclu

16、de<iostream.h>classCounterintn;public:Counter(inti=0)n=i;voidinit_Counter(intm)n=m;voidin_Counter()n+;voidde_Counter()n-;intget_Counter()returnn;friendvoidshow(Countert)cout<<t.n<<endl;voidmain()Countera(0);a.in_Counter();a.init_Counter(10);a.show();/show(a)a.de_Counter();cout<&

17、lt;a.get_Counter()<<endl;3.用函数重载运算符,使对整形的运算符+、-适用于整数运算。#include<iostream.h>classFranctionintnume;/定义分子intdeno;/定义分母public:Franction(inta=1,intb=1)nume=a;deno=b;friendFranctionoperator+(constFranction&x1,constFranction&x2)intc,d;c=x1.nume*x2.deno+x2.nume*x1.deno;d=x1.deno*x2.deno;

18、returnFranction(c,d);friendFranctionoperator-(constFranction&x1,constFranction&x2)intc,d;c=x1.nume*x2.deno-x2.nume*x1.deno;d=x1.deno*x2.deno;returnFranction(c,d);voidFranOutput()cout<<nume<<7'<<deno<<endl;voidmain()Franctionc1(1,3),c2(1,4),c3,c4;cout<<"

19、c1="c1.FranOutput();cout<<"c2="c2.FranOutput();c3=c1+c2;cout<<"c1+c2="c3.FranOutput();c4=c1-c2;cout<<"c1-c2="c4.FranOutput();五.程序填空(每空1.5分,共12分)1.求组合数cn值,如%120。n!/(n-m)!*m!#include<iostream.h>_intfun(intn);voidmain()intc,n,m;cin>>n>

20、>m;if(m>n)cout<<"输入数据错误。n"elsec=_fun(n)/(fun(n-m)*fun(m)cout<<"c("<<m<<","<<n<<")二"<<c<<endl;intfun(intn)intp=1;inti;for(i=2;i<=n;i+)return_p;2.从建立的数据文件f1.dat中读入10个整数放在数组中,找出并输出10个数中的最大者和它在数组中的序号。#inelude<fstream>#include<iostream>usingnamespacestd;intmain()inta10,max,i,order;fstreaminfile("f1.dat",_ios:in);if(infile)cerr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论