《面向对象程序设计》课程设计报告书(模板)

《面向对象程序设计》课程设计报告书(模板)
《面向对象程序设计》课程设计报告书(模板)

《面向对象程序设计》课程设计报告书(模板) 《面向对象程序设计》课程设计报告书

设计题目:

指导老师:

学生学号:

学生姓名:

同组人员:

时间:

目录

第1章选

题 ..................................................................... ..................................................... 2 1.1 题目背

景 ..................................................................... .................................................... 2 1.2系统实现的具体分

工 ..................................................................... . (2)

1.2.1 标

题 ..................................................................... ..................................................... 2 1.3开发环

境 ..................................................................... ..................................................... 2 第2章设计内

容 .....................................................................

................................................. 3 2.1实现功

能 ..................................................................... ..................................................... 3 2.2 概要设计(涉及类的框图)..................................................................... ...................... 3 2.3 界面设

计 ..................................................................... .................................................... 4 第3章系统实

现 ..................................................................... ................................................. 5 3.1 涉及知识

点 ..................................................................... ................................................ 5 3.2 系统运行(主要运行界面抓

图) .................................................................... ............... 5 3.3 源程序清单(关键代

码) .................................................................... .......................... 6 第4章结束

语 ..................................................................... (16)

第1章选题

1.1 题目背景

随着信息时代的到来和全社会信息化、网络化建设的兴起,传统的图书管理模式和操作方法越来越不能满足用户的需要.智能化、网络化、信息化的图书管理系统应用势在必行。

1.2系统实现的具体分工

系统分为读者类、读者类库、图书类以及主函数等几大模块,其中读者类实现对读者信息的描述,读者类库实现建立读者的个人资料,图书类实现对图书信息的描述,main() 函数实现对程序主界面的引导。

1.2.1 标题

高校图书管理系统

1.3开发环境

Visual C++ 6.0

机型: 方正电脑

处理器名称:Intel(R)Core(TM)2 Duo CPU E7200 @ 2.53GHz

硬盘驱动器:WDC WD1600AAJS-22WAAO

系统内存: 金士顿内存2GB

显示卡: NVIDIA GeFORCE 9400 GT

显示器: 方正科技FG981-W9

操作系统: Microsoft Windows XP Professional

第2章设计内容

2.1实现功能

系统主要包括读者服务、借还图书和退出功能。用户只需先进入读者服务中注册一下就可以进行借阅、查询。

2.2 概要设计(涉及类的框图)

高校图书管理系统

读者类,实现对读

者的信息的描述

Reader

设置姓名增加读者读出读者信息

setname addreader disp

读者类库,实现建

立读者的个人资料

构造RDatabase()函添加、删除、查找、voidreaderdata()

数,将reader.txt读输出读者信息读者库维护

到read[]中

书库的建立

Book

VoidBook::borrowvoidBook::restor

图书命名 ()借书 e()还书

主程序

main

由主界面进入子界主界面的输出

面或退出

2.3 界面设计

界面设计在工作流程上分为结构设计、交互设计、视觉设计三个部分。

结构设计 Structure Design

结构设计也称概念设计 (Conceptual Design),是界面设计的骨架。该图书管理系统运行时界面上的目录体系和词语定义易于用户理解和操作,例如主界面的目录体系包括1 读者服务、2 借还图书、0 退出。其中读者服务又下分目录1 新增、2 更改、3 查找、4 显示、5 删除、0 退出。借还图书一栏中详细列出了书库中所存书本的编号及书名,即1 大学英语、2 高等数学、3 高级语言程序设计。充分体现了结构化的界面设计理念。

交互设计 Interactive Design

交互设计的目的是使产品让用户能简单使用。任何产品功能的实现都是通过人和机器的交互来完成的。该图书管理系统中包含1)清楚的错误提示,误操作后,系统提供有针对性的提示。例如读者输入的姓名或编号错误时,系统会给出相应的提示,以指导读者进行正确的操作。2) 使用用户的语言,而非技术的语言。

3)方便退出。4)导航功能。随时转移功能,很容易从一个功能跳到另外一个功能。例如读者所需各服务间功能转换。人的因素被作为设计的核心体现出来。

视觉设计 Visual Design

该管理系统界面清晰明了,在结构设计的基础上,参照目标群体的心理模型和任务达成进行了视觉设计。

第3章系统实现

3.1 涉及知识点

类封装、面向对象程序设计、数组的应用、循环语句的使用、过程化设计

的思想等

3.2 系统运行(主要运行界面抓图)

主界面

读者服务

借还图书

退出

3.3 源程序清单(关键代码)

#include #include

#include

#include //新的,模版化的版本

#include using namespace std; //读者类,实现对读者的信息的描述

class Reader

{

private:

int tag; //删除标记 1:已删 0:未删

int no; //读者编号

char name[10]; //读者姓名

int borbook[5];//所借图书

public:

Reader() {}

char *getname() {return name;} //获取姓名

int gettag() {return tag;} //获取删除标记

int getno() {return no;} //获取读者编号

void setname(char na[]) //设置姓名

{

strcpy(name,na); //strcpy()是字符串函数,用来进行字符串的复制;

strcpy(x,y)把Y的数据复制到X中

}

void addreader(int n,char *na)//增加读者

{

tag=0;

no=n;

strcpy(name,na);

for(int i=0;i<100;i++)

borbook[i]=0;

}

void disp()//读出读者信息

{

cout << setw(5) << no <

书~"<

}

};

//------------------------------------------------------------------------------------

读者类库,实现建立读者的个人资料 //

class RDatabase

{

private:

int top; //读者记录指针

Reader read[100];//读者记录

public:

RDatabase() //构造函数,将reader.txt读到read[]中

{

Reader s;

top=-1;

fstream file("reader.txt",ios::in);//打开一个输入文件

while (1)

{

file.read((char *)&s,sizeof(s));//sizeof返回一个对象或者类型所占的内存字节数

if (!file)break;

top++;

read[top]=s;

}

file.close(); //关闭 reader.txt

}

void clear()//删除所有读者信息

{

top=-1;

}

int addreader(int n,char *na)//添加读者时先查找是否存在

{

Reader *p=query(n);

if (p==NULL)

{

top++;

read[top].addreader(n,na);

return 1;

}

return 0;

}

Reader *query(int readerid)//按编号查找

{

for (int i=0;i<=top;i++)

if (read[i].getno()==readerid &&

read[i].gettag()==0)

{

return &read[i];

}

return NULL;

}

void disp() //输出所有读者信息

{

for (int i=0;i<=top;i++)

read[i].disp();

}

void readerdata();//读者库维护

~RDatabase() //析构函数,将read[]写到reader.txt文件中{

fstream file("reader.txt",ios::out);

for (int i=0;i<=top;i++)

if (read[i].gettag()==0)

file.write((char *)&read[i],sizeof(read[i]));//sizeof()当操作数具有数组类型时,其结果是数组的总字节数

file.close();

}

};

void RDatabase::readerdata()

{

char choice;

char rname[20];

int readerid;

Reader *r;

while (choice!='0')

{

cout <<"\n\n\t\t\t读者服务\n\n\n\t\t\t 1 新增

\n\n\t\t\t 2 更改\n\n\t\t\t 3 查找\n\n\t\t\t 4 显示

\n\n\t\t\t 5 删除\n\n\t\t\t 0 退出"<

cout<<"请输入您的选择:";

cin >> choice;

switch (choice)

{

case '0':

return;

case '1':

cout << "输入读者编号:";

cin >> readerid;

cout << "输入读者姓名:";

cin >> rname;

addreader (readerid,rname); break;

case '2':

cout << "输入读者编号:";

cin >> readerid;

r=query(readerid);

if (r==NULL)

{

cout << " 该读者不存在 "<

}

cout << "输入新的姓名:";

cin >> rname;

r->setname(rname);

break;

case '3':

cout << "读入读者编号:";

cin >> readerid;

r=query(readerid);

if (r==NULL)

{

cout <<"该读者不存在"<< endl;

break;

}

r->disp();

break;

case '4':

disp();

break;

case '5':

clear();

break;

default:

cout<<"输入错误,请重新输入:";

break;

}

}

};

//-----------------------------------------------------------------------------------------------

------

class Book

{

public:

void setBook(char*,int);

void borrow();

void restore();

void display();

void T();

private:

char bookname[40];

int number;

char flag;

};

//在类外定义Book类的成员函数

void Book::T()

{

cout<<"请输入借阅或归还标志(b/r):"; cin>>flag;

switch (flag)

{case 'b':borrow();break;

case 'r':restore();

}

}

void Book::setBook(char *name,int num) {

strcpy(bookname,name);

number=num;

}

void Book::borrow() {

if (number==0)

{cout<<"已没存书,退出~"<

abort();

}

number=number-1;

cout<<"借一次,现存书量为:"<

}

void Book::restore() {

number=number+1;

cout<<"还一次,现存书量为:"<

}

void Book::display() {

cout<<"存书情况:

"<

//main() 函数的实现,程序的主界面的引导 int main()

{

char choice;

int bookid,readerid;

RDatabase R;

Reader *r;

Book B;

while(choice!='0')

{

cout <

系统??????\n\n\n";

cout <<"\t\t\t1 读者服务 \n\n\t\t\t2 借还图书 \n\n\t\t\t0

退出"<

cout<<"请输入您的选择:";

cin >> choice;

switch (choice)

{

case '0':

cout <<" 谢谢使用"<

return 0;

case '1':

R.readerdata();

break;

case '2':

cout <<"\n\n\n\t\t\t 借还图书\n\n\n";

cout<<"\t\t\t书库中现存三种图书:\n\n\t\t\t1 大学英语\n\n\t\t\t2 高等数学\n\n\t\t\t3 高级语言程序设计"<

cout<<"请输入读者编号:"<

cin >>readerid;

cout <<"请输入图书编号: ";

cin >>bookid;

r=R.query(readerid);//按编号查找

if (NULL==r)

{

cout <<" 不存在该读者,不能借书"<< endl; break;

}

switch(bookid)

{

case 1:

B.setBook("大学英语",1000);

B.display();

B.T();

break;

case 2:

B.setBook("高等数学",1000);

B.display();

B.T();

break;

case 3:

B.setBook("高级程序语言设计",1000);

B.display();

B.T();

break;

default:cout<<"输入错误,请重新输入:";

break;

}

}

}

}

第4章结束语

这次课程设计历经一个星期左右,通过这一个星期的学习,发现了自己的很多不足,自己知识的很多漏洞,也有很多闻所未闻的东西,理解实践的能力急需提高。课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程. 它为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生运用所学知识解决实际问题的能力。

这次的课程设计也让我看到了团队的力量,我认为我们的工作是一个团队的工作,团队需要个人,个人也离不开团队,必须发扬团结协作的精神。刚开始的时候,大家就按照分配好了的任务进行,并且经常聚在一起讨论各个方案的可行性。在课程设计中只有一个人的知识是远远不够的,必须要结合每个人的知识,否则一个人的错误,就有可能导致整个工作失败。团结协作是我们成功的一项非常重要的保证。而这次设计也正好锻炼我们这一点,这也是非常宝贵的。

回顾起此次课程设计,至今我仍感慨颇多,起初在选题时,做出决定是非常困难的,若选择简单的题目,很有可能会很早就做完了,那样岂不是浪费了许多宝贵的时间;若选择比较难的题目,感觉自己的能力可能不够,不能完成课程设计,最后,在我们组的商量之下选了高校图书管理系统这个课题。定下了我们的目标。接着我们都开始做了,我们明确的分了一下任务,然后每个人都去干自己的了,对于

不会的,不太清楚的我们都会在一起讨论,研究。通过本次课程设计,我深刻认识到了“理论联系实际”的这句话的重要性与真实性,我不但知道了以前不知道的理论知识,而且也巩固了以前知道的知识。最重要的是在实践中理解了书本上的知识,明白了学以致用的真谛。也明白老师为什么要求我们做好这个课程设计的原因。他是为了教会我们如何运用所学的知识去解决实际的问题,提高我们的动手能力。在整个设计到按各种功能输出以及调试过程中,我个人感觉调试部分是最难的,我们把运行错误和不能运行的部分一遍遍的修改直到达到预期的效果。初拿到题目觉得很沮丧,虽然学了这么久的C++语言,但还是觉得它很深奥,对它几乎是一无所知。如何着手,在接下来的时间里大家集思广益,在一起认真讨论,不甚理解的问题去查阅一些资料。然后写代码,运行调试……虽然在这个过程中遇到了很多问题,有时候甚至为某个地方而茶饭不思。但程序编辑成功后那种激动,问题解决中遇到挑战自己亲自动手,终于解决那种成就感,几个人一起讨论,一起分析,同悲同喜那种患难与共的感觉,都使我们深深地体会到了感到学习的快乐和团结的力量,也让我们真正学习到了一些的知识,使我们感到前途是光明的、充满挑战与趣味的。计算机专业是一个需要紧密合作的工

作,只有在一起合作才能高做出好的程序,但在其中也有一些的问题是我们都不能理解的,有很多是我们上课没有碰到的一些的问题真的是很让人头疼的。通过这次编程使我们认识到在以后的学习中要多做练习增加自己的知识面才能更好的适应自己的工作,在其中由最初的沮丧中出来,充满信心地去解决问题。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,同时在设计的过程中发现了自己的不足之处,对以前所学过

的知识理解得不够深刻,掌握得不够牢固,比如说return的用法……通过这次课程设计之后,我决定一定把以前所学过的知识重新温故。

这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在张老师的辛勤指导下,以及同学们的帮助下,最终迎刃面解。在此我向张老师和那些帮助过我的同学们表示最衷心的感谢~

参考文献

[1] 钱能. C++程序设计教程(第一版).清华大学出版社

[2] 钱能. C++程序设计教程(第二版).清华大学出版社

[3] C++入门经典(清华大学出版)

面向对象程序设计考前复习题及答案

简答题 1、传统的结构化程序设计的优点和缺点是什么? 优点: (1)这种程序设计方法力求算法描述准确。 (2)对每一子过程模块容易进行程序正确性证明。 缺点: (1)这种程序设计方法本质上是面向“过程”的,而“过程”和“操作”又是不稳定和多变的,因此不能直接反映人类求解问题的思路。 (2)程序代码可重用性差。程序中除少数标准库函数外,每设计一个程序时,程序员几乎从零做起。即使重用代码,通常也是通过拷贝或编辑重新生成一份。 (3)维护程序的一致性困难。该种方法将数据与对数据进行处理的程序代码分离。 2、什么是对象? 每个对象都具有属性(Attribute)和方法(Method)这两方面的特征。对象的属性描述了对象的状态和特征,对象的方法说明了对象的行为和功能,并且对象的属性值只应由这个对象的方法来读取和修改,两者结合在一起就构成了对象的完整描述。 3、什么是消息? 在面向对象的程序设计中,由于对象描述了客观实体,它们之间的联系通过对象间的联系来反映。当一个对象需要另外一个对象提供服务时,它向对方发出一个服务请求,而收到请求的对象会响应这个请求并完成指定的服务。这种向对象发出的服务请求就称为消息。4、什么是多态性? 所谓多态性是指当程序中的其他部分发出同样的消息时,按照接收消息对象的不同能够自动执行类中相应的方法。其好处是,用户不必知道某个对象所属的类就可以执行多态行为,从而为程序设计带来更大方便。 5、什么是面向对象的程序设计方法? 这种方法将设计目标从模拟现实世界的行为转向了模拟现实世界中存在的对象及其各自的行为。 在OOP中,将“对象”作为系统中最基本的运行实体,整个程序即由各种不同类型的对象组成,各对象既是一个独立的实体,又可通过消息相互作用,对象中的方法决定要向哪个对象发消息、发什么消息以及收到消息时如何进行处理等。 6、面向对象方法的特点是什么? (1)OOP以“对象”或“数据”为中心。由于对象自然地反映了应用领域的模块性,因此具有相对稳定性,可以被用作一个组件去构成更复杂的应用,又由于对象一般封装的是某一实际需求的各种成分,因此,某一对象的改变对整个系统几乎没有影响。 (2)引入了“类”(class)的概念。类与类以层次结构组织,属于某个类的对象除具有该类所描述的特性外,还具有层次结构中该类上层所有类描述的全部性质,OOP中称这种机制为继承。 (3)OOP方法的模块性与继承性,保证了新的应用程序设计可在原有对象的数据类型和功能的基础上通过重用、扩展和细化来进行,而不必从头做起或复制原有代码,这样,大大减少了重新编写新代码的工作量,同时降低了程序设计过程中出错的可能性,达到了事半功倍的效果。 7、面向对象的程序设计方法与结构化程序设计方法的比较 (1)传统的结构化程序设计方法以过程为中心构造应用程序,数据和处理数据的过程代码是分离的、相互独立的实体,设计出的程序可重用代码少,且当代码量增加时维护数据和代码的一致性困难。

摄影作品课程设计报告书

专题摄影职业装与色彩作品 设计制作说明书 设计制作人:胡雯 班级 15媒体2 学号 2015145216 2016.9

一、本设计的目的和任务 通过本设计主要达到以下目的: 1、使学生进一步增强“摄影的具像特征和象征性特征”的感性认识,加深对摄影曝光、感光度、镜头景深、光圈快门等技术理论和方法的全面理解和掌握。 2、使学生全面掌握以数码照相机为主要器材手段进行摄影创作的流程和方法。尝试创作一组具有个性视角、和独特技术方法的“专题摄影作品”,并自我点评,作出恰当“命名”和“寓意说明”以备推荐到“相应级别摄影赛事”上参展。 通过本设计主要完成的任务: 使学生在课内20学时+课外20学时内(一周时间)完成一组具有个性视角、和独特技术方法的“摄影作品至少6幅”,并自我点评和作出恰当的“命名”和“寓意说明”,以备推荐参展。 二、完成本设计的“创意”准备和技术准备 (一)、选题说明和“创意”简介 1.选题说明 我的选题是“职业装与色彩”,例如我们看到橘色不难想到环卫工人,看到绿色不难想到军人,看到蓝色不难想到警察……所以我想以有代表色的职业装的为出发点,来表现不同职业的劳动人民的工作状态,以表达对劳动者的尊敬与感激之情。 2.“创意”简介 偶然在微博上看见了一段记录清朝长安街头的黑白影像,对比如今的生活,我觉得其中很大的一个变化就是我们现在的职业划分更加的明确并且管理的更加规范,不同种类,色彩各异的职业装的出现便能够说明这点,所以我选取了几种大众已经非常熟悉且有代表性的制服作为代表,来表现劳动者的工作状态。 3.附:选题创意策划分析报告表(最下) (二)、拍摄技术准备和计划 1.创作“摄影作品”的技术手段简述 1)摄影镜头的光学特性和景深原理的应用 景深是指镜头所能对应拍摄到的景物的清晰范围。景深原理可以从下图中得到分析。 影响景深的两个主要因素是光圈和焦距。 (1)光圈口径愈大,在感光片上的弥散圆愈大,所以得到的景深越小。

什么是面向对象程序设计

1 什么是面向对象程序设计,它与传统的结构式程序有什么不同。 面向对象程序设计是一种适用于设计、开发各类软件的范型。它是将软件看成是一个由对象组成的社会:这些对象具有足够的智能,能理解从其他对象接受的信息,并以适当的行为作出响应;允许低层对象从高层对象继承属性和行为。通过这样的设计思想和方法,将所模拟的现实世界中的事物直接映射到软件系统的解空间。 与传统的结构式程序设计相比,面向对象程序设计吸取了结构式程序设计的一切优点(自顶向下、逐步求精的设计原则)。而二者之间的最大差别表现在: ·面向对象程序采用数据抽象和信息隐藏技术使组成类的数据和操作是不可分割的,避免了结构式程序由于数据和过程分离引起的弊病。 · 面向对象程序是由类定义、对象(类实例)和对象之间的动态联系组成的。而结构式程序是由结构化的数据、过程的定义以及调用过程处理相应的数据组成的 2 用面向对象方法建立模型的思维过程是怎样的。 用面向对象方法建立拟建系统的模型的过程就是从被模拟现实世界的感性具体中抽象要解决的问题概念的过程。这种抽象过程分为知性思维和具体思维两个阶段,其中:·知性思维是从感性材料中分解对象,抽象出一般规定,形成了对对象的普遍认识。·具体思维是从知性思维得到出的一般规定中揭示的事物的深刻本质和规律,其目的是把握具体对象的多样性的统一和不同规定的综合。 3 解释以下概念: ①对象:在现实世界中,对象就是可以感觉到的实体。每个对象具有一个特定的名字以 区别于其他对象;具有一组状态用来描述它的某些特性;具有一组操作,每一个操作决定对象的一种功能或行为(为自身服务的操作和为其他对象提供服务的操作)。而在面向对象系统中,对象是可以标识的存储区域。每个对象的状态被保存在此区域中,而实现一类对象行为的操作(代码)被保存在另外相关的存储器区域中。 ②消息:消息是要求某个对象执行其某种功能操作(方法)的规格说明。因此,消息是 由消息的接收者、消息要求提供的操作(消息名)和必要的参数组成的。 ③类:在现实世界中,类是对一组具有共同特性(属性和行为)的客观对象的抽象。而 在面向对象系统中,类是由程序员自定义的具有特定结构和功能的类型,是一种代码共享的手段。 ④实例:任何一个对象都是该对象所属类的一个具体实例。 ⑤公有消息:是由对象外向对象发送的消息,用于激活该对象的某种方法。 ⑥私有消息:是由对象向自身发送的消息,用于内部操作;该类消息不能从对象外向该 对象发送。 ⑦消息序列:在面向对象系统中一个事件的发生总会有多个对象的多次相互作用才能完 成,使得这些对象能够相互作用的消息组成的序列被称为消息序列。 4 类与实例的关系如何? 类是创建对象的模板,而对象是实现类的实例。属于同一类的不同实例必须具有: ·相同的操作集合; ·相同的静态属性集合; ·不同的对象名和属性动态值。

大学物理实验答案2

实验7 分光计的调整与使用 ★1、本实验所用分光计测量角度的精度是多少仪器为什么设两个游标如何测量望远镜转过的角度 本实验所用分光计测量角度的精度是:1'。为了消除因刻度盘和游标盘不共轴所引起的偏心误差,所以仪器设两个游标。望远镜从位置Ⅰ到位置Ⅱ所转过的角度为2 )_()('1'212?????+-= ,注:如越过刻度零点,则必须按式)(120360??--来计算望远镜的转角。 ★2、假设望远镜光轴已垂直于仪器转轴,而平面镜反射面和仪器转轴成一角度β,则反射的小十字像和平面镜转过1800后反射的小十字像的位置应是怎样的此时应如何调节试画出光路图。 反射的小十字像和平面镜转过180o 后反射的小十字像的位置是一上一下,此时应该载物台下螺钉,直到两镜面反射的十字像等高,才表明载物台已调好。光路图如下: ★3、对分光计的调节要求是什么如何判断调节达到要求怎样才能调节好 调节要求:①望远镜、平行光管的光轴均垂直于仪器中心转轴;②望远镜对平行光聚焦(即望远调焦于无穷远);③平行光管出射平行光;④待测光学元件光学面与中心转轴平行。 判断调节达到要求的标志是:①望远镜对平行光聚焦的判定标志;②望远镜光轴与分光计中心转轴垂直的判定标志;③平行光管出射平行光的判定标志;④平行光管光轴与望远镜光轴共线并与分光计中心轴垂直的判定标志。 调节方法:①先进行目测粗调;②进行精细调节:分别用自准直法和各半调节法进行调节。 4、在分光计调节使用过程中,要注意什么事项 ①当轻轻推动分光计的可转动部件时,当无法转动时,切记不能强制使其转动,应分析原因后再进行调节。旋转各旋钮时动作应轻缓。②严禁用手触摸棱镜、平面镜和望远镜、平行光管上各透镜的光学表面,严防棱镜和平面镜磕碰或跌落。③转动望远镜时,要握住支臂转动望远镜,切忌握住目镜和目镜调节手轮转动望远镜。④望远镜调节好后不能再动其仰角螺钉。 5、测棱镜顶角还可以使用自准法,当入射光的平行度较差时,用哪种方法测顶角误差较小 ?2 1=A 的成立条件是入射光是平行的,当入射光的平行度较差时,此公式已不再适用,应用自准直法测三棱镜的顶角,用公式?-=1800 A 来计算,误差较小。

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

实验一熟悉VC++IDE开发环境 一、实验目的 1、熟悉VC++6.0集成开发环境,熟练掌握VC++6.0项目工作区、各种编辑器、菜单栏和工具栏的使用。 2、掌握如何编辑、编译、连接和运行一个C++程序。 3、通过运行简单的C++程序,初步了解C++源程序的结构和特点。 二、实验要求 1、分析下列程序运行的结果。 程序一: #include int add(int x,int y=8); void main() { int x=4; cout< void main() { int *p,i; i=5; p=&i; i=*p+10; cout<<"i="< void main(void) { int i=10; int &r=i; r++; cout<<"i="< void func(); int n=1; void main() { static int a; int b= -9; cout <<"a:"<

课程设计报告(模板)

《地震勘探课程设计》 报告 院系 班级 学生 学号 指导教师 完成日期2014年3月12日 长江大学工程技术学院

目录 一、课程设计目的 (3) 二、课程设计的容 (3) 三、课程设计原理 (3) 四、工区数据 (4) 五、课程设计步骤 (5) 1、建立工区 (5) 2、资料加载 (8) 3、层位标定和层位追踪 (10) 4、断层解释 (13) 5、构造图绘制 (14) 六、心得体会 (15)

一、课程设计目的 地震勘探解释课程设计是我们勘查技术与工程专业和资源勘查工程专业教学中的一个重要的实践性训练环节,通过上机实际操作,训练我们对地震资料进行常规构造解释的实际能力,最终使我们达到:学会利用地震解释软件来进行地震数据的加载,地震层位的标定,地震层位的追踪对比,在地震资料上分析和解释各种断层,以及地震构造图的编制方法。同时,还要学会综合地震地质资料对构造解释结果进行分析,进而对含油气有利地带进行评价和预测,最终编制成果报告。 二、课程设计的容 本次课程设计是理论联系实际的具体表现,是培养学生分析问题、解决问题能力的一个必不可少的环节,主要分为两部分:一、通过对地震资料解释软件Discovery的使用,追踪解释层位数据;二、通过surfer软件学习成图。使学生对地震常用的解释软件有一个初步的认识,能为毕业后从事地震勘探工作奠定良好的基础。地震解释课程设计是勘查技术与工程专业教学中的一个重要的实践性训练环节。通过实验主要训练学生对地震资料进行常规构造解释的实际能力,具体要使学生达到: 1.了解人机联作的基本知识; 2.初步学会地震解释软件的操作流程(工区建立、资料加载、合成记录制作、层位标定、层位追踪、断层解释、断点组合); 3. 进一步巩固和掌握地震资料解释的基本功; 4.初步学会地震成果的地质分析; 5.初步学会编写地震资料解释文字报告;

大学物理实验

一、选择题(每小题3 分,共30分) 1. 以下说法正确的是( ) A. 多次测量可以减小随机误差 B.多次测量可以消除随机误差 C.多次测量可以减小系统误差 D.多次测量可以消除系统误差 2. 用分度值为 0.05 的游标尺测量一物体的长度,下面读数正确的是( ) A. 12.63mm B.12.64mm C. 12.60mm C.12.635mm 3. 牛顿环测曲率半径实验中,观测到的同心干涉圆环的疏密分布是什么( A.均匀分布 C.从内到外逐渐变得密集 4.0.070 的有效数字有( ) A. 1 位 B.2 位 5. 某电流值的测量结果为 I=(30.55±0.05)mA ,则下面关于被测电流的真值 I 0 的哪种理解是正 确的( ) (A ) I 0=30.55mA (B ) I 0=30.50mA 或 I 0=30.60mA (C ) 30.50mA

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

《面向对象程序设计》第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、面向对象的要素包括抽象、封装。

数字图像处理课程设计报告

课程设计报告书课程名称:数字图像处理 题目:数字图像处理的傅里叶变换 学生姓名: 专业:计算机科学与技术 班别:计科本101班 学号: 指导老师: 日期: 2013 年 06 月 20 日

数字图像处理的傅里叶变换 1.课程设计目的和意义 (1)了解图像变换的意义和手段 (2)熟悉傅里叶变换的基本性质 (3)热练掌握FFT的方法反应用 (4)通过本实验掌握利用MATLAB编程实现数字图像的傅里叶变换 通过本次课程设计,掌握如何学习一门语言,如何进行资料查阅搜集,如何自己解决问题等方法,养成良好的学习习惯。扩展理论知识,培养综合设计能力。 2.课程设计内容 (1)熟悉并掌握傅立叶变换 (2)了解傅立叶变换在图像处理中的应用 (3)通过实验了解二维频谱的分布特点 (4)用MATLAB实现傅立叶变换仿真 3.课程设计背景与基本原理 傅里叶变换是可分离和正交变换中的一个特例,对图像的傅里叶变换将图像从图像空间变换到频率空间,从而可利用傅里叶频谱特性进行图像处理。从20世纪60年代傅里叶变换的快速算法提出来以后,傅里叶变换在信号处理和图像处理中都得到了广泛的使用。 3.1课程设计背景 数字图像处理(Digital Image Processing)又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。 3.2 傅里叶变换 (1)应用傅里叶变换进行数字图像处理 数字图像处理(digital image processing)是用计算机对图像信息进行处理的一门技术,使利用计算机对图像进行各种处理的技术和方法。 20世纪20年代,图像处理首次得到应用。20世纪60年代中期,随电子计算机的发展得到普遍应用。60年代末,图像处理技术不断完善,逐渐成为一个新兴的学科。利用数字图像处理主要是为了修改图形,改善图像质量,或是从图像中提起有效信息,还有利用数字图像处理可以对图像进行体积压缩,便于传输和保存。数字图像处理主要研究以下内容:傅立叶变换、小波变换等各种图像变换;对图像进行编码和压缩;采用各种方法对图像进行复原和增强;对图像进行分割、描述和识别等。随着技术的发展,数字图像处理主要应用于通讯技术、宇宙探索遥感技术和生物工程等领域。

面向对象程序设计(答案)

学号:姓名: 第三章面向对象程序设计作业 一、判断题 1、一个Java源程序可有多个类,但只仅有一个public类,而且程序名与public类名相同。对 2、如果类A和类B在同一个包中,则除了私有成员外,类A可以访问类B中所有的成员。对 3、接口中的成员变量全部为常量,方法为抽象方法。对 4、抽象类可以有构造方法,可以直接实例化。错 5、对static方法的调用可以不需要类实例。对 6、包含抽象方法的类一定是抽象类。对 7、方法中的形参可以和方法所属类的属性同名。对 8、接口无构造器,不能有实例,也不能定义常量。错 9、类的实例对象的生命周括实例对象的创建、使用、废弃、垃圾的回收。对 10、Java应用程序的入口main方法只有一种定义法。对 二、选择题 1、下列答案正确的是(A ) A) 在同一个Java源文件中可以包含多个类,只能有一个被声明为public B) 在同一个Java源文件中只能包含一个类,并被声明为public C) 在同一个Java源文件中可以包含多个类,都可以被声明为public D) 在同一个Java源文件中可以包含多个类,只能有一个被声明为default 2、Java实现动态多态性是通过( B )实现的。 A) 重载B) 覆盖 C) 接口D) 抽象类 3、下列哪一个是正确的方法重载描述( A ) A) 重载方法的参数类型必须不同 B) 重载方法的参数名称必须不同 C) 返回值类型必须不同 D) 修饰词必须不同 4、final关键字不可以用来修饰( D ) A) 类B) 成员方法 C) 域D) 接口 5、接口的所有成员方法都具有( B )属性 A) private, final B) public, abstract C) static, protected D) static 6、Java的封装性是通过(A )实现的 A) 访问控制B) 设计内部类 C) 静态域和静态方法D) 包 7、下列接口或类不属于.*包的是( D ) A) Collection B)Vector C) Map D) Integer 8、下述哪一组方法,是一个类中方法重载的正确写法( A ) A) int addValue( int a, int b ){return a+b;}

大学物理实验报告范例

怀化学院 大学物理实验实验报告系别数学系年级2010专业信息与计算班级10信计3班姓名张三学号**组别1实验日期2011-4-10 实验项目:验证牛顿第二定律

1.气垫导轨的水平调节 可用静态调平法或动态调平法,使汽垫导轨保持水平。静态调平法:将滑块在汽垫上静止释放,调节导轨调平螺钉,使滑块保持不动或稍微左右摆动,而无定向运动,即可认为导轨已调平。 2.练习测量速度。 计时测速仪功能设在“计时2”,让滑块在汽垫上以一定的速度通过两个光电门,练习测量速度。 3.练习测量加速度 计时测速仪功能设在“加速度”,在砝码盘上依次加砝码,拖动滑块在汽垫上作匀加速运动,练习测量加速度。 4.验证牛顿第二定律 (1)验证质量不变时,加速度与合外力成正比。 用电子天平称出滑块质量滑块m ,测速仪功能选“加速度”, 按上图所示放置滑块,并在滑块上加4个砝码(每个砝码及砝码盘质量均为5g),将滑块移至远离滑轮一端,使其从静止开始作匀加速运动,记录通过两个光电门之间的加速度。再将滑块上的4个砝码分四次从滑块上移至砝码盘上,重复上述步骤。 (2)验证合外力不变时,加速度与质量成反比。 计时计数测速仪功能设定在“加速度”档。在砝码盘上放一个砝码(即 g m 102=),测量滑块由静止作匀加速运动时的加速度。再将四个配重块(每个配重 块的质量均为m ′=50g)逐次加在滑块上,分别测量出对应的加速度。 【数据处理】 (数据不必在报告里再抄写一遍,要有主要的处理过程和计算公式,要求用作图法处理的应附坐标纸作图或计算机打印的作图) 1、由数据记录表3,可得到a 与F 的关系如下: 由上图可以看出,a 与F 成线性关系,且直线近似过原点。 上图中直线斜率的倒数表示质量,M=1/=172克,与实际值M=165克的相对误差: %2.4165 165 172=- 可以认为,质量不变时,在误差范围内加速度与合外力成正比。

CAD课程设计报告书

目录 一、课程设计任务书 (1) 二、项目说明 (2) 三、配电工程图的绘制 (3) 1、图层、线型、文字等基本绘图环境的设置及绘图模板的绘制 2、主要结构尺寸及尺寸配合的确定。 3、问题及讨论。 四、心得体会 (4) 五、配电工程图 (5) 六、参考文献附 (6)

一、设计任务书 设计目的: 熟悉Auto CAD设计软件通过本课程的学习,使学生掌握CAD绘图软件的使用方法和技巧,在时间学习中逐步提高应用水平,并能应用CAD绘图软件进行供配电系统断路器设计。通过绘制供配电系统断路器设计巩固并能综合运用已学过的CAD绘图软件的有关知识,增强计算机辅助绘图的能力,使学生掌握电气设计的基本原则和方法,掌握查阅文献、收集资料、分析计算、综合论证、设计制图、数据处理等多方面的基本技能。掌握优化设计的方法、步骤。掌握变电站设计性能参数及结构掌握AutoCAD2010的常用绘图工具的使用掌握AutoCAD2010的常用编辑工具的使用 设计内容要求: 变电站是电力系统的重要组成部分,是联系发电厂和用户的中间环节。它起着变换和分配电能的作用。变电站的设计必须从全局利益出发,正确处理安全与经济基本建设与生产运行。近期需要与今后发展等方面的联系,从实际出发,结合国情采用中等适用水平的建设标准,有步骤的推广国内外先进技术并采用经验鉴定合格的新设备、新材料、新结构。根据需要与可能逐步提高自动化水平。变电站电气主接线指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务,变电所的主接线是电力系统接线组成中的一个重要组成部分。一次主接线的设计将直接影响各个不同电压侧电气设备的总体布局,并影响各进出线的安装间隔分配,同时还对变电所的供电可靠性和电气设备运行、维护的方便性产生很大的影响。主接线方案一旦确定,各进出线间和电气设备的相对位置便固定下来,所以变电所的一次主接线是电气设计的首要部分 1、辉县北郊变电站施工图10kv进线柜二次进线图 2、辉县北郊变电站主变保护柜端子排图 3、辉县北郊变电站主变保护柜电气布置图 4、辉县北郊变电站主变保护原理图

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

第二章2-4 #include using namespace std; Add(int a,int b); int main() { int x,y,sum; cout<<"please input x and y:"; cin>>x>>y; sum = add(x,y); cout < using namespace std; int main() {

int *p,*init; int countp=0; int countn=0; p = new int[20]; init = p; for(int i=0;i<20;i++) { cin>>*p; p++; } p = p-20; for( i=0;i<20;i++) { if(*p>0) countp++; if(*p<0) countn++; cout<<*p<<" "; p++; } cout<<"正数有:"< //#include using namespace std; void checkagescore(string name,int age) { if (name == "exit") throw name; if(age<0||age>50) throw age;

【实验报告】大学物理实验课程设计实验报告

大学物理实验课程设计实验报告北方民族大学 大学物理实验(设计性实验) 实验报告 指导老师:王建明 姓名:张国生 学号:XX0233 学院:信息与计算科学学院 班级:05信计2班 重力加速度的测定 一、实验任务 精确测定银川地区的重力加速度 二、实验要求 测量结果的相对不确定度不超过5% 三、物理模型的建立及比较 初步确定有以下六种模型方案: 方法一、用打点计时器测量

所用仪器为:打点计时器、直尺、带钱夹的铁架台、纸带、夹子、重物、学生电源等. 利用自由落体原理使重物做自由落体运动.选择理想纸带,找出起始点0,数出时间为t的p点,用米尺测出op的距离为h,其中t=0.02秒×两点间隔数.由公式h=gt2/2得g=2h/t2,将所测代入即可求得g. 方法二、用滴水法测重力加速度 调节水龙头阀门,使水滴按相等时间滴下,用秒表测出n个(n取 50―100)水滴所用时间t,则每两水滴相隔时间为t′=t/n,用米尺测出水滴下落距离h,由公式h=gt′2/2可得g=2hn2/t2. 方法三、取半径为r的玻璃杯,内装适当的液体,固定在旋转台上.旋转台绕其对称轴以角速度ω匀速旋转,这时液体相对于玻璃杯的形状为旋转抛物面重力加速度的计算公式推导如下: 取液面上任一液元a,它距转轴为x,质量为m,受重力mg、弹力n.由动力学知: ncosα-mg=0(1) nsinα=mω2x(2) 两式相比得tgα=ω2x/g,又tgα=dy/dx,∴dy=ω2xdx/g, ∴y/x=ω2x/2g.∴g=ω2x2/2y. .将某点对于对称轴和垂直于对称轴最低点的直角坐标系的坐标x、y测出,将转台转速ω代入即可求得g.

面向对象程序设计复习题及参考答案

网络教育课程考试复习题及参考答案 面向对象程序设计 一、填空题: 1.创建类的对象时,使用运算符___________给对象分配内存空间。 2.Java通过来区分重载函数。 3.在子类中使用保留字_ _可调用被子类覆盖的父类中的方法。 4.使用保留字可以从一个构造方法中调用同一个类的另一个构造方法。 5.抽象类用修饰符定义。 6.类的数据成员的访问权限修饰符一般为 7.访问权限修饰符按照访问权限的大小从大到小分别为、、 、。 8.定义类的构造方法不能有,其名称与名相同。 9.抽象方法是的特征是。 10.Java中的所有异常都是从继承来的。 11.对象引用中存储的内容是。 12.下列程序段执行后, String str1 = new String("Java"); String str2 = new String("Java"); if (str1.equals(str2)) { System.out.println("They are equal"); } else { System.out.println("They are not equal"); } 输出结果为:。 13.下面循环执行后的sun值为 int count =0, sum = 0; while ( count <10 ) { sum += count; count ++; } 14.Java语言中关键字_ _表示双精度类型。 15.保留字_ _用于导入包中的类到程序中,供程序中使用。 16.Java语言中继承是用保留字表示。 17.面向对象程序设计中,类是指。 18.对象包含和。 19.若有类定义: class B extends A{ … } 则类B是类A的_ 。 20.Java语言中, 通常把可能发生异常的方法调用语句放到try块中,并用紧跟其后的_ 块来捕 获和处理异常。 21.多态是指。 22.声明常量时使用修饰符。 23.Java中异常抛出使用保留字。 24.一个类成员或者方法前面加上了修饰符,那说明该数据成员和方法可以直接通过类名 来访问和调用。

面向对象程序设计笔记

undeclared identifier “未声明的标识符” (1) 十进制整数:在一个整型常量后面加一个字母 l 或 L,则认为是 long int 型常量? (2) 八进制整数?在常数的开头加一个数字 0,就表示这是以八进制数形 式表示的常数? (3)十六进制整数?在常数的开头加一个数字0和一个英文字母X(或x), 就表示这是以十六进制数形式表示的常数? 2. 浮点数的表示方法 如果在实数的数字之后加字母 F 或f,表示此数为单精度浮点数,如1234F,-43f,占 4 个字节?如果加字母 L 或 l,表示此数为长双精度数(long double), 在Visual C++ 6.0 中占 8 个字节. (2) 指数形式(即浮点形式):用字母 e 表示其后的数是以 10 为底的幂,如 e12 表示 1012? 1.普通的字符常量:用单撇号括起来的一个字符就是字符型常量如′a′,′ #′,′%′,′D′都是合法的字符常量,在内存中占一个字节?“cout<<′\n′; ”将输出一个换行,其作用与“cout<

大学物理实验课程设计实验报告

大学物理实验课程设计实验报告 大学物理实验课程设计实验报告北方民族大学 大学物理实验 实验报告 指导老师:王建明 姓名:张国生 学号:XX0233 学院:信息与计算科学学院 班级:05信计2班 重力加速度的测定

一、实验任务 精确测定银川地区的重力加速度 二、实验要求 测量结果的相对不确定度不超过5% 三、物理模型的建立及比较 初步确定有以下六种模型方案: 方法一、用打点计时器测量 所用仪器为:打点计时器、直尺、带钱夹的铁架台、纸带、夹子、重物、学生电源等. 利用自由落体原理使重物做自由落体运动.选择理想纸带,找出起始点0,数出时间为t的p点,用米尺测出op的距离为h,其中t=秒×两点间隔数.由公式

h=gt2/2得g=2h/t2,将所测代入即可求得g. 方法二、用滴水法测重力加速度 调节水龙头阀门,使水滴按相等时间滴下,用秒表测出n个水滴所用时间t,则每两水滴相隔时间为t′=t/n,用米尺测出水滴下落距离h,由公式h=gt′2/2可得g=2hn2/t2. 方法三、取半径为r的玻璃杯,内装适当的液体,固定在旋转台上.旋转台绕其对称轴以角速度ω匀速旋转,这时液体相对于玻璃杯的形状为旋转抛物面 重力加速度的计算公式推导如下: 取液面上任一液元a,它距转轴为x,质量为m,受重力mg、弹力n.由动力学知: ncosα-mg=0

nsinα=mω2x 两式相比得tgα=ω2x/g,又tgα=dy/dx,∴dy=ω2xdx/g, ∴y/x=ω2x/2g.∴g=ω2x2/2y. .将某点对于对称轴和垂直于对称轴最低点的直角坐标系的坐标x、y测出,将转台转速ω代入即可求得g. 方法四、光电控制计时法 调节水龙头阀门,使水滴按相等时间滴下,用秒表测出n个水滴所用时间t,则每两水滴相隔时间为t′=t/n,用米尺测出水滴下落距离h,由公式h=gt′2/2可得g=2hn2/t2. 方法五、用圆锥摆测量

面向对象程序设计期末复习分析

一、单项选择题( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题1 分,共20 分) 3.下列不属于面向对象技术的基本特征的是(B)。 A. 封装性 B. 模块性 C. 多态性 D. 继承性 4. 面向对象程序设计将描述事物的数据与(C ) 封装在一起,作为一个相互依存、不可分割的整体来处理。 A. 信息 B. 数据隐藏 C. 对数据的操作 D. 数据抽象 5. 关于面向对象方法的优点,下列不正确的叙述是(C )。 A. 与人类习惯的思维方法比较一致 B. 可重用性好 C. 以数据操作为中心 D.可维护性好 8. 下列不属于类的成员函数的是( C )。 A. 构造函数 B. 析构函数 C. 友元函数 D. 拷贝构造函数 9. 继承机制的作用是( C )。 A. 信息隐藏 B. 数据封装 C. 派生新类 D. 数据抽象 14. (D )是从用户使用系统的角度描述系统功能的图形表达方法。 A. 类图 B. 对象图 C. 序列图 D. 用例图 15. (C ) 是表达系统类及其相互联系的图示,它是面向对象设计的核心,建立状态图、协作 图和其他图的基础。 A.对象图 B. 组件图 C. 类图 D. 配置图 16.(D )描述了一组交互对象间的动态协作关系,它表示完成某项行为的对象和这些对 象之间传递消息的时间顺序。 A.对象图 B. 协作图 C. 状态图 D. 序列图 17.(D )就是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示 系统中软件和硬件的物理架构。 A. 组件图 B. 协作图 C. 状态图 D. 配置图 18. 在用UML进行数据库的分析与设计过程中,( B ) 就是进行数据库的需求分析,使用用 例图、类图、顺序图、活动图等建立业务模型。 A. 逻辑数据模型设计 B 业务Use Case模型设计 C. 物理数据模型设计 D. 物理实现设计 19. 使用UML进行关系数据库的(B )时,需要设计出表达持久数据的实体类及其联系,并把它们映射成为关系数据库表(Table)、视图(View)等。 A. 业务Use Case模型设计 B. 逻辑数据模型设计 C. 物理数据模型设计 C. 物理实现设计 20. UML的动态建模表示包含(C )种图。 A. 9 B. 5 C. 4 D. 2 二、填空题( 每空1 分,共20 分) 1. 面向对象开发方法一改过去传统的以_功能分析,面向过程_为基础的_对象_的结 构化分析与设计方法,它模拟人们理解和处理客观世界的方式来分析问题,把系统视为

《面向对象程序设计C 》期末试卷及标准答案(A)

一、选择题(每小题2分,共40分) 1、C++是()。 A. 面向对象的程序设计语言 B. 面向过程的程序设计语言 C. 既支持面向对象的程序设计又支持面向过程的程序设计的混合型语言 D. 非结构化的程序设计语言 2、面向对象程序设计思想的主要特征中不包括()。 A. 封装性 B. 多态性 C. 继承性 D. 功能分解,逐步求精 3、若定义:string str; 当语句cin>>str; 执行时,从键盘输入: Microsoft Visual Studio 6.0! 所得的结果是str=()。 A. Microsoft Visual Studio 6.0! B. Microsoft C. Microsoft Visual D. Microsoft Visual Studio 6.0 4、考虑下面的函数原型声明:void testDefaulParam(int a,int b=7,char z='*'); 下面函数调用中,不合法的是()。 A. testDefaulParam(5); B. testDefaulParam(5,8); C. testDefaulParam(5,'#'); D. testDefaulParam(0,0,'*'); 5、下列语句中,将函数int sum(int x, int y)正确重载的是()。 A. float sum(int x, int y); B. int sum(int a, int b); C. float sum(float x, float y); D. double sum(int y, int x); 6、下列表示引用的方法中,()是正确的。 已知:int a=1000; A. int &x=a; B. char &y; C. int &z=1000; D. float &t=&a; 7、在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用()。 A. 内联函数 B. 重载函数 C. 递归调用 D. 嵌套调用 8、下列有关C++类的说法中,不正确的是()。 A. 类是一种用户自定义的数据类型 B. 只有类中的成员函数或类的友元函数才能存取类中的私有成员 C. 在类中,如果不做特别说明,所有成员的访问权限均为私有的 D. 在类中,如果不做特别说明,所有成员的访问权限均为公用的 9、已知X类,则当程序执行到语句:X array[3];时,调用了()次构造函数。 A. 0 B. 1 C. 2 D. 3 10、下面说法中,正确的是() A. 一个类只能定义一个构造函数,但可以定义多个析构函数 B. 一个类只能定义一个析构函数,但可以定义多个构造函数 C. 构造函数与析构函数同名,只要名字前加了一个求反符号(~) D. 构造函数可以指定返回类型,而析构函数不能指定任何返回类型,即使是void类型也不可以 11、已知:print( )函数是一个类的常成员函数,它无返回值,下列表示中,()是正确的。