07信息面向对象程序设计a卷
[福建师范大学]《面向对象的程序设计》期末考试A卷
▆■■■■■■■■■■■■福建师范大学网络与继续教育学院《面向对象的程序设计》期末考试A卷姓名:专业:学号:学习中心:一、单项单选题 (共25题,每题2分,共50分)1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 251、以下对部署图说法不正确的是()。
A.部署图有主要建模元素是构件B.使用部署图可以显示运行时系统的结构,同时还传达构成应用程序的硬件和软件的配置的部署方式C.从部署图中,可以了解到软件与硬件之间物理关系及处理节点的组件分布情况D.部署图是用来显示系统中软件和硬件的物理结构2、组件图用于对系统的静态实现视图建模,这种视图主要支持系统部件的配置管理,通常可以分为三种方式来完成,下面哪种不是其中之一()。
A.对源代码建模B.对事物建模C.对数据库建模D.对可执行文件建模3、关于面向对象方法的优点,下列不正确的叙述是()。
A.与人类习惯的思维方法比较一致B.可重用性好C.以数据操作为中心D.可维护性好4、类和接口的关系类似于下面哪种类型的关系()。
A.关联(association)和聚集(aggregation)B.关联(association)和组合(composition)C.脚本(scenario)和用例(use case)D.包(Package)和子系统(subsystem)5、UML通过图形化的表示机制从多个侧面对系统的分析和设计模型进行刻画,其中()包括构件图,它描述软件系统中各组成构件,构件的内部结构以及构件之间的依赖关系。
A.行为视图B.结构视图C.构件视图D.用例视图6、行为类模式使用()在类间分派行为。
A.接口B.继承机制C.对象组合D.委托7、通常对象有很多属性,下面仅能在对象内部访问的属性可见性限制是()。
A.公有的(public)B.受保护的(protected)C.友员(friendly)D.私有的(private)8、下面不属于创建型模式的有()。
《面向对象程序设计》试卷A(第三套)课案
湖北第二师范学院2014-2015学年度第一学期课程考试试卷(A卷)课程名称:《面向对象程序设计》考试方式:闭卷(开卷、闭卷)院系:专业班级:学生姓名:学号:一、单项选择题(从下列各题备选答案中选出一个正确的答案,并将其选项填在答题卡上,答在试卷上不得分。
多选、选错或未选者不得分。
每小题1分,共30分)1、下列合法的变量名是()。
(A)8d(B)1_2h(C)_int(D)file.cpp2、有说明语句:int a=0; double x=5.16; ,则以下语句中,( )属于编译错误。
(A)x=a/x; (B) x=x/a; (C) a=a%x; (D) x=x*a;3、设有:int a=7,b=5,c=3, d=1; , 则条件表达式a<b?a:c>d?c:d的值为()。
(A)7 (B)5 (C)3 (D)14、设x是—个b00l整的逻辑量.y的值为10,则表达式x&&y的值为( )。
A.1B、0C、与x值相同D、与x值相反5、下列for语句循环的次数是( ) 。
for ( int i=0,x=0; !x && i<=3; i++ )(A)3 (B)4 (C)0 (D)无限6、有函数原型void fun( int * ); 下面选项中,正确的调用是( )。
(A)double x = 0.12; fun( &x );(B)int a = 1 ; fun( a*3.14 );(C)int b = 10; fun( &b );(D)fun( 56 );7、关于函数定义和调用的说法正确的是( )。
(A)函数能嵌套调用,但不能嵌套定义(B)函数能嵌套调用,也能嵌套定义(C)函数不能嵌套调用,也不能嵌套定义(D)函数不能嵌套调用,但能嵌套定义8、有定义一维数组语句:int a[5],*p;,则下列表达式错误的是()。
(A)p=p+1(B)a=a+1(C)p-a(D)a+29、假定有语句:int b[][3]={{1},{1,2},{1,2,3},{0}}; 则b[2][2]的值是()。
面向对象的程序设计A卷答案
学年第学期考试科目:面向对象的程序设计考试类型:(闭卷)考试时间:120 分钟学号姓名年级专业一、选择题(单选,每题2分,共30分)二、判断题(正确的画勾,错误的画叉)三、简答题1、什么是标识符?什么是保留字?java中标识符的命名规则是?(6分)答:编写程序的时候使用的各种单词称为标识符。
在编程语言中有特殊意义的标识符称为保留字。
Java语言中程序自定义的标识符何以是任何字母、数字、下划线(_)和美元符号($)的组合,但不能以数字开头。
2、按要求完成下面问题。
(8分)(1) 编写一条赋值语句,计算num1、num2之和的平方根,并将结果保存在num3中。
(2分)(2) 方法hypotenuse 带两个参数,第一个参数是整型数据side1,第二个是浮点型参数side2. 并且返回一个双精度浮点型结果。
(3分)(3) Object类的意义是什么?(3分)(1)num3=Math.sqrt(num1+num2);(2)double thpotenuse(int side1, float side2);(3)java中所有类都是直接或者间接地有object类派生,因此object类的所有public方法可供每个对象使用。
3、编写一个方法isIsosceles,以表示三角形的三边长的三个整数为参数,如果该三角形是等腰三角形则返回true,其他情况返回false。
(6分)public boolean isIsoceles (int side1, int side2, int side3){boolean result = false;if ( (side1 == side2) && side1 != side3) ||(side2 == side3) && side2 != side1) ||(side1 == side3) && side1 != side2) )result = true;return result;}4、声明一个枚举型Season变量,可能的取值是winter、spring、summer和fall (4分)enum Season{ winter, spring, summer, fall}5、什么是多态?如何实现多态?(6分)多态性是指一个引用变量在不同时刻可以指向不同类型的对象。
面向对象程序设计07秋_A卷
青岛大学自动化工程学院2007-2008学年秋季学期期末考试试卷I. Select one correct answer from the options. (1 score for each blank, total 10 scores)1. Decide whether each of the following identifiers can be a correct variable name8th ( ) A. correct B. incorrectnum#6 ( ) A. correct B. incorrect data ( ) A. correct B. incorrect TODAY ( ) A. correct B. incorrect2. Decide whether each of the following statement is correct in C++:int x; ( ) A. correct B. incorrect a=b%c; ( ) A. correct B. incorrect x*y=c; ( ) A. correct B. incorrect3. Given the logical expressions: x= true; y=false; z=true; please decide the value of each following expression.(x || !y) && (!x || z) ( ) A. true B. false x && y || x && z ( ) A. true B. falsex || y && z ( ) A. true B. falseII. Select one correct answer from the four options. (1.5 sore for each blank, total 15 scores)1. Structured programming results in a program that is a collection of interacting ( )whereas Object-Oriented Programming results in a program that is a collection of interacting ( ). A. functions B. modules C. abstract data types D. objects2. ( ) What is the value of the C++ expression: 5 % 2A. 2B. 3C. 2.5D. 13. ( ) Given the function heading: void QuickCheck(int a, double &b, char c)which of the parameters belong(s) to reference parameter? A. a B. b C. c D. a and c4. For each of the following tasks, decide whether a value-returning function or a void function is most suitable. Write the answer in the blank before each question.( ) Selecting the larger of two values for further processing in an arithmetic expression. A. value-returning function B. void function ( ) Computing the area of a circleA. value-returning functionB. void function ( ) Computing the two roots of a quadratic equationA. value-returning functionB. void function5. ( ) What is the value of someChar after the execution of the following two statements? someChar='T'; someChar=someChar + 5;A. 'Z'B. 't'C. 'Y'D. 'X' 6. ( ) What is the value of the C++ expression: (1+2*2)/2+1A. 3B. 3.5C. 2D. 1.5 7. ( ) Given the declarations:const int SIZE=10; int arr 1[SIZE-1][SIZE][SIZE]; How many components does arr 1 have? A. 10 B. 900 C. 90 D. 9000III. Decide whether each of the following statements is true orfalse. If it is true, write T in the brackets before the statement. If it is false, write F . (1 score for each question, total 15 scores)1. ( ) If ch1 contains the value 'C' and ch2 contains the value 'K', the value of the C++expression (ch1 <= ch2) is true. 2. ( ) A C++ class can have at most one constructor.3. ( ) A variable of type string can be assigned to a variable of type char .4. ( ) x and y are Boolean variables. The following two logical expression:x!=y (x || y) && !(x && y)are equivalent ( i.e. have the same result)5. ( ) Formatting a program incorrectly causes an error.6. ( ) Using a reference parameter, the called function can obtain the initial value of anargument, as well as change the value of the argument. 7. ( ) Y ou may use either spaces or newlines to separate numeric data values being entered into a C++ program.8. ( ) Every component in an array must have the same type, and the number ofcomponents is fixed at compile time.装订线学号:姓名:专业: 班级:密封线9. ( ) Every C++ program consists of at least one function.10. ( ) Because the While statement tests the loop condition after executing the loop body,it is called a posttest loop. 11. ( ) The statement: myV ar++; causes 1 to be subtracted from myV ar. 12. ( ) If there is such a statement in a program: z=18*Beta(x, y) +65;the function Beta should be a value-returning function. 13. ( ) The expression !(n < 5) is equivalent to the expression n > 5. 14. ( ) A variable of a floating-point type is not suitable for a loop control variable. 15. ( ) A C++ function must be declared before it can be called.IV. Fill in the blanks according to the requirement.(1 score for each blank, total 25 scores)1. Please write out the output the following loop:int number = 1;while(number < 6) { number++; cout<< number << ‘ ‘; } The output is:___________________________2. Given the following statements:if(height >=minHeight)if(weight>=minWeight) cout << "Eligible to serve" <<endl; else cout << "Too light to serve" <<endl;elseif(weight>=minWeight) cout <<"Too short to serve" <<endl; else cout <<"Too short and too light to serve" <<endl;a. What is the output when height is larger than minHeight and weight is larger than minWeight? ________________________________________b. What is the output when height is less than minHeight and weight is less than minWeight?________________________________________ 3. Given the declarations:int array1[8]; int i;please write out each component of array1[8] after the following code is executed:f or(i=0; i<8; i++) array1[i]=10-i; The components of array1[8] are: _____________________________________________4. The following program outputs two guests' names "Mr. Jones" and "Mrs. Smith". Please fill in the blanks to complete the program.#include _________________ #include <string>using ____________________ const string TITLE="Mr";int __________( ) { string guest1; string guest2;guest1_____ TITLE _____ ". Jones"; guest2_____ TITLE _____ "s. Smith";_______ << " The guests were" _______ endl; _______ << guest1 << " and "; _______ << guest2 << endl; return _______;}5. Please read the following code:number =2; done=false; while(! done){ number = number *2;if(number > 64) done=true; }The question is: how many loop iterations are performed? _______ 6. Please write out the output of the following codes:string s1, s2; s1="blue"; s2="bird"; cout <<"Result: "<<s1+s2<<endl;The output is: ________________________________________ 7. Given the input data from the keyboard: 68W 17what is the output after the following statements are executed?int1=98; int2=158;cin >> int1 >>int2; cout <<int1 <<' ' <<int2; The output is:________________________________ 8. Read the following two class declarations:class class1 { public:void DoThis(); private:void DoThat(); int alpha, beta; };class class2 : public class1 { public: void TryIt(); private: int gamma;装订线学号: 姓名: 专业: 班级:密封线};a. List all private data members of class2: ________________________________________b. List all member functions of class1 that a client of the class can call: _______________________________________________9. Please write C++ logical expressions for each of the following.x < y <=z _______________________________x,y and z are greater than 0 _______________________________ x is equal to neither y nor z _______________________________ x is equal to y and z _______________________________V. Programming(5 scores for each question, total 10 scores)1. Design a class to represent date information (year, month and day) according to the requirements: (1) use constructor to set the initial date;(2) design member functions to return the year, month and day information respectively; (3) design member function to output the date information onto the screen. Please write out the class declaration and definition.2. Design a class to implement stack in C++ according to the requirements:(1) use constructor to set the stack ’s initial state;(2) design member functions to implement the push and pop operation of the stack; (3) check whether the stack is full when pushing data into the stack; (4) check whether the stack is empty when executing pop operation. Please write out the class declaration and definition.VI. Read program codes according to the requirements (1.5 score for each question, total 15 scores)1. Using the -= operator, rewrite the statement: y = y - x*x;2. There is an error in the following statements. Please correct it.if(mileage < 24.0)装订线学号: 姓名: 专业: 班级:密封线{ cout << "Gas"; cout << "guzzler."; } ;else cout << "Fuel efficient.";3. There are errors in the following two function definitions. Please correct them. (1) void func1 ( int m, int n) { return 3*m+n; }(2) float func2 ( int i, float x){ x=4.8+float(i);}4. Using the decrement operator -- , rewrite the statement: count = count -1;5. Using a single assignment statement that uses the ? : operator, rewrite the statement: if( n >6 ) k=18;else k= 16 * n*n;6. Read the following class declaration. Please find out the error and correct it.class myClass{ public: void Func1(int n); int Func2(); int myClass();private: int i, j, k; };7. Read the following code. It is designed to output all the elements in array1[6], but theoutput result is not correct. Find out the reason and correct the code, so that it can outputall the elements in array1[6].int array1[6]={1, 2, 5, 6, 9, 8}; int i;for( i = 1; i < = 6 ;i ++) cout << ' ' << array1[i];8. Re-write the following code using Switch statement: if(n==3) alpha++; else if(n==7) beta++; else if(n==10) gamma++;9.Please read the following code:count=1;while( count < 20) count++;The code executes 19 iterations. Please re-write the code so that it executes 20 times. Requirement: Please still use While-loop.VII. Write program code according to the requirement of each question. (1 score for each question, total 10 scores)1. Declare a one-dimensional array named f_array that contains 16 components. The component type is double .2. Declare a char variable named letter .3. Write a C++ statement that inputs values from the keyboard into two float variables x and y .4. Assign the value "Xianggang Road" to the string variable street.5. Write the declaration of a struct data type named PersonInfo with three members: age, height and weight. All three members are of type int .6. Write a C++ constant declaration that gives the name PI to the value 3.1415937. Write a C++ expression that tests whether the variable letter is not less than the constant 'M'.8. The following class has two constructors:class Class1 { public:float Func1( ) const;Class1(/* in */ float f); //private data float1 is initialized to f Class1( ); //private data float1 is initialized to1.8 private: float float1; };a. Please write the function definitions for the two constructors according to the declarationb. Declare an object a of Class1, initialized to 0.6c. Declare an object b of Class1, initialized to1.8装订线学号: 姓名: 专业: 班级:密封线。
面向对象程序设计(JAVA)期末考试考试卷(A卷)
课程代码:座位号:大学20 -20 学年度第二学期期末考试《面向对象程序设计》试卷: 学号: 专业:学院: 班级:20 年月日一、单选题(10小题,共10分)1.下列选项中,用于在定义子类时声明父类名的关键字是【】A.interface B. package C. extends D. class2.在以下哪种情况下可以获得缺省构造器? 【】A.当作任何类的定义时 B.当类没有其它构造器时C.当定义至少一个构造器的时 D.从不需要3.如果局部变量和成员变量同名,如何在局部变量作用域引用成员变量?【】 A.不能引用,必须改名,使它们的名称不相同B.在成员变量前加this,使用this访问该成员变量C.在成员变量前加super,使用super访问该成员变量D.不影响,系统可以自己区分4.在异常处理中,如释放资源、关闭文件、关闭数据库等由哪个子句来完成【】A.try子句B.catch子句 C.finally子句 D.throw子句5.下面哪个流类属于面向字符的输入流【】A.BufferedWriter B.FileInputStream C.ObjectInputStream D.InputStreamReader6.在Java中,由Java编译器自动导入,而无需在程序中用import导入的包是【】。
A.java.applet B.java.awt C.java.util D.ng7.下面程序定义了一个类,关于该类说确的是【】Abstract class abstractClass{……}A. 该类能调用new abstractClass(),方法实例化为一个对象B. 该类不能被继承C. 该类的方法都不能被重载D. 以上说法都不对8.已知有下面类的说明:public class X5_1_1 extends x{private float f =10.6f;int i=16;static int si=10;public static void main(String[] args) {X5_1_1 x=new X5_1_1();}}在main()方法中,下面哪条语句的用法是正确的?【】A.x.f B.this.si C .X5_1_1.i D.X5_1_1.f9.下列说法中,错误的一项是【】A.Thread类中没有定义run()方法 B.可以通过继承Thread类来创建线程C.Runnable接口中定义了run()方法 D.可以通过实现Runnable接口创建线程10.当一个Statement对象要执行一个查询类的SQL语句,调用的方法是【】A. executeQueryB.executeC. executeUpdatemit二、填空题(10小题,共10分)1.Java应用程序中有多个类时,java命令后的类名必须是包含了___________方法的那个类的名字。
闽江学院面向对象程序设计A卷(07电信本)
装订线2009—2010学年第1学期闽江学院考试试卷考试课程:面向对象程序设计试卷类别:A 卷☑ B 卷□ 考试形式:闭卷☑ 开卷□ 适用专业年级:2007级电子信息工程专业班级 姓名 学号一、选择题 20% 1、若指针p 定义为 const char *p="Luchy!"; 则( )。
A) p 所指向的数据不可改变,p 在定义时可以不初始化。
B) p 所指向的数据不可改变,p 在定义时必须初始化。
C) p 本身不可改变,p 在定义时可以不初始化。
D) p 本身不可改变,p 在定义时必须初始化。
2、类的默认的无参构造函数:( )A) 在任何情况下都存在B) 仅当未定义无参构造函数时存在 C) 仅当未定义有参构造函数时存在 D) 仅当未定义任何构造函数时存在 3、下列的各类函数中,( )不是类的成员函数:A )友元函数B )拷贝构造函数C )析构函数D )虚函数 4、( )不可以作为类的成员A )自身类对象的指针B )另一个类的对象C )对自身类对象的引用D )自身类的对象 5、以下哪个不是构造函数的特点( ):A )构造函数是的名字与类名相同;B )构造函数的函数体必须写在类体内;C )构造函数可以重载D )构造函数不能定义返回类型,包括void 6、下面对静态数据成员的描述中,正确的是:( ) A)静态数据成员可以在类体内进行初始化B)静态数据成员不可以被类的对象调用C)静态数据成员不能受private 控制符的作用 D)静态数据成员可以直接用类名调用7、在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是( )A)派生类的对象可以赋给基类的对象 B)派生类的对象可以初始化基类的引用 C)派生类的对象可以直接访问基类中的成员 D)派生类的对象的地址可以赋给指向基类的指针 8、下列关于虚基类的描述,错误的是( ) A)设置虚基类的目的是为了消除二义性 B)虚基类的构造函数在非虚基类之后调用 C)若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序调用D)若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派生类的构造函数9、下列关于多态性的描述,错误的是( )A)C++语言的多态性分为编译时的多态性和运行时的多态性 B)编译时的多态性可通过函数重载实现 C)运行时的多态性可通过模板和虚函数实现 D)实现运行时多态性的机制称为动态绑定 10、当使用fstream 流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为( ) A)ios ::in B)ios ::out C)ios ::in|ios ::out D)以上都不对 11、下列有关继承和派生的叙述中,正确的是( )A )如果一个派生类私有继承其基类,则该派生类对象不能访问基类的保护成员B )派生类的成员函数可以访问基类的所有成员C )基类对象可以赋值给派生类对象D )如果派生类没有实现基类的一个纯虚函数,则该派生类是一个抽象类 12、类的析构函数的作用是( )A) 一般成员函数 B) 类的初始化 C) 对象的初始化 D) 删除对象13、关于new 运算符的错误的描述是( )A) 使用运算符new 创建对象数组时必须定义初始值 B) 使用运算符new 创建对象时,会调用类的构造函数 C) 运算符new 可以用来动态创建对象和对象数组D) 使用new 运算符创建的对象可以使用运算符delete 删除14、下面说法错误的是()A)一个派生类还可以作为另一个类的派生类B)派生类至少有一个基类C)基类的公有成员在私有继承时在派生类中成为私有成员,而在保护继承时在派生类中成为保护成员。
面向对象程序设计A卷
面向对象程序设计A卷开卷时间2小时说明:本卷所有程序均在VC6下测试过。
第一部分改错每题十分说明:本部分选做2道题目。
1、以下程序有什么错误main(){int num=50;int &ri1;int pi=&ri1;int &ri2=ri1;ri2=100;void pv;void &rpv=pv;}2、以下程序错误是什么:class mypeople {public:static int count;mypeople(int ids) {id=ids;count++;}private:int id;};static int mypeople::count=0;void main(){mypeople a(12),b(11);}3、三个类,申明如下,请纠错:#include <iostream.h>class a {protected:int x;public:void fun1(int p) { x=p;}};class b :public a{private:int y;protected:void fun2(int p) { y=p ;}};class c :public b{int z;public:void fun3(int p) { z=p;y=p;}};main(){c obj1;obj1.fun1(1);obj1.fun2(1);obj1.fun3(1);}第二部分判断正误每题五分说明:本部分选做2道题目。
1:第三行语句正确吗?()typedef chinesechar int;int max(int i1,int i2);chinesechar max(chinesechar i1, chinesechar i2);2:第六行语句正确吗?()int max(int i1,int i2) { ……};main(){int num1=30,num2=50;int &rnum1=num1;num2=max(rnum1,num2);}3:以下函数申明正确吗?()void f(int a=0, int b=0, char *p);4:以下程序正确吗?()#include <iostream.h>{int length,i;cin>>length;char *buf;buf=new char[length];for ( i=0;i<length;i++)buf[i]=(char)i;delete buf;}第三部分:判断正误,并说明原因每题十分说明:本部分选做1道题目。
计05面向对象程序设计考试试卷纸A卷(2007上半年)
10、在C++语句中,若有定义语句“int *P1;”和语句“char **P2;”,则p1和p2存放的都是变量的地址。(√)
二、简答题(每小题8分,共24分)
1、编译时的多态性和运行时的多态性在实现方法上有何不同?
2、什么是面向对象的程序设计?它的几个特征是什么?
for (k=2; k < n; k++)
if (n % k == 0) cout << k << endl;
}
运行结果为:
2、程序2(10分)
#include <iostream.h>
class B
{
public:
virtual int f() { return 50; }
};
class D: public B
~Plane( ) {cout<<"delete Plane."<<endl;}
};
class Boat
{
public:
Boat(int b=1){cout<<"create Boat:"<<b<<endl;}
~Boat( ){cout<<"delete Boat."<<endl;}
};
class floatplane:public Plane,public Boat
5、如果派生类的成员函数的原型与基类中被定义为虚函数的成员函数原型相同,那么,这个函数自动继承基类中虚函数的特性。(√)
6、返回类型就是函数返回结果值的数据类型,返回类型可以是任意类型。(×)
面向对象程序设计(JAVA)期末考试试卷(A卷)
8。若子类对父类中得同名同参方法进行重新定义,我们称子类___________了父类得同名方法.
9.Java中用类创建一个对象包括对象得声明与为对象____________两个步骤。
D。不影响,系统可以自己区分
4.在异常处理中,如释放资源、关闭文件、关闭数据库等由哪个子句来完成【】
A.try子句B.catch子句C.finally子句D.throw子句
5.下面哪个流类属于面向字符得输入流【】
A.BufferedWriterB。C.ObjectInputStreamD。InputStreamReader
ﻩStringd ="Javaprogram、”;
ﻩvoid show(){
super、show();
ﻩSystem、out、println("ClassB:a=” + a + "\td=" + d);
ﻩ}
publicstatic void main(String args[]){ Ab=new B();b、show();}
int m=list、get(k);
System、out、printf(”%3d”,m);
}
}
}
程序得输出结果就是:
4.classSpeak{
ﻩpublicvoidhello(){
System、out、println("Hello!");
}
}பைடு நூலகம்
public class test{
ﻩpublicstatic void main(Stringargs[]){
计面向对象程序设计考试试卷(A卷)参考解答
姓名
2. 程序 2(10 分) #include <iostream.h> //Toy-car class CToy { public: CToy( ) { cout<<"Create CToy."<<endl;} CToy(char color) {cout<<"Create CToy:"<<color<<endl;} ~CToy( ) {cout<<"delete CToy."<<endl; } }; class CCar { public: CCar(int Tire=4) {cout<<"create CCar:"<<Tire<<endl;} ~CCar( ){cout<<"delete CCar."<<endl; } }; class CToy_Car:public CToy,public CCar { public: CToy_Car(int p ):member(), CCar(p ),CToy() {cout<<"create CToy_Car."<<endl;} ~CToy_Car( ){cout<<"delete CToy_Car."<<endl; private: CToy member; }; void main( ) { CToy_Car toyc(4); }
6.在定义二维数组时,语句“int Sum[][2]={{1,2},{3},{}}; ”是正确地.(
9. 在编程中,有了面向对象地程序设计方法后,就不要用面向过程地程序设计方法了. ( 10. 类中地静态成员数据为该类地所有成员所共享,在初始化后,它地值不能被修改.(
面向对象程序设计-试卷-A(附答案)
面向对象程序设计-试卷-A(附答案)本页仅作为文档页封面,使用时可以删除This document is for reference only-rar21year.March2012 --2013学年第二学期《面向对象程序设计》试卷开课单位:计算机学院,考试形式:闭卷,允许带入场对应的答题表格中)1、在类定义的外部,可以被访问的成员有()A、所有类成员B、private的类成员C、public或private的类成员D、public的类成员2、下列关于C++语言类的描述中错误的是( ) 。
A 、类用于描述事物的属性和对事物的操作B、类与类之间通过封装而具有明确的独立性C、类与类之间必须是平等的关系,而不能组成层次结构D、类与类之间可以通过一些方法进行通信和联络3、下列数组定义中,不正确的是()。
A、 int x[1][3];B、 int x[2][2]={1,2,3};C、 int x[2][]={1,2,3,4 };D、 int x[][2]={1,2,3,4 }4、定义析构函数时,应该注意:()A、其名与类名完全相同B、返回类型是void类型C、无形参,也不可重载D、函数体中必须有delete语句5、下列函数中,正确的递归函数是()。
A 、int Fun(int n){ if(n<1) return 1; else return n*Fun(n+1); }B 、int Fun(int n){ if (abs(n)<1) return 1; else return n*Fun(n/2); }C 、int Fun(int n){ if(n>1) return 1; else return n*Fun(n*2); }D、 int Fun(int n){ if(n>1) return 1; else return n*Fun(n-1); }6、在C++中编译器所生成的文件的扩展名为()[答案修改过]A、 .cppB、 .objC、 .libD、 .exe7、派生类的对象对它的基类成员中的()是可以访问A、公有继承的公有成员B、公有继承的私有成员C、公有继承的保护成员D、私有继承的公有成员8. C++设置虚基类的目的是( )A、消除二义性B、简化程序C、提高运行效率D、减少目标代码9. 以下关于this指针的叙述中正确的是:()A、任何与类相关的函数都有this指针;B、类的成员函数都有this指针;C、类的友员函数都有this指针;D、类的非静态成员函数才有this指针;10实现运行时的多态性采用( )A、重载函数B、构造函数C、析构函数D、虚函数11、若有int a[10]={0,1,2,3,4,5,6,7,8,9},*p=&a[5];则( ) 不是对a数组元素的正确引用(其中0≤i<10)A、p[i]B、 *(*(p+i) )C、a[p-a]D、* (&a[i])12、int Func(int,int);不可与下列哪个函数构成重载()A、int Func(int,int,int);B、double Func(int,int);C、double Func(double,double);D、double Func(int,double);13、局部变量可以隐藏全局变量,那么在有同名全局变量和局部变量的情形时,可以用()提供对全局变量的访问。
试题面向对象分析与设计试卷(A)及答案
华南农业大学期末考试试卷(A卷)-答案2007学年第1学期考试科目:面向对象分析与设计考试类型:(闭卷)考试时间:120 分钟学号姓名年级专业一、判断题(每题1分,共10分。
对的标“T”,错的标“F”,将答案写入下表)1. 一个状态图最多只能由一个初态和一个终态。
(F)2. 协作图中的消息必须要有消息顺序号。
(T)3. 两个参与者(actor)之间可以有包含(include)关系、扩展(extend)关系或泛化(generalization)关系,而包含关系和扩展关系是依赖(dependency)关系的版型。
(F)4. 参与者(actor)和用例(use case)之间的关系是关联(association)关系。
(T)5. 类A和类B之间的关系如图1所示,则称类B中的getName()方法是对类A中的 getName()方法的重载(overload)。
(F)图1 getName()方法之间的关系图2 活动图6. 如图2所示,活动Gesture和Stream audio可以并发进行。
(T)7. 一个软件系统,如果只有源代码,缺乏其他相应的辅助文档,如缺乏顺序图和类图,则可以利用Rose进行逆向工程得到顺序图和类图,但得到的顺序图和类图会比较简单。
(F)8. CMM描述了五个级别的软件过程成熟度,即初始级、可重复级、已定义、已管理级、优化级。
(T)9. UML由用例视图、物理视图、组件视图、进度视图和配置视图组成。
(F)10. 在设计类图时,可以不用对类图中的每个关联进行命名,但如果需要命名的话,最好用一个“动词”给关联命名。
(T)二、单项选择题(每题2分,共30分。
将正确答案填入下表)1. 一个设计得好的OO系统具有(B)A. 低内聚、低耦合的特征B. 高内聚、低耦合的特征C. 高内聚、高耦合的特征D. 低内聚、高耦合的特征2.下面()不是UML的基本构成元素。
(A)A. 控制语言B. 基本构造块C. 规则D. 公共机制3. 面向对象的特点主要概括为(C)。
面向对象程序设计A卷 - 答案
中国传媒大学 __2009___─__2010__学年第__二__学期期末考试试卷A答案考试科目: 面向对象程序设计(C++)考试班级: 09计科 考试方式: 闭卷 命题教师: 冯爽一、单项选择题(每题2分,共20分)二、问答题(共30分)1. (4分)2. (4分)运行结果:(1,2)(6,9)5,6(6,9)3. (4分)1)在类中的声明形式:static void function();‘J’ ‘o’ ‘h’ ‘n’ ‘s’ ‘o’ ‘n’ ‘/0’ age age obj1 obj22)在类外定义时的函数头部:void Demo::function()3)调用function函数的两种形式:Demo::function 或者Demo d; d.function();4. (4分)答:虚函数就是在基类中被关键字virtual说明,并在派生类中重新定义的函数。
虚函数是函数重载的另一种形式,普通函数重载时,参数个数或类型必须有所不同,函数返回值类型可以不同。
当重载一个虚函数时,要求函数原型必须完全相同。
如果仅返回值类型不同,其余均相同,系统会给出错误信息;若仅函数名相同,而参数个数、类型或顺序不同,系统将它作为普通的函数重载,这时虚函数的特性将丢失。
5. (4分)1) void Date::operator += ( int ); 或者Date& Date::operator += ( int );2) friend void operator += ( Date&, int ); 或者friend Date& operator += ( Date&, int );6. (4分)答:拷贝构造函数是只有一个参数,且参数是本类对象的引用,在对象之间赋值时需要调用拷贝构造函数。
转换构造函数是只有一个参数,且参数是基本类型数据。
当把一个基本类型数据转换成类类型时,需要调用转换构造函数。
2024面向对象程序设计 -信管07A
装订线 班级: 姓名: 学号: 评分:___________________考题书写要求:上下不得超过黑线,左右不得超过黑线两端点。
密封线课程名称 面对对象程序设计(A 卷) 成果 班级 姓名 学号一、选择题(共20分,每小题1分)1、在对SQL Server 数据库操作时应选用(a )。
A) SQL Server .NET Framework 数据供应程序; B) OLE DB .NET Framework 数据供应程序; C) ODBC .NET Framework 数据供应程序; D) Oracle .NET Framework 数据供应程序; 2、下列选项中,(c )是引用类型。
A) enum 类型 B) struct 类型 C) string 类型 D) int 类型 3、下列关于构造函数的描述正确的是(c )A) 构造函数可以声明返回类型。
B) 构造函数不行以用private 修饰 C) 构造函数必需与类名相同 D) 构造函数不能带参数 4、以下是一些C#中的枚举型的定义,其中错误的用法有(a )A)public enum var1{ Mike = 100, Nike = 102, Jike } B)public enum var1{ Mike = 100, Nike, Jike } C)public enum var1{ Mike=-1 , Nike, Jike } D)public enum var1{ Mike , Nike , Jike }5、int[][] myArray3=new int[3][]{new int[3]{5,6,2},new int[5]{6,9,7,8,3},new int[2]{3,2}}; myArray3[2][2]的值是(d )A) 9 B) 2 C) 6 D) 越界 6、接口是一种引用类型,在接口中可以声明(a ),但不行以声明公有的域或私有的成员变量A) 方法、属性、索引器和事务; B) 方法、属性信息、属性; C) 索引器和字段; D) 事务和字段; 7、下面描述错误的是(D )A) 窗体也是控件; B) 窗体也是类;C) 控件是从窗体继承来的; D) 窗体的父类是控件类;8、声明一个托付public delegate int myCallBack(int x); 则用该托付产生的回调方法的原型应当是(b )A) void myCallBack(int x) ; B) int receive(int num) ; C) string receive(int x) ; D) 不确定的; 9、在C #语言中,下列关于属性的描述正确的是(B ).A) 属性系是以public 关键字修饰的字段,以public 关键字修饰的字段也可称为属性B) 属性是访问字段值的一种敏捷机制,属性更好地实现了数据的封装和隐藏 C) 要定义只读属性只需在属性名前加上readonly 关键字 D) 在C#的类中不能自定义属性10、在.NET 框架类库中,全部与多线程机制应用相关的类都放在(C )命名空间中。
面向对象程序设计A卷
安徽机电职业技术学院–学年第学期《面向对象程序设计(C#)》期终考试试卷(A卷)一、选择题(每题1分,共10分)( A )1、Visual C#语言的源程序保存在扩展名为________的文件中。
(A) cs (B) sln (C) aspx (D) csproj( D )2、下列程序语句中,变量i运算的结果是________ 。
int i,a=31,b=10;i=a/b;(A)3.1 (B) 1 (C) 3.0 (D) 3( B )3、所有的程序都可以由3种控制结构组成,即______。
(A) 顺序结构、判断结构、多分支结构(B) 顺序结构、选择结构、循环结构(C) 选择结构、for结构、if结构(D) 循环结构、判断结构、主程序结构( D )4、关键字______表示一个类的定义。
(A) using (B) #define (C) namespace (D) class( C )5、下面的类型中,属于引用类型的是___(A) int (B) char (C) string (D) bool( B )6、______是软件重用的一种形式。
(A) 重载(B) 继承(C) 多态(D) 事件( B )7、在C#中定义一个数组,正确的代码为______(A) int arraya = new int[5]; (B) int[] arraya = new int[5];(C) int arraya = new int; (D) int[5] arraya = new int;( C )8、下面______命名空间中,定义了用来读写文件的类?(A)System (B)System.Data (C)System.IO (D)System.Collections ( C )9、下面的______语句,可以在窗体中显示具有“是”、“否”和“取消”三个按钮的消息框。
(A)MessageBox.Show("你真的要删除吗", "确认");(B)MessageBox.Show("你真的要删除吗", "确认", MessageBoxButtons.YesNo); (C)MessageBox.Show("你真的要删除吗", "确认", MessageBoxButtons.YesNoCancel); (D)MessageBox.Show("你真的要删除吗", "确认",MessageBoxButtons. AbortRetryIgnore); ( A )10、下面哪个命名空间中,包括了组成 架构的大部分类?(A)System(B)System.Data (C)System.IO(D)System.Collections二、填空题(每空2分,共20分)1、在本课程的教学过程中,我们使用的开发工具是________________________。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《面向对象程序设计》课程试题(A卷)
本试卷适用于2007级信息与计算科学专业
(时量:120分钟;总分为100分)
注意:1、所有答案和解答均应写在答题纸上,答在试卷上不记分
2、答案必须写明题目序号,并按题号顺序答题
3、请保持行距,保持卷面整洁
一、选择(每题4分共20分)
1.下面语句中,不合法的c++语句是()
A. ;
B.++a++;
C.++a+=2;
D.char a[6]=“hello”;
2.作如下定义之后,const int a=78;int b=10;int c=18;
Const int *ip=&a; int * const cp=&b;const int * const icp=&c;下列哪个语句可执行()
A.cp=&b;
B.*icp=33;
C.ip=&c;
D.icp=&b;
3.下面哪一种不能用来区分函数的类型()
A.参数个数
B.参数类型
C. 参数顺序
D.参数传递方式
4. 下列哪种情况下,不适宜使用内联函数()
A. 函数体较小。
B. 程序中特别是在循环体中反复执行该函数。
C. 程序中并不多处出现该函数调用。
D.函数中含有while的结构控制语句。
5. 下面哪种方式调用成员函数是不合法的()
A.objectName.memberFunctionName(parameters);
B.objectName→memberFunctionName(parameters);
C. *objectName.memberFunctionName(parameters);
D.( *objectName).memberFunctionName(parameters);
二、程序填空题(每空2分,共20分)
1.读入一个文件aaa.txt的数据到向量中,文件为一些整数(不知个数),要判断向量中的元素有多少个两两相等的数对,部分程序代码如下,请将补充完整。
#include<iostream>
#include<fstream>
_______________
using namespace std;
int main(){ifstream in (“aaa.txt”);vector<int> s; for(int a;_____;)_______________;
int pair=0; for (int i=0;i<s.size()-1;++i)
for(int j=i+1;j<s.size();++j)
if(___________)______________;cout<<pair<<endl;}
2.判断存储在文件string.txt中的若干对字串的相等性,如果相等,输出一行yes,否则输
出一行no,该种字串仅含0和1字符,如果两个字串0和1的个数分别相等,则该对字串称为相等,请将程序补充完整。
#include<iostream>
#include<fstream>
#include<algorithm>
uing namespace std;
int main(){
ifstream in (_______); for(string s,t;_________)
{int s1=count(s.begin(),s.end(),’1’); int t1=count(t.begin(),t.end(),’1’);
count<<(_____&&s.length()= =t.length()?_____:_____);}}
三、写出下列程序的运行结果。
(共15分)
1.#include<iostream>
using namespace std;
class Point{
int x,y;
public:
void set(int a,int b){x=a,y=b;}
void print()const{cout<<“(“<<x<<”,“<<y>>”)\n”}
friend point opertor+(const point&a,const point&b);};
point operator+(const point&a,const point &b){
point s; s.set(a.x+b.x,a.y+b.y); return s;}
point add(const point&a,const point&b){
point s; s.set(a.x+b.x,a.y+b.y); return s;}
int mian(){
point a,b; a.set(3,2); b.set(1,5);
(a+b).point(); operator+(a,b).point();
add(a+b).print();} (7分)
2.#include<iostream>
using namespace std;
class X{
public:
void fl(){m=6; f2();}
void f2();
private: int m;};
void X::f2(){
cout<<”Data member:”<<m<<endl; int m=7;
cout<<”Local V ariable:”<<m<<endl;
cout<<”Data member:”<<X::m<<endl;}
int mian(){ X x; x.f1();} (8分)
四、程序题(每题15分,共45分)
1.定义一个数组,数据为6,3,7,1,4,8,2,9,11,5.请创建一个向量把数组的初值
赋给它,然后对该向量求标准差:s=∑
=-
n
i
i
x x
n
1
2
) (
1
2.请编程求解1到1亿中素数的个数(要求用筛选且使用STL中的位集bitset)
3.定义一个满足如下要求的Data类:
(1)用日/月/年的格式输出日期。
(print操作)
(2)可定义在日期上加一天操作。
(day operator++操作)。