面向对象程序设计基础A.doc
《面向对象程序设计基础A.doc》由会员分享,可在线阅读,更多相关《面向对象程序设计基础A.doc(16页珍藏版)》请在咨信网上搜索。
姓名: 学号: 系别: 计算机学院 年级专业: 09软件工程 ( 密 封 线 内 不 答 题 ) ……………………………………………………密………………………………………………封………………………………………线……………………………………线……………………………………… _____________ ________ … 东莞理工学院( 本科) 试卷( A卷) -- 年第 2 学期 《面向对象程序设计基础》试卷 开课单位: 计算机学院 , 考试形式: 闭、 开卷, 允许带 入场 题序 一 二 三 四 五 六 七 八 总 分 得分 评卷人 Ⅰ 选择题(全部为单选, 请把结果写在本大题后面的答题纸内相应的横线上, 写在其它地方无效, 每小题2分, 共50分) 1 以下叙述中不正确的是: ( ) A 函数名属于用户标识符, 其起名规则与变量相同 B 形参只能是变量 C 为保证程序的正确运行, 函数中定义的变量不能与其它函数中定义的变量同名 D 函数中定义的变量能够与其它函数中定义的变量同名 2 有定义语句: int a[]={1,2,3,4,5,6,7},*p=A *q=&a[5]; ( ) 则下列表示式中值不等于5的是 A *q-- B *--q C --*q D q-p 3 以下叙述中错误的是: ( ) A 局部变量的定义能够在函数体内部 B 全局变量的定义能够在函数以外的任何位置 C 同一程序中, 全局变量和局部变量不能同名 D 函数的形参属于局部变量 4 以下叙述中错误的是: ( ) A 变量的作用域取决于变量定义语句出现的位置 B 同一程序中, 全局变量的作用域一定比局部变量的作用域大 C 局部变量的作用域是在定义它的函数体内 D 全局变量的作用域是从定义位置开始至源文件结束 5 关于VC6建立的工程的说法, 正确的是: ( ) A 工程只能包含.cpp和.h类型的文件 B 工作区文件的后缀是.dsp C 用鼠标双击工作区文件能够打开整个工程 D 在VC的FileView中能够看到工程中所有的文件, 包括工作区文件, 项目文件等 6 下面关于在VC6环境下调试运行的说法错误的是 ( ) A 设置合适的断点(F9), 按Ctrl+F5开始调试运行 B 设置合适的断点, 按F5开始运行 C 调试时, 能够随时观察断点处的变量值 D 在调试运行过程中, 可随时按下Stop Debugging(Shift+F5)结束调试运行 7 下列情况中, 哪一种情况不会调用拷贝构造函数 ( ) A 用派生类的对象去初始化基类对象时 B 将类的一个对象赋值给该类的另一个对象时 C 函数的形参是类的对象, 调用函数进行形参和实参结合时 D 函数的返回值是类的对象, 函数执行返回调用者时 8 以下哪一关键字可用于重载函数的区分( ) A extern B static C const D virtual 9 下列有关内联函数的叙述中, 正确的是 ( ) A 内联函数在调用时发生控制转移 B 使用内联函数有利于代码重用 C 必须经过关键字inline来定义 D 是否最后内联由编译器决定 10 实现运行时多态的机制是( ) A 虚函数 B 重载函数 C 静态函数 D 模版函数 11 以下哪个符号( 或组合) 是作用域限定符( ) A -> B . C :: D [] 12 下列关于this指针的说法正确的是( ) A this指针存在于每个函数之中 B 在类的非静态函数中this指针指向调用该函数的对象 C this指针是指向虚函数表的指针 D this指针是指向类的函数成员的指针 13 若有以下类定义 class MyClass { public: MyClass() { cout << 1; } }; 则执行语句MyClass a,b[2],*p[2];后, 程序的输出结果是( ) A 11 B 111 C 1111 D 11111 14 下面程序的输出结果是( ) #include <iostream> using namespace std; int i = 0; int fun(int n) { static int a = 2; a++; return a+n; } void main() { int k = 5; 姓名: 学号: 系别: 计算机学院 年级专业: 09软件工程 ( 密 封 线 内 不 答 题 ) ……………………………………………………密………………………………………………封………………………………………线……………………………………线……………………………………… { int i = 2; k += fun(i); } k += fun(i); cout << k; } A 13 B 14 C 15 D 16 15 下面程序的输出结果是( ) #include <iostream> using namespace std; class A { public: A (int i) { x = i; } void dispa () { cout << x << ”,”; } private : int x ; }; class B : public A { public: B(int i) : A(i+10) { x = i; } void dispb() { dispa(); cout << x << endl; } private : int x ; }; void main() { B b(2); b.dispb(); } A 10,2 B 12,10 C 12,2 D 2,2 16 下面程序的输出结果是( ) #include <iostream> using namespace std; class Base { public: Base(int i) { cout << i; } ~Base () { } }; class Base1: virtual public Base { public: Base1(int i, int j=0) : Base(j) { cout << i; } ~Base1() {} }; class Base2: virtual public Base { public: Base2(int i, int j=0) : Base(j) { cout << i; } ~Base2() {} }; class Derived : public Base2, public Base1 { public: Derived(int a, int b, int c, int d) : mem1(a), mem2(b), Base1(c), Base2(d), Base(a) { cout << b; } private: Base2 mem2; Base1 mem1; }; void main() { Derived objD (1, 2, 3, 4); } A 134122 B 123412 C 1430 D 143212 17 下面程序的输出结果是( ) #include <iostream> using namespace std; int countp=0; class Point { int X,Y; public: Point(int x=0,int y=0) { X=x; Y=y;} Point(Point &p){X=p.X;Y=p.Y;countp++;} friend Point myfun(Point p1 ,Point p2 ,const Point &p3); }; Point myfun(Point p1,Point p2,const Point &p3) { Point tmp(p1.X+p2.X+p3.X,p1.Y+p2.Y+p3.Y); return tmp; } void main() { Point pp0,pp1(1,2),pp2(1); myfun(pp0,pp1,pp2); std::cout<<countp<<endl; 姓名: 学号: 系别: 计算机学院 年级专业: 09软件工程 ( 密 封 线 内 不 答 题 ) ……………………………………………………密………………………………………………封………………………………………线……………………………………线……………………………………… } A 0 B 4 C 3 D 6 18 下面程序的输出结果是( ) #include <iostream > using namespace std; void swap1( int &v1, int &v2) { int tmp = v2;v2 = v1;v1 = tmp; } void swap1( int *v1, int *v2) { int tmp= *v2;*v2 = *v1;*v1 = tmp; } void main() { int i = 10, j = 20; swap1(i,j); swap1(&i,&j); cout<<i<<”,”<<j<<endl; } A 10,20 B 20,10 C 10,10 D 20,20 19 下面的程序段的运行结果为( ) char str[] = "job", *p = str; cout << *(p+2) << endl; A 98 B 无输出结果 C 字符’b’的地址 D 字符’b’ 20 double型数据所占字节数是( ) A 2 B 4 C 6 D 8 21 若变量都已经正确定义, 以下表示式中非法的是( ) A a/=b+c B a % 4.0 C a=1/2*(x=y=10 , x*3) D a=b=c 22 以下选项中不是字符常量的是( ) A ‘\v’ B ‘\x6d’ C ‘w’ D ”0” 23 以下非法的字符串常量为( ) A ”\\ \\” B ”It’s” C ”m=\abc” D ”$12.8” 24 对于类的常成员函数的描述正确的是( ) A 常成员函数不修改类的数据成员 B 常成员函数能够对类的数据成员进行修改 C 常成员函数只能由常对象调用 D 常成员函数不能访问类的数据成员 25 使用如setw()的操作符对数据进行格式输出时, 应包含的头文件是( ) A iostream B fstream C stdio D iomanip 选择题答题纸: 1 21 2 22 3 23 4 24 5 25 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 姓名: 学号: 系别: 计算机学院 年级专业: 09软件工程 ( 密 封 线 内 不 答 题 ) ……………………………………………………密………………………………………………封………………………………………线……………………………………线……………………………………… Ⅱ 上机编码试题, 共5小题, 共50分, 请按要求答在给定的项目文件中提交。 (本页不得撕掉! 答本大题前请先交卷! ) ! 请于考试结束前关闭你的项目, 删去你的文件夹下的Debug文件夹, 然后把你的整个项目文件夹打包成一个”.rar”文件提交到下面服务器中相应的地方。 ! 服务器 ftp://219.222.170.198 提交考试结果的用户名及密码username/password: cs w/ cs w ! 你的程序不能有编译错误, 否则以0分记! 以” 41404101 陈晓雪”为例, 提交的文件名应为” 41404101陈晓雪_面向对象A.rar”, 解压后的文件夹也应为” 41404101陈晓雪_面向对象A”。(注: 中间没有空格! ) 1 创立一个VC6.0项目。要求: 以你的学号+姓名+”_面向对象A”为项目名创立一个带”Hello World”的win32控制台应用程序。以” 41404101 陈晓雪”为例, 所创立项目的名称为” 41404101陈晓雪_面向对象A”(10分) 2 声明一个Point类, 该类描述了直角坐标系中的一个点。成员变量为私有的double x,y; 成员函数包括不带参数的构造函数; 带两个参数(double x, double y)的构造函数, 拷贝构造函数, 分别取得x和y值的函数getX和getY。(10分) 3 从第2题的Point类派生出一个新类(名为Circle), 该新类是描述圆的一个类, 成员变量为私有的表示圆的半径double r。并请写出一个成员函数getMaxY, 返回该圆在y轴最高点的坐标。(10分) 4 运算符重载。假设obj是第3题的Circle类的对象, obj++是指把当前圆的半径加1, 请实现这个++运算符的重载。(10分) 5 刚学会加减法的小学生都知道1+1 = 2, 2- 1 = 1。可是她还暂时还算不出来1 – 2 = -1, 而会认为1 – 2是减不动的, 因此得不出正确的结果。现要求你写一个小学生的减法函数int sum(int x, int y),当出现减不动的情况时抛出一个异常消息为”减不动”的异常; 并请在main函数中截获并显示该异常消息。(10分) (请先撕掉本页, 交卷, 然后再答本大题!) ! 请于考试结束前关闭你的项目, 删去你的文件夹下的Debug文件夹, 然后把你的整个项目文件夹打包成一个”.rar”文件提交到下面服务器中相应的地方。 ! 服务器 ftp://219.222.170.198 提交考试结果的用户名及密码username/password: cs w/ cs w ! 你的程序不能有编译错误, 否则以0分记! 以” 41404101 陈晓雪”为例, 提交的文件名应为” 41404101陈晓雪_面向对象A.rar”, 解压后的文件夹也应为” 41404101陈晓雪_面向对象A”。(注: 中间没有空格! ) 1 创立一个VC6.0项目。要求: 以你的学号+姓名+”_面向对象A”为项目名创立一个带”Hello World”的win32控制台应用程序。以” 41404101 陈晓雪”为例, 所创立项目的名称为” 41404101陈晓雪_面向对象A”(10分) 2 声明一个Point类, 该类描述了直角坐标系中的一个点。成员变量为私有的double x,y; 成员函数包括不带参数的构造函数; 带两个参数(double x, double y)的构造函数, 拷贝构造函数, 分别取得x和y值的函数getX和getY。(10分) 3 从第2题的Point类派生出一个新类(名为Circle), 该新类是描述圆的一个类, 成员变量为私有的表示圆的半径double r。并请写出一个成员函数getMaxY, 返回该圆在y轴最高点的坐标。(10分) 4 运算符重载。假设obj是第3题的Circle类的对象, obj++是指把当前圆的半径加1, 请实现这个++运算符的重载。(10分) 5 刚学会加减法的小学生都知道1+1 = 2, 2- 1 = 1。可是她还暂时还算不出来1 – 2 = -1, 而会认为1 – 2是减不动的, 因此得不出正确的结果。现要求你写一个小学生的减法函数int sum(int x, int y),当出现减不动的情况时抛出一个异常消息为”减不动”的异常; 并请在main函数中截获并显示该异常消息。(10分)- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 基础
咨信网温馨提示:
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。
关于本文