当前位置:文档之家› 第1讲 程序设计的一般步骤ok资料

第1讲 程序设计的一般步骤ok资料

第1讲C++语言入门学习目标1、了解计算机语言发展的3个阶段。

2、理解程序设计的一般步骤。

3、掌握什么是算法。

4、掌握对给定的问题进行算法描述。

5、学会编写简单的程序。

随着科技的发展和社会的进步,计算机已经走入寻常百姓家。

人们可以使用同一台计算机做不同的事,我们可以看到其他机器或设备做不到这点。

计算机之所以能执行不同的工作任务,是基于其硬件和软件协同工作的工作机制。

要使计算机按人们指定的步骤有效地工作,必须事先编制好一组让计算机执行的指令,这就是程序。

随着计算机软件技术的发展,人们可以使用不同的计算机语言来编写程序。

一、计算机语言发展要使计算机按照人的规定完成一系列的工作,首先要解决一个“语言”沟通问题:在人和计算机之间找到一种两者都能识别的特定的语言,使计算机具备理解并执行人们给出的各种指令的能力。

这种特定的语言称为计算机语言,也叫程序设计语言,它是人和计算机沟通的桥梁。

随着计算机技术的迅速发展,程序设计语言经历了由低级向高级发展的多个阶段,程序设计方法也得到不断的发展和提高。

计算机语言按其发展程度可以划分为:机器语言、汇编语言和高级语言。

1、机器语言计算机并不能理解和执行人们使用的自然语言。

计算机能够直接识别的指令时由一连串的0和1组合起来的二进制编码,称为机器指令。

每一条指令规定计算机要完成的某个操作。

机器语言是计算机能够直接识别的指令的集合,它是最早出现的计算机语言。

例如,下图所示的是某一种型号计算机的一组二进制编码机器指令,用来完成一个简单加法操作。

1011000000001001000001000000100011110100显然,用机器语言编写的程序“难学、难记、难写、难检查、难调试”,给使用者带来很大的不便。

机器语言编写的程序另一个缺点是完全依赖于机器硬件,不同型号的机器语言指令不相同,程序的可移植性差。

其优点是计算机能直接识别、执行效率高。

2 、汇编语言20世纪50年代初,为了克服机器语言的缺点,人们对机器语言进行了改进,用一些容易记忆和辨别的有意义的符号代替机器指令。

用这样一些符号代替机器指令所是产生的语言就称为汇编语言,也称为符号语言。

用汇编语言来实现9+8运算的由关指令如下图:MOV AL,9ADD AL,83、高级语言汇编语言虽然较机器语言有所改善,但并未从根本上摆脱指令系统的束缚,它的符号与机器语言指令仍然是一一对应,而且与自然语言相距甚远。

不符合人的表达习惯。

为了从根本上改变语言体系,必须从两个方面下功夫:一是力求接近于自然语言;二是力求脱离具体机器,使语言与机器指令系统无关,达到程序通用的目的。

于是,高级语言应运而生。

第一个高级语言是在20世纪50年代出现的Fortran语言,随之相继出现了许多种高级语言。

目前常用的高级语言有Basic 、Pascal、logo、cobal、C、C++等。

高级语言描述计算公式于数学上表示大体一致,例如,前面计算9+8的问题,若用C++语言编程,只要用S=9+8一个语句就可完成,十分简单,易于理解。

显然,计算机不能直接执行高级语言程序,而必须先翻译转换成机器能够识别的“目标程序”才能够执行,这种翻译转换工作由被称为“翻译器”的专门软件来完成,每一种高级语言都有自己的编译器。

所以,在一台计算机上运行某一种高级语言源程序的前提是:该计算机安装了该语言的编译程序。

二、c++语言特点C++由美国A T&T贝尔实验室的本贾尼·斯特劳斯特卢普博士在20世纪80年代初期发明并实现(最初这种语言被称作“C with Classes”带类的C)。

开始,C++是作为C语言的增强版出现的,从给C语言增加类开始,不断的增加新特性。

今天C++已成为世界主流编程语言之一。

1、语言简洁紧凑,使用灵活方便C++语言一共只有32个关键字和9种控制语句,程序书写自由,主要用小写字母表示。

2、运算符丰富C++语言的运算符包含的范围很广泛,共有34个运算符。

3、数据结构丰富C++语言的数据类型有:整型、实型、字符型、数组类型等等4、结构化语言结构化语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。

5、生成的代码质量高C++语言在代码效率方面可以和汇编语言相媲美。

6、可移植性强C++语言编写的程序很容易进行移植,在一个环境下运行的程序不加修改或少许修改就可以在完全不同的环境下运行。

三、程序设计的基本方法学习计算机语言目的是利用该语言工具设计出可供计算机运行的程序。

完整的程序设计应该是:数据结构+算法+程序设计方法+语言工具。

一个程序应包括两方面的内容:1、对数据的描述:数据结构(data structure),简单说如何存储问题中的数据。

2、对操作的描述:算法(algorithm),算法是指解决一个问题所采取的具体步骤和方法。

也就是说给定初始状态或输入数据,经过计算机程序的有限次运算,能够得出所要求或期望的终止状态,输出结果数据。

简单说就是解决问题的方法和步骤。

在拿到一个需要解决的实际问题之后,怎样才能编写出程序呢?一般步骤如图:【实例1-1】已知圆半径为5,求圆面积。

1、分析问题:根据半径求圆面积公式,可以借助数学公式完成。

2、确定数据结构与数学模型:(1)数据结构:本问题可以设计一个变量空间r 存储半径的值,一个变量空间S 存储面积的值。

(2)数学模型:使用求面积公式S=πr 2(3)设计算法:求圆面积算法描述如下:①输入半径r ;②依据圆面积公式求圆面积S ;③输出圆面积S 。

(4)编写程序:用计算机语言描述算法的过程,这一步称为“编码”,程序的质量主要由算法决定。

【程序设计】#include<cstdio> // cstdio 是标准C++(STL ),且cstdio 中的函数都是定义在一个名称空间std 里面的#include<cstlib> //Dev C++使用system( )调用cstdlib 库#include<iostream> //使用scanf,printf ,须调用iostream 库,否则编译出错using namespace std; //有调用cstdio 这个名字空间的函数,必须在文件中声明using namespace std 。

int main() //函数的入口{int r=5; //已知圆的半径,定义为整型数值intfloat S; //定义圆的面积S,定义为实型S=3.14*r*r; //计算圆的面积公式printf(“%f\n ”,S); //输出圆面积S 的值,并换行。

system(“pause ”); //暂停作用,使用system("pause")调用cstdlib 库return 0; //结束整个程序}(5)程序编译调试运行:通过编译调试和运行程序,获得正确的编码和正确的结果。

任何程序设计语言都有一组自己的记号和规则,即语法。

C++语言同样必须采用其本身所规定的记号和规则来编写程序。

现对上例程序语法进行分析:①预处理:C++语言中预处理都是以#号开头的,它的作用是提供给编译器足够的信息以完成预编译和连接。

C++语言中最常用的预处理器指令是:#include 指令。

#include 指令包含文件命令,用于在编译期间将指定文件的内容包含进当前文件中。

常用的头文件有cstdio 、cstdlib 、cmath 等。

编译期间,#include 后面的参数文件将作为程序文件的一部分。

格式为:#include <头文件名>或#include "头文件名"【include<iostream>】告诉编译器的预处理将输入输出流的标准头文件(iostream )包括在本程序中。

这个头文件包括了C++中定义的基本标准输入—输出程序库的声明。

【#include< cstdlib>】使用system( ) 调用cstdlib。

【#include< cstdio>】标准输入输出的声明。

【using namespace std】使用std(标准)名字空间的意思。

所谓的名字空间是标准C++中的一种机制,用来控制不同类库的冲突问题。

使用它可以在不同的空间内使用相同名字的类或者函数。

②函数体:包含函数、变量、结构体等的声明及定义等等。

C++程序就是若干个函数的集合。

其中最重要的函数就是main函数,是整个程序的入口,一个程序中只能有一个main函数,当程序成功结束时会返回一个0值。

函数体以“{”开始,以“}”结束。

大括号之间的语句都属于这个函数,并且每一个语句都以“;”结束。

每个函数都有自己的特定功能。

范例完成了对于已知圆的半径,计算其对应圆面积,输出结果的操作。

③注释:除了上述基本组成部分,程序中还可以添加注释,并且注释可以出现在程序的任何置。

虽然注释是不参与编译的,但是添加必要的程序注释,是一个非常重要的编程习惯。

在C++程序中可以有两种方法添加注释:第一种方法,在/*和*/之间写上要注释的内容。

/*必须以*/结束,注释内容可以是多行。

第二种方法,以//引导的注释内容,能写在一行里。

在信息学竞赛中,很多选手忽略注释的编写,这是一个很不好的习惯。

编写注释不仅利于使别人读懂你的程序,且也可以使程序结构清晰,尤其是在一些需要高级数据结构或者混合几种算法时,良好的注释有助于你保持清醒的头脑。

三、利用Dev-C++编写程序安装完Dev-C++以后,双击Dev-C++.exe进入环境,如下图1-1所示的界面。

1、窗口组成在Dev-C++环境窗口中,主要有以下几个组成部分。

(1)代码窗口:用于输入和编写程序(2)工程窗口:在调试程序时,打开“调试”选项卡,添加监视,用于观察程序运行时各个变量的变化,便于查错。

(3)报告窗口:打开“调试”选项卡,可以执行很多调试动作。

图1-1 Dev-C++界面2、新建源代码:单击“文件”→“新建”→“源代码”命令(Ctrl+N)(如下图1-2所示),这样就生成了一个空白的源文件。

图 1-2 新建源文件3、保存文件工程窗口 代码窗口报告窗口编写完一个程序后,单击“文件”→“保存”(Ctrl+S)(如图1-3),可以选择文件路径,并对文件命名,达到保存文件的目的。

图1-3 保存文件4、打开源文件单击“文件”→“打开工程或文件”(Ctrl+O),就可以选择已保存的文件。

5、个性化界面单击“工具”→“编译器选项”,弹出“编译器属性”对话框(如图1-3),在“基本”选项卡里有各种编程风格的设置方案,可以选择喜欢的方式;在“语法”选项卡(如图1-4)可以设置不同数据类型、注释、调试信息等的字体大小和颜色。

图1-4 编译器属性图1-5 语法选项卡6、编译写完一个程序,要进行编译运行,以验证算法是否正确,程序能否正常运行。

相关主题