程序设计基本概念

一:程序设计的概念

设计算法 构造循环

二:程序设计有什么内容?

基本要求 1. 掌握算法的基本概念。 2. 掌握基本数据结构及其操作。 3. 掌握基本排序和查找算法。 4. 掌握逐步求精的结构化程序设计方法。 5. 掌握软件工程的基本方法,具有初步应用相关技术进行软件开发的能力。 6. 掌握数据的基本知识,了解关系数据库的设计。 考试内容 一、 基本数据结构与算法 1. 算法的基本概念;算法复杂度的概念和意义(时间复杂度与空间复杂度)。 2. 数据结构的定义;数据的逻辑结构与存储结构;数据结构的图形表示;线性结构与非线性结构的概念。 3. 线性表的定义;线性表的顺序存储结构及其插入与删除运算。 4. 栈和队列的定义;栈和队列的顺序存储结构及其基本运算。 5. 线性单链表、双向链表与循环链表的结构及其基本运算。 6. 树的基本概念;二叉树的定义及其存储结构;二叉树的前序、中序和后序遍历。 7. 顺序查找与二分法查找算法;基本排序算法(交换类排序,选择类排序,插入类排序)。 二、 程序设计基础 1. 程序设计方法与风格。 2. 结构化程序设计。 3. 面向对象的程序设计方法,对象,方法,属性及继承与多态性。 三、 软件工程基础 1. 软件工程基本概念,软件生命周戎概念,软件工具与软件开发环境。 2. 结构化分析方法,数据流图,数据字典,软件需求规格说明书。 3. 结构化设计方法,总体设计与详细设计。 4. 软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。 5. 程序的调试,静态调试与动态调试。 四、 数据库设计基础 1. 数据库的基本概念:数据库,数据库管理系统,数据库系统。 2. 数据模型,实体联系模型及E-R图,从E-R图导出关系数据模型。 3. 关系代数运算,包括集合运算及选择、投影、连接运算,数据库规范化理论。 4. 数据库设计方法和步骤:需求分析、概念设计、逻辑设计和物理设计的相关策略。 考试方式 1、 公共基础的考试方式为笔试,与C语言(VisualBASIC、Visual FoxPro、Java、Access、Visual C++)的笔试部分合为一张试卷。公共基础部分占全卷的30分。 2、 公共基础知识有10道选择题和5道填空题。 www.gxjzy.com/gxjzy/djks/ksdg/2pub.htm 二级(C语言程序设计)考试大纲 公共基础知识 二级考试大纲中的公共基础知识部分 基本要求 1. 掌握算法的基本概念。 2. 掌握基本数据结构及其操作。 3. 掌握基本排序和查找算法。 4. 掌握逐步求精的结构化程序设计方法。 5. 掌握软件工程的基本方法,具有初步应用相关技术进行软件开发的能力。 6. 掌握数据的基本知识,了解关系数据库的设计。 考试内容 一、 基本数据结构与算法 1. 算法的基本概念;算法复杂度的概念和意义(时间复杂度与空间复杂度)。 2. 数据结构的定义;数据的逻辑结构与存储结构;数据结构的图形表示;线性结构与非线性结构的概念。 3. 线性......余下全文>>

三:面向对象编程的基本概念?

面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)是一种计算机编程架构。OOP 的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成。OOP 达到了软件工程的三个主要目标:重用性、灵活性和扩展性。为了实现整体运算,每个对象都能够接收信息、处理数据和向其它对象发送信息。

四:程序设计语言的种类?

自 20 世纪 60 年代以来,世界上公布的程序设计语言已有上千种之多,但是只有很小

一部分得到了广泛的应用。从发展历程来看,程序设计语言可以分为 4 代。

1. 第一代语言(机器语言)

机器语言是由二进制 0、1 代码指令构成,不同的 CPU 具有不同的指令系统。机器语

言程序难编写、难修改、难维护,需要用户直接对存储空间进行分配,编程效率极低。目

前,这种语言已经被淘汰。

2. 第二代语言(汇编语言)

汇编语言指令是机器指令的符号化,与机器指令存在着直接的对应关系,所以汇编语

言同样存在着难学难用、容易出错、维护困难等缺点。但是汇编语言也有自己的优点:可

直接访问系统接口,汇编程序翻译成的机器语言程序的效率高。

从软件工程角度来看,只有在高级语言不能满足设计要求,或不具备支持某种特定功

能的技术性能(如特殊的输入输出)时,汇编语言才被使用。

3. 第三代语言(高级语言)

高级语言是面向用户的、基本上独立于计算机种类和结构的语言。其最大的优点是:

形式上接近于算术语言和自然语言,概念上接近于人们通常使用的概念。高级语言的一个

命令可以代替几条、几十条甚至几百条汇编语言的指令。因此,高级语言易学易用,通用

性强,应用广泛。

高级语言种类繁多, 可以从应用特点和对客观系统的描述两个方面对其进一步 分类。

1) 从应用角度分类

从应用角度来看,高级语言可以分为基础语言、结构化语言和专用语言。

(1) 基础语言

基础语言也称通用语言。它历史悠久,流传很广,有大量的已开发的软件库,拥有众

多的用户, 为人们所熟悉和接受。 属于这类语言的有 FORTRAN、COBOL、BASIC、ALGOL

等。FORTRAN 语言是目前国际上广为流行、也是使用得最早的一种高级语言,从 20 世纪

90 年代到现在,在工程与科学计算中占有重要地位,备受科技人员的欢迎。BASIC 语言是

在 20 世纪 60 年代初为适应分时系统而研制的一种交互式语言,可用于一般的数值计算与

事务处理。BASIC 语言结构简单,易学易用,并且具有交互能力,成为许多初学者学习程

序设计的入门语言。

(2) 结构化语言

20 世纪 70 年代以来,结构化程序设计和软件工程的思想日益为人们所接受和欣赏。

在它们的影响下,先后出现了一些很有影响的结构化语言,这些结构化语言直接支持结构

化的控制结构,具有很强的过程结构和数据结构能力。PASCAL、C、Ada 语言就是它们的

突出代表。

PASCAL 语言是第一个系统地体现结构化程序设计概念的现代高级语言,软件开发的

最初目标是把它作为结构化程序设计的教学工具。由于它模块清晰、控制结构完备、有丰

富的数据类型和数据结构、语言表达能力强、移植容易,不仅被国内外许多高等院校定为

教学语言,而且在科学计算、数据处理及系统软件开发中都有较广泛的应用。

C 语言功能丰富,表达能力强,有丰富的运算符和数据类型,使用灵活方便,应用面

广,移植能力强,编译质量高,目标程序效率高,具有高级语言的优点。同时,C 语言还

具有低级语言的许多特点,如允许直接访问物理地址,能进行位操作,能实现汇编语言的

大部分功能,可以直接对硬件进行操作等。用 C 语言编译程序产生的目标程序,其质量可

以与汇编语言产生的目标程序相媲美,具有“可移植的汇编语言”的美称,成为编写应用

软件、操作系统和编译程序的重要语言之一。

(3) 专用语言

是为某种特殊应用而专门设计的语言,通常具有特......余下全文>>

五:c程序设计的介绍

《c程序设计》是一本正文语种为简体中文的书籍。本书为高等院校规划教材,主要讲述了使用C语言设计程序的方法。本书不仅对C语言的基本概念和基本知识进行了深入浅出的讲解,同时还将作者多年来在C语言教学过程中积累的经验和体会告诉了读者。在每章的最后,我们为读者提供了有针对性的类型多样的习题,另外,在本书最后,还为读者安排了大量综合练习。希望读者学练结合,逐步培养阅读程序和编写程序的能力。

六:面向对象程序设计的重要概念有哪些

面向对象就是一种开发软件的方法,核心是对象.

1.什么是对象?

对象是一个在时间和空间上存在的事物。比如你电脑屏幕上显示的一个字符、一个人、一只狗、一个程序、一个int等等,他们都在时间上和空间上存在。

2.什么是类?

简单的说类是一组对象,这组对象共享相同的行为和属性以及相同的结构(就是定义类的结梗?

3.什么是封装?

封装这个术语有两层含义:

第一层含义是指的是将数据和处理使用这些数据的函数放在同一个结构里;

第二层含义指的是将一个对象或者一个模块的复杂的、易变的部分隐藏起来,提供一个简单的、固定的对外借口。

4.什么是继承?

继承是一种层次结构,这种层次结构描述了“是一种”关系(如:玫瑰是一种花)或者实现了某种程度的代码重用.

5.什么是组合?

组合是一种层次结构,这种层次结构描述了“有”关系,包括物理的和逻辑的.比如人有手,有脚,这就是物理的组合;你有一块钱,这是逻辑的组合,因为钱不是你的组成部分。

6.什么是多态?

多态指的是一个名字,可以代表一些不同的对象,只要这些对象有共同的基类即可,这样有这个名字所代表的对象可以以不同的方式来响应同一个消息了。

如:

class Person {

public:

virtual void speek() = 0;

virtual ~Person() {}

};

class Chinese : public Person {

public:

void speek() {

std::cout << "你好" << std::endl;

}

};

class English : public Person {

public:

void speek() {

std::cout << "Hello" << std::endl;

}

};

void go(Person &s) {//这里的s可以代表Chinese、English的对象

s.speek();

}

int main() {

Chinese c;

English e;

go(c);

go(e);

std::cin.get();

}

好了,其他的不讲了。有疑问的可以...

建议看一下国外的计算机教材。

其实还有很多啊。。。 自己找本国外教材看看,不是那么枯燥的。。。

参考资料:zhidao.baidu.com/...397497...余下全文>>

七:什么叫结构化程序设计?它的主要内容是什么?

结构化程序设计的思路是:自顶向下、逐步求精;其程序结构是按功能划分为若干个基本模块;各模块之间的关系尽可能简单,在功能上相对独立;每一模块内部均是由顺序、选择和循环三种基本结构组成;其模块化实现的具体方法是使用子程序。结构化程序设计由于采用了模块分解与功能抽象,自顶向下、分而治之的方法,从而有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护。

虽然结构化程序设计方法具有很多的优点,但它仍是一种面向过程的程序设计方法,它把数据和处理数据的过程分离为相互独立的实体。当数据结构改变时,所有相关的处理过程都要进行相应的修改,每一种相对于老问题的新方法都要带来额外的开销,程序的可重用性差。

由于图形用户界面的应用,程序运行由顺序运行演变为事件驱动,使得软件使用起来越来越方便,但开发起来却越来越困难,对这种软件的功能很难用过程来描述和实现,使处面向过程的方法来开发和维护都将非常困难

八:面向对象方法的基本概念

用计算机解决问题需要用程序设计语言对问题加以描述并求解(即编程),实质上,软件是问题求解的一种表述形式。显然,假如软件能直接表现人求解问题的思维路径(即求解问题的方法),那么软件不仅容易被人理解,而且易于维护和修改,从而会保证软件的可靠性和可维护性,并能提高公共问题域中的软件模块和模块重用的可靠性。面向对象的方法恰好可以使得程序设计按照人们通常的思维方式来建立问题域的模型,设计出尽可能自然地表现求解方法的软件。面向对象的基本概念 继承性(Inheritance)是指,在某种情况下,一个类会有“子类”。子类比原本的类(称为父类)要更加具体化。例如,“狗”这个类可能会有它的子类“牧羊犬”和“吉娃娃犬”。在这种情况下,“莱丝”可能就是牧羊犬的一个实例。子类会继承父类的属性和行为,并且也可包含它们自己的。我们假设“狗”这个类有一个方法(行为)叫做“吠叫()”和一个属性叫做“毛皮颜色”。它的子类(前例中的牧羊犬和吉娃娃犬)会继承这些成员。这意味着程序员只需要将相同的代码写一次。在伪代码中我们可以这样写:类牧羊犬:继承狗定义莱丝是牧羊犬莱丝.吠叫() /* 注意这里调用的是狗这个类的吠叫方法。*/回到前面的例子,“牧羊犬”这个类可以继承“毛皮颜色”这个属性,并指定其为棕白色。而“吉娃娃犬”则可以继承“吠叫()”这个方法,并指定它的音调高于平常。子类也可以加入新的成员,例如,“吉娃娃犬”这个类可以加入一个方法叫做“颤抖()”。设若用“牧羊犬”这个类定义了一个实例“莱丝”,那么莱丝就不会颤抖,因为这个方法是属于吉娃娃犬的,而非牧羊犬。事实上,我们可以把继承理解为“是”或“属于”。莱丝“是”牧羊犬,牧羊犬“属于”狗类。因此,莱丝既得到了牧羊犬的属性,又继承了狗的属性。 我们来看伪代码:类吉娃娃犬:继承狗开始 公有成员: 颤抖()结束类牧羊犬:继承狗定义莱丝是牧羊犬莱丝.颤抖() /* 错误:颤抖是吉娃娃犬的成员方法。 */当一个类从多个父类继承时,我们称之为“多重继承”。如一只狗既是吉娃娃犬又是牧羊犬(虽然事实上并不合逻辑)。多重继承并不总是被支持的,因为它很难理解,又很难被好好使用。 具备封装性(Encapsulation)的面向对象程序设计隐藏了某一方法的具体执行步骤,取而代之的是通过消息传递机制传送消息给它。因此,举例来说,“狗”这个类有“吠叫()”的方法,这一方法定义了狗具体该通过什么方法吠叫。但是,莱丝的朋友并不知道它到底是如何吠叫的。从实例来看:/* 一个面向过程的程序会这样写: */定义莱丝莱丝.设置音调(5)莱丝.吸气()莱丝.吐气()/* 而当狗的吠叫被封装到类中,任何人都可以简单地使用: */定义莱丝是狗莱丝.吠叫()封装是通过限制只有特定类的对象可以访问这一特定类的成员,而它们通常利用接口实现消息的传入传出。举个例子,接口能确保幼犬这一特征只能被赋予狗这一类。通常来说,成员会依它们的访问权限被分为3种:公有成员、私有成员以及保护成员。有些语言更进一步:Java可以限制同一包内不同类的访问;C#和VB.NET保留了为类的成员聚集准备的关键字:internal(C#)和Friend(VB.NET);Eiffel语言则可以让用户指定哪个类可以访问所有成员。 多态(Polymorphism)是指由继承而产生的相关的不同的类,其对象对同一消息会做出不同的响应。例如,狗和鸡都有“叫()”这一方法,但是调用狗的“叫()”,狗会吠叫;调用鸡的“叫()”,鸡则会啼叫。 我们将它体现在伪代码上:......余下全文>>

扫一扫手机访问

发表评论