第1讲 程序设计的一般步骤ok资料
更新时间:2023-10-24 15:44:01 阅读量: 综合文库 文档下载
- 第1讲推荐度:
- 相关推荐
第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++由美国AT&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=πr2 (3)设计算法:求圆面积算法描述如下: ①输入半径r;
②依据圆面积公式求圆面积S; ③输出圆面积S。 (4)编写程序:
用计算机语言描述算法的过程,这一步称为“编码”,程序的质量主要由算法决定。 【程序设计】
#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(\调用cstdlib库 return 0; //结束整个程序 }
(5)程序编译调试运行:
通过编译调试和运行程序,获得正确的编码和正确的结果。
任何程序设计语言都有一组自己的记号和规则,即语法。C++语言同样必须采用其本身所规定的记号和规则来编写程序。现对上例程序语法进行分析:
①预处理:
C++语言中预处理都是以#号开头的,它的作用是提供给编译器足够的信息以完成预编译和连接。C++语言中最常用的预处理器指令是:#include指令。#include指令包含文件命令,用于在编译期间将指定文件的内容包含进当前文件中。常用的头文件有cstdio、cstdlib、cmath等。编译期间,#include后面的参数文件将作为程序文件的一部分。 格式为:
#include<头文件名> 或#include"头文件名"
【include
在本程序中。这个头文件包括了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、保存文件
正在阅读:
第1讲 程序设计的一般步骤ok资料10-24
小学数学教育叙事08-15
海南大学2006年经管学院科研成果登录表06-17
浙江农林大学统计学习题集附带答案01-19
销售管理制度(会籍顾问SOP)08-25
幼儿园半日活动计划方案09-13
浅论初中数学单元复习课教学设计-2019年教育文档01-29
基层干部作风整顿学习心得感悟合集五篇04-03
新南威尔士大学化学工程专业就业前景06-10
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 程序设计
- 步骤
- 一般
- 资料
- 2018-2019二年级下册数学教学计划
- 股市业务话术
- 永川人文历史调查报告 11
- 中国化学会第27届学术年会
- 关于网站自查整改情况的分析报告
- 宁波市春晓中学党建工作论坛交流材
- 湖南土地整理工程验收报告样式2
- 初中几何题目精选(有一定难度)
- 天价茅台变迁之路探析
- 新视野大学英语第三册练习和答案 - 图文
- 建筑工程施工技术课程论文
- 2014-2015学年苏教版“佳一数学”六年级(下)期末数学试卷
- 文言文常用双音节古今异义练习(选用)
- 机械行业安全操作规程
- 设计谈话节目片段(5分钟)导播工作台本 - 图文
- 全国生态保护与建设规划
- jboss7wildfly中替换默认的欢迎web应用(访问域名能直接进入项目)
- 传统文化课《大学》教案(四年级下期) - 图文
- ITC IP系统2313版本软件调试手册及注意事项(ITC) - 图文
- 带上她的眼课后题