20102011学年第一学期面向对象技术及应用试卷a卷参考答案
- 格式:doc
- 大小:79.01 KB
- 文档页数:7
面向对象程序设计课后题答案第二章C++概述【2.6】D【2.7】D【2.8】A【2.9】A【2.10】B【2.11】A【2.12】C【2.13】B【2.14】D【2.15】C【2.16】D【2.17】C【2.18】程序的运行结果:101【2.19】程序的运行结果:10 10【2.20】程序的运行结果:1020【2.22】编写一个C++风格的程序,用动态分配空间的方法计算Fibonacci数列的前20项并存储到动态分配的空间中。
#include <iostream.h>int main(){int *p,i;p[0]=1;p[1]=1;for(i=2;i<20;i++){p[i]=p[i-1]+p[i-2];}for(i=0;i<20;i++){cout<<p[i]<<endl;}return 0;}【2.23】编写一个C++风格的程序,建立一个被称为sroot()的函数,返回其参数的二次方根。
重载sroot()3次,让它返回整数、长整数与双精度数的二次方根。
#include <iostream.h>#include<math.h>double sroot(int m){return sqrt(m);}double sroot(long m){return sqrt(m);}double sroot(double m){return sqrt(m);}int main()cout<<"sroot(145)="<<sroot(145)<<endl;cout<<"sroot(123456)="<<sroot(123456)<<endl;cout<<"sroot(1.44)="<<sroot(1.44)<<endl;return 0;}【2.24】编写一个C++风格的程序,解决百钱问题:将一元人民币兑换成1、2、5分的硬币,有多少种换法?#include <iostream.h>int main(){int k=0;for(int i=0;i<=20;i++){for(int j=0;j<=50;j++){if(100-5*i-2*j>=0){k++;}}}cout<<"将一元人民币兑换成1、2、5分的硬币,共有"<<k<<"种换法"<<endl;return 0;}【2.25】编写一个C++风格的程序,输入两个整数,将它们按由小到大的顺序输出。
计算机应用基础试题2011-2012学年第一学期A卷排版(1)A、2B、3C、4D、53. 在WORD 2003软件中,下列操作中不能建立一个新文档的是()。
A.在菜单中选择“文件/新建” B. 按快捷键“CTRL+N”C. 选择工具栏中的“新建”按钮D. 在菜单中选择“新建/打开”4. 在WORD编辑状态下,若光标位于表格外右侧的行尾处,按ENTER(回车)键,结果为()。
A.光标移到下一行B. 光标移到下一行,表格行数不变C. 插入一行,表格行数改变D. 在本单元格内换行,表格行数不变5. 在WORD 软件中,实现首字下沉的操作,应进行的操作次序为()。
A 格式→字符 B格式→段落C 格式→首字下沉D 格式→分栏6、Excel是目前最流行的电子表格软件,它的计算和存储数据的文件叫()A、工作簿B、工作表C、文档D、单元格7、在表示厅一工作簿内不同单元格时,工作表和单元格之间应使用()号区分开;A、。
B、!C、|D、.8、excel中用B2:D6表示了一片连续的区域,这个区域中有多少个单元格?( )A.10个B.15个C. 25个D.20个9 Excel中文字运算符为()A、@B、%C、*D、&10、求排名次函数RANK(number,ref,order)有三个参数,第一个参数是为需要找到排位的数字第二个参数是Ref 为数字列表数组或对数字列表的引用,第三个参数Order 为一数字,指明排位的方式。
为零时按()排列A、升序B、降序C、不排列D、以上都不对三、word操作题(30分,)仔细阅读本题,根据提供的word文件中按下列要求完成操作1.在第一行添加标题"必修课、限选课与选修课"为黑体、三号、居中。
2.将正文中的"必修课是……公共基础课"改为红色字体。
3.将文档的正文部分(不包括标题和表格)分为三栏,栏宽相等,加分隔线。
5.在文章中的插入一个,图片设置格式:图片高2.5厘米、宽3.5厘米;图片环绕方式为:衬于文字下方,水平对齐方式"居中"。
电子系计控专业《面向对象的程序设计》期末试卷(A)答案一、选择题(每题1分,共20分)1、如果要改变窗体的标题,则需要设置的属性是 A 。
A. CaptionB. NameC. BackColorD. BorderStyle2、工程文件的扩展名是_C_。
A. frx B. bas C. vbp D.frm3、初始状态下,VB工具箱的控件称为_A_。
A. 标准控件(或内部控件)B. 外部控件C. ActiveX控件D. 可插入对象4、将命令按扭Command1设置为不可见,应修改命令按钮的 A 属性。
A. VisibleB. ValueC. CaptionD. Enable5、在窗体上画三个单选按钮,组成一个名为chkOption的控件数组。
用于标识各个控件数组元素的参数是 B 。
A. TagB. IndexC. ListIndexD. Name6、要改变控件的高度,应修改控件的_D_属性。
A. Top B. Left C. Width D. Height7、只能用来显示字符信息的控件是 B 。
A. 文本框 B. 标签 C. 图片框 D. 图象框8、InputBox$(函数返回值的类型为 B 。
A. 数值B. 字符串C. 变体D. 数值或字符串(视输入的数据而定)9、确定复选框是否选中,可访问的属性是_A_。
A. Value B. CheckedC. SelectedD. Caption10、选中复选框时,Value的值为 B 。
A. 0 B.1 C. True D. False11、添加列表框中的项目,应该用列表框的 C 属性。
A. Selected B. Value C. List D. Text12、若要在同一窗体中安排两组单选按扭,可用_D_控件来分隔。
A. 列表框B. 组合框C. 图片框D. 框架13、用户可以通过设置菜单项的_C_属性的值为False来使该菜单项失效。
A. HideB. VisibleC. EnableD. Checked14、在程序运行期间,如果拖动滚动条上的滚动块,则触发的滚动事件是 C 。
2010-2011-2C++面向对象程序设计期末模拟试题12010-2011-2 C++面向对象程序设计期末模拟试题1一、选择题(每小题2分,共50分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。
请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)下面选项中不属于面向对象程序设计特征的是。
A)继承性B)多态性C)类比性D)封装性(2)为了取代C中带参数的宏,在C++中使用A)重载函数B)内联函数C)递归函数D)友元函数(3)下列关于类定义的说法中,正确的是A)类定义中包括数据成员和函数成员的声明B)类成员的缺省访问权限是保护的C)数据成员必须被声明为私有的D)成员函数只能在类体外进行定义(4)下列关于派生类构造函数和析构函数的说法中,错误的是A)派生类的构造函数会隐含调用基类的构造函数B)如果基类中没有缺省构造函数,那么派生类必须定义构造函数C)在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数D)在销毁派生类对象时,先调用基类的析构函数,再调用派生类的析构函数(5)通过运算符重载,可以改变运算符原有的A)操作数类型B)操作数个数C)优先级D)结合性(6)有如下函数模板:template T souare(T x)(retumx * x ;)基中T是A)函数形参B)函数实参C)模板形参D)模板实参(7)使用输入输出操作符setw,可以控制A)输出精度B)输出宽度C)对齐方式D)填充字符(8)下列字符串中,不可以用作C++标识符的是A)y_2006 B)____TEST__H C)Retum D)switch (9)执行下列语句段后,输出字符―*‖的个数是for(int i =50;I>1;—i )cout<<‖*‖A)48 B)49 C)50 D)51(10)有如下程序段int i =0, j=1;int&r=i ; // ①r =j; //②int*p=&i ; //③*p=&r ; //④基中会产生编译错误的语句是A)④B)③C)②D)①(11)有如下程序:#includeusing namespace std:class Sample{friend long fun (Sample s);public:Sample (long a ){x=a;}Private:long x;};long fun (Sample s){if(s.x<2)retum 1;retum s.x*fun(Sample(s.x-a));}int main()int sum=0for(int i =0; i <6; i++){ sum+=fun(Sample(i );)} cout<<sum;< p="">retum 0;}运行时输出的结果是A)120 B)16 C)154 D)34(12)有如下函数定义:void func (int a,int&b){a++; b++;}若执行代码段:int x=0 ,y=1func(x,y);则变量x和y值分别是A)0和1 B)1和1 C)0和2 D)1和2(13)有如下程序:#includeusing namespace std;class A{publicstatic int a;void init(){a=1;}A(int a=2){init();a++;}};int A:;a=0A obj;int main(){cout<<obj.a;< p="">return 0;运行时输出的结果是A)0B)1 C)2 D)3(14)下列有关继承和派生的叙述中,正确的是A)派生类不能访问基类的保护成员B)作为虚基类的类不能被实例化C)派生类应当向基类的构造函数传递参数D)虚函数必须在派生类中重新实现(15)下列运算符中,不能被重载的是A)&&B)!= C). D)++(16)下列函数模板的定义中,合法的是A)template Tabs(T x){return x <0?–x: x;}B)template class Tabs(Tx){retumx<0 ?-x;x;}C)template Tabs(T x){retum x<0 ?-x;x;}D)template T abs(T x){returm x<0 ?-x;x;}(17)在语句cin>>data;中,cin是A)C++的关键字B)类名C)对象名D)函数名(18)有如下程序:#includeusing namespace std;class test {private:int a;public:test(){cout<<‖constructor‖<<endl;}< p="">test(int a){cout<<a<<endl;}< p="">test(const test&_test){a=_testa;cout<<‖copy constructor‖<<endl;< p="">test(){cout<<‖destructor‖<<endl;}< p=""> };int main()}test A(3)return0;运行时输出的结果是A)3B)constructordestruclorC)copy constructorD)3dstructor destruclor(19)若有如下类声明class My Class {public:MyClass(){cout<<1;}};执行下列语句MyClass a,b[2],*P[2];以后,程序的输出结果是A)11 B)111 C)1111 D11111(20)有如下程序:#includeusing namespace std;class point {public:static int number;public:point(){number++;}~point(){number-;}};imt point::number=0;void main(){point*ptr;printA,B;{point*ptr_point=new point{3};ptr=ptr_point;}pointC;cout<<point::number<<endl;< p="">delete[]ptr;}运行时输出的结果是A)3 B)4 C)6 D)7(21)如果不使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基类继承的成员,有如下程序,没有使用多态机制。
《C++面向对象程序设计》试题(A卷) (满分:100分时间:150分钟日期:2005.1.10)一、(共20分,每题2分)单项选择1.已定义了一个类A并有语句A* pa=new A(5); 那么以下说法正确的是:A. 该语句会创建A类的一个对象,并将此对象的地址赋给指针pa; B. 该语句会创建A类的5个对象,且它们的地址是连续的; C. 当指针变量pa超出其作用域时,pa和为对象分配的空间都将被自动释放;D. 类A中一定有一个显式定义的构造函数和一个显式定义的虚析构函数;2.定义类A的非静态成员函数A& f(A& one)时,需有语句return exp;则exp不能是:A.类A 中类型为A的静态数据成员 B. f中用语句A a = one; 定义的量a C. oneD. *this3.在一个类中,下列哪些成员可以是多个?A. 无参构造函数 B. 析构函数C. 原型相同的非静态成员函数 D. 静态成员函数4.对类T中的下列成员,若不考虑代码优化,一般来说它们中的哪个执行起来最慢?A. 缺省的无参构造函数 B. 缺省的拷贝构造函数 C. T f( ) { T t; return t; }D. 不能判定A、B、C哪个最慢5.对函数原型为int& min(int& a, int& b);的全局函数,下列语句块哪个是错误的:A. int x=10,y=5; min(x,y)=100; B. int x=10,y=5, z; z=min(x,y+=x); C. int x=10,y=5;min(x,10)=y; D. int x=10,y=5; x=min(x,y);6.关于拷贝构造函数错误的说法有:A. 拷贝构造函数是一种特殊的构造函数,且不能在类中进行函数重载。
B. 若自定义派生类的拷贝构造函数,那么也必须自定义基类的拷贝构造函数。
C. 拷贝构造函数只能有一个参数,且为常量引用或非常量引用。
Java 语言与面向对象程序设计基础试题 第1页(共10页) Java 语言与面向对象程序设计基础试题 第2页(共10页)一、判断题(判断下列说法是否正确,正确打“√”,错误打“×”,每小题2分,共20分) 1. Java 有两类程序:Java Application 和Java Applet ,其中Java Applet 程序由嵌入到浏览器中的解释器解释运行。
( ) 2.Java 程序里,创建新的对象用new 调用构造方法,回收无用的对象使用关键字free 。
( ) 3.Java 的类不允许多重继承,但接口支持多重继承。
( ) 4.Applet 是一种特殊的Panel ,它是Java Applet 程序的最外层容器。
( ) 5.Java 语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。
( ) 6.构造方法是一种特殊的方法,名字与类名一致,但返回类型都为void 型。
( ) 7.无论Java 源程序包含几个类的定义,若该源程序文件以A.java 命名,编译后生成的都只有一个名为A 的字节码文件。
( ) 8.在不同的软硬件平台上,Java 的各种数据类型所占用的内存长度不同,因此程序的可移植性不强。
( ) 9.Java 系统的标准输入对象是System.in ,标准输出对象有两个,分别是标准输出System.out 和标准错误输出System.err 。
( ) ( ) 二、单项选择题(每小题2分,共40分) 1.在编写Java Applet 程序时,需要在程序的开头写上( )语句。
A .import java.awt.* ; B .import java.applet.* ; C .import java.io.* ; D .import java.awt.event.* ; 2.以下声明正确的是( )。
A .public static int x; B .default int x; C .abstract double d; D .abstract final int x; 3.Java application 中的主类需包含main 方法,main 方法的返回类型是( )。
说明:1.试题须用碳素墨水钢笔集中填在方格内,答题纸另附并装订于后,字迹须工整清晰;2.试题须经教研室或系(部)领导认真审核并签署本人代号;3.学生只须在第一页试题纸上填写姓名等
说明:1.试题须用碳素墨水钢笔集中填在方格内,答题纸另附并装订于后,字迹须工整清晰;2.试题须经教研室或系(部)领导认真审核并签署本人代号;3.学生只须在第一页试题纸上填写姓名等
说明:1.试题须用碳素墨水钢笔集中填在方格内,答题纸另附并装订于后,字迹须工整清晰;2.试题须经教研室或系(部)领导认真审核并签署本人代号;3.学生只须在第一页试题纸上填写姓名等
说明:1.试题须用碳素墨水钢笔集中填在方格内,答题纸另附并装订于后,字迹须工整清晰;2.试题须经教研室或系(部)领导认真审核并签署本人代号;3.学生只须在第一页试题纸上填写姓名等。
2010~2011学年度第 一 学期《离散数学》试卷(A 卷)适用专业年级:2009信息与计算科学 网络工程 软件工程及计算机科学与技术专业(本)考 试 形 式:( )开卷、(√)闭卷二级学院: 行政班级: 学 号: 教 学 班: 任课教师: 姓 名: 注:学生在答题前,请将以上内容完整、准确填写,填写不清者,成绩不计。
一、选择题(每小题 3分,共 15 分。
请将答案填在下面的表格内)1.设命题公式G :()p q r ⌝↔∧,则使公式G 取值为1的,,p q r 赋值分别为( )(A )0,0,0 (B )0,0,1 (C )0,1,1 (D )1,1,1 2.以下的联结词不是联结词完备集的是( ) (A )1{}S =⌝∧, (B )1{}S =⌝∨, (C )1{}S =∧∨→↔,,,(D )1{}S =↓3.下述等价式不正确的是( ) (A )()()xAx x A x ⌝∀⇔∃⌝ (B )()()xA x x A x ⌝∃⇔∀⌝(C )()()x A x B xA x B∀→⇔∃→() (D )()()x A x B xA x B∃→⇔∃→()4.设集合A={a,b },A 上的关系R={<a,a >,<b,b > },则R 是( ) (A )是等价关系但不是偏序关系 (B )是偏序关系但不是等价关系 (C ) 既是等价关系又是偏序关系 (D )既不是等价关系又不是偏序关系 5.无向图G 是欧拉图当且仅当G 是连通的且( )………………………………………线………………………………………订………………………………………装…………………………………………………(A )G 中各顶点的度数均相等 (B )G 中各顶点的度数之和为偶数(D )G 中各顶点的度数均为奇数二、填空题(每题 3分,共15分)1.“有的运动员不是大学生”符号化为 . (设P(x):x 是运动员;Q(x):x 是大学生)2. 设S ={<1,2>,<2,4>,<3,3>},R ={<1,3>,<2,4>,<4,2>}, 则S R = .3.下图所具有的关系性质有: .4.设有一棵树,它有2个2度结点,1个3度结点,3个4度结点,其余为叶 则它的树叶数为 个. 共有6个结点11条边,则它的面数为 . 三、计算题: 求公式()p q r →⌝↔的主析取范式和主合取范式(10 分)四、演绎证明: 前提:p ,,,q pr q s r p q∨→→→⌝∧⌝ 结论:s (10分)五、设A={1,2,3,4},R 是A 上的一个关系,R={<a,b>|a ,b ∈A ,(a-b)/2=k ,k ∈Z},证明R 是A 上的等价关系,并按关系R 给出A 上的划分。
河南大学计算机与信息工程学院2010-2011学年第一学期期末考试 面向对象技术及应用 试卷A卷 参考答案与评分标准 (卷面总分:100分)
一、 单项选择题(每个小题2分,共34分) 1. main方法是Java Application程序执行的入口点,以下描述哪项是合法的( B )? A、public static void main( ) B、public static void main( String args[] ) C、public static int main(String [] arg ) D、public void main(String arg[] ) 2. 关于如下程序的描述哪个是正确的?( C ) public class Person{ static int arr[] = new int[5]; public static void main(String a[]){ System.out.println(arr[0]); } }
A、编译将产生错误 B、编译时正确,但运行时将产生错误
C、正确,输出0 D、正确,输出 null 3. 假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的?( C ) class A{ int i; static String s; void method1() { } static void method2() { } }
A、System.out.println(a.i);B、a.method1(); C、A.method1(); D、A.method2()
4. 创建一个标识有“关闭”按钮的语句是( D )。 A、TextField b = new TextField(“关闭”); B、Label b = new Label(“关闭”); C、Checkbox b = new Checkbox(“关闭”); D、Button b = new Button(“关闭”); 5. 对于子类的构造函数说明,下列叙述中错误的是( D )。 A、子类不能继承父类的无参构造函数。 B、子类可以在自己的构造函数中使用super关键字来调用父类的含参数构造函数,但这个调用语句必须是子类构造函数的第一个可执行语句。 C、在创建子类的对象时,将先执行继承自父类的无参构造函数,然后再执行自己的构造函数。 D、子类不但可以继承父类的无参构造函数,也可以继承父类的有参构造函数。 6. 有以下程序片段,下列哪个选项不能插入到行1。( A ) 1.
2.public class A{ 3.//do sth 4. } A、public class MainClass{ } B、package mine; C、class ANotherClass{ } D、import java.util.*; 7. 类ABC定义如下: 1.public class ABC{ 2. public int max( int a, int b) { } 3. 4.} 将以下哪个方法插入行3是不合法的。( B ) A、public float max(float a, float b, float c){ } B、public int max (int c, int d){ } C、public float max(float a, float b){ } D、private int max(int a, int b, int c){ }
8. 以下哪项可能包含菜单条( B )。 A、Panel B、Frame C、Applet D、Dialog 9. paint()方法使用哪种类型的参数? ( A ) A、Graphics B、Graphics2D C、String D、Color 10. 以下哪个方法用于定义线程的执行体? ( C ) A、 start() B、init() C、run() D、synchronized() 11. 当浏览器暂时离开含applet 程序的页面时,以下选项中的哪个方法将被执行?( D ) A、init() B、start() C、destroy() D、stop() 12. A派生出子类B ,B派生出子类C,并且在Java源代码中有如下声明: 1. A a0=new A(); 2. A a1 =new B(); 3. A a2=new C();
问以下哪个说法是正确的? ( D )
A、只有第1行能通过编译 B、第1、2行能通过编译,但第3行编译出错 C、第1、2、3行能通过编译,但第2、3行运行时出错 D、第1行、第2行和第3行的声明都是正确的 13. 关于以下程序的说明,正确的是( C )。 1. class StaticStuff{2. 3. static int x; 4. static { x+=5;} 5. public static void main(String args[ ]) 6. { 7. System.out.println(“x=” + x); 8. } 9. static { x/=5;} 10. } A、4行与9行不能通过编译,因为缺少方法名和返回类型 B、9行不能通过编译,因为只能有一个静态初始化器 C、编译通过,执行结果为:x=1 D、能通过编译,但程序运行结果不可预知,因为变量x没有初始化 14. 以下哪个接口的定义是正确的?( D ) A、 interface B { void print() { } ;} B、 interface B {static void print() ;} C、 abstract interface B extends A1, A2 //A1、A2为已定义的接口 { abstract void print(){ };} D、 interface B { void print();} 15. 关于Socket通信编程,以下描述错误的是:( D ) A、服务器端通过new ServerSocket()创建TCP连接对象
B、服务器端通过TCP连接对象调用accept()方法创建通信的Socket对象 C、客户端通过new Socket()方法创建通信的Socket对象 D、客户端通过new ServerSocket()创建TCP连接对象 16. 关于数据库连接的程序,以下哪个语句的注释是错误的 ( A ) A、Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); //指定MySQL JDBC驱动程序
B、String url=”jdbc:odbc:student_access”; //指定数据源为student_access C、Connection con=DriverManager.getConnection(url); //创建连接指定数据库的对象 D、Statement stmt=con.creatStatement();//创建执行SQL语句的Statement对象 17. 关于异常的编程,以下描述错误的是:( A ) A、在有除法存在的代码处,为了防止分母为零,必须抛出并捕获异常
B、int i=Integer.parseInt(”123a”);将产生NumberFormatException C、int a[]=null; a[0]=1; 将产生NullPointerException D、输入输出流编程中,读和写时都要抛出IOException
二、 读程序,给结果(共17分) 1. 设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 , 100 }; 将输出结果填写在输出语句后的注释中。(本题3分) int s = 0 ; for ( int i = 0 ; i < MyIntArray.length ; i + + ) s += MyIntArray[i] ; System.out.println( s ); //( 550 )
2. 写出以下程序的运行结果,填写在每个输出语句后面的注释中。(每空1分,共12分) public class ATest{ public static void main(String args[]) { Sub sub = new Sub(); System.out.println(sub.x); //( 1 ) System.out.println(sub.n); //( 50 ) System.out.println(sub.method1()); //( 2 ) System.out.println(sub.method2()); //( 50 )
Super supsub=new Sub(); System.out.println(supsub.x); //( 1 ) System.out.println(supsub.n); //( 49 ) System.out.println(supsub.method1());//( 2 ) System.out.println(supsub.method2());//( 49 )
Super sup=new Super(); System.out.println(sup.x); //( 1 ) System.out.println(sup.n); //( 50 ) System.out.println(sup.method1()); //( 1 ) System.out.println(sup.method2()); //( 50 ) } } class Super{ int x=1 , y=2 ; static int n=50; int method1(){ return (x } static int method2(){ return n++; } } class Sub extends Super{ int method1() { return (x>y)?x:y; } static int method2(){ return n--; } }
3. 写出以下程序的运行结果。(每空1分,共2分) class First { First() { System.out.println ("in First"); } } public class Second extends First { Second() {