2021年面向对象程序设计形成性考核册作业二.doc
《2021年面向对象程序设计形成性考核册作业二.doc》由会员分享,可在线阅读,更多相关《2021年面向对象程序设计形成性考核册作业二.doc(13页珍藏版)》请在咨信网上搜索。
面向对象程序设计形成性考核册作业二 一、选取题: 1. 若用数组名作为函数调用实参,传递给形参是( A )。 A. 数组首地址 B. 数组中第一种元素值 C. 数组所有元素值 D. 数组元素个数 2. 采用重载函数目是( D )。 A. 实现共享 B. 减少空间 C. 提高速度 D. 使用以便,提高可读性 3. 下面标记符中,( C )是文献级作用域。 A. 函数形参 B.语句标号 C.外部静态类标记符 D.自动类标记符 4. 当#include背面文献名用双引号括起来时,寻找被包括文献方式是( B )。 A. 直接按系统设定原则方式搜索目录 B. 先在源程序所在目录搜索,再按系统设定原则方式搜索目录 C. 仅仅搜索源程序所在目录 D. 搜索当前逻辑盘上所有目录 5. 在下面存储类中,( A )对象不是局部变量。 A. 外部静态类 B. 自动类 C. 函数形参 D. 寄存器类 6. 预解决命令在程序中都是以( B )符号开头。 A. * B. # C. & D. @ 7. 用new运算符创立一种含10个元素一维整型数组对的语句是( C )。 A. int *p=new a[10]; B. int *p=new float[10]; C. int *p=new int[10]; D. int *p=new int[10]={1,2,3,4,5} 8. 假定变量m定义为“int m=7;”,则定义变量p对的语句为( B )。 A. int p=&m; B. int *p=&m; C. int &p=*m; D. int *p=m; 9. 关于void 指针,下列说法对的是( C )。 A. void 指针就是未指向任何数据指针 B. void 指针就是已定义而未初始化指针 C. 指向任何类型数据指针可直接赋值给一种void 指针 D. void 指针值可直接赋给一种非void 指针 10. 假定p是具备double类型指针变量,则表达式++p使p值(以字节为单位)增长(C )。 A. 1 B. 4 C. sizeof(double) D. sizeof(p) 11. 定义p并使p指向动态空间中包括30个整数数组所使用定义语句为( A )。 A. int *p=new int[30]; B. int *p=new int(30); C. int *p=new [30]; D. *p=new int[30]; 12. 假定有“struct BOOK{char title[40];float price;};BOOK *book=new BOOK;”,则对的语句为(A )。 A. strcpy(book->title,”Wang Tao”); B. strcpy(book.title,”Wang Tao”); C. strcpy(*book.title,”Wang Tao”); D. strcpy((*book)->title,”Wang Tao”); 13. 下列对引用陈述中不对的是( C )。 A. 每一种引用都是其所引用对象别名,因而必要初始化 B. 形式上针对引用操作事实上作用于它所引用对象 C. 一旦定义了引用,一切针对其所引用对象操作只能通过该引用间接进行 D. 不需要单独为引用分派存储空间 14. 假定指针变量p定义为“int *p=new int(100);”,要释放p所指向动态内存,应使用语句( A )。 A. delete p; B. delete *p; C. delete &p; D. delete []p; 15. 关于消息,下列说法中不对的是( B )。 A. 发送消息对象祈求服务,接受消息对象提供服务 B. 消息发送者必要理解消息接受者如何相应消息 C. 在C++中,消息发送详细体现为对接受消息对象某个函数调用 D. 每个对象只能接受某些特定格式消息 16. 软件产品在需求发生变化、运营环境发生变化或发现软件产品自身错误或局限性时进行相应软件更新难易限度叫做软件( A )。 A. 可维护性 B. 可复用性 C. 兼容性 D. 对的性 17. 软件产品精确执行软件需求规格阐明书中所规定任务能力叫做软件( D )。 A. 可维护性 B. 可复用性 C. 兼容性 D. 对的性 二、填空题 1. 作为语句标号使用C++保存字case和defaule只能用于__switch______语句定义体中。 2. 当在程序中执行到__break______语句时,将结束本层循环类语句或switch语句执行。 3.在程序执行完_主(或main)_______函数调用后,将结束整个程序执行过程,返回到C++集成开发窗口。 4. 存储字符’a’和字符串”a”分别需要占用___1_____和____2____个字节。 5. 字符串”a:\\xxk\\数据”长度为__11______。 6. 一种二维字符数组a[10][20]可以存储___10_____个字符串,每个字符串长度至多为___19_____。 7. 若需要把一种字符串”aaa”赋值到字符数组a中,则需要执行__strcpy______函数调用来实现。 8. 如果一种函数只容许同一程序中函数调用,则应在该函数定义前加上__static________C++保存字。 9. 在函数模板参数中,用class修饰参数称为__虚拟类型(或类型)________参数。 10. 如果一种函数定义中使用了____ static ______修饰,则该函数不容许被其他文献中函数调用。 11.调用系统函数时,要先使用#include命令包括该系统函数原型语句所在__ __头文献______。 12. C++程序运营时内存空间可以提成全局数据区,堆区,栈区和__代码区(程序区)________。 13. 若二维数组a有m列,设a[0][0]位于数组第一种位置上,则计算任一元素a[i][j]在数组中位置序号公式为__i*m+j+1(从1开始算起,若从0开始则为:i*m+j)__________。 14. 一种指针类型对象占用内存___4_____个字节存储空间。 15. 假定一种数据对象为int*类型,则指向该对象指针类型为__int**_____。 16.假定p所指对象值为25,p+1所指对象值为42,则*p++值为__25______。 17.假定p所指对象值为25,p+1所指对象值为42,则执行*(p++)或*p++运算后,p所指对象值为__42______。 18. 一种数组数组名事实上是指向该数组___首_____元素指针,并且在任何时候都不容许__修改______它。 三、程序填空: 1. 从键盘上输入一种正整数,然后把它转换成二进制数每一位存储到一维数组中,最后输出该二进制数。注意二进制数存储是按照从低位到高位顺序进行。 #include <iostream.h> void main() { int x; cout<<"输入一种整数:"; cin>>x; int a[20],k=0,r; do { r=x%2; a[k++]=r; x=__(1)___; } while(___(2)___); for(--k;k>=0;k--) ___(3)___; cout<<endl; } (1) x/2 (2) x或x!=0 (3) cout<<a[k] 2. 对按从小到大排列有序数组a[n]进行二分查找x算法,若查找成功返回该元素下标,否则返回-1。 int BinarySearch(int a[],int N,int x) //不增长int N将会提示N未声明 { int low=0,high=N-1; //定义并初始化区间下界和上界变量 int mid; //定义保存中点元素下标变量 while(low<=high) { mid=___(1)___;//假定要找数正好是下界和上界中间 if(x==a[mid]) ___(2)___;//如正好找到这个数就输出其下标 else if(x<a[mid]) high=mid-1;//要找数比中间小则在前半段中找 else ___(3)___;//要找数比中间大则在后半段中找 } return -1;//找不到返回-1 } (1) (low+high)/2 (2) return mid (3) low=mid+1 3. 假定有定义为“struct NODE{int data;NODE* next;};”,下面算法依照table数组中n个元素建立一种表头指针为L链表,链表中结点值顺序与数组元素值顺序正好相反。 void f6(NODE*& L,int table[],int n) { L=NULL; if(n<=0) return; int i=0; NODE* p; while(___(1)___) { p=new NODE; p->data=___(2)___; p->next=L; ___(3)___; i++; } } (1) i<n (2)table[i] (3) L=p 四、写出程序运营成果 1. #include<iostream.h> const int T=6; void main() { int i,j; for(i=1;i<=T;i+=2) for(j=2;j<=T;j+=2) { if(i+j<T) cout<<’+’;//行号与列号之和不大于6输出加号 else cout<<’*’;//行号与列号之和不大于6输出*号 } } 程序运营成果为: ++*+*****Press any key to continue 2. #include<iomanip.h> const int N=3; void main() { int a[N][N]={{7,-5,3},{2,8,-6},{1,-4,-2}}; int b[N][N]={{3,6,-9},{2,-8,3},{5,-2,-7}}; int i,j,c[N][N]; for(i=0;i<N;i++) //计算矩阵C for(j=0;j<N;j++) c[i][j]=a[i][j]+b[i][j]; for(i=0;i<N;i++) { //输出矩阵C for(j=0;j<N;j++) cout<<setw(5)<<c[i][j]; cout<<endl; } } 程序运营成果为: 10 1 -6 4 0 -3 6 -6 -9 Press any key to continue 3. #include<iostream.h> void f2(int& x,int& y) { int z=x;x=y;y=z; } void f3(int* x,int* y) { int z=*x;*x=*y;*y=z; } void main() { int x=10,y=26; cout<<"x,y="<<x<<","<<y<<endl; f2(x,y); cout<<"x,y="<<x<<","<<y<<endl; f3(&x,&y); cout<<"x,y="<<x<<","<<y<<endl; x++;y--; f2(y,x); cout<<"x,y="<<x<<","<<y<<endl; } 程序运营成果为: x,y=10,26 x,y=26,10 x,y=10,26 x,y=25,11 Press any key to continue 五、指出程序或函数功能 1. #include<iostream.h> void main() { int i,p=1,s=0; int N; cout<<"输入一种正整数:"; cin>>N; for(i=1;i<=N;i++) { p*=i; s+=p; } cout<<s<<endl; } 功能为:计算并输出值,其中N值由键盘输入。 2. void fun5(char* a,const char* b) { while(*b) *a++=*b++; *a=0; } 功能为:实现字符串系统函数strcpy功能,把b所指字符串拷贝到a所指字符数组空间中。 六、程序改错,请依照程序段或函数模块功能改写个别地方错误。 1. 下面是一种类定义,存在着3处语法错误,请指出错误行行号并改正。 class CE { //1行 private: //2行 int a,b; //3行 int getmin() {return (a<b?a:b);} //4行 public //5行 int c; //6行 void SetValue(int x1,int x2,int x3) { //7行 a=x1;b=x2;c=x3; //8行 }; //9行 int GetMin(); //10行 }; //11行 int GetMin() { //12行 int d=getmin(); //13行 return (d<c?d:c); //14行 } //16行 错误行行号为__5___、___9____和___12___。 分别改正为___ public:________、____}_____和___ int CE::GetMin(){_____。 七、编程: 1. 按照下面函数原型语句编写一种递归函数计算出数组a中n个元素平方和并返回。 int f(int a[],int n); 编写求平方和函数如下: int f(int a[],int n) { if(n==0) return 0; else return a[n-1]*a[n-1]+f(a,n-1); } 2.按照函数原型语句“void p(int n);”编写一种递归函数显示如下图形,此图形是n=5状况。 1 22 333 444 555 显示如上图形递归函数如下: #include<iostream.h> void p(int n) { if(n!=0) { p(n-1); for(int i=0;i<n;i++) cout<<n; cout<<endl; } } 3. 依照下面类中MaxMin 函数成员原型和注释写出它类外定义。 #include<stdlib.h> #include<iostream.h> class AA { int* a; int n; int MS; public: void InitAA(int aa[],int nn,int ms) { if(nn>ms) {cout<<"Error!"<<endl;exit(1);} MS=ms; n=nn; a=new int[MS]; for(int i=0;i<MS;i++) a[i]=aa[i]; } int MaxMin(int& x,int& y);//从数组a前n个元素中求出 //最大值和最小值,并分别由引用参数x和y带回, //同步若n不不大于0则返回1,否则返回0。 }; 类外定义如下: int AA::MaxMin(int& x,int& y) { int mx,my; mx=my=a[0]; for(int i=1;i<n;i++) { if(a[i]>mx) mx=a[i]; if(a[i]<my) my=a[i]; } x=mx;y=my; if(n>0) return 1;else return 0; }- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2021 面向 对象 程序设计 形成 考核 作业
咨信网温馨提示:
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。
关于本文