- 1、本文档共103页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第1讲 简单的C++程序 ——C到C++;本讲内容;1.程序设计语言
计算机程序设计语言
(从低级语言到高级语言的发展过程)
第一代:机器语言
第二代:汇编语言
第三代:算法语言,又称高级语言
FORTRAN:科学计算、向量处理、并行处理
ALGOL:通用算法语言
COBOL(Common Business-Oriented Language):商用数据处理
BASIC、Pascal、C
面向对象语言如:Simula、Eiffel、C++
;机器语言和汇编语言;;面向对象语言; 优点:
使程序能够比较直接地反映问题域的本来面目,软件开发人员能够利用人类认识事物所采用的一般思维方法来进行软件开发。; 面向对象语言发展历程:
雏形阶段(六七十年代)
先驱:Simula语言:对象、类,支持继承
Ada:美国国防部,嵌入式实时系统
早期的Smalltalk
完善阶段(八十年代初期)
Smalltalk-80:大部分的面向对象概念
繁荣阶段(八十年代末以??)大批OO语言产生
纯OO语言:Smalltalk、Eiffel、 Object-C
混合语言:C++、Object Pascal
转向OOD和OOA(九十年代初期以来)
出现大量的OOA(面向对象的分析)、OOD(面向对象的设计);2 程序设计方法的发展历程;优点:
有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护。;面向对象程序设计方法
(OOP,Object-Oriented Programming) ; ④这种方法集抽象性、封装性、继承性和多态性于一体,易于实现模块化、可重用、易维护、易扩充等功能。; 结构化程序设计的方法是把程序看作是工作在数据上的一系列过程或函数的集合。
程序的定律是:
程序=(算法)+(数据结构)
面向对象方法把程序看作是互相协作而又彼此独立的对象的集合。对象间通过发送消息而相互作用。
程序的定律是:
对象=(算法+数据结构)
程序=(对象+对象+……)
;
实例:栈是一种由若干个按线性次序排列的元素所构成的复合数据,对栈只能实施两种操作:进栈(增加一个元素)和退栈(删除一个元素),并且这两个操作必须在栈的同一端(栈顶)进行。后进先出(LIFO)是栈的一个重要性质。;bool push(Stack s, int i) //进栈操作
{
if (s.top == STACK_SIZE-1)
{ printf( “Stack is overflow.\n”);
return false;
}
else
{ s.top++;
s.buffer[s.top] = i;
return true;
}
};bool pop(Stack s, int i) //出栈操作
{
if (s.top == -1)
{ printf(“Stack is empty.\n”);
return false;
}
else
{ i = s.buffer[s.top];
s.top--;
return true;
}
};对栈的使用可由两种方式:
(1)可以通过提供的函数
来实现,
Stack st;
int x;
init(st);
push(st,12);
pop(st,x);
;2) 面向对象方案
#include iostream.h
#define STACK_SIZE 100
class Stack //定义stack类,将数据和操作放在一起
{ private:
int top;
int buffer[STACK_SIZE];
public:
Stack() { top = -1; } //构造函数,对栈进行初始化
bool push(int i); //进栈函数
{ if (top == STACK_SIZE-1)
{ printf( “Stack is overflow.\n”);
return false;
}
else
{ top++;
buffer[top] = i;
return true;
}
};bool pop(int i);
{ if (top == -1)
{ printf( “Stack is
文档评论(0)