2023年山东广播电视大学开放教育《C++语言程序设计》课程综合练习题

上传人:回**** 文档编号:166369616 上传时间:2022-10-31 格式:DOC 页数:15 大小:46KB
返回 下载 相关 举报
2023年山东广播电视大学开放教育《C++语言程序设计》课程综合练习题_第1页
第1页 / 共15页
2023年山东广播电视大学开放教育《C++语言程序设计》课程综合练习题_第2页
第2页 / 共15页
2023年山东广播电视大学开放教育《C++语言程序设计》课程综合练习题_第3页
第3页 / 共15页
点击查看更多>>
资源描述
山东广播电视大学开放教育C+语言程序设计课程综合练习题一选择题1. 下面的哪一个保存字不能作为函数的返回类型?(C) A. voidB. intC. newD. long2. 假定a为一个数组名,则下面的哪一种表达有错误?(了B) A. aiB. *+aC. *aD. *(a+1) 3. 在下面的二维数组定义中,哪一个是对的的?(D) A. int a5;B. int a(10);C. int a;D. int a5=1,2,3,4,5;4下面的哪一个函数头格式不对的?(B)A. AA(int a, int b)B. AA(int a=0, int b)C. AA(int a=0, int b=0)D. AA(int a, int b=0)5假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为(B)。A.AB operator +(AB& a, AB& b);B.AB operator +(AB& a);C.operator +(AB a);D.AB& operator +();6当需要使用ostrstream流类定义一个流对象并联系一个字符串时,应在文献开始使用#include命令,使之包含(A)文献。A. strstrea.hB. stdlib.hC. iostream.hD. fstream.h 7下列变量名中,( A )是合法的。 A CHINA B byte-size C double D A+a8下列各种函数中,( C )不是类的成员函数。 A 构造函数 B 析构函数 C 友元函数 D 拷贝构造函数9下列( A )是对的的语句。 A ; B a=17 C x+y D coutn10循环while(int i=0) i-;执行次数是( A )。 A 0 B 1 C 5 D 无限11设int f(int);和int g(int);是函数f和g的原形,以下将f作为语句调用的是(B )。A g(f(3); B f(g(3); C g(f(3)+2); D p= f(g(3)1);12设int * p2=&x,* p1=a;p2= *b;则a和b的类型分别是( B )。 A int * 和int B int * 和int * C int 和int * D int * 和int *13设int x;,则通过( C )后,语句*px=0;可将x值置为0。 A int * px; B int const * px=&x; C int * const px=&x; D const int * px=&x;14设void f1(int *m,long &n);int a;long b;则以下调用合法的是( B )。 A f1(a,b); B f1(&a,b); C f1(a,&b); D f1(&a,&b);15以下结构类型可用来构造链表的是( B )。 A struct aa int a;int * b; B struct bb int a;bb * b; C struct cc int * a;cc b; D struct dd int * a;aa b;16使用操作符setw对数据进行格式输出时,需要包含( C )文献。 A iostream.h B fstream.h C iomanip.h D stdlib.h17类型修饰符unsigned修饰( D )类型是错误的。 A char B int C long int D float18下列变量名中,( A )是合法的。 A _var B bye-bye C int D 123_cc19设int a=3,* p=&a;,则*p的值是( D )。 A 变量a的地址值 B 无意义 C 变量p的地址值 D 320设int m=0;,下列表达引用的方法中,( A )是对的的。 A int &x=m; B int &y=10; C int &z; D float &t=&m21循环for(int i=0,x=0;!x&i5的相反表达式为_。 4假定x=5,则执行“a=(x0?10:20);”语句后a的值为_。 5假定一个二维数组的定义为“int a36;”,则该数组所含元素的个数为_.6要在屏幕上显示Hello,world!应执行语句cout_。7表达式8&3的结果是_。8若一全局变量只允许本程序文献中的函数使用,则定义它时应加上修饰符_。9假定p所指对象的值为36,p+l所指对象的值为49,则*+p的值为10假定AB为一个类,则执行ABa8;”语句时,系统自动调用该类构造函数的次数为。11已知A一Z的ASCII码为6590,当执行charch=14*5+2;coutchendl;”语句序列后,得到的输出结果为。12float和double类型的长度分别为和。13假定一个二维数组的定义为“int a36;”,则该数组所含元素的个数为,所占存储空间的字节数为14执行“typedef int ABC20;”语句把ABC定义为具有20个整型元素的 .15假定p所指对象的值为36,p+l所指对象的值为49,则*+p的值为16假定a是一个二维数组,则 aii的指针访问方式为 。17假定要访问一个结构对象x中的由a指针成员所指向的对象,则表达方法为。18对一个类中的数据成员的初始化可以通过构造函数中的实现,也可以通过构造函数中的实现。19当一个类对象离开它的作用域时,系统将自动调用该类的。20假定AB为一个类,则执行ABa8;”语句时,系统自动调用该类构造函数的次数为。 答案:1. n2. +x 3. x+y=54. 205. 186. Hello,world! 7. 0 8. static9. 49 10. 8 11H 124 8 1318 72 14数组类型 15 49 16 *,(ai+”或*(*(a+i)十j) 17 *(x.a) 18初始化表 函数体 19析构函数 20 8三写出下列每一个程序运营后的结果。1#includevoid main() int s1=0, s2=0;for(int i=0; i15; i+) if(i%2) s1+=i;else s2+=i;couts1,s2endl;2#includevoid main() int i=1,s=0;while(s15)s+=i+;couti,sednl;3#includevoid main() int a10=8,19,46,15,6,24,27,18,20,53;int c1=0, c2=0;for(int i=0;i=20) c1+; if(ai=10 & ai=40) c2+;coutc1,c2endl;4#include Int LB(int *a,int n)For(int i=0;in;i+) p*=*a;a+;Return p;Inta5=1,2,3,4,3;CoutLB(a,5)endl;5#includestruct Worker char name15;/姓名int age;/年龄float pay;/工资;void main() Worker x=wangfong,46,1640;Worker y, *p;y=x; p=&x;couage+5 pay-300endl;19. #include void SB(char ch) switch(ch) case A: case a: coutwell !; break; case B: case b coutgood !; break; case C: case c: coutpass ! ; break default: coutbad! ; break; ) coutendl; void main() char a6 =Abcaf for(int i=0; ai; i+) SB(ai); 21. #include void main() int a8= 3,5,7,9,11,13,15,17; int * p=a; for(int i=0;i8;i+) p+=l0; coutsetw(5) * p+; if(i+1 %3= =0 coutendl; 22. # inelude void LF(int& x, int y) x=x+y; y= x+y; coutx=x, y=yendl; void main() int x=5, y=8, coutx=x, y=yendl; LF(x, y); coutx=x, Y=Yendl; 23.# include void main() int x=25,y= 120; coutdec:decsetw(l0) xsetw(l0)yendl; coutoct: octsetw(l0) xsetw(l0)yendl; couthex:hexsetw(10) xsetw(10) ydecx; n-; y+=x; while(n0); return y; 2templatebool WE(Type a, Type b, int n) int c=0;for(int i=0;in;i+)if(ai=bi) c+;if(c=n) return true; return false;3void LK(double a, int n) double s=0; int I,m=0;for(i=0;in;i+) s+=ai;s=s/n;for(i=0;i=s) m+;4. # inelude template Type WD(Type a, int n) Type m= a0 ; for(int i=l;im) re=ai; return m 5. # include include void JD(char* fname)可把以fname所指字符串作为文献标记符的文献称为fname文献,假定该文献保存着一批整数。ifstream fin(fname, ios: :in |ios: :nocreate | ios: :binary)int x, s=O, n=O;while(fin, read(char * ) &x, size of(x) s+=x; n+coutn s float(s)/nendl;fin. close( );6已知6a30,15b36,编一程序求出满足不定方程2a十5b=126的所有整数组解。如(13,20)就是其中的一组解。参考答案1. 求出从键盘上输入的n个实数之和。2.模板函数,判断具有n个元素的两个数组a和b中相应元素值是否所有相等,若是则返回真,否则返回0。3.记录出数组a的前n个元素中大于等于其平均值的元素个数并作为函数值m返回。4模板函数,从数组a的n个元素中求出最大值并返回。5从二进制文献中输入所有整数,计算并显示出所有整数的个数、总和与平均值。6整个程序对的得10分,否则按下面参考程序中语句后的注释给分。 #include void main( ) inta,bi 定义变量对的得2分 for(a=6;a30;a+) 外循环次数对的得2分 for(b15;b36;b+) 内循环次数对的得2分 if(2xa+5,b=126)coul(a,b)endl; 条件对的得2分,输出语句对的得2分 五、编写一个函数,记录出具有n个元素的一维数组中大于等于所有 元素平均值的元素个数并返回它。(12分) int Count(double a,int n);/此为该函数的声明。参考答案: 答案评分标准见参考程序中的注释。 int Count(double a,int n) double m0; int i; for(i0;in;i+) m+ai;/计算出所有元素之和得3分 mm/n; /计算出平均值得1分 int c0; for(i0;i=m) c+; /按条件记录出元素个数得4分 return c;/返回记录结果得2分 2.编写程序,把从键盘上输入的一批整数(以-1作为终止输入的标志)保存到文本文献“a:xxk1.dat”中。(10分)参考答案: 评分标准见参考程序中的注释。 #include /使用此命令得1分 #include void main() ofstream fout(a:xxkl.dat);/定义输出文献流并打开文献得2分 if(! fout) cerr”文献没有打开!”x; while(x!-1) foutxx; /可以从键盘向文献对的输出数据得6分 fout.close();/关闭输出文献流得1分3. 假定一个函数声明为“int FF(int a, int n);”,规定递归求出数组a中所有n个元素之积并返回。 参考答案: 评分标准:根据编程的完整情况酌情给分。 int FF(int a, int n) if(n=1) return an-1; else return an-1 * FF(a,n-1); 4. 编写一个函数,显示出整数形参x的除1和自身之外的所有因数,并返回所有因数的个数。(10分)参考答案:评分标准见参考程序中的注释。 int Func(int x) /函数头对的得2分 int k0; for(int i2;ix/2;i+) if(xi0) couti ; k+; /对的显示并记录出结果得6分 coutendl; return k;/返回记录结果得2分
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!