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

合集下载

面向对象程序设计课后答案(完整版)

面向对象程序设计课后答案(完整版)

面向对象程序设计课后答案(完整版)第二章2-4#includeusing namespace std;Add(int a,int b);int main(){int x,y,sum;cout>x>>y;sum = add(x,y);cout >*p;p++;}p = p-20;for( i=0;i0) countp++;if(*p>age ;try{checkagescore(name,age);}catch( string){cout<<"exception :name is exit"<<endl;continue;}catch(int){cout<<"exception :age is not proper"<<endl;continue;}cout<<"name:"<<name<<" age :"< }return 0;}第三章3-1(1)A (2)C (3)B (4)C (5)C(6)B (7)B (8)C (9)C3-7(1)main()函数中p1.age = 30;语句是错误的。

age 是类的私有成员(2)构造函数应当给常数据成员和引用成员初始化,将构造函数改为:A(int a1,int b1):a(a1),b(b1){}或A(int a1 ):a(a1),b(a){}再将main中的A a(1,2); 改为A a(1);(3)(1)在Test 类中添加语句:void print();void Print(){cout<<x<<"-"<<y<<"="<<x-y<<endl;}改为void Test::Print(){cout<<x<<"-"<<y<<"="<<x-y<<endl;}main函数中Init(38,15);改为:A.Init(38,15);Print();改为:A.Print();3-8(1)Constructing AConstructing BDestructing BDestructing A(2)double a,double bpoint & pp.x3-9class box{int len1,len2,len3;public:box(int l1,int l2,int l3){len1 = l1;len2 = l2; len3 = l3;} long volumn(){return len1*len2*len3;}};3-10class Test{int m1,m2;public:void Init(int a,int b){m1 = a;m2 = b;}void Pring(){cout<<m1<<" "<<m2<<endl;}};3-11略3-12}第四章4-6(1)D (2)D (3)D (4)D (5)B(6)D4-7(1)static int count = 0;这样初始化静态成员值是不对的将其改为static int count;在类外,main函数前加int Sample::count = 0;(2)#include//#includeusing namespace std;class Ctest{private:int x; const int y1;public:const int y2;Ctest(int i1,int i2):y1(i1),y2(i2) {y1 =10;//y1 为常量不能赋值x = y1;}int readme() const;};int Ctest::readme ()const{int i;i = x;x++; //常函数内不能改变成员值return x;}int main(){Ctest c(2,8);int i = c.y2;c.y2 = i;//y2为常量,不能改值i = c.y1;//y1私有,类外不能访问return 0;}将出错语句全部注释4-8(1)题中印刷错误,将class C构造函数改为: C(){cout<<"constructor C:";}运行结果为:constructor Aconstructor Bconstructor C(2)40(3)3434-9#include#includeclass Date{int year;int month;int day;public:Date(int y,int m,int d){year=y;month=m;day=d;}void disp(){cout<<year<<" "<<month<<" "<<day<<endl;}friend int count_day(Date &d,int k);friend int l(int year);friend int h(Date &d1,Date &d2);};int count_day(Date &d,int k){static int day_tab[2][12]={{31,28,31,30,31,30,31,31,30,31,30,3 1},{31,29,31,30,31,30,31,31,30,31,30,31}};// 使用二维数组存放各月天数,第一行对应非闰年,第二行对应闰年int j,i,s;if(l(d.year))j=1;//闰年,取1else j=0;//非闰年,取0if(k)//K非0时{s=d.day;for(i=1;i<d.month;i++)//d.month为输入的月份s+=day_tab[j][i-1];}else//K为0时{s=day_tab[j][d.month]-d.day;for(i=d.month+1; i<=12; i++)s+=day_tab[j][i-1];}return s;//S为相差的天数}int l(int year){if(year%4==0&&year%100!=0||year%400==0) // 是闰年return 1;else // 不是闰年return 0;}int h(Date &d1,Date &d2){int days,day1,day2,y;if(d1.year<d2.year)//第一个日期年份小于第二个日期年份{days=count_day(d1,0);for(y=d1.year+1;y<d2.year;y++)if(l(y))//闰年。

12级面向对象程序设计复习题

12级面向对象程序设计复习题

《面向对象程序设计》复习题一、单项选择题。

1.在switch语句中,为了结束分支,一般应在每个分支的结尾处加上语句()。

①continue ②goto ③break ④default2.说明友元函数的关键字是()。

①inline ②virtual ③static ④friend3.下面对指向常量的指针描述正确的是()。

①只能指向常量②指向的数据可以被修改③可以指向普通变量④必须进行初始化4.友元函数没有()。

①this指针②返回类型③函数名④参数5.关于重载,()不正确。

①类名可以重载②函数名可以重载③运算符可以重载④缺省参数是重载的一种方式6.用new分配n维数组空间,首地址赋予指针p,则p应为指向()维数组的指针。

①0 ② 1 ③n-1 ④n7.为类X重载前缀自增运算,则函数返回类型应为()。

①X ②X* ③X& ④int8.以下()未调用构造函数(X为类名)。

①X*p; ②X obj; ③X obj(1); ④X obj=2;9.若在类外有函数调用X::func();则函数func是类X的()函数。

①私有静态成员函数②公有非静态成员函数③公有静态成员函数④友元函数10.若引用作参数,则对应的实参应为()。

①指针②地址③常量④变量或对象本身11.在C++中,一个实型常数如果没有任何说明,表示()类型。

① float ② double ③ long double ④ void12.静态数据是保存在程序所分配内存的()。

①全局数据区②代码区③堆区④栈区13.在C++中类似于C中的有参宏定义的语法概念是()。

①重载函数②默认参数的函数③构造函数④内联函数14.具有函数作用域的标识符是()。

①变量②标号③函数名④对象名15.在头文件中,最好不应有()。

①内联函数定义②常量定义③数据定义④宏定义16.下面对指针的基类型描述正确的是()。

①可是任何类型②不能是void类型③不能是函数④不能是指针17.下面对引用描述正确的是()。

面向对象程序设计智慧树知到期末考试章节课后题库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<>();下面的这行代码是正确的。

2022年面向对象程序设计第章在线测试

2022年面向对象程序设计第章在线测试

《面向对象程序设计》第11章在线测试剩余时间:59:52答题须知:1、本卷满分20分。

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

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

第一题、单项选择题(每题1分,5道题共5分)1、STL中能够保存其他类型的对象的类是()A、容器B、迭代器C、算法D、数组2、双队列(deque)属于()A、顺序容器B、关联容器C、前向容器D、双向容器3、集合(set)属于( )A、顺序容器B、关联容器C、前向容器D、双向容器4、多重集(multiset)属于( )A、顺序容器B、关联容器C、前向容器D、双向容器5、映射(map)属于( )A、顺序容器B、关联容器C、前向容器D、双向容器第二题、多项选择题(每题2分,5道题共10分)1、下面属于适配器容器的是( )A、优先队列B、堆栈C、集合D、映射2、下面属于容器的头文件是()A、vectorB、listC、queneD、set3、下面的说法正确的是()题太坑对的也显示错误!A、容器用于存放数据对象B、算法用于操作容器中的数据对象C、迭代器是容器的代替D、迭代器用于链接容器和算法4、下面关于string类型的说法正确的是()A、使用string类型前,程序必须包含头文件stringB、string类型是C++的一部分C、string类型与char* 类型的作用一样D、string相当于一个保存字符的序列容器5、下面属于顺序容器的是()A、向量B、双队列C、堆栈D、列表第三题、判断题(每题1分,5道题共5分)1、容器是能够保存其它类型的对象的类。

正确错误2、算法就是一个按照一组定义明确的步骤来解决某个问题的处理过程。

正确错误3、向量(vector)、双队列(deque)、列表(list)都是顺序容器正确错误4、前向容器是指一种长度可变的容器,直接继承于顺序容器正确错误5、顺序容器是指一种长度可变的容器,它支持高效的数据查询和数据操作。

(完整版)《面向对象程序设计》答案

(完整版)《面向对象程序设计》答案

实验一熟悉VC++IDE开发环境一、实验目的1、熟悉VC++6.0集成开发环境,熟练掌握VC++6.0项目工作区、各种编辑器、菜单栏和工具栏的使用。

2、掌握如何编辑、编译、连接和运行一个C++程序。

3、通过运行简单的C++程序,初步了解C++源程序的结构和特点。

二、实验要求1、分析下列程序运行的结果。

程序一:#include <iostream.h>int add(int x,int y=8);void main(){ int x=4;cout<<add(x)<<",";cout<<add(x,add(add(x,add(x))))<<endl;}int add(int x,int y){ return x+y;}//12,28程序二:#include <iostream.h>void main(){ int *p,i;i=5;p=&i;i=*p+10;cout<<"i="<<i<<endl;}//i=15程序三:#include <iostream.h>void main(void){ int i=10;int &r=i;r++;cout<<"i="<<i<<", r="<<r<<'\n';i=88;cout<<"i="<<i<<", r="<<r<<'\n';}//i=11,r=11i=88,r=88程序四:#include <iostream.h>int f(int i){ static int k=1;for(;i>0;i--)k +=i;return k;}void main(){ int i;for(i=0;i<5;i++)cout<<f(i)<<" ";}// 1 2 5 11 21程序五:#include <iostream.h>void func();int n=1;void main(){ static int a;int b= -9;cout <<"a:"<<a<<" b:"<<b<<" n:" <<n<<endl;b+=4;func();cout <<"a:"<<a<<" b:"<<b<<" n:"<<n<<endl;n+=10;func();}void func(){ static int a=2; int b=5;a+=2;n+=12;b+=5;cout <<"a:" <<a<<" b:" <<b<<" n:" <<n <<endl;}// a:0 b:-9 n:1a:4 b:10 n:13a:0 b:-5 n:13a:6 b:10 n:35实验二C++对C的扩充一、实验目的1、了解在面向对象程序设计过程中C++对C功能的扩充与增强,并善于在编写程序的过程中应用这些新功能。

java面向对象程序设计 习题答案

java面向对象程序设计 习题答案

java面向对象程序设计习题答案Java面向对象程序设计习题答案Java是一种广泛应用于软件开发的编程语言,而面向对象程序设计(Object-Oriented Programming,简称OOP)则是一种常用的编程范式。

在学习Java的过程中,习题是非常重要的一部分,通过解答习题可以帮助我们巩固所学的知识,并提升编程能力。

本文将为大家提供一些Java面向对象程序设计习题的答案,希望能对大家的学习有所帮助。

1. 编写一个Java类,实现一个简单的计算器功能。

该计算器应该具有加、减、乘、除四种基本运算功能,并能够接受用户输入的两个操作数和运算符。

在计算结果后,将结果输出给用户。

```javaimport java.util.Scanner;public class Calculator {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入第一个操作数:");double num1 = scanner.nextDouble();System.out.print("请输入第二个操作数:");double num2 = scanner.nextDouble();System.out.print("请输入运算符(+、-、*、/):"); String operator = scanner.next();double result = 0;switch (operator) {case "+":result = num1 + num2;break;case "-":result = num1 - num2;break;case "*":result = num1 * num2;break;case "/":result = num1 / num2;break;default:System.out.println("无效的运算符!");return;}System.out.println("计算结果为:" + result);}}```2. 编写一个Java类,实现一个简单的学生管理系统。

c 面向对象程序设计教程习题答案

c 面向对象程序设计教程习题答案

c 面向对象程序设计教程习题答案C面向对象程序设计教程习题答案在学习C面向对象程序设计的过程中,习题答案是非常重要的一部分。

通过练习习题,可以加深对知识点的理解,提高编程能力。

下面我们就来看一些常见的C面向对象程序设计习题及其答案。

1. 什么是面向对象程序设计?面向对象程序设计是一种程序设计范式,它以对象为中心,通过封装、继承和多态等特性来组织和管理代码。

面向对象程序设计可以提高代码的可维护性和可重用性,是现代软件开发中非常重要的一部分。

2. 什么是类和对象?类是一种抽象的数据类型,它描述了一类对象的共同特征和行为。

对象是类的实例,它具体描述了一个具体的实体。

在C面向对象程序设计中,类和对象是非常重要的概念。

3. 请编写一个简单的类和对象的例子。

```c#include <stdio.h>// 定义一个简单的类class Person {public:int age;char name[20];void display() {printf("Name: %s, Age: %d\n", name, age);}};int main() {// 创建一个对象Person p;p.age = 25;strcpy(, "Alice");p.display();return 0;}```4. 什么是封装?封装是面向对象程序设计中的一种重要特性,它将数据和行为封装在一个类中,对外部隐藏了内部的实现细节。

封装可以保护数据的安全性,同时提供了简单的接口供外部访问。

5. 请编写一个简单的封装例子。

```c#include <stdio.h>// 定义一个简单的类class Circle {private:double radius;public:void setRadius(double r) {radius = r;}double getArea() {return 3.14 * radius * radius;}};int main() {// 创建一个对象Circle c;c.setRadius(5.0);printf("Area: %f\n", c.getArea());return 0;}```以上就是一些常见的C面向对象程序设计习题及其答案。

面向对象程序设计第10章在线测试

面向对象程序设计第10章在线测试

《面向对象程序设计》第10章在线测试(共3页)-本页仅作为预览文档封面,使用时请删除本页-《面向对象程序设计》第10章在线测试剩余时间:59:51答题须知:1、本卷满分20分。

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

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

第一题、单项选择题(每题1分,5道题共5分)1、throw后面的表达式不可以是()A、常量B、变量C、对象D、数组2、关于异常的说法,正确的是()A、异常就是错误B、有了异常处理机制,出现错误也没有关系C、异常在C++中以消息的形式传递D、程序中出现的错误都可以用catch块来捕捉处理3、关于catch(。

)的说法错误的是()A、catch(。

)可以捕捉所有类型的异常B、catch(。

)必须放在所有catch块的后面C、catch(。

)可以避免出现没有被捕捉的异D、catch(。

)不能单独使用常4、C++中异常处理的默认模式是()A、终止模式B、恢复模式C、挂起模式D、暂停模式5、关于重新抛出错误的说法是()A、重新抛出是指抛出原来的异常B、用throw语句再次抛出原来的异常C、只能在catch块中抛出D、重新抛出时不能改变异常信号的值第二题、多项选择题(每题2分,5道题共10分)1、关于异常处理的说法正确的是()A、将异常的检测与处理分离B、异常就是错误C、异常由函数调用引起D、在上层调用函数中使用try检测函数调用是否引发异常2、try子句的作用是()A、代码的保护段B、如果预料某段程序代码可能发生异常,就将该段代码放在try子句之后C、try子句产生异常D、try子句中的throw表达式产生异常3、catch子句的说法正确的是()A、catch子句后的复合语句是异常处理程序B、catch子句捕获throw表达式抛出的异常C、catch子句的异常类型说明只能是类型,不能是数值D、catch子句的异常类型不能是自定义类4、异常处理的执行过程是()A、程序执行try语句块内的保护段,如果发现异常则退出B、如果在try语句内的程序段抛出异常,程序控制转入try块后的catch块C、throw抛出的异常对象如果与catch子句异常类型的值一致,则执行对应的异常处理程序D、如果没有匹配的catch子句,自动调用terminate终止程序5、关于catch(…)语句的说法正确的是()A、catch(…)语句可以捕获任何异常B、catch(…)语句可以放在catch子句的任何位置C、catch(…)语句必须放在catch子句的最后D、catch(…)语句捕获空的异常第三题、判断题(每题1分,5道题共5分)1、异常(Exception)是程序运行过程中,由于环境变化、用户操作失误以及其它方面的原因而产生的运行时不正常的情况.正确错误2、抛出异常的模块只是报告某个地方存在错误,这个报告可以帮助异常处理器解决这个错误。

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

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

D、双向容器 答案:AABBB 第二题、多项选择题(每题 2 分,5 道题共 10 分) 1、下面属于适配器容器的是( ) AB A、优先队列 B、堆栈 C、集合 D、映射 2、下面属于容器的头文件是()ABCD A、vector B、list C、quene D、set 3、下面的说法正确的是()题太坑!!!对的也显示错误! A、容器用于存放数据对象 B、算法用于操作容器中的数据对象 C、迭代器是容器的代替 D、迭代器用于链接容器和算法 4、下面关于 string 类型的说法正确的是()AD A、使用 string 类型前,程序必须包含头文件 string B、string 类型是 C++的一部分 C、string 类型与 char* 类型的作用一样
D、00010010 答案:DADCC 第二题、多项选择题(每题 2 分,5 道题共 10 分) 1、下面的说法正确的是()AC A、输入输出流是指变量或者对象与外设之间的输入输出操作。 B、实现输入输出操作的 cin 和 cout 是 C++的语句 C、流是用流类定义的对象,而流类是用于完成输入输出的类。 D、流是 IO 设备 2、下面的说法正确的是()BD A、缓冲流就是缓冲区 B、缓冲流当缓冲区满时才刷新流的数据 C、非缓冲流不处理数据 D、非缓冲流也要使用缓冲区 3、下面属于标准错误输出的流是()CD A、cin B、cout C、clog D、cerr 4、下面关于 cout 的说法正确的是()AD A、cout 是与标准设备链接的预定义输出流 B、运算符>>向 cout 发送字符 C、一个语句中只能使用一个插入运算符
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; 第三题、判断题(每题 1 分,5 道题共 5 分) 1、if ( x = 3 ) 和 if (x ==3) 这两条语句的作用是一样 的。 错误 2、对内联函数不能进行异常接口声明。 正确 3、重载的函数的函数名是相同的,但它们的参数的个数和数据 类型不同。

c面向对象程序设计期末考试题及完整参考答案

c面向对象程序设计期末考试题及完整参考答案
A)私有的或保护的B)公有的C)保护的或者共有的D)公有的或者私有的
2.在类中未说明访问权限的情况下,所有成员都是()的
A)共有的B)私有的C)内部的D)保护的
3.关于数组型参数下面那个说法是错误的()
A)方法中只允许定义一个数组型参数;
B)数组型参数所定义的数组必须是一维数组;
C)数组型参数可以作为引用参数或者输出型参数使用;
}
}
}
7、编程题(共20分)
定义一个教师类Teacher,具体要求如下:
1)私有字段姓名name(string)、性别sex(SexFlag)、年龄age(int,>=0)和工号no(string)等信息,其中SexFlag为枚举类型,包括Male(表示男性)、Female(表示女性),并且sex字段缺省为男性。
01223,王五,男,35岁
7)要求必须按照一个完整的C#程序结构来写,保证程序正确运行。
洛阳理工学院2011/2012学年 第一学期 期末考试试题卷(A)
参考答案及评分标准
课程:面向对象程序设计适用班级:B090501/2/3/4
8、填空题(每空1分,共20分)
1.属性操作
2.泛化依赖泛化
3.命名空间 主程序方法 程序集
}
public Truck(int weight, int load)
: base(50)
{
this.weight = weight;
this.load = load;
}
publicnewfloat Run(float distance) //重载
{
return (1 + load / Weight / 2) * base.Run(distance);

C#习题第7-12章(参考答案)

C#习题第7-12章(参考答案)

第七章类和对象参考答案一、选择题1.C 2.C 3.A 4.B二、填空题1.继承性、封装性、多态性。

2.public 类名() {} ;~类名(){}三、简答题3.答:不合法。

Main函数应放在某个类中。

四、程序分析题1.有误。

如果不是静态字段,静态方法不可直接访问。

2. 参考答案MyClass m=new MyClass; m. MyFunc();MyClass.MyMethod();3. this.stuName=stuName;stuID=xuehao;第八章方法参考答案一、选择题1.答:ACD。

分析:AB两个选项说的正是ref和out的主要区别,out不需初始化,但最后一定要对out参数赋值。

CD指出ref和out参数必须修饰在实参前。

二、简答题第九章继承和访问控制参考答案一、选择题1.B二、简答题1.答:类成员有private、public、protected、internal、protected internal五种访问形式。

其中,private:私有成员, 在类的内部才可以访问。

protected:保护成员,该类内部和继承类中可以访问。

public:公共成员,完全公开,没有访问限制。

internal:在同一命名空间内可以访问。

protected internal:在同一命名空间内的派生类可以访问。

2. 答:sealed 修饰符用于防止从所修饰的类派生出其它类。

如果一个密封类被指定为其它类的基类,则会发生编译时错误。

密封类不能同时为抽象类。

3. 答:System.Object类。

三、程序分析题1. abstract class ShapesClass{abstract public int Area();}2. public class Student{protected string studName;protected int studID;public Student(string str, int id){studName=str;studID=id;}public void FindInfo(int id){ if(id==studID)Console.WriteLine ("{0} is a student. ", studName);}}public class CollegeStudent :Student{string department;public CollegeStudent(string deptmnt,string studName, int id){ department=deptmnt;}public new void FindInfo(int id){if(id==studID)Console.WriteLine ("{0} is a student in the {1} Department. ", studName,department);}}第十章多态参考答案一、选择题1. A。

郑州大学《面向对象程序的设计》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、每一个对象都具有唯一的标识

面向对象程序设计(2013)A_答案与评分

面向对象程序设计(2013)A_答案与评分

2012─2013学年第一学期《面向对象程序设计》课程考试试卷(A卷)考试方式:上机学分:4 考试时间:150分钟班级:序号:姓名:1.定义类【15分,完善题,已有项目UseOOP】:定义一个计算类MyClass,包括一个整数Num,完善MyClass类计算从1到Num的累加和与累乘积,以整数10为例,测试应用程序,输出结果参照下图。

注意:本题有4个待完善点。

结果贴图:2.显示素数【15分,编程题,建议项目Timer】:使用一个定时器,按下“开始”按钮后开始输出从2开始的10个素数,结果显示在多行文本框中。

输出结果参照下图。

结果贴图:3.字符图形【15分,编程题,建议项目CharGraph】:编写一个程序输出九九乘法表(使用Label控件输出,要示输出样式与参考结果完全相同),参考结果图如下。

结果贴图:4.读文件【15分,编程题,建议项目ReadFile】:从测井数据文件DataIn.txt(该文件在提供的解决方案中)中读入数据,计算电阻率与声波的均值显示在列表框(ListBox)中,均值保留二位小数,参考结果图如下。

结果贴图:5.GDI绘图【15分,完善题,已有项目GdiGraph】:参照参考结果图和程序中的提示完成程序,电阻率曲线的数据使用程序中深度数据_depth和电阻率数据_rt,声波曲线的数据使用程序中深度数据_depth和声波数据_ac。

参照结果图如下。

注意:本题有4个待完善点,图中的曲线为折线,先水平绘线,再垂直绘线。

结果贴图:6.创建TreeView视图【15分,编程题,建议项目UseControl】:完全使用C#代码创建有三个节点的TreeView树,并展开所有树形节点,参考结果如下图。

注意:使用可视化方法添加节点无效。

结果贴图:。

《面向对象程序设计》第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、下面函数声明正确的是正确错误、重载的函数的函数名是相同的,但它们的参数的个数和数据类型不同。

c语言程序设计第12章在线测试

c语言程序设计第12章在线测试

《C语言程序设计》第12章在线测试《C语言程序设计》第12章在线测试剩余时间:51:21答题须知:1、本卷满分20分。

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

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

第一题、单项选择题(每题1分,5道题共5分)1、若执行fopen函数时发生错误,则函数的返回值是()A、地址值B、0C、1D、EOF2、设有定义“int a=3,b,*p=&a;”,则下列语句中,使b不为3的语句是:A、b=*&a;B、b=*p;C、b=a;D、b=*a;3、已知定义“int x = 1, *p”,则合法的赋值表达式是( )。

A、p = &xB、p = xC、*p = &xD、*p = *x4、执行“char a[10]={"abcd"},*p=a;”后,*(p+4)的值是( )。

A、字符ˊdˊB、转义符ˊ\0ˊC、常量"abcd"D、不能确定5、若有int a[10],*p=a;,则( )。

A、p++可以使p指向下一个字节B、p+=2 相当于p=sizeof(a)/10D、p+=2可以使p指向下一个元素,即a[1]的首地C、p++可以使p指向下一个元素,即a[1]的首地址址第二题、多项选择题(每题2分,5道题共10分)1、C语言中的文件分类是:A、文本文件和数据文件B、文本文件和二进制文件C、数据文件和二进制文件D、顺序文件和随机文件2、已有定义char s[10],*p=s;。

在下列表达式中,正确的表达式是:A、p=s+5B、s=p+sC、*p=s[0]D、s[2]=p[4]3、若有int *px; float *pf;char *pc;,下列关于指针的正确描述为()。

A、px与pf存储单元长度一样。

B、px与pc存储单元长度一样。

C、pc与pf存储单元长度一样。

浙江理工大学《C面向对象程序设计》2021-2022学年第一学期期末试卷

浙江理工大学《C面向对象程序设计》2021-2022学年第一学期期末试卷

浙江理工大学《C面向对象程序设计》2021-2022学年第一学期期末试卷考试课程:C面向对象程序设计考试时间:120分钟专业:计算机科学与技术总分:100分---一、单项选择题(每题2分,共20分)1. 在C++中,下列关键字用于定义类的成员函数:A. memberB. methodC. functionD. virtual2. 在C++中,以下哪个运算符用于在类的成员函数中访问类的成员?A. .B. ->C. ::D. *3. 下列关于C++类的描述中,错误的是:A. 类可以包含成员变量和成员函数B. 类的成员变量默认是私有的C. 类的成员函数可以直接访问私有成员变量D. 类的成员函数可以被其他函数调用4. 在C++中,以下哪个关键字用于继承一个类的特性?A. deriveB. inheritC. extendsD. class5. 在C++中,下列关于构造函数的描述中,错误的是:A. 构造函数没有返回类型B. 构造函数与类同名C. 构造函数可以被继承D. 构造函数用于对象的初始化6. 下列关于C++析构函数的描述中,正确的是:A. 析构函数没有参数B. 析构函数用于释放对象的资源C. 析构函数与类同名D. 手动调用析构函数可以释放对象7. 在C++中,以下哪个关键字用于创建类的派生类?A. deriveB. inheritC. extendsD. class8. 在C++中,如果一个类的成员函数被声明为虚函数,可以实现哪种多态性?A. 编译时多态B. 运行时多态C. 静态多态D. 动态多态9. 在C++中,如果一个类的成员函数被声明为纯虚函数,该类称为什么类型的类?A. 抽象类B. 派生类C. 基类D. 继承类10. 在C++中,下列关于多态性的描述中,错误的是:A. 多态性允许在运行时选择不同的函数实现B. 多态性通过继承和虚函数实现C. 多态性提高了代码的灵活性和可扩展性D. 多态性只能在类的成员函数中实现---二、判断题(每题2分,共20分)11. C++中,类的成员变量默认是公有的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《面向对象程序设计》第12章在线测试剩余时间:59:56
答题须知:1、本卷满分20分。

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

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

第一题、单项选择题(每题1分,5道题共5分)
1、面向对象的程序设计语言必须具备的关键要素是( )
A、抽象和封装
B、抽象和多态性
C、抽象、封装、继承和多态性
D、抽象、封装和继承性
2、封装性应具有的条件是()
A、有一个清晰的边界
B、有确定的接口
C、受保护的内部实现
D、以上所有
3、OOD的作用是()
A、提取需求
B、逻辑建模
C、求解域建模
D、分析用例
4、按钮与电梯按钮的关系是()
A、部分与整体
B、一般与特殊
C、实例连接
D、消息连接
5、面向对象模型不包括()
A、静态模型
B、对象模型
C、功能模型
D、动态模型
第二题、多项选择题(每题2分,5道题共10分)
1、部分与整体的关系有()方式
A、组合
B、联合
C、聚合
D、整合
2、对象之间存在的关系包括()
A、部分与整体
B、一般与特殊
C、实例连接
D、消息连接
3、关于多态的说法正确的是()
A、不同类型的对象接收相同的消息产生不同的行为
B、多态的成员函数需要定义为虚函数
C、在C++中通过基类指针调用虚函数实现多态
D、多态是指对象的多种表现形式
4、关于软件生命周期的说法正确的是()
A、开发程序就是直接编码
B、在程序设计之前需要先进行软件设计
C、软件投入使用后软件生命周期结束
D、软件维护也是软件生命周期的一个阶段
5、下面关于面向对象的特征说法正确的是()
A、每一个对象都具有唯一的标识
B、任何类的划分都是客观的,程序员必须遵守其规定
C、继承性是子类自动共享父类数据结构和方法的机制
D、多态是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的
结果
第三题、判断题(每题1分,5道题共5分)
1、面向对象开发技术分三个阶段:面向对象分析,面向对象设计和面向对象实现。

正确错误
2、面向对象的要素包括抽象、封装。

正确错误
3、面向对象的共享性是指在同一个应用中的共享。

正确错误
4、窗口类与标题栏、菜单条的关系是共享聚集。

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

正确错误
恭喜,交卷操作成功完成!你本次进行的《面向对象程序设计》第12章在线测试的得分为20分(满分20分),本次成绩已入库。

若对成绩不满意,可重新再测,取最高分。

测试结果如下:
• 1.1 [单选] [对] 面向对象的程序设计语言必须具备的关键要素是( )
• 1.2 [单选] [对] 封装性应具有的条件是()
• 1.3 [单选] [对] OOD的作用是()
• 1.4 [单选] [对] 按钮与电梯按钮的关系是()
• 1.5 [单选] [对] 面向对象模型不包括()
• 2.1 [多选] [对] 部分与整体的关系有()方式
• 2.2 [多选] [对] 对象之间存在的关系包括()
• 2.3 [多选] [对] 关于多态的说法正确的是()
• 2.4 [多选] [对] 关于软件生命周期的说法正确的是()
• 2.5 [多选] [对] 下面关于面向对象的特征说法正确的是()
• 3.1 [判断] [对] 面向对象开发技术分三个阶段:面向对象分析,面向对象设计和面向对象实现。

• 3.2 [判断] [对] 面向对象的要素包括抽象、封装。

• 3.3 [判断] [对] 面向对象的共享性是指在同一个应用中的共享。

• 3.4 [判断] [对] 窗口类与标题栏、菜单条的关系是共享聚集。

• 3.5 [判断] [对] 类的关联关系通常采用函数设计方式。

相关文档
最新文档