第1讲 程序设计的一般步骤ok资料
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1讲C++语言入门
学习目标
1、了解计算机语言发展的3个阶段。
2、理解程序设计的一般步骤。
3、掌握什么是算法。
4、掌握对给定的问题进行算法描述。
5、学会编写简单的程序。
随着科技的发展和社会的进步,计算机已经走入寻常百姓家。人们可以使用同一台计算机做不同的事,我们可以看到其他机器或设备做不到这点。计算机之所以能执行不同的工作任务,是基于其硬件和软件协同工作的工作机制。
要使计算机按人们指定的步骤有效地工作,必须事先编制好一组让计算机执行的指令,这就是程序。随着计算机软件技术的发展,人们可以使用不同的计算机语言来编写程序。
一、计算机语言发展
要使计算机按照人的规定完成一系列的工作,首先要解决一个“语言”沟通问题:在人和计算机之间找到一种两者都能识别的特定的语言,使计算机具备理解并执行人们给出的各种指令的能力。这种特定的语言称为计算机语言,也叫程序设计语言,它是人和计算机沟通的桥梁。
随着计算机技术的迅速发展,程序设计语言经历了由低级向高级发展的多个阶段,程序设计方法也得到不断的发展和提高。
计算机语言按其发展程度可以划分为:机器语言、汇编语言和高级语言。
1、机器语言
计算机并不能理解和执行人们使用的自然语言。计算机能够直接识别的指令时由一连串的0和1组合起来的二进制编码,称为机器指令。每一条指令规定计算机要完成的某个操作。机器语言是计算机能够直接识别的指令的集合,它是最早出现的计算机语言。例如,下图所示的是某一种型号计算机的一组二进制编码机器指令,用来完成一个简单加法操作。
10110000
00001001
00000100
00001000
11110100
显然,用机器语言编写的程序“难学、难记、难写、难检查、难调试”,给使用者带来很大的不便。机器语言编写的程序另一个缺点是完全依赖于机器硬件,不同型号的机器语言指令不相同,程序的可移植性差。其优点是计算机能直接识别、执行效率高。
2 、汇编语言
20世纪50年代初,为了克服机器语言的缺点,人们对机器语言进行了改进,用一些容易记忆和辨别的有意义的符号代替机器指令。用这样一些符号代替机器指令所是产生的语言就称为汇编语言,也称为符号语言。用汇编语言来实现9+8运算的由关指令如下图:MOV AL,9
ADD AL,8
3、高级语言
汇编语言虽然较机器语言有所改善,但并未从根本上摆脱指令系统的束缚,它的符号与
机器语言指令仍然是一一对应,而且与自然语言相距甚远。不符合人的表达习惯。
为了从根本上改变语言体系,必须从两个方面下功夫:一是力求接近于自然语言;二是
力求脱离具体机器,使语言与机器指令系统无关,达到程序通用的目的。于是,高级语言应
运而生。第一个高级语言是在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
#include
#include
using namespace std; //有调用cstdio 这个名字空间的函数,必须在文件中声明using namespace std 。
int main() //函数的入口
{
int r=5; //已知圆的半径,定义为整型数值int
float 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
在本程序中。这个头文件包括了C++中定义的基本标准输入—输出程序库的声明。