


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、选择和填空:
C++程序设计模拟试题C++程序的基本单位是( )程序行 B.语句 C.函数 D.字符有变量均为整型.则表达式(a=4,b=6,a++,a+b)的值是 下列程序段运行后x的值是: a=b=c=0;x=35;if(!a) x--;else if (b);if(c) else x=5;若有定义:floatw;inta,b;则合法的switch语句是switch(w){case1.0:cout<<"*\\n";case2.0:cout<<"**\\n";}switch(a);{case1cout<<"*\\n";case2cout<<"**\\n";}switch(b){case1: default: cout<<"\\n";case1:cout<<"**\\n";}switch(a+b){case1: cout<<"*\\n";case2: cout<<"**\\n";default:cout<<"\\n";}有以下程序int k=0;while(k=1) k++;while 循环执行的次数是无限次 B.有语法错,不能执行C.一次也不执行 D.执行1次下面程序的输出结果是: voidmain(){ inty=9;for(;y>0;y--){if(y%3==0){cout<<--y;continue;}}}关于内嵌函数,以下说法正确的是:SWITCH结构.内嵌函数可以在调用之后定义,只要在调用前声明即可.使用内嵌函数可节省函数调用与返回时的开销,能够提高程序的运行速度D.内嵌函数可长可短.下列程序的输出结果是: intrfact(intn){ int c;if(n==1) c=1;else return(c);}voidmain(){cout<<rfact(5);}以下程序的输出的结果是: intx=3;voidincre({ static int x++;cout<<x;}voidmain(){ inti;for(i=1;i<=x;i++)incre();}请选出以下程序的输出结果: #defineMIN(x,y) (x)<(y)?voidmain(){ inti,j,k;i=10;j=15;k=10*MIN(i,j);cout<<k;}若有下面的说明和定义,则sizeof(ua)和sizeof(aa)的值分别是 struct aa{ short r1;double r2;float union uu{ charu1[5];longu2[2];}ua;}mya;合法的数组定义是A. int a[]=”string” B. inta[5]={0,1,2,3,4,5}C. chara=”string” D. chara[]={0,1,2,3,,4,5}若有以下说明:intw[3][4]={{0,1},{2,4},{5,8}};int(*p)[4]=w;则数值为4的表达式是A. *w[1]+1 B. p++,*(p+1) C.w[2][2] D. P[1][1]设有说明语句int(*ptr)[m]; 其中的标识符ptr是A.m个指向整型变量的指针m个整型变量的函数指针m个整型元素的一维数组的指针m个指针元素的一维指针数组,每个元素都只能指向整型变量若有以下说明:inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为6的表达式是A. *p+6 B. *(p+6) C. *p+=5 D. P+5有如下程序#include<iostream.h>voidmain(){charch[2][5]={“6937”,“8254”},*p[2];inti,j,s=0;for(i=0;i<2;i++) for(i=0;i<2;i++)for(j=0;p[i][j]>‟\0‟;j+=2)s=10*s+p[i][j]-„0‟;cout<<s<<endl;}该程序的输出结果是 下面程序的输出是#include<iostream.h>sub1(chara,charb){charc;c=a;a=b;b=c;}sub2(char*a,charb){charc;c=*a;*a=b;b=c;}sub3(char*a,char*b){charc;c=*a;*a=*b;*b=c;}voidmain(){chara,b;a=A;b=B;sub3(&a,&b);cout<<a<<b;a=A;b=B;sub2(&a,b);cout<<a<<b;a=A;b=B;sub1(a,b);cout<<a<<b;}A.BABBABB.ABBBBAC.BABABAD.BAABBAstructsk{inta;floatb;}data,*p;p=&data,dataa成员的正确引用是(*P).data B.(*p).a C.p->data.a D. p.data以下程序的输出结果是 #include<iostream.h>fun(intn,int*s){intf1,f2;if(n==1||n==2)*s=1;else{fun(n-1,&f1);fun(n-2,&f2);*s=f1+f2; }}voidmain(){intx; cout<<x<<endl;}以下程序的输出结果是 #include<iostream.h>main(){char*s="12134211";intv[4]={0,0,0,0},k,i;for(k=0;s[k];k++){switch(s[k]){ case'1':i=0;case'2':i=1;case'3':i=2;case'4':i=3;}v[i]++;}for(k=0;k<4;k++)cout<<v[k];}在c++类中,一个保护成员是通过关键字 加以说明A.virtual B.protectedC.public D.protect每个类()构造函数。B.只可有公有的C.可以有多个D.只可有缺省的假定一个类的构造函数为A(intaa,intbb){a=aa--;b=a*bb--;},则执A x(8,9);语句后,x.a和x.b的值分别为 类的释放函数是在什么时间被自动调用的?类创建时 B.创建对象时C.删除对象时D.不自动调用若派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的()A.私有成员B.公有成员C.保护成员D.保护成员或私有成员在C++中,对于基类的public成员,当以protected方式派生一个新类时,成员将成为派生类的 成员。private B.protected C.public D.非法C++C语言作了很多改进,即从面向过程变成为面向对象的主要原因是A.增加了一些新的运算符C.规定函数说明符必须用原型D.引进了类和对象的概念继承机制的作用是信息隐藏 B.数据封装 C.定义新类D.数据抽象下列哪一个不是类的特性()多态性 B.继承性 C.封装性 D.虚拟性30若类Y是类X的友元类,则下列哪种访问关系是正确的YX的私有成员YX的私有成员XY的私有成员XY的私有成员31、在每个C++程序中都必须包含有这样一个函数,该函数是整个应用程序的口,该函数的函数名为 。32、设x和y均为bool量,则x&&y为假的条件是 。A.它们均为真C.它们均为假
B.其中一个为真D.其中一个为假33、下面的哪个保留字不能作为函数的返回类型? 。A.void B.int C.new D.long34、假定a为一个整型数组名,则元素a[4]的字节地址为 A.a+4 B.a+8 C.a+16 D.a+3235、C++语言是从早期的C语言逐渐发展演变而来的。与C语言相比,它在求问题方法上进行的最大改进是 。A.面向过程 B.面向对象 C.安全性D.复用性36C++语言的跳转语句中对于break和continue说法正确的是 。breakcontinuebreakcontinuebreakcontinue37、for(intx=0,y=0;!x&&y<=5;y++)语句执行循环的次数是 。38、以下关键字中,C++用来输出信息的是 。A.cin B.cout C.print D.write39、下面有关重载函数的说法中正确的是 A.重载函数必须具有不同的返回值类型;B.重载函数形参个数必须不同;C.重载函数必须有不同的形参列表;D.重载函数名可以不同;40、下列关于构造函数的描述中,错误的是 A.构造函数可以设置默认参数B.构造函数在定义类对象时自动执行C.构造函数可以是内联函数D.构造函数不可以重载41、下面描述中,表达错误的是 。A.公有继承时基类中的public成员在派生类中仍是public的B.公有继承是基类中的private成员在派生类中仍是private的C.公有继承时基类中的protected成员在派生类中仍是protectedD.私有继承时基类中的public成员在派生类中是private的42、inta=5;intb=a++;则执行以上两条语句后,a,b的值分别为 。43、计算071^052,结果为 。44、以下是函数缺省形参值的声明,正确的是 。A.intadd(intx,inty=5,intz=6);B.intadd(intx=1,inty=5,intz);C.intadd(intx=1,inty,intz=6);D.intadd(intx=1,inty,intz);45、执行以下程序段后,变量c的值为 inta=2;intb=5;intc=b/a;46、执行以下语句后,变量a的值为 inta=9;int*p=&a;*p++;47、假定有以下变量定义:intk=8,x=21;则能使x的值为5的表达式是 A.x%=(k%=5) B.x%=(k-k%5)C.(x%=k)-(k%=5) D.x%=k-k%548、判断字符型变量ch是否为大写英文字母,应使用表达式 。A.ch>='A'&ch<='Z' B.ch<='A'||ch>='Z'C.'A'<=ch<='Z' D.ch>='A'&&ch<='Z'49、已知下列语句中的x和y都是int型变量,其中错误的语句 。A.x=y++; B.x=++y; C.(x+y)++; D.++x=y;50、执行语句序列intn;cin>>n;switch(n){ case1:case2:cout<<'1';case3:case4:cout<<'2';break;default:cout<<'3';}时,若键盘输入1,则屏幕显示 。C++变量名?A. x+y B. _xyz C. 8xyz D. αβγxzkint型变量,则执行表达式:x=(y=7,z=14,k=21)后,x的值为 。53.有如下程序voidmain(){float if(x<0.0)y=0.0;else
if(x<10.0)y=1.0/x;elsey=1.0;cout<<y;}该程序的输出结果是 。voidmain(){intx=1,a=0,b=0;switch(x){case0: b++;case1: a++;case2: a++;b++;}cout<<a<<”,”<<b;}该程序的输出结果是 。下列程序运行的结果是: 。voidmain(){ int x=10,y=10,i;for (i=0;x>8;y=++i)cout<<x--<<“”<<y<<“ ”;}以下程序中,while循环的循环次数是voidmain(){ int i=0;while(i<10){ if(i<1) if(i==5) break;i++;}}1 B. 10 C. 6 D.死循环,不能确定次数关于内嵌函数,以下说法错误的是:使用内嵌函数可节省函数调用与返回时的开销,能够提高程序的运行速度B.内嵌函数必须在调用之前定义.C.内嵌函数中可以存在循环结构.D.内嵌函数必须是短小的.以下程序的执行结果是: 。int fun(intn){ints;if(n==1||n==2)s=2;elses=n-fun(n-1);returns;}voidmain(){cout<<fun(3);}下列程序的输出结果是:intx=10;intfun ( int x){ static int a=3;a+=x;return(a);}voidmain(){ int n=fun(x);cout<<n<<”,”;n=fun(x);cout<<n; 60.下列程序执行后的输出结果是 。#define MA(x)void main(){ inta=1,b=2,c;c=MA(1+a+b);cout<<c;}61若有下面的说明和定义,则sizeof(struct aa)的值是 struct aa{ short r1;double r2;float union uu{ charu1[5];longu2[2];}ua;}mya;给出以下定义:charx[]=”abcdefgh”;chary[]={„a‟,‟b‟,‟c‟,‟d‟,‟e‟,‟f‟,‟g‟,‟h‟};则正确的叙述为A.数组x和数组y等价 B.数组x和数组y的长度相同C.数组x的长度大于数组y的长度D.数组x的长度小于数组y的长度以下程序的输出结果是 。#include<iostream.h>main(){inti,x[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++) cout<<x[i][2-i]<<”,”;}64以下程序执行后,a的值是 。main(){inta,k=4,m=6,*p1=&k,*p2=&m;a=p1==&m;cout<<a<<endl;}65.若有以下定义:chars[20]=”programming”,*ps=s;则不能代表字符o的表达式是A. ps+2 B. s[2] C. ps[2] D.ps+=2,*ps66有以下程序#include<iostream.h>voidmain(){chara[]=”programming”,b[]=”language”;char*p1,*p2;inti;p1=a; p2=b;for(i=0;i<7;i++)if(*(p1+i)==*(p2+i)) cout<<*(p1+i);}输出结果是 。以下程序的输出结果是:#include<iostream.h>main(){ charch[3][4]={“123”,“456”,“78”},*p[3];inti;for(i=0;i<3;i++)p[i]=ch[i];for(i=0;i<3;i++)cout<<p[i];}有以下程序#include<iostream.h>intfun(intx,inty,int*cp,int*dp){ *cp=x+y; *dp=x-y;voidmain(){ inta,b,c,a=30;b=50;fun(a,b,&c,&d);cout<<c<<”,”<<d<<endl;}输出结果是 。以下程序的输出结果是 。#include<string.h>main(){ char*a=“abcdefghi”; intk;fun(a); cout<<a;}fun(char*s){ intx,y; charc;for(x=0,y=strlen(s)-1;x<y;x++)//strlen()函数返回参数字符串的实际长度{ c=s[y]; s[y]=s[x];s[x]=c;}}下面程序的输出是 。#include<iostream.h>sub1(chara,charb){charc;c=a;a=b;b=c;}sub2(char*a,charb){charc;c=*a;*a=b;b=c;}voidmain(){chara,b;a=‟A‟;b=‟B‟;sub2(&a,b);cout<<a<<b;a=‟A‟;b=‟B‟;sub1(a,b);cout<<a<<b;}71一个类的构造函数。A.可以有不同的返回类型B.只能返回整型C.只能返回void型D.没有任何返回类型72引入友元的主要目的是为了。A.增强数据安全性B.提高程序的可靠性C.提高程序的效率和灵活性D.保证类的封装性73c++中,一个虚函数是通过关键字放在其基类说明的前面来加以说明。virtual B. protected C. operator D.this对基类和派生类的关系描述中,错误的是()派生类是基类的具体化 B. 基类继承了派生类的属性C. 派生类是基类定义的延续 D. 派生类是基类的特殊化在派生关系中,()。构造函数和释放函数是不能继承的构造函数可以继承,但释放函数不可以继承构造函数不可以继承,但释放函数可以继承构造函数和释放函数都能继承类的构造函数被自动调用执行的情况是在定义该类的()成员函数时B.数据成员时C.对象时 D.友元函数时假定一个类的构造函数A(intaa,intbb){a=aa;b=a*bb;},则执行A x(4,5);语后,x.a和x.b的值分别。78.ABABx;语句时将自动调用该类的A.有参构造函数B.无参构造函数C.拷贝构造函数D.赋值重载函数下列不能作为类的成员的是()A.自身类对象的指针 B.自身类对象C.另一个类对象的指针D.另一个类的对象在32位系统中,类的定义如下,试问类B的对象占据内存多少字节? 。classA{intb;protected:inta;public:A(intn){a=n;}};classB:publicA{intc;};C++语言中的每条基本语句以 作为结束符,每条复合语句以 作为结束符。82、执行“cout <<char('C'+6)<<endl;”语句后得到的输出结果为 _。83、假定一个一维数组的定义为“char *a[10];”,则该数组所含元素的数为 ,所占存储空间的字节数为 。84、变量分为全局和局部两种, 变量没有赋初值时,其值是不确的。85、假定a是一个二维数组,则a[i][j]的指针访问方式为 。86、假定一个结构类型定义为“struct D{int a; union{int b;uble c;};D *d[2];};”,则该类型的大小为 字节。87对一个类中的数据成员的初始化可以通过类中的 函数实现而释一个类对象之前自动调用的为 函数。88、字符串以 为结束标志。二、给出下列程序运行后的输出结果1、#include<iostream.h>voidSB(charch){switch(ch){case'A':case'a':cout<<"well!";case'B':case'b':cout<<"good!";case'C':case'c':cout<<"pass!";break;default:cout<<"nad!";break;}}voidmain(){chara1='b',a2='C',a3='f';SB(a1);SB(a2);SB(a3);SB('A');cout<<endl;}2、#include<iostream.h>#include<string.h>voidmain(){char*a[5]={"student","worker","cadre","soldier","peasant"};char*p1,*p2;p1=p2=a[0];for(inti=0;i<5;i++){if(strcmp(a[i],p1)>0)p1=a[i];if(strcmp(a[i],p2)<0)p2=a[i];}cout<<p1<<''<<p2<<endl;}3、#include<iostream.h>inta=5;voidmain(){inta=10,b=20;cout<<a<<''<<b<<endl;{ inta=0,b=0;for(inti=1;i<6;i++){a+=i;b+=a;}cout<<a<<''<<b<<''<<::a<<endl;}cout<<a<<''<<b<<endl;}4、#include<iomanip.h>intLB(int*a,intn){ints=1;for(inti=0;i<n;i++)s*=*a++;returns;}voidmain(){inta[]={1,2,3,4,5,6,7,8};intb=LB(a,5)+LB(&a[3],3);cout<<"b="<<b<<endl;}5、#include<iostream.h>#include<string.h>structWorker{charname[15]; //姓名intage; //年龄floatpay; //工资};voidmain(){Workerx;char*t="liouting";intd=38;floatstrcpy(,t);x.age=d;x.pay=f;cout<<<<''<<x.age<<''<<x.pay<<endl;}6、#include<iostream.h>classA{inta;public:A(intaa=0){a=aa;}~A(){cout<<"DestructorA!"<<a<<endl;}};classB:publicA{intb;public:B(intaa=0,intbb=0):A(aa){b=bb;}~B(){cout<<"DestructorB!"<<b<<endl;}};voidmain(){Bx(5),y(6,7);//后定义的变量将先被释放}7.#include<iostream.h>classsample{public:sample();sample(int);~sample();voiddisplay();protected:intx;};sample::sample(){x=0;cout<<”constructingnormally\n”;}sample::sample(intm){x=m;cout<<”constructingwithanumber:”<<x<<endl;}sample::~sample(){cout<<”destructing\n”;}voidsample::display(){cout<<”displaya
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 沧州交通学院《中医护理学基础实训》2023-2024学年第二学期期末试卷
- 浙江省温州市十五校联合体2025年招生全国统一考试5月调研测试卷(三调)化学试题含解析
- 教育政策法规知识
- 写幕墙施工方案
- 湖南省2025届普通高中名校联考信息卷(模拟一)生物试题(含答案)
- 培训班万圣节活动
- 房屋建筑学知识点
- 陕西省卫生健康系统事业单位招聘(中药)历年考试真题库-含答案解析
- 2024-2025学年下学期高一英语外研社版同步经典题精练之名词词义辨析
- 2024年10月份粉尘环境作业认知功能监测与爆燃事故预警指标库
- 工程质量目标质量管理体系及技术组织措施
- 部编版小学一年级下册写字表田字格版字帖
- 中国风古人读书教学课件PPT模板
- GB∕T 36665-2018 船舶和海上技术 船舶系泊和拖带设备十字带缆桩
- GB∕T 22517.6-2020 体育场地使用要求及检验方法 第6部分:田径场地
- 软件代码审查报告
- 箱梁预制场建设施工危险源辨识及风险分析
- 护士礼仪行为规范-ppt课件
- 家禽解剖PPT课件
- 《小儿垂钓》ppt
- 现代操作系统教程(慕课版)-课后习题答案1-8章全带原题
评论
0/150
提交评论