2007—2008学年第2学期闽江学院面向对象程序设计(C++)考试试卷(B)
C语言程序设计2007~2008学年第二学期期末考试试卷(A)
。
整型常量整型表达式 整型常量或整型表达式任何类型的表达式
、
若二维数组有列,则在前的元素个数为
。
、 以下叙述中不正确的是。
在中,函数中的自动变量可以赋初值,每调用一次,赋一次初值 在中,在调用函数时,实参和对应形参在类型上只需赋值兼容 在中,外部变量的隐含类别是自动存储类别 在中,函数形参可以说明为变量
、 以下程序运行后输出结果是 () () ()
大厦白蚁预防工程承包合同合同签订版
、 以下程序运行后输出结果是 ❖❖
、 以下程序运行后输出结果是
四、 程序设计题共分
得分 评阅人
某班级学生进行百米跑测试,规定成绩在秒以内(含秒)为优秀,在 秒以上至秒为达标,在秒以上为不达标,编一程序,从键盘上输入每个 人的成绩,以作为输入变量,并以小于的任何数作为终止标志,分别用变量 和统计出成绩为优秀、达标和不达标的人数。
、 以下正确的函数原型语句是。
、 循环体至少被执行一次的语句为。
循环循环循环 任一种循环
、 在下面循环语句中内层循环体语句的执行总次数为。
、 函数调用不可以。
出现在一个表达式中 出现在执行语句中 作为一个函数的实参 作为一个函数的形参
大厦白蚁预防工程承包合同合同签订版
、 将两个字符串连接起来组成一个字符串时,选用函数。
大厦白蚁预防工程承包合同合同签订版
试卷编号:卷
课程编号:课程名称:语言程序设计考试形式: 闭卷
适用班级:全校非计算机专业姓名:学号: 班级:
学院:专业: 考试日期:、、
题号 一 二 三 四 五 六 七 八 九 十 总分 累分人
题分 得分
签 名
考生注意事项:、本试卷共页,请查看试卷中是否有缺页或破损。如有立 即举手报告以便更换。
2007—2008学年第2学期闽江学院面向对象程序设计(C++)考试试卷(A)答案
2007—2008学年第2学期闽江学院考试试卷(A )答案 适用年级专业:2007级电子信息与科学(专升本) 考试形式:笔试 考试课程: 面向对象程序设计 一、选择题 20% (每题1分)1、D2、C3、D4、B5、D6、C7、C8、B9、B 10、C 11、C 12、D 13、C 14、D 15、A 16、B 17、A 18、C二、填空题 20% 1)函数、类 (2%) 2)抽象类 (1%) 3)修改 (1%) 4)传地址 (1%) 5)Student —>Teacher —>Assistance (2%) 6)9 (2%) 7)ptr->SetNum(50); (2%) 8)FileView,ResourceView,ClassView (3%) 9)x+y (2%)10)this->x (2%)11)iostream.h (1%)12)保护(三、看程序回答问题 40% 1) 36 (4%)2) 4 (4%)3)9TU9V (4%,有一个数字与字母就得1分)4)virtual ~Fruit() (2%)strcpy(color,col) (1%)delete []color (1%)Fruit(w, col) (2%)strcpy(variety, var) (1%)delete variety (1%)5)template<typename T> (2%)template<typename T> (1%)template<typename T> (1%) 注:前三项如果只写对1次,就给2分)temp=head; (2%)6)889 (4%,写对第一次值:2%,以后依次1%,1%) 7)2022020 0 (4%,写对第一次值:2%,以后依次1%,1%)8)执行A 的构造函数! (2%)执行B 的构造函数! (1%) 执行B::Func ! (2%)执行A的析构函数!(1%)四、编程题20%1、(10%)(%5)class triangle : public shape{private :float a, b ,c ,s;public:triangle( float s1=0, float s2=0 , float s3=0 ){a=s1;b=s2;c=s3;}float area(){s=(a+b+c)/2;return sqrt(s*(s-a)*(s-b)*(s-c));}};(%5)class rectangle : public shape{private:float w,h;public:rectangle( float width=0, float height=0){w=width;h=height;}float area(){return w*h;}};2、// String的析构函数String::~String(void) //此函数2分{delete [] m_data; // 由于m_data是内部数据类型,也可以写成delete m_data;}// String的普通构造函数String::String(const char *str) //此函数3分{if(str==NULL) //此判断不写也不扣分{m_data = new char[1]; // 若能加NULL 判断则更好*m_data = ‘\0’;}else{int length = strlen(str);m_data = new char[length+1]; // 若能加NULL 判断则更好strcpy(m_data, str);}}// 拷贝构造函数String::String(const String &other) //此函数2分{int length = strlen(other.m_data);m_data = new char[length+1]; // 若能加NULL 判断则更好strcpy(m_data, other.m_data);}// 赋值函数String & String::operate =(const String &other) //此函数3分{if(this == &other) //此判断不写也不扣分return *this;delete [] m_data;int length = strlen(other.m_data);m_data = new char[length+1]; // 若能加NULL 判断则更好strcpy(m_data, other.m_data);return *this;}(评分原则:只有有写对相应的语句,就给分。
计08面向对象程序设计 考试试卷及答案(B卷)
课程名称: 面向对象程序设计 ( B 卷 闭卷) 适用专业年级:计算机科学与技术08级 考试时间: 100分钟 题号 一 二 三 四 五 六 七 八 九 十 总分 统分人 签名 题分 10 24 10 26 10 20 100 得分 考生注意事项:1、本试卷共 3 页,试卷如有缺页或破损,请立即举手报告以便更换。
2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。
(答案请写在密封线内和答卷正面,否则不记分) 一、判断题,正确的打√,错误的打×(每小题1分,共10分) 1.类的友员函数是指可以访问本类私有成员的其它类的成员函数。
( × ) 2.在定义二维数组时,语句“int a[][3]={{1,3,5},{2}};”是正确的。
( √ ) 3.如果一个类的所有对象都共享某一个变量,则应当将该变量定义为该类的私有成员。
( × ) 4.函数重载时,它们的参数个数和类型要求都不能相同。
( × ) 5.在文档/视图结构的程序中,输出是在OnDraw()函数中完成的。
( √ ) 6.在C++中,标识符Max 和MAX 是不一样的。
( √ ) 7.析构函数的作用是当对象不用时,删除对象。
( × ) 8.在C++中,文件的输入输出可以通过iostream 类对象来完成。
( × ) 9.在声明一个类时,可以不同时声明类的数据成员和成员函数。
( √ ) 10.在VC6.0开发环境中,可以同时开发几个工程。
( √ ) 二、简答题(每小题8分,共24分) 1.简要说明面向对象的程序设计的四个主要特征。
2.类和结构有什么异同? 3.多态性是指什么?C++中多态性是如何实现的? 三、填空题(每空2分,共10分) 1.根据程序说明和程序中的注释,填充程序中不完整的部分。
类Number 的成员函数Factorial 是递归函数,功能是求n !(即n 的阶乘,假设n>0)。
C语言程序设计2007~2008学年第二学期期末考试试卷(A)
南昌大学2007~2008学年第二学期期末考试试卷6、在程序中执行到________语句时,将结束所在函数的执行过程,返回到调用该函数的位置。
7、以下程序main(){int aa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};int i,s=0;for(i=0;i〈4;i++) s+=aa[i][1];printf(%d\n,s);}程序运行后的输出结果是________________。
8、以下fun函数把ch中的大写字母转换成字母序列中的下一个大写字母,字母Z转换成字母A,其它字符不变,返回转换后的字母或其它字符。
请填空。
char fun(char ch){if(ch= =’Z’) ch=__________;else if(ch〉='A’&&ch<=’Y’) ch=__________;return ch;}9、下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数.#include 〈stdio。
h>void main(void){int i, j;for(i=0; i〈10; i++) {j = i*10+6;if (_____ _____ ) continue;printf(”%d ”,j);}}10、以下程序的功能是调用函数fun计算:m=1-2+3-4+…+9—10,并输出结果。
请填空。
int fun(int n){int m=0,f=1,i;for(i=1;i<=n;i++){m+=i*f;f= __________ ;}return m;}main(){printf("m=%d\n”,________ __);}11、下面程序段是输出两个字符串中对应字符相等的字符。
请选择填空.char x[]=”programming”;char y[]=”Fortran”;int i=0;while (_______________ __ __){if (x[i]==y[i]) printf ("%c”,x[i]);else i++;}}12、以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和.请填空。
计08面向对象程序设计 考试参考答案(B卷)
private:
int Num;
string Name;
int Age;
char Sex;
public:
int GetNum() { return Num;};
teacher(int Num0=1001, string Name0="彭老师", int Age0=30,char Sex0='1')
1.(评分标准:两个知识点各4分,后一个知识点每小点2分)
答:主要特征:1)、抽象,即忽略当前主题中与目标无关的那些方面,把它的主要特征抽取出来。抽象包括数据抽象和代码抽象。2)、封装,它是将抽象得到的数据成员和代码相结合,形成一个有机的整体。并且,封装可以隐藏内部的细节。3)、继承,它提供了代码重用的一种方式,派生类可以重用基类的属性和行为。4)、多态性,它是指不同类的对象对同一消息作出不同反应,即c++的代码可以根据运行情况的不同而执行不同的操作。
}
int main()
{
teacher t1,t2(1002,"周老师",28,'0'),*p;
t1.display();
t2.display();
ofstream f1("TFile.txt",ios::out);
f1<<t1.GetNum()<<t2.GetNum()<<endl;
f1.close();
return 0;
}
C++中,多态性是通过指针和虚函数来实现的。
三、填空题
(评分标准:每空2分,共10分,等价写法给满分)
(1)n==0
(2)n*Factorial (n-1)
c面向对象程序设计考试试题
c面向对象程序设计考试试题一、选择题(每题2分,共20分)1. 面向对象程序设计中,以下哪一个不是基本特征?A. 封装B. 继承C. 多态D. 过程2. 在Java中,以下哪个关键字用于定义类?A. classB. functionC. structD. type3. 以下哪个是Java中不允许的类名?A. MyClassB. 1MyClassC. MyClass1D. MyClass$4. 在Java中,以下哪个是正确的构造方法声明?A. void MyClass() {}B. int MyClass() {}C. MyClass MyClass() {}D. MyClass() {}5. 以下哪个关键字用于实现类的继承?A. extendsB. implementsC. overrideD. abstract6. 以下哪个关键字用于声明接口?A. classB. interfaceC. abstractD. enum7. 在Java中,以下哪个关键字用于实现多态?A. newB. superC. overrideD. implements8. 在Java中,以下哪个关键字用于定义包?A. packageB. importC. classD. interface9. 以下哪个是Java中的访问控制修饰符?A. publicB. staticC. finalD. void10. 在Java中,以下哪个是正确的方法重载声明?A. void display(int a, int b)B. int display(int a, int b)C. void display(int a, int b) {}D. void display(int a, int b) { return a + b; }二、简答题(每题10分,共30分)1. 简述面向对象程序设计中的封装、继承和多态三个基本特征。
2. 解释Java中的接口和抽象类的区别。
2008年C++期末试卷-A卷试题及答案
院(系):专业:年级:学生姓名:学号:-------------------------------------------------密----------------------------------封-----------------------------线---------------------------------------------------------第 1 页(共 3 页)------------------------------------------------- 密 ---------------------------------- 封 ----------------------------- 线 ---------------------------------------------------------第 2 页共 3 页------------------------------------------------- 密 ---------------------------------- 封 ----------------------------- 线 ---------------------------------------------------------第 3 页(共 3 页)2007–2008学年第二学期期末考试试卷(A卷)课程名称: 面向对象程序设计课程编号:任课教师:一、单项选择题:(共20题,每小题2分,共40分)1. B 2. C 3. C 4. A 5. A 6. B 7. B 8. C 9. B 10. D 11. C 12. D 13. D 14. B 15. C 16. D 17. B 18. A 19. A 20. A二、填空题:(共10题,每小题1分,共10分)21.true ,false 1 ,0 22.内联函数,编译,执行时间23.this 24.new25.继承26.私有,私有,不可访问27.虚函数28.基类指针或引用三、程序改错题:(共2题,每题5分,共10分)29.【答】【答】错误处标号如下:①///************************************************* 程序文件名: p1_2.cpp **************************************************/#include <iostream>;④using std::endl;⑤void main( )⑥float num1, num2, num3; //定义三个数cin ⑦<< num1 << num2<<num3;cout >> ⑧“The average is:”⑨>> setw(30) ⑩>>(num1+num2+num3)/3>> endl;}①行注释符号//将块注释的头/*注释掉了,使得块注释的尾*/没有相应的头与之匹配;②关键字Using中包含了大写字母,应改为using;③using namespace std不是预处理指令,要以分号结尾;④#include <iostream> 是预处理指令,不能以分号结尾,而且要作为程序的开头行⑤使用了using namespace std,就不必单独使用std::endl;⑥void main() 后少了{;⑦cin应与提取操作符>>连用;⑧cout应与插入操作符<<连用;⑨“The average is:”为全角引号,应改为英文;⑩使用setw(30) 应包含头文件iomanip30.【答】①int a(0),b(0); //错误,数据成员的初始化必须通过构造函数实现改正:int a,b;②A x(2,3), y(4); //错误,对象y的初始化与已定义的构造函数参数表不匹配,可重载一个构造函数对对象y进行初始化。
闽江学院面向对象程序设计B卷(2008专升本)答案
2008—2009学年第1学期闽江学院考试试卷考试课程:面向对象程序设计试卷类别:A卷□B卷☑考试形式:闭卷☑开卷□适用专业年级:2008级电子信息科学与技术(专升本)一、选择题 20% 每题1分1-5 : D C D D A6-10 : C D A C B11-15: A D A B C16-20: D C A A A二、填空题 20% 每空1分1、注释2、iostream3、成员函数4、函数、类5、析构函数6、内联函数7、X=new int(a)、delete X8、基类名::基类成员9、自身对象、参数10、运算符重载11、派生类12、动态13、纯虚函数、基类14、函数模板、类模板15、代码重用三、完成程序题 30% 每空2分1、 real=r, imag=iComplexfriend ComplexComplex Complex::real+c.read, imag+c.imagComplexc1.real-c2.real, c1.imag-c2.imag2、 virtual ~Basenew Derived();delete ptr3、 friend class Stack<T>return top==NULL;T Stack<t>temp=top;temp->next=top;四、看程序写结果题 20 %1、The a of fun is 1 (2%)::a=200 (2%)The a of main is 11 (2%)::a=201 (2%)2、23 (3%)11 (3%)3、Derive类(3%)Base2类(3%)五、编程题 10%class person{privatedouble money; //2%public:person(double m=0){money=m;} //2%double GainMoney(double m) //2%{money+=m;return m;}double PayMoney(double m) //2%{money-=m;return m}void main() //此部分2分,只要语义正确就给分{Person parent, sonA(1000), sonB(1000), sonC(1000), sonD(1000);cout<<parent.GainMoney(sonA.PayMoney(100)+sonA.PayMoney(200) +sonA.PayMoney(300) +sonA.PayMoney(400)}。
2007闽江学院面向对象程序设计试卷(B)
装订线2007—2008学年第1学期闽江学院考试试卷(B )适用年级专业:2005级电子信息工程、2005级电子信息与科学 考试形式:笔试考试课程: 面向对象程序设计班级: 姓名: 学号:一、选择题 20%1、 已知函数func 的原形是: double func(doouble *pd,int &ri); 变量x 和y 的定义是:double x; int y;把x 和y 分别作为第一参数和第二参数来调用函数func ,正确的调用语句是: A) func(x,&y); B) func(&x,y); C) func(&x,&y); D) func(x,y); 2、 根据下面的定义,下面哪个是错误的:class A{};class B:public A{};A) B) C) D)V oid main() void main() void main() void main() { A a; { A *a; { A a; { B b; B b; B b; B *b; A &a=b; a=b; a=&b; b=&a; } } } } 3、什么结构是MFC 应用程序最核心的概念:A ) 消息B ) 事件处理C ) 框架D ) 文档/视图4、当窗口重绘时,将发生什么消息:A )WM_MENUB )WM_COMMANDC )WM_PAINTD )WM_CONTROL 5、在Windows API 编程时,设备描述上下文是:A)CDC B)HDC C)MDC D)EDC 6、下面说法错误的是:A ) 一个派生类还可以作为另一个类的派生类B ) 派生类至少有一个基类C ) 基类的公有成员在私有继承时在派生类中成为私有成员,而在保护继承时在派生类中成为保护成员。
D ) 在公有和保护继承方式下,派生类的对象可以对基类的保护成员进行访问。
7、下列的各类函数中,( )不是类的成员函数:A )友元函数B )拷贝构造函数C )析构函数D )虚函数8、假定AB 为一个类,px 为指向该类动态对象数组的指针,该数组长度为n,则执行"delete []px;"语句时,自动调用该类析构函数的次数为:A )0B )1C )nD )n+19、应在下列程序划线处填入的正确语句是( )#include class Base { public:void fun(){cout<<"Base::fun"<<ENDL;}};class Derived:public Base { void fun(){_____________ //显示调用基类的函数fun() cout<<"Derived::fun"<<ENDL; } };A)fun(); B)Base.fun(); C)Base::fun(); D) Base->fun(); 10、有如下程序:( )include class BASE{ char c; public:BASE(char n):c(n){}virtual~BASE(){cout<<C;} };class DERIVED:public BASE{ char c; public:DERIVED(char n):BASE(n+1),c(n){} ~DERIVED(){cout<<C;} };int main(){ DERIVED("X"); return 0; }()A)XY B)YX C)X D)Y 11、( )不可以作为类的成员A)自身类对象的指针B)另一个类的对象C)对自身类对象的引用D)自身类的对象12、以下哪个不是友元函数特点:A)友元函数可以访问类的私有成员B)友元函数提高了数据的封装性和隐藏性C)友元函数需要在类体内进行说明D)友元函数须加以关键字friend13、当一个异常对象和catch子句参数类型符合一定条件时匹配成功。
面向对象程序设计试题集多套
目录C++面向对象程序设计模拟测试题 (2)计算机技术与软件水平考试面向对象程序设计试题(1) (39)计算机技术与软件水平考试面向对象程序设计试题(2) (41)计算机技术与软件水平考试面向对象程序设计试题(3) (47)计算机技术与软件水平考试面向对象程序设计试题(4) (54)计算机技术与软件水平考试面向对象程序设计试题(5) (58)计算机技术与软件水平考试面向对象程序设计试题(6) (64)面向对象程序设计试题(6)参考答案 (67)计算机技术与软件水平考试面向对象程序设计试题(7) (69)面向对象程序设计试题(7)参考答案 (74)2008年全国计算机及应用面向对象程序设计试卷 (75)2009高等教育自学考试面向对象程序设计试题 (79)《面向对象程序设计》期末考试(开)试题及答案 (86)计科开放本科网络专业面向对象程序设计试题 (94)【面向对象程序设计】全国2011年试题及答案 (101)【面向对象程序设计】全国2010年试题及答案 (110)【面向对象程序设计】2010年试题及答案 (118)C++面向对象程序设计模拟测试题一.选择填空1.下面关于对象概念的描述中,( A )是错误的。
A.对象就是C语言中的结构变量;B.对象代表着正在创建的系统中的一个实体;C.对象是一个状态和操作(或方法)的封装体;D.对象之间的信息传递是通过消息进行的2.下面关于类概念的描述中,( D )是错误的。
A.类是抽象数据类型的实现:B.类是具有共同行为的若干对象的统一描述体;C.类是创建对象的样板:D.类就是C语言中的结构类型3.在16位机中,int 型字宽为( A )字节。
A.2;B.4;C.6;D.84.类型修饰符unsigned 修饰( D )类型是错误的。
A.char;B.int ;C.long int ;D.float5.在int a[5]={1,3,5};中,数组元素a[1]的值是( C )。
07-08面向对象程序设计及答案B[2]
湖南科技大学考试试题纸( B 卷)
(2007 -2008 学年第1 学期)
《面向对象程序设计》课程计算机院(系)06网络工程、计算机科学与技术班级考试时量100分钟学生人数命题教师念其锋系主任
交题时间:年月日考试时间:年月日
注:请打印或用炭素墨水书写、字迹要求工整、并抄写在方框线内共页,第页,
湖南科技大学潇湘学院考试试题纸( B 卷)
(2007 -2008 学年第1 学期)
《面向对象程序设计》课程计算机、网络专业班级考试时量100分钟学生人数命题教师念其锋系主任
交题时间:年月日考试时间:年月日
湖南科技大学考试试题参考答案及评分细则
(2007 -2008 学年第 1 学期)
《面向对象程序设计》课程(B卷)计算机院(系)06网络工程、计算机班级应试学生人数实际考试学生人数考试时量100分钟
命题教师念其锋审核人:考试时间:年月日
注:请用炭素墨水书写、字迹要求工整、并抄写在方框线内共页,第页,湖南科技大学潇湘学院考试试题参考答案及评分细则
(2007 -2008 学年第1 学期)
《面向对象程序设计》课程(B卷)计算机、网络专业06 班级应试学生人数实际考试学生人数考试时量100 分钟
命题教师念其锋审核人:考试时间:年月日。
[福建师范大学]《面向对象的程序设计》期末考试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、下面不属于创建型模式的有()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
装订线2007—2008学年第2学期闽江学院考试试卷(B )适用年级专业:2007级电子信息与科学(专升本) 考试形式:笔试考试课程: 面向对象程序设计班级: 姓名: 学号:一、选择题 20%1、下列关于C++语言类的描述中错误的是 A)类用于描述事物的属性和对事物的操作 B)类与类之间通过封装而具有明确的独立性C)类与类之间必须是平等的关系,而不能组成层次结构 D)类与类之间可以通过一些方法进行通信和联络 2、在C++语言中.表不一条语句结束的标号是A)# B); C)// D) } 3、以下叙述中正确的是A)构成C++语言程序的基本单位是类 B)可以在一个函数中定义另一个函数 C) main()函数必须放在其他函数之前D)所有被调用的函数一定要在调用之前进行定义 4、己知有定义以下是引用片段: const int D=5; int i=1;double f=0.32: char c=15;则下列选项错误的是A)++i; B)D--; C)C++; D)--f; 5、 根据下面的定义,下面哪个是错误的:class A{};class B:public A{};A) B) C) D)V oid main() void main() void main() void main() { A a; { A *a; { A a; { B b; B b; B b; B *b; A &a=b; a=b; a=&b; b=&a; } } } }6、什么结构是MFC 应用程序最核心的概念:A ) 消息B ) 事件处理C ) 框架D ) 文档/视图7、设有数组定义:char ar ray[]=”China";,则数组array 所占的空间为 A)4个字节 B)5个字节 C) 6个字节 D)7个字节 8、若已定义:int a[]={0,1,2,3,4,5,6,7,8,9},*P=a ,i; 其中O≤i≤9,则对a 数组元素不正确的引用是A)a[p-a] B)*(&a[i]) C)p[i] D)a[10] 9、下列的各类函数中,( )不是类的成员函数:A )友元函数B )拷贝构造函数C )析构函数D )虚函数 10、函数fun 的返回值是: fun(char*a ,char*b) {int num=0,n=0;while(*(a+num)!=‘\0’)num++;while(b[n]){*(a+num)=b[n];num++;n++;} return num; }A)字符串a 的长度 B)字符串b 的长度C)字符串a 和b 的长度之差 D)字符串a 和b 的长度之和 11、C++语言是从早期的C 语言逐渐发展演变而来的.与C 语言相比,它在求解问题方法上进行的最大改进是()A)面向过程 B)面向对象 C)安全性 D)复用性12、C++语言的跳转语句中,对于break 和continue 说法正确的是() A)break 语句只应用与循环体中 B)continue 语句只应用与循环体中C)break 是无条件跳转语句,continue 不是D)break 和continue 的跳转范围不够明确,容易产生问题 13、for(int x=0,y=0;!x&&y<=5;y++)语句执行循环的次数是() A)0 B)5 C)6 D)无次数14、考虑函数原型void test(int a,int b=7,char="*"),下面的函数调用中,属于不合法调用的是()A)test(5); B)test(5,8); C)test(6,"#") D)test(0,0,"*"); 15、下面有关重载函数的说法中正确的是()A)重载函数必须具有不同的返回值类型; B)重载函数形参个数必须不同;C)重载函数必须有不同的形参列表D)重载函数名可以不同;16、下列关于构造函数的描述中,错误的是()A)构造函数可以设置默认参数;B)构造函数在定义类对象时自动执行C)构造函数可以是内联函数;D)构造函数不可以重载17、下面描述中,表达错误的是()A)公有继承时基类中的public成员在派生类中仍是public的B)公有继承是基类中的private成员在派生类中仍是private的C)公有继承时基类中的protected成员在派生类中仍是protected的D)私有继承时基类中的public成员在派生类中是private的18、应在下列程序划线处填入的正确语句是()#includeclass Base{ public:void fun(){cout<<"Base::fun"<<ENDL;}};class Derived:public Base{ void fun(){_____________ //显示调用基类的函数fun()cout<<"Derived::fun"<<ENDL;}};A)fun(); B)Base.fun(); C)Base::fun(); D) Base->fun();19、有如下程序:#includeclass BASE{char c;public:BASE(char n):c(n){}virtual~BASE(){cout<<C;}};class DERIVED:public BASE{char c;public:DERIVED(char n):BASE(n+1),c(n){}~DERIVED(){cout<<C;}};int main(){ DERIVED("X");return 0; }执行上面的程序将输出()A)XY B)YX C)X D)Y20、有如下的运算重载函数定义:Double operator+(int i, int k){return double(i+k);}但定义有错误,对这个错误的最准确的描述是______。
A)+只能作为成员函数重载,而这里的+是作为非成员函数重载的B)两个int型参数的和应该是int型,而这里将+的返回类型声明为doubleC)没有将运算符重载函数声明为某个类的友元D)C++已经提供了求两个int型数据之和运算符+,不能再定义同样的运算符二、填空题20%1、已知int DBL(int n){return n * n;}和long DBL(long n){return n *n;}是一个函数模板的两个实例,则该函数模板的定义是_____________________________________(2分)2、在下面程序的横线处填上适当的语句,使该程序执行结果为10。
(2分)#includeclass MyClass{ public:___________________________________________________;int GetNum(){return x;};private:int x;};int main(){ MyClass my(10);cout<<MY.GETNUM()<<ENDL;return 0;}3、(2分)一个类的定义如下所示,则相应类的构造顺序是:class Assistant : public Student, public Teacher{public:Assistant() : Teacher(), Student(){…}…};4、在一个类(派生类)继承自另一个类(基类)情况下,无论何种情况都不能访问基类的成员。
成员只在派生体系中是可见,在类派生体系的外部是不可见。
在类的派生体系的外部可见的是成员。
5、在编译时就解决的函数调用称为联编;在运行时才解决的函数调用称为联编。
6、在C++中有二种参数传递方式:__________传递和__________传递。
7、创建或删除内存空间,需要使用操作符__________和_______________。
8、Visual Studio使用项目工作区来组织项目。
它包含三个面板,分别是_______________,______________,________________。
9、A类声明为B类的虚基类的声明语句是:三、看程序回答问题40%1、下面程序运行的结果#includevoid main(){int num=1;int ref=num;ref=ref+2;cout<<num;num=num+3; 结果:cout< <num<<endl)2、利用函数模板,求数组int A[]={21,34,12,56,78,9,30}; 中各元素之和并将结果显示输出。
(4%)____________T total(T data[]){T s=0;for(int i=0;i<size;i++)_______;return s;}void main(){int A[]={21,34,12,56,78,9,30};cout<< total<int,7>(A) <<endl;}3、(4分)看程序写结果#include<iostream.h>class A{int a;public:A():a(9){}virtual void Print(){a++;cout<<a;}; };class B:public A{char b;public:B(){b='S';}void Print(){ cout<<b;}};void show(A &x){x.Print();}int main(){A d1, *p;B d2;p=&d2;d1.Print();d2.Print();p->Print();show(d1);show(d2);cout<<endl;return 0;}4、(8%)下面的程序定义了一个堆栈类模板,它提供了两个异常:上溢异常和下溢异常。
在主调函数中,出现了异常。
请在划线处补充程序。
#include <iostream.h>template<class T> class Stack {T* v;int max_size;//指定栈的容量int top;//表示栈顶指针public:class Underflow { }; // 用来报告下溢异常的类型,表示无数据从栈中读取class Overflow { }; // 用来报告上溢异常的类型,表示数据无法入栈Stack(int s) // 构造函数{max_size=s;v=new T[max_size];top=0;}~Stack() // 析构函数{if(v!=NULL);cout<<"对象已析构!"<<endl;}void push(T c){if (top == max_size); // 检查是否发生错误v[top++] = c; // 增加top并将c存放在top位置}T pop(){if (top == 0) ; // 检查是否发生错误return v[--top]; //减少top}};void main(){try{ss (10);ss.push(5);int s = ss.pop();ss.pop();cout<<"发生异常后的语句"<<endl; //不被执行}catch ( ) // 异常处理器{cerr << "错误:堆栈下限溢出"<<endl;}catch ( ) // 异常处理器{cerr << "错误: 堆栈上限溢出"<<endl;}catch(...) //任何异常{cout<<"有异常发生!"<<endl;}}5、下面的程序定义了一个Point类,要求实现自减运算符的重载。