




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象程序设计形成性考核册作业二一、选择题: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 a10; B. int *p=new float10; C. int *p=new int10; D. int *p=new int10=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 int30; B. int *p=new int(30); C. int *p=new 30; D. *p=new int30; 12. 假定有“struct BOOKchar title40; 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. 一个二维字符数组a1020能够存储_10_个字符串,每个字符串的长度至多为_19_。 7. 若需要把一个字符串”aaa”赋值到字符数组a中,则需要执行_strcpy_函数的调用来实现。 8. 如果一个函数只允许同一程序中的函数调用,则应在该函数定义前加上_static_C+保留字。 9. 在函数模板的参数中,用class修饰的参数称为_虚拟类型(或类型)_参数。 10. 如果一个函数定义中使用了_ static _修饰,则该函数不允许被其它文件中的函数调用。 11调用系统函数时,要先使用#include命令包含该系统函数的原型语句所在的_ _头文件_。 12. C+程序运行时的内存空间可以分成全局数据区,堆区,栈区和_代码区(程序区)_。 13. 若二维数组a有m列,设a00位于数组的第一个位置上,则计算任一元素aij在数组中位置序号的公式为_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 void main() int x; coutx; int a20,k=0,r; do r=x%2; ak+=r; x=_(1)_; while(_(2)_); for(-k;k=0;k-) _(3)_; coutendl; (1) x/2 (2) x或x!=0 (3) coutak 2. 对按从小到大排列的有序数组an进行二分查找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=amid) _(2)_;/如正好找到这个数就输出其下标 else if(xamid) high=mid-1;/要找的数比中间的小则在前半段中找 else _(3)_; /要找的数比中间的大则在后半段中找 return -1;/找不到返回-1 (1) (low+high)/2 (2) return mid (3) low=mid+1 3. 假定有定义为“struct NODEint data; NODE* next;”,下面算法根据table数组中的n个元素建立一个表头指针为L的链表,链表中结点值的顺序与数组元素值的顺序正好相反。void f6(NODE*& L, int table, int n) L=NULL;if(ndata=_(2)_;p-next=L;_(3)_;i+;(1) in (2)tablei (3) L=p四、写出程序运行结果 1. #include 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+jT) cout+;/行号与列号之和小于6输出加号 else cout*; /行号与列号之和小于6输出*号 程序运行结果为:+*+*Press any key to continue 2. #include const int N=3; void main() int aNN=7,-5,3,2,8,-6,1,-4,-2; int bNN=3,6,-9,2,-8,3,5,-2,-7; int i,j,cNN; for(i=0;iN;i+) /计算矩阵C for(j=0;jN;j+) cij=aij+bij; for(i=0;iN;i+) /输出矩阵C for(j=0;jN;j+) coutsetw(5)cij; coutendl; 程序运行结果为: 10 1 -6 4 0 -3 6 -6 -9Press any key to continue 3. #include 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; coutx,y=x, yendl; f2(x,y); coutx,y=x, yendl; f3(&x,&y); coutx,y=x, yendl; x+; y-; f2(y,x); coutx,y=x, yendl; 程序运行结果为:x,y=10, 26x,y=26, 10x,y=10, 26x,y=25, 11Press any key to continue五、指出程序或函数的功能 1. #include void main() int i,p=1,s=0; int N; coutN; for(i=1;i=N;i+) p*=i; s+=p; coutsendl; 功能为:计算并输出的值,其中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 (ab? 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 (dc? 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 an-1*an-1+f(a,n-1);2按照函数原型语句“void p(int n);”编写一个递归函数显示如下图形,此图形是n=5的情况。122333444555显示如上图形的递归函数如下:includevoid p(int n)if(n!=0) p(n-1);for(int i=0; in; i+) coutn;coutendl; 3. 根据下面类中MaxMin 函数成员的原型和注释写出它的类外定义。#include#includeclass AA int* a;int n;int MS;public:void InitAA(int aa, int nn, int ms) if(nnms) c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年江西省赣州市高二(下)期末物理试卷(含答案)
- 边防军人知识培训课件
- 机器学习算法在健康保险精算模型中的优化-洞察及研究
- 国产高导热材料在监视器箱散热系统中的替代路径
- 含氟硼酸酯类化合物生物代谢路径与食品安全风险评估的关联性研究
- 反射式筒灯与智能建筑光环境协同控制的算法优化路径
- 反光织带与智能穿戴设备的柔性集成技术瓶颈突破
- 双碳目标下刮板系统余热回收与能源梯级利用技术突破
- 半导体级副门锁芯片在电磁脉冲环境下的自毁保护机制
- 医疗级反射汞灯光谱纯度与生物安全悖论
- 解读《义务教育体育与健康课程标准(2022年版)》2022年体育与健康新课标专题PPT
- 2019版外研社高中英语必修三单词默写表
- 食堂合作协议范本食堂档口合作协议.doc
- 直接还原铁生产工艺
- 建筑识图题库及答案
- 《幂的运算》习题精选及答案
- 异质结TCO设备:RPD与PVD比较分析(2021年).doc
- PPT汇报评分表(共1页)
- ESD防静电培训教材.ppt
- 《春》复习课件
- 《口袋妖怪漆黑的魅影5.0》图文攻略(全周目)
评论
0/150
提交评论