版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
山东广播电视大学开放教育《C++语言程序设计》课程综合练习题
一.选择题
1.下面的哪一个保存字不能作为函数的返回类型?(
C
)
A.void
B.int
C.new
D.long2.假定a为一个数组名,则下面的哪一种表达有错误?(
了B
)
A.a[i]
B.*++a
C.*a
D.*(a+1)3.在下面的二维数组定义中,哪一个是对的的?(
D
)
A.inta[5][];
B.inta[](10);
C.inta[][];
D.inta[][5]={{1,2,3},{4,5}};4.下面的哪一个函数头格式不对的?(
B
)
A.AA(inta,intb)
B.AA(inta=0,intb)
C.AA(inta=0,intb=0)
D.AA(inta,intb=0)5.假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为(
B
)。
A.
ABoperator+(AB&a,AB&b);
B.
ABoperator+(AB&a);
C.
operator+(ABa);
D.
AB&operator+();
6.当需要使用ostrstream流类定义一个流对象并联系一个字符串时,应在文献开始使用#include命令,使之包含(
A)文献。
A.strstrea.h
B.stdlib.h
C.iostream.h
D.fstream.h7.下列变量名中,(A)是合法的。ACHINABbyte-sizeCdoubleDA+a8.下列各种函数中,(C)不是类的成员函数。A构造函数B析构函数C友元函数D拷贝构造函数9.下列(A)是对的的语句。A;Ba=17Cx+yDcout<<"\n"10.循环while(inti=0)i--;执行次数是(A)。A0B1C5D无限11.设intf(int);和intg(int);是函数f和g的原形,以下将f作为语句调用的是(B)。Ag(f(3));Bf(g(3));Cg(f(3)+2);Dp=f(g(3)+1);12.设int*p2=&x,*p1=a;p2=*b;则a和b的类型分别是(B)。Aint*和intBint*和int**Cint和int*Dint*和int*13.设intx;,则通过(C)后,语句*px=0;可将x值置为0。Aint*px;Bintconst*px=&x;Cint*constpx=&x;Dconstint*px=&x;14.设voidf1(int*m,long&n);inta;longb;则以下调用合法的是(B)。Af1(a,b);Bf1(&a,b);Cf1(a,&b);Df1(&a,&b);15.以下结构类型可用来构造链表的是(B)。Astructaa{inta;int*b;};Bstructbb{inta;bb*b;};Cstructcc{int*a;ccb;};Dstructdd{int*a;aab;};16.使用操作符setw对数据进行格式输出时,需要包含(C)文献。Aiostream.hBfstream.hCiomanip.hDstdlib.h17.类型修饰符unsigned修饰(D)类型是错误的。
AcharBintClongintDfloat18.下列变量名中,(A)是合法的。
A_varBbye-byeCintD123_cc19.设inta=3,*p=&a;,则*p的值是(D)。
A变量a的地址值B无意义C变量p的地址值D320.设intm=0;,下列表达引用的方法中,(A)是对的的。ﻫAint&x=m;Bint&y=10;Cint&z;Dfloat&t=&m21.循环for(inti=0,x=0;!x&&i<=5;i++);的循环体执行次数是(B)。ﻫA5B6C1D无限
22.磁盘文献操作时,在打开磁盘文献的访问方式中,(C)是以追加数据
方式打开文献的。ﻫAinBoutCappDate23.类X中,若没有定义构造函数,则默认的构造函数是(A)。
AX(){}BX(X&x){*this=x;}C~X(){}D不存在24.int*p2=&x,*p1=a;*p2=*b;则变量a和b的类型分别是(D)。ﻫAint和intBint*和intCint和int*Dint*和int*25.设p为指针变量,则以下表达式对的的是(B)。
A--p++B--++pC--(p+5)D(p-5)++26..设voidf1(int&x,char*p);intm;chars[]="c++";以下调用合法的是(C)。Af1(&m,&s);Bf1(&m,s);Cf1(m,s);Df1(m,&s);27
.求一个字符串长度的标准函数为(A)。A.strlen()B.dtrcap()C.Strcat()D.strcmp()28.假定AB为一个类,则执行“ABa(4),b[5],*p[2]:”语句时,自动调用该类构造函数的次数为(A)。A.6B.7C29.设inta=3,*p=&a;,则*p的值是(D)。
A.变量a的地址值B.无意义C.变量p的地址值D.330.使用操作符setw对数据进行格式输出时,需要包含(C)文献。A.iostream.hB.fstream.hC.iomanip.hD.stdlib.h二.填空题1.在c++语言中,用输出控制字符________表达输出一个换行。2.表达式x=x+l表达成增量表达式为____________________。3.关系表达式x+y>5的相反表达式为______________。4.假定x=5,则执行“a=(x<0?10:20);”语句后a的值为________。5.假定一个二维数组的定义为“inta[3][6];”,则该数组所含元素的个数为________.6.要在屏幕上显示"Hello,world!"应执行语句cout<<____________________。7.表达式8&3的结果是__________。8.若一全局变量只允许本程序文献中的函数使用,则定义它时应加上修饰符_______________。9.假定p所指对象的值为36,p+l所指对象的值为49,则*++p的值为——10.假定AB为一个类,则执行"ABa[8];”语句时,系统自动调用该类构造函数的次数为————。11.已知’A’一’Z’的ASCII码为65—90,当执行"charch=14*5+2;cout<<ch<<endl;”语句序列后,得到的输出结果为——。12.float和double类型的长度分别为——和——。13.假定一个二维数组的定义为“inta[3][6];”,则该数组所含元素的个数为——,所占存储空间的字节数为——·14.执行“typedefintABC[20];”语句把ABC定义为具有20个整型元素的———.15.假定p所指对象的值为36,p+l所指对象的值为49,则*++p的值为——16.假定a是一个二维数组,则a[i][i]的指针访问方式为——。17.假定要访问一个结构对象x中的由a指针成员所指向的对象,则表达方法为———。18.对一个类中的数据成员的初始化可以通过构造函数中的——实现,也可以通过构造函数中的——实现。19.当一个类对象离开它的作用域时,系统将自动调用该类的——。20.假定AB为一个类,则执行"ABa[8];”语句时,系统自动调用该类构造函数的次数为————。答案:1.
’\n’
2.++x3.x+y<=5
4.205.18
6."\"Hello,world!\""7.0
8.static9.49
10.811.H12.4813.187214.数组类型15.4916.*,(a[i]+”或*(*(a+i)十j)17.*(x.a)18.初始化表函数体19.析构函数20.8三.写出下列每一个程序运营后的结果。1.#include<iostream.h>
voidmain(){
ints1=0,s2=0;
for(inti=0;i<15;i++)
if(i%2)s1+=i;
elses2+=i;
cout<<s1<<','<<s2<<endl;
}
2.#include<iostream.h>
voidmain(){
inti=1,s=0;
while(s<15)s+=i++;cout<<i<<’,’<<s<<ednl;}3.#include<iostream.h>
voidmain(){
inta[10]={8,19,46,15,6,24,27,18,20,53};
intc1=0,c2=0;
for(inti=0;i<10;i++){
if(a[i]>=20)c1++;
if(a[i]>=10&&a[i]<=40)c2++;
}
cout<<c1<<','<<c2<<endl;
}4.#include<iostream.h>IntLB(int*a,intn)For(inti=0;i<n;i++){p*=*a;a++;}Returnp;
Inta[5]={1,2,3,4,3};Cout<<LB(a,5)<<endl;
}
5.#include<iostream.h>
structWorker{
charname[15];
//姓名
intage;
//年龄
floatpay;
//工资
};
voidmain(){
Workerx={"wangfong",46,1640};
Workery,*p;
y=x;p=&x;
cou<<p->age+5<<’’<<p->pay-300<<endl;
}19.#include<iostream.h>voidSB(charch){switch(ch){case'A':case'a':cout<<"well!";break;case'B':case'b'cout<<"good!";break;case'C':case'c':cout<<"pass!";breakdefault:cout<<"bad!";break;)cout<<endl;}voidmain(){chara[6]="Abcaf'for(inti=0;a[i];i++)SB(a[i]);}21.#include<iomanip.h>voidmain(){inta[8]={3,5,7,9,11,13,15,17};int*p=a;for(inti=0;i<8;i++){p+=l0;cout<<setw(5)<<*p++;if((i+1}%3==0}cout<<endl;}22.#inelude<iomanip,h>voidLF(int&x,inty){x=x+y;y=x+y;cout<<"x="<<x<<",y="<<y<<endl;}voidmain(){intx=5,y=8,cout<<"x="<<x<<'',y="<<y<<endl;LF(x,y);cout<<"x="<<x<<",Y="<<Y<<endl;}23.#include<iomanip,h>voidmain(){intx=25,y=120;cout<<"dec:"<<dec<<setw(l0)<<x<<setw(l0)<<y<<endl;cout<<"oct:"<<oct<<setw(l0)<<x<<setw(l0)<<y<<endl;cout<<"hex:"<<hex<<setw(10)<<x<<setw(10)<<y<<dec<<endl}答案:1.49,56
2.6,5
3.5,6
4.725.51,13406.well!good!pass!well!bad!7.131517192l2325278.x=5,y=8x=13,y=21x=13,y=89.dec:25120Oct:31170hex:1978四.写出下列每个函数的功能
1.doubleFI(doublen){//n为大于等于1的整数doublex,y=0;do{cin>>x;n--;y+=x;}while(n>0);returny;}
2.template<classType>
boolWE(Typea[],Typeb[],intn){
intc=0;
for(inti=0;i<n;i++)
if(a[i]==b[i])c++;
if(c==n)returntrue;returnfalse;
}3.voidLK(doublea[],intn){
doubles=0;
intI,m=0;
for(i=0;i<n;i++)s+=a[i];
s=s/n;
for(i=0;i<n;i++)if(a[i]>=s)m++;
}4.#inelude<iostream,h>template<classType>TypeWD(Typea[],intn){Typem=a[0];for(inti=l;i<n;i++)if(a[i]>m)re=a[i];returnm}5.#include<iomanip,h>include<fstream,h>voidJD(char*fname)//可把以fname所指字符串作为文献标记符的文献称为fname文献,//假定该文献保存着一批整数。
{ifstreamfin(fname,ios::in|ios::nocreate|ios::binary)intx,s=O,n=O;while(fin,read((char*)&x,sizeof(x))){s+=x;n++}cout<<n<<''<<s<<''<<float(s)/n<<endl;fin.close();}6.已知6≤a≤30,15≤b≤36,编一程序求出满足不定方程2a十5b=126的所有整数组解。如(13,20)就是其中的一组解。
参考答案1.求出从键盘上输入的n个实数之和。2.模板函数,判断具有n个元素的两个数组a和b中相应元素值是否所有相等,若是则返回真,否则返回0。3.记录出数组a的前n个元素中大于等于其平均值的元素个数并作为函数值m返回。4.模板函数,从数组a的n个元素中求出最大值并返回。5.从二进制文献中输入所有整数,计算并显示出所有整数的个数、总和与平均值。6.整个程序对的得10分,否则按下面参考程序中语句后的注释给分。#include<iostream.h>voidmain(){inta,bi//定义变量对的得2分for(a=6;a<=30;a++)//外循环次数对的得2分for(b=15;b<=36;b++)//内循环次数对的得2分if(2xa+5,b==126)coul<<’(’<<a<<’,’<<b<<’)’<<endl;//条件对的得2分,输出语句对的得2分}五、编写一个函数,记录出具有n个元素的一维数组中大于等于所有元素平均值的元素个数并返回它。(12分)intCount(doublea[],intn);//此为该函数的声明。参考答案:答案评分标准见参考程序中的注释。intCount(doublea[],intn){doublem=0;inti;for(i=0;i<n;i++)m+=a[i];//计算出所有元素之和得3分m=m/n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 员工技能大赛总结报告
- 宠物智能玩具提高宠物的智力和活力考核试卷
- 健康医疗概述
- 村级工程合同范例
- 2024-2025学年新教材高中化学第七章有机化合物第二节第2课时烃有机高分子材料课时作业含解析新人教版必修2
- 无纺布冰袋采购合同范例
- 油库手续转让合同模板
- 池塘清淤工程合同模板
- 农村住房抵押贷款合同范例
- 牛奶流水线承包合同模板
- 2024年医学高级职称-内科护理(医学高级)考试近5年真题集锦(频考类试题)带答案
- 2024年大学生就业创业知识竞赛题库及答案(共200题)
- 九上道德与法治期中复习提纲(知识梳理)(全册)
- 政府采购调研报告
- GB/T 15822.2-2024无损检测磁粉检测第2部分:检测介质
- 五年级上册小数四则混合运算练习100道及答案
- 2022下半年四川省考公务员考试行测题及解析(三十二)
- 58级14班高考倒计时200天主题班会
- 快乐读书吧《鲁滨逊漂流记》整本书导读课 教学设计-2023-2024学年语文六年级下册统编版
- 2024年新人教版一年级上册数学教学课件 5.7 多角度解决求总数的问题
- 互联网网络安全紧急应急演练方案+演练记录(全版)
评论
0/150
提交评论