《面向对象程序设计》第1.7.9.11.12章在线测试

合集下载

面向对象程序设计练习题库与答案

面向对象程序设计练习题库与答案

面向对象程序设计练习题库与答案一、单选题(共36题,每题1分,共36分)1.下列关于静态内部类的说法,错误的是()A、静态内部类不能直接访问外部类的非静态成员B、静态内部类只能访问外部类的静态成员C、创建静态内部类的对象时,必须要先创建外部类的对象D、静态内部类,就是使用static关键字修饰的成员内部类正确答案:C2.以下选项中,哪个是FileInputStream的父类()A、FileB、FileOutputC、OutputStreamD、InputStream正确答案:D答案解析:FileInputStream是用来读取文件的字节流,属于InputStream类的子类。

3.下面关于FileInputStream和FileOutputStream的说法中,错误的是()A、FileInputStream是InputStream的子类,它是操作文件的字节输入流B、FileOutputStream是OutputStream的子类,它是操作文件的字节输出流C、如果使用FileOutputStream向一个已存在的文件中写入数据,那么写入的数据会被追加到该文件原先的数据后面D、使用FileInputStream读取文件数据时,必须保证要读取的文件存在并且是可读的正确答案:C答案解析:如果使用FileOutputStream向一个已存在的文件中写入数据,如果构造函数FileOutputStream的参数append的值是true,那么写入的数据才会追加到原先数据之后,否则的话,原先的数据会被清空,然后再写入新的数据。

4.下列关于类的说法中,错误的是()A、Java中创建类的关键字是class。

B、类中可以有属性与方法,属性用于描述对象的特征,方法用于描述对象的行为。

C、Java中对象的创建,首先需要定义出一个类。

D、一个类只能创建一个对象。

正确答案:D答案解析:类是对象的模板,对象是类的实例,一个类是可以创建多个对象的。

吉林大学智慧树知到“计算机科学与技术”《面向对象程序设计》网课测试题答案卷2

吉林大学智慧树知到“计算机科学与技术”《面向对象程序设计》网课测试题答案卷2

吉林大学智慧树知到“计算机科学与技术”《面向对象程序设计》网课测试题答案(图片大小可自由调整)第1卷一.综合考核(共10题)1.下列语句执行后,变量a、c的值分别是()。

int x=182; int a,c; c=x/100; a=x%10;A.1,2B.2,1C.1.82, 2D.100,822.设i、j、k为类x中定义的int型变量名,下列类x的构造函数中不正确的是()A.x( int m){ ... }B.void x( int m){ ... }C.x( int m, int n){ ... }D.x( int h,int m,int n){ ... }3.编译并且执行以下代码,会出现什么情况?()Public class Q{public static void main(String argv[]){int anar[]=new int[]{1,2,3}; System.out.println(anar[1]);}}A.1B.有错误,数组anar在初始化以前不能正常输出C.2D.有错误,数组的大小没有定义。

4.不使用static修饰符限定的方法称为成员方法,下列哪一个说法是不正确的?()A.成员方法可以直接调用父类的成员方法B.成员方法可以直接调用父类的类方法C.成员方法不可以直接调用其他类的成员方法D.成员方法可以直接调用本类的类方法5.说明下列创建数组的方法那些是正确的()。

A.int twoDim[][]=new int[4][]B.int twoDim[][]=new int[][4]C.int twoDim[][]=new int[4][5]D.char a[]={‘A’,‘B’}6.下列关于修饰符混用的说法,错误的是()A.abstract不能与final并列修饰同一个类B.abstract类中不可以有private的成员C.static方法中能处理非static的属性D.abstract方法必须在abstract类中7.设x=1,y=2,z=3,则表达式y+=z--/++x的值是()。

面向对象程序设计智慧树知到期末考试章节课后题库2024年山东建筑大学

面向对象程序设计智慧树知到期末考试章节课后题库2024年山东建筑大学

面向对象程序设计智慧树知到期末考试答案章节题库2024年山东建筑大学1.以下泛型类的定义是正确的。

()public class Generic { private T t =new T(); public void setT(T t) { this.t = t; } public TgetT() { return t; }}答案:错2.以下代码是正确的。

()package test;import java.util.ArrayList;importjava.util.Date;import java.util.List;public class GenericTest1 { publicstatic void main(String[] args) { List list2 = newArrayList<>(); list2.add(new Date()); list2.add(newString("abc")); String str = list2.get(0); }}答案:错3.数组的元素个数是可以变化的。

()答案:错4.限制泛型上界时,如下代码是正确的。

()Generic<? extends List> f =null;f = new Generic();答案:错5.定义一个外部类时,不能使用private和protected来修饰()答案:对6.已知TestClass.java的定义如下:public class TestClass{ public static voidmain(String[] args){ int a; System.out.println("a="+a); }}以上代码是正确的()。

答案:错7.如下代码创建泛型类Generic的对象后,Generic gt5 = newGeneric<>();Genericgt4 = new Generic<>();下面的这行代码是正确的。

2015秋浙江大学《面向对象程序设计》在线作业及答案

2015秋浙江大学《面向对象程序设计》在线作业及答案

2015秋浙江大学《面向对象程序设计》在线作业及答案您的本次作业分数为:100分单选题1.下面有关析构函数特征的描述中,正确的是()。

• A 一个类中可以定义多个析构函数• B 析构函数名与类名完全相同• C 析构函数不能指定返回类型• D 析构函数可以有一个或多个参数正确答案:C单选题2.派生类中虚函数原型的()。

• A 函数类型可以与基类中虚函数的原型不同• B 参数个数可以与基类中虚函数的原型不同• C 参数类型可以与基类中虚函数的原型不同• D 以上都不对正确答案:D单选题3.类和派生类正确的关系是()。

• A 从基类到派生类称为继承。

• B 从派生类到基类称为派生。

• C 派生类包含了基类。

• D 从基类到派生类称为派生。

正确答案:D单选题4.析构函数的特征是()。

• A 析构函数可以有多个参数。

• B 析构函数只能在类体内定义。

• C 一个类中只能定义一个析构函数。

• D 一个类中能定义多个析构函数。

正确答案:C单选题5.如果在基类中将show声明为不带返回值的纯虚函数,正确的写法是()。

• A virtualshow()=0;• B virtualvoidshow();• C virtualvoidshow()=0;• D voidshow()=0virtual;正确答案:C单选题6.若有定义char *words[]={"FORTRAN", "BASIC","PASCAL","JAVA","C"};则输出结果为AVA的语句是()。

• A printf("%s",*words[3]+1)• B printf("%s",*words[4]+1)• C printf("%s",*(words+3)+1)• D printf("%s",(*words+4)+1)单选题7.已知有预编译指令#define s(a,b) (a*b),则执行语句i=1;Area=s(3, 5-i)+3;后,变量area的值为()。

《面向对象程序设计》第1.7.9.11.12章在线测试(含答案)

《面向对象程序设计》第1.7.9.11.12章在线测试(含答案)

《面向对象程序设计》第1.7.9.11.12章在线测试(含答案)《面向对象程序设计》第1.7.9.11.12章在线测试(含答案)1章第一题、单项选择题(每题1分,5道题共5分)1、下面不属于C++语言的特点的是A、C++支持数据封装B、C++支持继承性C、C++支持动态绑定D、C++不允许破环封装2、下面的步骤不属于C++程序开发步骤的是A、编辑程序B、编译程序C、连接程序D、程序分析3、执行完下列语句后,a、b、c三个变量的值为多少?()a=30;b=a++;c=++a;A、a:32;b:30;c:32;B、a:30;b:31;c:32;C、a:32;b:31;c:30;D、a:31;b:32;c:30;4、VC项目中可以添加的文件类型不可以是A、.CPPB、.CC、.HD、.LIB5、下列关于条件语句的描述中,错误的是A、if语句中只有一个else子句B、if语句中可以有多个else if子句C、if语句中if体内不能是开关语句D、if语句的if体内可以是循环语句答案:DDADC第二题、多项选择题(每题2分,5道题共10分)1、C++的输出可以使用BCA、scanfB、printfC、coutD、out2、以下语句循环次数为无限次的是BCDA、for(y=0,x=1;x>++y;x=I++)I=x;B、for(;;x++=I);C、while(1){x++;}D、for(I=10;;I--)sum+=I;3、关于重载函数正确的说法是ABDA、函数重载指在同一作用域内多个函数使用相同的函数名B、重载函数的参数必须不同C、重载函数的返回值类型必须不同D、两个功能相似的操作可以重载函数得到4、下面函数声明正确的是ABDA、void f1(int a,int b);B、void f2(int a,int c,int b=-1);C、void f3(int a,int b=-1,int c);D、int f4(…);5、C++程序中声明变量int*p1,*p2,m=5,n;下面错误的语句是ABDA、p1=&mp2=&p1B、p1=&mp2=&n*p1=*p2C、p1=&mp2=p1;D、p1=&m*p2=*p1;第三题、判断题(每题1分,5道题共5分)1、if(x=3)和if(x==3)这两条语句的作用是一样的。

001017[面向对象程序设计]5天大在线考试题库及答案

001017[面向对象程序设计]5天大在线考试题库及答案

001017[面向对象程序设计]5天大在线考试题库及答案面向对象程序设计复习题一、单项选择题1、基类中的保护成员在其私有派生类中的访问属性是(答案是A )。

A.私有B.公有C.保护D.不确定2、在类的非静态成员函数中,不可以直接访问的数据成员是(答案是D )。

A.本类的私有成员B.本类的保护成员C.本类的公有成员D.本类的所有非静态成员3、下列标示符中,不符合C++标示符命名规则的是(C)。

A.x10B. _totalC.πD.www4、下列整型常数中,不符合C++语法的是(C)。

A.12uB.-67lC.059D.0X11ff5、下列常量中,不符合C++语法的是(答案是D )。

A.”\\0”B.‘*’C.“”D.“It’s an array!”6、下列数组的初始化形式中,不符合C++语法的是(答案是A )。

A.int s1[3]={1,2,3,4}B.int s2[3]={0}C.char s3[3]={‘a’,’x’,’d’}D.char s4[]=“asd”7、如果说明语句为:int a[4]={10,20,30,40,50}, *p=&a[2];则*p的值是(答案是 B )。

A.a[2]的地址B.30C.20D.不确定8、已知:int a[3][3];下列表示数组元素a[0][0]的方法中,不符合C++语法的是(C)。

A.**aB.*a[0]C.a[0]D.*(*a[1]-1)9、已知:int a=3,b=5,下列表达式中,值为0的表达式是(答案是 B )。

A.a%5-5B.a/bC.!a||bD.a&&b10、C++中字符常数的定界符是(答案是 B )。

A.”B.‘C.#D.\\11、已知:int a=9,sum=0;下列循环中,不构成死循环的是(答案是 A )。

A.for(;a;a++) sum+=a--B.do{sum+=a--}while(--a);C.while(a=1) sum+=a--;D.do{sum+=a}while(a-1);12、如果定义一个函数时未指定该函数的返回值类型,则函数返回值类型应是(答案是 B )。

2020年智慧树知道网课《面向对象程序设计》课后章节测试满分答案

2020年智慧树知道网课《面向对象程序设计》课后章节测试满分答案

第一章测试1【单选题】(2分)()是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。

A.继承性B.多态性C.抽象性D.封装性2【单选题】(2分)编译时的多态性是通过()来实现的。

A.多态B.重载C.组合D.继承3【单选题】(2分)运行时的多态性是通过()来实现的。

A.纯虚函数B.友元函数C.静态函数D.虚函数4【单选题】(2分)()是对一组具有共同属性特征和行为特征的对象的抽象。

A.静态函数B.对象C.类D.成员函数5【单选题】(2分)()是一个类所描述的一个具体的对象。

A.实例B.成员函数C.类D.对象6【单选题】(2分)()就是从众多的事物中抽取出共同的、本质性的特征,舍弃其非本质的特征。

A.抽象B.多态C.继承D.封装7【单选题】(2分)子类继承了多个父类的数据结构和方法,则称为()。

A.封装B.多重继承C.抽象D.单继承8【单选题】(2分)面向对象设计中,对象就是(),它是把数据结构和操作这些数据的方法紧密地结合在一起所构成的模块。

A.抽象B.模块C.方法D.操作9【单选题】(2分)把面向对象思想应用于软件开发过程中,指导开发活动的系统方法,简称()方法。

A.面向应用B.面向过程C.其它都不对D.面向对象10【多选题】(2分)面向对象程序设计所涉及的术语有类、对象、方法、()和重载。

A.实例B.消息C.数据D.属性第二章测试1【单选题】(2分)大多数C++程序通常包含()头文件,它包含了所有输入/输出操作所需要的信息。

A.iostream.hB.ostream.hC.istream.hD.string.h2【单选题】(2分)运算符<<左边的操作数是()类的一个对象,右边可以是C++的合法表达式。

A.ifstreamB.ofstreamC.istreamD.ostream3【单选题】(2分)()表示标准输出(非缓冲方式)导出程序信息。

A.cerrB.clogC.coutD.cin4【单选题】(2分)()表示标准输出(缓冲方式),导出程序信息。

C 面向对象程序设计习题解答(全)

C  面向对象程序设计习题解答(全)

4答案 n=2,sum=2 n=3,sum=5 n=5,sum=10
5答案 x=3 6答案 x=1,y=2 x=30,y=40 7答案 1 2 3 4 exit main 3 2 1 8答案 n=100 9答案 the student is:Li Hu the teacher is:Wang Ping 10答案 2 11答案 1035,789.504 12答案 13答案
一、选择题 1 2 3 4 D B B C
类和对象的进一步解析
5 D 6 D 7 D B 8 C B 9 10 11 12 13 14 15 16 B D B A A C B A
17 18 19 20 21 22 23 24 C C D B A D 二、填空题 1 this 2所有成员 3友元类、友元函数 4 friend 5 程序编译、程序结束 三、程序阅读题
第六章 派生与继承
一、选择题 1(1) 1(2) 2 A B 3 4 5 6 7 8 9 10 11 D C C C D D B C A D
二、填空题 1 继承 2 具体化、抽象 3 公有继承、保护继承、私有继承 4 子对象 5 public(共有的)、protected(保护的)、不可访问 6 protected(保护的)、protected(保护的)、不可访问的 7 private(私有的)、private(私有的)、不可访问的 8 二义性 三、判断下列描述的正确性 1 2 3 4 5 6 7 8 9 10 11 12 13 √ × × × × × √ √ × × √ √ ×
1、 选择题 1 2 3 4 5 6 7 C 8 9 10 D D D C A D C 2、 程序阅读题 1答案 a=639,b=78,c=12 2答案 a=5,b=8 a=8,b=5 3答案 10 4答案 x=20.6 y=5 z=A x=216.34 y=5 z=A x=216.34 y=2 z=A x=216.34 y=2 z=E 5答案 ic=11 fc=7.82 ic=5 fc=2.15 3、 判断下列描述的正确性 1 2 √ × D A

智慧树知到《面向对象程序设计》章节测试答案

智慧树知到《面向对象程序设计》章节测试答案

智慧树知到《面向对象程序设计》章节测试答案第一章1、下列关于JDK的说法中,错误的是?A:JDK是Java开发工具包的简称B:JDK包括Java编译器、Java文档生成工具、Java打包工具等C:安装JDK后,还需要单独安装JRED:JDK是整个Java的核心正确答案:安装JDK后,还需要单独安装JRE2、下列关于classpath环境变量的说法中,哪一个是正确的?A:classpath配置一次后可永久使用B:没有classpath环境变量就不能运行Java程序C:classpath环境变量可以让虚拟机找到class文件的目录D:查看当前classpath配置的命令是:classpath正确答案: classpath配置一次后可永久使用3、下列目录中,哪一个是用来存放JDK核心源代码的?A:lib目录lib目录lib目录lib目录lib目录B:src目录C:jre目录jre目录jre目录jre目录D:include目录正确答案: src目录4、Java属于以下哪种语言?()A:机器语言B:汇编语言C:高级语言D:以上都不对正确答案:高级语言5、配置classpath环境变量的目的是为了可以查找到java文件。

()A:对B:错正确答案:错第二章1、下列选项中,属于字符常量的是()A:“a”B:‘ab'C:‘1'D:1正确答案:‘1'2、下面关于字符变量的定义中,错误的是()A:char a='a'B:char b=97C:char c=0x61D:char d=A正确答案: char d=A3、下列选项中,哪一个不能通过编译()A:byte a=1B:short b=100C:int c='a'D:long d=8888888888正确答案: long d=88888888884、下列数据类型进行运算时,哪一个会发生自动类型提升( ) A:int + intB:long + longC:byte + byteD:double + double正确答案: byte + byte5、数组的最大下标的值比它的长度小1()A:对B:错正确答案:对1、若有如下语句int x=3;do{ System.out.println(x);x-=2;}while(–x>0);A:输出的是1B:输出的是1和-2C:输出的是3D:是死循环正确答案:B2、下面语句执行结果为()public static void main(String[] args){int i=4;if(i<0){i=1;}A:0B:1C:2D:4正确答案:C3、当方法中的返回值类型是void时,可以不写return语句()B:错正确答案:A4、一个类中可以定义多个同名的方法,只要他们的返回值类型不同即可()A:对B:错正确答案:B5、方法递归次数过多会导致内存溢出()A:对B:错正确答案:A6、当int x = 3 , y = 4时,表达式boolean b =x == y ? true : false的结果是false ()A:对B:错正确答案:A7、在进行赋值运算时,将运算符右边的值赋给左边的变量()A:对B:错正确答案:A8、比较运算符用于对两个数值或变量进行比较,其结果是一个布尔值()A:对B:错正确答案:A9、在switch语句中,每个case关键字后面必须有break()A:对B:错正确答案:B第四章1、下列哪个叙述是正确的?()A:Java应用程序由若干个类所构成,这些类必须在一个源文件中。

2022年智慧树Java面向对象程序设计1-11单元测试答案

2022年智慧树Java面向对象程序设计1-11单元测试答案

第一章测试1下列选项中,可以正确配置classpath的命令是()【答案】set classpath =C:\\Program Files\\Java\\jdk1.7.0_15\\bin2在JDK安装目录下,用于存放可执行程序的文件夹是()【答案】bin3下面关于Java程序的描述中,错误的是(【答案】不同操作系统上的Java虚拟机是相同的4下列选项中,哪些选项用于构成JDK开发环境()【答案】全选5下列关于使用Javac命令编译后生成文件的说法中,正确的是()【答案】编译后生成文件的后缀名为.class【答案】编译后生成的文件为二进制文件【答案】编译后生成的文件可以在Java虚拟机中运行6下列目录中,哪些属于JDK安装后的子目录()【答案】lib目录【答案】jre目录【答案】include目录7ib是library的缩写,用于存放Java类库或库文件。

( )【答案】对8如果classpath环境变量没有进行设置,Java虚拟机会自动将其设置为“.”,也就是当前目录。

( )【答案】对9在任意命令行窗口中执行javac命令,如果都能正常地显示帮助信息,说明系统path环境变量配置成功。

( )【答案】对10Eclipse只是一个框架和一组服务,所有功能都是将插件组件加入到Eclipse框架中来实现的。

( )【答案】对第二章测试1下列关于注释作用的描述中,错误的是()【答案】会参与编译2下面关于整数类型的描述中,错误的是()【答案】bit是java中的整数类型,它代表的是1个字节。

3下列选项中,按照箭头方向,需要进行强制类型转换的是()【答案】char←byte4下列关于多行注释的应用,正确的是()【答案】程序中可以不写多行注释【答案】写多行注释是一个良好的习惯【答案】多行注释有利于代码的阅读性5下列关于冒泡排序的描述,正确的是()【答案】冒泡排序中会涉及到元素位置的置换【答案】冒泡排序比较的总轮次是"数组长度-1"轮【答案】冒泡排序是不断地比较数组中相邻的两个元素6当break语句出现在嵌套循环中的内层循环时,它只能跳出内层循环。

国家开放大学《面向对象程序设计(本)》章节自测参考答案

国家开放大学《面向对象程序设计(本)》章节自测参考答案

国家开放大学《面向对象程序设计(本)》章节自测参考答案第1章面向对象的程序设计概述一、单项选择题1.Java是一门()语言。

a. 汇编b. 面向过程的高级c. 面向对象的高级d. 机器2.机器语言中的指令编码为()编码。

a. 数字b. 符号c. 十进制d. 二进制3.更接近人类自然语言的计算机语言是()语言。

a. 机器b. 高级c. 汇编d. 数字4.对象是构成现实世界的一个独立单位,它具有自己的静态特征和()特征。

a. 动态b. 颜色c. 重量d. 状态5.类是对具有共同属性和行为的对象的抽象描述,每个对象称为该类的一个()。

a. 产品b. 成分c. 实例d. 元素6.Java语言的主要特点不包括()。

a. 处理文件b. 可移植性c. 面向对象d. 自动垃圾回收7.Java语言的主要特点不包括()。

a. 安全性b. 解释执行c. 多线程d. 处理字符串8.具有相同属性和服务的一组对象的模板称为()。

a. 概念b. 程序c. 代码d. 类9.把对象的属性和服务组合成一个独立的整体,尽可能隐蔽其内部的细节,这称为对象的()。

a. 开放性b. 继承性c. 封装性d. 多态性10.使用JDK编译Java程序时使用的命令是()。

a. javadocb. javacc. appletviewerd. java11.使用JDK运行Java程序时使用的命令是( )。

a. javab. javacc. appletviewer12.在JDK目录中,Java运行环境的根目录是( )。

a. demob. binc. libd. jre13.计算机语言发展所经历的四个阶段。

包括:①面向对象语言②机器语言③汇编语言④高级语言。

按照正确的发展顺序,应该依次是:( )。

a. ④③②①b. ②③④①c. ①②④③d. ①②③④14.关于使用Java语言进行软件开发的Java集成开发环境,说法正确的是:( )。

a. NetBeans、Eclipse都为软件开发者提供的免费、开源的Java集成开发环境。

郑大远程面向对象程序设计试题

郑大远程面向对象程序设计试题

《面向对象程序设计》第12章在线测试第一题、单项选择题(每题1分,5道题共5分)1、面向对象软件开发中使用的OOD表示()A、面向对象分析B、面向对象设计C、面向对象语言D、面向对象方法2、在面向对象方法中,对象执行它的操作是通过()A、自动执行B、接受消息请求C、由外部强制执行D、外界直接访问其成员3、对象的两大要素是()A、数据和数据结构B、名字和函数C、属性和操作D、操作和方法4、关于对象模型的说法正确的事()A、对象模型是类、对象、类或对象之B、对象模型表示系统静态的数据性质间关系的定义集C、对象模型表示类/对象之间的结构D、对象模型是客观对象的物理模型关系5、面向对象分析的任务是()A、需求分析B、建立用例模型C、定义问题领域类D、定义角色第二题、多项选择题(每题2分,5道题共10分)1、下面那些是面向对象的特征?()A、结构B、类C、重用D、继承2、下面哪些属于UML的图( )A、用例图B、类图C、结构图D、流程图3、关于封装的说法正确的是()A、封装实现了信息隐藏B、封装使对象与外界隔绝C、封装使类不可见D、封装将对象的属性和操作结合在一起4、对象之间存在的关系包括()A、部分与整体B、一般与特殊C、实例连接D、消息连接5、下面的说法正确的是()A、软件就是程序,程序就是软件B、软件开发的过程就是程序设计的过程C、软件是程序、支持程序运行的数据以及与程序有关的文档资料的集合。

D、程序设计仅仅是软件开发过程的一个阶段。

第三题、判断题(每题1分,5道题共5分)1、面向对象设计过程一般仍分为结构设计和详细设计。

正确错误2、UML 是一种标准的图形化建模语言,它是面向对象分析与设计的一种标准表示。

正确错误3、UML不是一种可视化的程序设计语言而是一种可视化的建模语言.正确错误用若干个视图构造系统的模型,每个视图描述系统的一个方面。

正确错误、类的关联关系通常采用函数设计方式。

正确错误《面向对象程序设计》第11章在线测试A BC D、允许程序员以相同的方式处理不同的数据结构的是()A BC Dlist属于(A BC Dmap)属于A BC D、多重映射(multimapA BC DC、排序算法D、数值计算算法2、下面属于容器的头文件是()A、vectorB、listC、queneD、set3、下面的说法正确的是()A、STL中有sort函数,所以程序员不能定义名字叫sort的函数B、STL中的sort函数在名字空间之外C、程序员可以在自定义的名字空间内定义sort函数D、使用STL的sort函数可以在源程序的开头加入using namespace std4、下面属于顺序容器的是()A、向量B、双队列C、堆栈D、列表5、如果char str[]=“China!Great Wall”,生成string类型s并且s的字符串内容也是“China!Gr eat Wall”的语句是()A、string s(str);B、string s(str,1);C、string s(str, 1,11);D、string s=str;第三题、判断题(每题1分,5道题共5分)1、迭代器是算法访问容器的中介。

面向对象程序设计试题及答案

面向对象程序设计试题及答案

面向对象程序设计试题及答案一、试题1. 请简要解释面向对象(Object-Oriented)程序设计的概念。

2. 列举面向对象程序设计中的四个基本特征,并分别进行简要描述。

3. 请说明封装(Encapsulation)在面向对象程序设计中的作用和优势。

4. 解释继承(Inheritance)在面向对象程序设计中的概念和用途。

5. 什么是多态(Polymorphism)?请解释多态的概念以及其在面向对象程序设计中的重要性。

6. 简要介绍抽象类(Abstract Class)和接口(Interface)的概念,并说明它们之间的区别。

7. 请解释类(Class)与对象(Object)之间的关系。

8. 在面向对象程序设计中,什么是构造函数(Constructor)?请说明构造函数的作用和使用方法。

9. 请示范一个使用面向对象程序设计的简单实例,并说明你所设计的类的结构和功能。

二、答案1. 面向对象程序设计是一种以对象为中心的编程方法,通过定义表示对象属性和行为的类来组织程序结构,以实现代码的重用性、灵活性和可维护性。

2. (1)封装:将数据和对数据的操作封装在一个类中,通过访问权限控制,保护数据的安全性和完整性。

(2)继承:通过建立类之间的继承关系,实现代码的重用,具有层次性和扩展性。

(3)多态:允许不同类的对象对同一消息作出不同的响应,实现代码的灵活性和扩展性。

(4)抽象:通过抽象类和接口的定义,隐藏对象的具体实现细节,提供统一的接口和规范。

3. 封装的作用是将数据和对数据的操作封装在一个类中,外部无法直接访问类的内部实现细节,只能通过类提供的接口访问和操作数据。

封装的优势包括:(1)提高代码的可维护性和可读性,减少代码的重复。

(2)保护数据的安全性和完整性,防止外部直接对数据进行非法操作。

(3)降低模块之间的耦合度,提高代码的灵活性。

4. 继承是面向对象程序设计中的一个重要概念,它通过建立类与类之间的继承关系,实现代码的重用和扩展。

(完整版)面向对象程序设计试卷及答案

(完整版)面向对象程序设计试卷及答案

考试试卷A(答案)面向对象程序设计注意事项:1。

请考生按要求在试卷装订线内填写姓名、学号和年级专业。

2. 请仔细阅读各种题目的回答要求,在规定的位置填写答案。

3。

不要在试卷上乱写乱画,不要在装订线内填写无关的内容.4。

满分100分,考试时间为120分钟。

一。

单项选择(本大题共10小题,每小题3分,共30分)1. C#中每个int类型的变量占用( B )个字节的内存。

(A)8 (B)4 (C)2 (D)12。

面向对象的特点是( A )(A)封装、继承、多态(B)抽象、封装、多态(C)抽象、继承、封装(D)抽象、多态、重载3。

C#控制台程序的主入口点是( C )(A) Page_Load函数(B)Run函数(C)Main函数(D)Form_Load函数4。

引用类型存储在( B )中。

(A)堆栈(B)堆内存(C)队列(D)列表5. 在C#中,表示一个字符串的变量应使用以下哪条语句定义( B )(A)CString str (B)string str(C)Dim str as string (D)char *str6。

在中,用来与数据源建立连接的对象是( A )。

(A)Connection对象(B)Command对象(C)DataAdapter对象(D)DataSet对象7. 在类的定义中,类的( B )描述了该类的对象的行为特征.(A)类名(B)方法(C)所属的名字空间(D)私有域8. 如果未显式赋值,则将整型值( B )赋给枚举中的第一个元素。

(A)1 (B)0 (C)2 (D)39. float类型的值可以隐式转换成( C )类型的值而保持值不被改变。

(A)char (B)long (C)double (D)int10。

在C#中,假设Class1是一个类,而IExample是一个接口,下面的( A )类声明是正确的。

(A)class Employee: Class1, IExample(B )class Employee : IExample , Class1(C )class Employee- Class1, IExample(D )class Employee: Class1/IExample二.判断题(本大题共5小题,每小题3分,共15分)1. C#中子类可以继承多个基类,也可以继承一个接口。

面向对象程序设计(C++)知到章节答案智慧树2023年泰山学院

面向对象程序设计(C++)知到章节答案智慧树2023年泰山学院

面向对象程序设计(C++)知到章节测试答案智慧树2023年最新泰山学院第一章测试1.下列说法错误的是()。

参考答案:“#include<iostream>”,这是C++中的语句2.若要建立良好的程序设计风格,下面描述正确的是()。

参考答案:程序应简单、清晰、可读性好;充分考虑程序的执行效率;必要的注释3.编写C++程序一般需经过的几个步骤依次是编辑、编译、连接、调试。

()参考答案:对4.C++对C语言进行了改进,不仅对C的功能进行了扩充,还增加了面向对象的机制。

()参考答案:对5.C++只在编译阶段给出错误信息,而在连接阶段不会。

()参考答案:错第二章测试1.作用域运算符的功能是()。

参考答案:标识某个成员属于哪一个类2.为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为()。

参考答案:public3.下面关于类的描述中错误的是()。

参考答案:类数据成员必须声明为私有4.在C++的面向对象程序设计中,类与类之间的独立性是通过封装实现的。

()参考答案:对5.如果class类中的所有成员在定义时都没有使用关键字pubilc,private和protected,则所有成员缺省定义为public。

()参考答案:错第三章测试1.()的功能是对对象进行初始化。

参考答案:构造函数2.下面对构造函数和析构函数的写法形式上正确的是()。

参考答案:max::max (参数), max::~ max ()3.假设getData()函数是一个类的常成员函数,且没有返回值,则应表示为()。

参考答案:void getData () const;4.若有如下类的定义:class Time{ int hour;int minute;int sec;public:void getTime();}Time *pt;则以下用法中正确的是:()。

参考答案:pt->getTime();5.关于友元的说法,正确的是()。

郑州大学《面向对象程序的设计》1-12章在线测试题库完整

郑州大学《面向对象程序的设计》1-12章在线测试题库完整

郑州⼤学《⾯向对象程序的设计》1-12章在线测试题库完整《⾯向对象程序设计》第02章在线测剩余时间:59:56试答题须知:1、本卷满分20分。

2、答完题后,请⼀定要单击下⾯的“交卷”按钮交卷,否则⽆法记录本试卷的成绩。

3、在交卷之前,不要刷新本⽹页,否则你的答题结果将会被清空。

第⼀题、单项选择题(每题1分,5道题共5分)1、在关键字public后⾯定义的成员为类的()成员。

A、私有B、公⽤C、保护D、任何2、当⼀个类对象结束它的⽣存期的时侯,系统⾃动调⽤该类的( )。

A、⽆参构造函数B、带参构造函数C、拷贝构造函数D、析构函数3、类的构造函数被⾃动调⽤执⾏的情况是在定义该类的 ( )A、成员函数时B、数据成员时C、对象时D、友元函数时4、假定AB为⼀个类,则执⾏“AB *p=new AB(1,2);”语句时共调⽤该类构造函数的次数为( )。

A、0B、1C、2D、35、假定AB为⼀个类,px为指向该类的⼀个含有n个对象的动态数组的指针,则执⾏“delete []px;”语句时共调⽤该类析构函数的次数为( )。

A、0B、1C、nD、n+1第⼆题、多项选择题(每题2分,5道题共10分)1、下⾯有关类说确的是(A,B,D )A、⼀个类可以有多个构造函数B、⼀个类只有⼀个析构函数C、析构函数需要指定参数D、在⼀个类中可以说明具有类类型的数据成员2、关于封装,下列说法中正确的是()。

A、通过封装,对象的全部属性和操作结合在⼀起,形成⼀个整体B、通过封装,⼀个对象的实现细节被尽可能地隐藏起来(不可见)C、通过封装,每个对象都成为相对独⽴的实体D、通过封装,对象的属性都是不可见的3、定义析构函数时,错误的说法是 ( ) 。

A、其名与类名完全相同B、返回类型是 void 类型C、⽆形参,也不可重载D、函数体中必须有 delete 语句4、假定AA为⼀个类,a为该类私有的数据成员,GetValue()为该类公有函数成员,它返回a的值,x为该类的⼀个对象,则访问x对象中数据成员a的语句错误的是()。

《面向对象程序设计》第12章在线测试

《面向对象程序设计》第12章在线测试
B、实例连接通过对象的属性表现对象之间的依赖关系
C、实例连接通过对象的操作)C
A、需求分析
B、建立用例模型
C、定义问题领域类
D、定义角色
5、描述相互协作的对象之间的交互关系和连接关系的是()C
A、类图
B、顺序图
C、协作图
D、用例图
第二题、多项选择题(每题2分,5道题共10分)
1、下面那些是面向对象的特征?()BCD
A、结构
B、类
C、重用
D、继承
2、下面哪些属于UML的图( )AB
A、用例图
B、类图
C、结构图
D、流程图
3、关于多态的说法正确的是()ABC
A、不同类型的对象接收相同的消息产生不同的行为
B、多态的成员函数需要定义为虚函数
C、在C++中通过基类指针调用虚函数实现多态
第一题、单项选择题(每题1分,5道题共5分)
1、面向对象软件开发中使用的OOA表示()A
A、面向对象分析
B、面向对象设计
C、面向对象语言
D、面向对象方法
2、面向对象的方法学是一种基于()的方法学D
A、数据
B、操作
C、对象
D、实体
3、关于实例连接的说法正确的是()B
A、实例连接表现了对象之间的动态联系
D、多态是指对象的多种表现形式
4、下面的说法正确的是()CD
A、软件就是程序,程序就是软件
B、软件开发的过程就是程序设计的过程
C、软件是程序、支持程序运行的数据以及与程序有关的文档资料的集合。
D、程序设计仅仅是软件开发过程的一个阶段。
5、下面关于面向对象的特征说法正确的是()ACD
A、每一个对象都具有唯一的标识

《面向对象程序设计》第01章在线测试

《面向对象程序设计》第01章在线测试

测试结果如下:∙ 1.1 [单选] [错] 下面的步骤不属于C++程序开发步骤的是∙ 1.2 [单选] [对] 执行完下列语句后,n的值为多少?() int n; for (n = 0;n < 100; n++)∙ 1.3 [单选] [对] VC项目中可以添加的文件类型不可以是∙ 1.4 [单选] [对] 下面重载函数不会发生二义性错误的是∙ 1.5 [单选] [对] 函数的形参和实参结合的本质是∙ 2.1 [多选] [错] 高级语言源程序需要经过那些步骤才能成为可执行文件?∙ 2.2 [多选] [对] C++的输出可以使用∙ 2.3 [多选] [错] 内联函数正确的是∙ 2.4 [多选] [错] 下面函数声明正确的是∙ 2.5 [多选] [对] 执行下面程序后,a和b的值分别为 void main() { int a, b, k=4, m=6,*p1=&k,*p2=&m; a=p1==&m;b=(-*p1)/(*p2)+7; cout<<a<<b<<endl;}∙ 3.1 [判断] [对] 内联函数体内可以使用C++的所有控制语句。

∙ 3.2 [判断] [对] 重载的函数的函数名是相同的,但它们的参数的个数和数据类型不同。

∙ 3.3 [判断] [对] 在for循环设置条件的第一个";"前,可以用“,”分隔不同的赋值表达式。

∙ 3.4 [判断] [对] 静态局部变量和全局变量的作用域和生存期都是一样的。

∙ 3.5 [判断] [对] 函数调用时使用的数组参数实际上就是一个指针。

A BC D、执行完下列语句后, 0; n < 100; n++)A BC D项目中可以添加的文件类型不可以是A BC、.HD、.LIB4、下面重载函数不会发生二义性错误的是A、int f(…); char f();B、int f(floatf , int j); int f(int I , floatf);C、int f(int i=0,int j=0); int f(); int f(i nt i);D、char f(const float f, const int &j); int f (float f ,int j);5、函数的形参和实参结合的本质是A、传值B、传地址C、根据情况而定D、传名字第二题、多项选择题(每题2分,5道题共10分)1、高级语言源程序需要经过那些步骤才能成为可执行文件?A、编辑B、编译C、连接D、格式化2、C++的输出可以使用A、scanfB、printfC、coutD、out3、内联函数正确的是A、内联函数用inline关键字说明B、内联函数调用时用具体的函数体代码替换函数调用C、内联函数与预定义语句相同D、在一个文件中定义的内联函数不可以在另一个文件中使用4、下面函数声明正确的是正确错误、重载的函数的函数名是相同的,但它们的参数的个数和数据类型不同。

面向对象程序设计智慧树知到答案章节测试2023年山东建筑大学

面向对象程序设计智慧树知到答案章节测试2023年山东建筑大学

第一章测试1.计算机编程语言发展经历三个阶段,由低到高分别是()。

A:汇编语言、机器语言、高级语言B:汇编语言、高级语言、机器语言C:机器语言、汇编语言、高级语言D:高级语言、汇编语言、机器语言答案:C2.Java平台包括三个版本,分别是企业版(JavaEE)、标准版(JavaSE)、微型版(JavaME)。

()A:错B:对答案:B3.Java语言的特点包括()。

A:与平台无关B:简单C:安全D:面向对象答案:ABCD4.Java用于编译的命令是java.exe。

()A:错B:对答案:A5.假设编译后的目录为d:.class,其中Circle类的包为b.c,则classpath应该添加的目录是()。

A:d:B:d:aC:d:aD:d:ac答案:B第二章测试1.有如下一段代码: public class ReturnIt{ _______ methodA(double x, doubley){ return x/y*2; } }在划线处应该是?()A:shortB:doubleC:intD:byte答案:B2.下面哪些字符串可以是Java中的标识符?()A:fieldnameB:3numberC:superD:#number答案:A3.下面的代码段中,执行之后i 和j 的值是()。

int i = 1; int j;j = i++;A:1,2B:1,1C:2,1D:2,2答案:C4.下列程序的运行结果是()。

public class Test { public static voidmain (String[] args) { int count = 0 ; for( int i = 1 ; i < 5 ;i +=2) for( int j = 1 ; j<= 10 ; j += 3) count ++ ; System .out .print(count ) ; }}A:0B:40C:10D:8答案:D5.下列语句执行后的结果是()。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
D、双向容器
3、集合(set)属于( )
A、顺序容器 B、关联容器 C、前向容器
D、双向容器
4、多重集(multiset)属于( )
A、顺序容器 B、关联容器 C、前向容器
D、双向容器
5、映射(map)属于( )
A、顺序容器 B、关联容器 C、前向容器
D、双向容器
答案:AABBB
第二题、多项选择题(每题2分,5道题共10分)
第三题、判断题(每题1分,5道题共5分)
1、C++语言中,既允许单继承,又允许多继承。
正确
2、派生类的继承方式有两种,公有继承和私有继承。
错误
3、在公有继承中,基类中只有公有成员对派生类是可见的。
错误
4、析构函数不能被继承。
正确
5、多继承情况下,派生类的构造函数的执行顺序取决于定义派生时所指定的各基类的顺序。
D、多态是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果
第三题、判断题(每题1分,5道题共5分)
1、面向对象开发技术分三个阶段:面向对象分析,面向对象设计和面向对象实现。
C、提取运算符读取键盘输入的所有字符,包括空格 D、一个语句中可以使用多个提取运算符
第三题、判断题(每题1分,5道题共5分)
1、文件是指存储在存储器的数据的集合。计算机中的程序、数据、文档通常以文件方式存放。
正确
2、trunc与out参数的作用是相同的。
正确
3、cout通常与显示器相连,cin通常与键盘相连
2、在公有继承的情况下,基类成员在派生类中的访问权限( )
A、受限制 B、保持不变 C、受保护
D、不受保护
3、可以用 p.a 的形式访问派生类对象 p 的基类成员 a ,其中 a 是 ( )
A、私有继承的公有成员 B、公有继承的私有成员 C、公有继承的保护成员
D、公有继承的公有成员
4、C++的继承性允许派生类继承基类的( )。
4、下面关于string类型的说法正确的是( )AD
A、使用string类型前,程序必须包含头文件string B、string类型是C++的一部分
C、string类型与char* 类型的作用一样 D、string相当于一个保存字符的序列容器
5、下面属于顺序容器的是( ) ABD
A、向量 B、双队列 C、堆栈 D、列表
第三题、判断题(每题1分,5道题共5分)
1、if ( x = 3 ) 和 if (x = = 3) 这两条语句的作用是一样的。
错误
2、对内联函数不能进行异常接口声明。
正确
3、重载的函数的函数名是相同的,但它们的参数的个数和数据类型不同。
正确
4、重载的函数的函数名是相同的,但它们的参数的个数、参数数据类型或返回值类型中至少应有一种是不同的。
A、提取需求 B、逻辑建模 C、求解域建模
D、分析用例
4、按钮与电梯按钮的关系是( )
A、部分与整体 B、一般与特殊 C、实例连接
D、消息连接
5、面向对象模型不包括( )
A、静态模型 B、对象模型 C、功能模型
D、动态模型
答案DDBBA
第二题、多项选择题(每题2分,5道题共10分)
1、部分与整体的关系有( )方式 AC
C、流是用流类定义的对象,而流类是用于完成输入输出的类。 D、流是IO设备
2、下面的说法正确的是( ) BD
A、缓冲流就是缓冲区
B、缓冲流当缓冲区满时才刷新流的数据 C、非缓冲流不处理数据 D、非缓冲流也要使用缓冲区
3、下面属于标准错误输出的流是( ) CD
A、cin B、cout C、clog D、cerr
正确
4、clear(int nState = 0)函数用于清除参数指定的状态
正确
5、调用clear函数后,流就变成可用
正确
11章
第一题、单项选择题(每题1分,5道题共5分)
1、STL中能够保存其他类型的对象的类是( )
A、容器 B、迭代器 C、算法
D、数组
2、双队列(deque)属于( )
A、顺序容器 B、关联容器 C、前向容器
D、if语句的if体内可以是循环语句
答案:DDADC
第二题、多项选择题(每题2分,5道题共10分)
1、C++的输出可以使用 BC
A、scanf B、printf C、cout D、out
2、以下语句循环次数为无限次的是 BCD
A、for ( y=0,x=1;x>++y;x=I++) I=x; B、for(;;x++=I); C、while(1){x++;}
D、fstream
3、相对于文本文件,下列关于二进制文件的说法中,不正确的是(D)
A、占用空间小 B、无法用常规的编辑工具看懂 C、执行效率高
D、可移植性好
4、流有一个状态标志字,关于failbit的下列说法中,正确的是(C)
A、上次读写操作成功,但流仍可用 B、上次读写操作成功,但流不可使用 C、上次读写操作失败,但流仍可用
2、对于公有继承,基类中的私有成员在派生类中将 ( )。AC
A、不能够直接使用成员名访问 B、能够通过成员运算符访问 C、仍然是基类的私有成员 D、变为派生类的私有成员
3、当保护继承时,下面说法正确的是( ) CD
A、基类的成员的访问权限在派生类中不变
B、在类作用域外能够通过派生类的对象来直接访问基类的公有成员 C、基类的保护成员和私有成员在派生类中的访问权限为受保护的 D、基类的公有成员在派生类中的访问权限为受保护的
第三题、判断题(每题1分,5道题共5分)
1、容器是能够保存其它类型的对象的类。
错误
2、算法就是一个按照一组定义明确的步骤来解决某个问题的处理过程。
正确
3、向量(vector)、双队列(deque)、列表(list)都是顺序容器
正确
4、前向容器是指一种长度可变的容器,直接继承于顺序容器
错误
5、顺序容器是指一种长度可变的容器,它支持高效的数据查询和数据操作。
D、上次读写操作失败,但流不可使用
5、数字12在二进制流中的表示方式是( )
A、12 B、31H32H C、00001100
D、00010010
答案:DADCC
第二题、多项选择题(每题2分,5道题共10分)
1、下面的说法正确的是( ) AC
A、输入输出流是指变量或者对象与外设之间的输入输出操作。 B、实现输入输出操作的cin和cout是C++的语句
A、a:32 ; b:30 ; c:32; B、a:30 ; b:31 ; c:32;
C、a:32 ; b:31 ; c:30;
D、a:31 ; b:32 ; c:30;
4、VC项目中可以添加的文件类型不可以是
A、.CPP B、.C C、.H
D、.LIB
5、下列关于条件语句的描述中,错误的是
A、if语句中只有一个else子句 B、if语句中可以有多个else if子句 C、if 语句中if体内不能是开关语句
4、关于软件生命周期的说法正确的是( )BD
A、开发程序就是直接编码
B、在程序设计之前需要先进行软件设计 C、软件投入使用后软件生命周期结束 D、软件维护也是软件生命周期的一个阶段
5、下面关于面向对象的特征说法正确的是( ) ACD
A、每一个对象都具有唯一的标识
B、任何类的划分都是客观的,程序员必须遵守其规定 C、继承性是子类自动共享父类数据结构和方法的机制
错误
5、在for循环设置条件的第一个";"前,可以用“,”分隔不同的赋值表达式。
正确
7章
第一题、单项选择题(每题1分,5道题共5分)
1、下面叙述不正确 的是 ( )
A、派生类都用公有派生产生
B、对基类成员的访问必须是无二义性的 C、赋值兼容规则也适用于多重继承的组合
D、基类的公有成员在派生类中仍然是公有的
D、for(I=10;;I--)sum+=I;
3、关于重载函数正确的说法是 ABD
A、函数重载指在同一作用域内多个函数使用相同的函数名 B、重载函数的参数必须不同 C、重载函数的返回值类型必须不同 D、两个功能相似的操作可以重载函数得到
4、下面函数声明正确的是 ABD
A、void f1(int a,int b);
B、void f2(int a,int c,int b=-1); C、void f3(int a ,int b=-1, int c); D、int f4(„);
5、C++程序中声明变量 int *p1 , *p2 ,m=5, n;下面错误的语句是 ABD
A、p1=&m; p2=&p1; B、p1=&m; p2=&n;*p1=*p2 C、p1=&m;p2=p1; D、p1=&m;*p2=*p1;
C、全部变成私有
D、仍然相应保持为公有和保护
答案ABDDD
第二题、多项选择题(每题2分,5道题共10分)
1、在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是 ( )AC
A、派生类的对象可以赋给基类的对象 B、派生类的对象可以初始化基类的引用 C、派生类的对象可以直接访问基类中的成员
D、派生类的对象的地址可以赋给指向基类的指针
正确
9章
第一题、单项选择题(每题1分,5道题共5分)
1、执行语句序列 ofstream outf( “ salary.dat ” ) ; if(...)cout<< “成功”; else cout<< “失败”;后,如文件打开成功,显示”成功”,否则显示”失败” . 由此可知,上面 if 语句的条件表达式是 ( ) 。
相关文档
最新文档