2023年山东广播电视大学开放教育C语言程序设计课程综合练习题资料.doc
《2023年山东广播电视大学开放教育C语言程序设计课程综合练习题资料.doc》由会员分享,可在线阅读,更多相关《2023年山东广播电视大学开放教育C语言程序设计课程综合练习题资料.doc(15页珍藏版)》请在咨信网上搜索。
山东广播电视大学开放教育《C++语言程序设计》课程综合练习题 一.选择题 1. 下面的哪一个保存字不能作为函数的返回类型?( C ) A. void B. int C. new D. long 2. 假定a为一个数组名,则下面的哪一种表达有错误?( 了B ) A. a[i] B. *++a C. *a D. *(a+1) 3. 在下面的二维数组定义中,哪一个是对的的?( D ) A. int a[5][]; B. int a[](10); C. int a[][]; D. int a[][5]={{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.h B. stdlib.h C. iostream.h D. fstream.h 7.下列变量名中,( A )是合法的。 A CHINA B byte-size C double D A+a 8.下列各种函数中,( C )不是类的成员函数。 A 构造函数 B 析构函数 C 友元函数 D 拷贝构造函数 9.下列( A )是对的的语句。 A ; B a=17 C x+y D cout<<"\n" 10.循环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.h 17.类型修饰符unsigned修饰( D )类型是错误的。 A char B int C long int D float 18.下列变量名中,( A )是合法的。 A _var B bye-bye C int D 123_cc 19.设int a=3,* p=&a;,则*p的值是( D )。 A 变量a的地址值 B 无意义 C 变量p的地址值 D 3 20.设int m=0;,下列表达引用的方法中,( A )是对的的。 A int &x=m; B int &y=10; C int &z; D float &t=&m 21.循环for(int i=0,x=0;!x&&i<=5;i++);的循环体执行次数是( B )。 A 5 B 6 C 1 D 无限 22.磁盘文献操作时,在打开磁盘文献的访问方式中,( C )是以追加数据 方式打开文献的。 A in B out C app D ate 23.类X中,若没有定义构造函数,则默认的构造函数是( A )。 A X ( ){ } B X (X & x){ *this=x;} C ~X ( ){ } D 不存在 24. int * p2=&x,* p1=a;*p2=*b;则变量a和b的类型分别是( D )。 A int和int B int * 和int C int和int * D int * 和int * 25.设p为指针变量,则以下表达式对的的是( B )。 A --p++ B --++p C --(p+5) D (p-5)++ 26..设void f1(int &x,char * p);int m;char s[ ]="c++";以下调用合法的是( C )。 A f1(&m,&s); B f1(&m,s); C f1(m,s); D f1(m,&s); 27 .求一个字符串长度的标准函数为( A )。 A.strlen() B.dtrcap() C.Strcat() D.strcmp() 28.假定AB为一个类,则执行“ABa(4),b[5],*p[2]:”语句时,自动调用该类构造 函数的次数为( A )。 A.6 B.7 C.9 D.11 29.设int a=3,* p=&a;,则*p的值是( D )。 A.变量a的地址值 B.无意义 C.变量p的地址值 D.3 30.使用操作符setw对数据进行格式输出时,需要包含( C )文献。 A.iostream.h B.fstream.h C.iomanip.h D.stdlib.h 二.填空题 1.在c++语言中,用输出控制字符________表达输出一个换行。 2.表达式x=x+l表达成增量表达式为____________________。 3.关系表达式x+y>5的相反表达式为______________。 4.假定x=5,则执行“a=(x<0?10:20);”语句后a的值为________。 5.假定一个二维数组的定义为“int a[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.假定一个二维数组的定义为“int a[3][6];”,则该数组所含元素的个数为——,所占存储空间的字节数为——· 14.执行“typedef int ABC[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. ++x 3. x+y<=5 4. 20 5. 18 6. "\"Hello,world!\"" 7. 0 8. static 9. 49 10. 8 11.H 12.4 8 13.18 72 14.数组类型 15. 49 16. *,(a[i]+”或*(*(a+i)十j) 17. *(x.a) 18.初始化表 函数体 19.析构函数 20. 8 三.写出下列每一个程序运营后的结果。 1.#include<iostream.h> void main() { int s1=0, s2=0; for(int i=0; i<15; i++) if(i%2) s1+=i; else s2+=i; cout<<s1<<','<<s2<<endl; } 2.#include<iostream.h> void main() { int i=1,s=0; while(s<15)s+=i++; cout<<i<<’,’<<s<<ednl; } 3.#include<iostream.h> void main() { int a[10]={8,19,46,15,6,24,27,18,20,53}; int c1=0, c2=0; for(int i=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> Int LB(int *a,int n) For(int i=0;i<n;i++){ p*=*a;a++; } Return p; Inta[5]={1,2,3,4,3}; Cout<<LB(a,5)<<endl; } 5.#include<iostream.h> struct Worker { char name[15]; //姓名 int age; //年龄 float pay; //工资 }; void main() { Worker x={"wangfong",46,1640}; Worker y, *p; y=x; p=&x; cou<<p->age+5<<’ ’<<p->pay-300<<endl; } 19. #include<iostream.h> void SB(char ch) { switch(ch) { case 'A': case 'a': cout<<"well !"; break; case 'B': case 'b' cout<<"good !"; break; case 'C': case 'c': cout<<"pass ! "; break default: cout<<"bad! "; break; ) cout<<endl; } void main() { char a[6] ="Abcaf' for(int i=0; a[i]; i++) SB(a[i]); } 21. #include<iomanip. h> void main() { int a[8]= {3,5,7,9,11,13,15,17}; int * p=a; for(int i=0;i<8;i++) { p+=l0; cout<<setw(5)<< * p++; if((i+1} %3= =0} cout<<endl; } 22. # inelude<iomanip, h> void LF(int& x, int y) { x=x+y; y= x+y; cout<<"x="<<x<<", y="<<y<<endl; } void main() { int x=5, y=8, cout<<"x="<<x<<'', y="<<y<<endl; LF(x, y); cout<<"x="<<x<<", Y="<<Y<<endl; } 23.# include<iomanip, h> void main() { int x=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.72 5.51,1340 6.well! good! pass! well! bad! 7. 13 15 17 19 2l 23 25 27 8.x=5,y=8 x=13,y=21 x=13,y=8 9.dec: 25 120 Oct: 31 170 hex: 19 78 四.写出下列每个函数的功能 1.double FI(double n) { //n 为大于等于1的整数 double x,y=0; do { cin>>x; n--; y+=x; } while(n>0); return y; } 2.template<class Type> bool WE(Type a[], Type b[], int n) { int c=0; for(int i=0;i<n;i++) if(a[i]==b[i]) c++; if(c==n) return true; return false; } 3.void LK(double a[], int n) { double s=0; int I,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<class Type> Type WD(Type a[], int n) { Type m= a[0] ; for(int i=l;i<n;i++) if(a[i]>m) re=a[i]; return m } 5. # include<iomanip, h> include< fstream, h> 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++ } 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> void main( ) { 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分) int Count(double a[],int n);//此为该函数的声明。 参考答案: 答案评分标准见参考程序中的注释。 int Count(double a[],int n) { double m=0; int i; for(i=0;i<n;i++) m+=a[i];//计算出所有元素之和得3分 m=m/n; //计算出平均值得1分 int c=0; for(i=0;i<n;i++) if(a[i]>=m) c++; //按条件记录出元素个数得4分 return c;//返回记录结果得2分 } 2.编写程序,把从键盘上输入的一批整数(以-1作为终止输入的标志)保存到文本文献“a:xxk1.dat”中。(10分) 参考答案: 评分标准见参考程序中的注释。 #include<fstream.h> //使用此命令得1分 #include<stdlib.h> void main() { ofstream fout("a:xxkl.dat");//定义输出文献流并打开文献得2分 if(! fout) { cerr<<”文献没有打开!”<<endl; exit(1); } //可有可无 int x; cin>>x; while(x!=-1) { fout<<x<<' '; cin>>x; } //可以从键盘向文献对的输出数据得6分 fout.close();//关闭输出文献流得1分 } 3. 假定一个函数声明为“int FF(int a[], int n);”,规定递归求出数组a中所有n个元素之积并返回。 参考答案: 评分标准:根据编程的完整情况酌情给分。 int FF(int a[], int n) { if(n==1) return a[n-1]; else return a[n-1] * FF(a,n-1); } 4. 编写一个函数,显示出整数形参x的除1和自身之外的所有因数,并返回所有因数的个数。(10分) 参考答案:评分标准见参考程序中的注释。 int Func(int x) {//函数头对的得2分 int k=0; for(int i=2;i<=x/2;i++) if(x%i==0) { cout<<i<<' '; k++; } //对的显示并记录出结果得6分 cout<<endl; return k;//返回记录结果得2分 }- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 山东 广播 电视大学 开放 教育 语言程序设计 课程 综合 练习题 资料
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文