1、1程序设计相关概念程序设计相关概念n程序程序n概念概念n算法算法n算法的表示方法算法的表示方法n程序设计程序设计n结构化设计、面向对象设计结构化设计、面向对象设计n程序设计语言程序设计语言n机器语言、汇编语言、高级语言机器语言、汇编语言、高级语言2程序程序n要让计算机按照人们的愿望工作,必须由人们事先要让计算机按照人们的愿望工作,必须由人们事先编制好编制好程序程序,并输入到计算机,让计算机执行程序,并输入到计算机,让计算机执行程序才能产生相应的操作结果才能产生相应的操作结果。n程序程序 算法数据结构程序设计方法语言工算法数据结构程序设计方法语言工具环境具环境3算法(算法(Algorithm)n
2、广义讲:广义讲:算法是解决问题的逻辑步骤,是对特定问算法是解决问题的逻辑步骤,是对特定问题求解步骤的一种描述。题求解步骤的一种描述。n计算机算法:计算机算法:是用程序解决问题的逻辑步骤,是指是用程序解决问题的逻辑步骤,是指令的有限序列。令的有限序列。n 通过算法能够描述出来的问题,才能够通过计算机通过算法能够描述出来的问题,才能够通过计算机求解。求解。4正确的算法有三个条件:正确的算法有三个条件:n每个逻辑步骤有可实现的语句来完成(每个逻辑步骤有可实现的语句来完成(可行性可行性););n每个步骤间的关系是唯一的(每个步骤间的关系是唯一的(确定性确定性););n算法要能终止(防止死循环)(算法要
3、能终止(防止死循环)(有穷性有穷性)。)。5算法的表示算法的表示自然语言自然语言伪伪 代代 码码图形工具图形工具流流 程程 图图6程序流程图程序流程图n概念:概念:以特定的图形符号加上说明,表示算以特定的图形符号加上说明,表示算法的图法的图,称为流程图或框图。,称为流程图或框图。n符号及其意义:符号及其意义:流程线流程线连接点连接点处理框处理框判断框判断框I/O框框端点框端点框7用框图描述函数用框图描述函数 1 x 0 y=-1 x 0输入输入xAx 0?y=1y=-1yesnoA输出输出y流程图描述算法举例流程图描述算法举例startend8程序设计程序设计 9程序设计语言程序设计语言n程序
4、设计语言程序设计语言:n机器语言机器语言:0 0和和1 1。n汇编语言汇编语言:用一些特定的用一些特定的“助记符号助记符号”代替代替0 0和和1 1来表示指令的程序设计语言。来表示指令的程序设计语言。n高级语言高级语言:接近于人们习惯使用的自然语言接近于人们习惯使用的自然语言(英文英文)和数学语言。和数学语言。10机器语言机器语言汇编语言汇编语言高级语言高级语言01011010ADD+二进制指令二进制指令助记符助记符自然语言自然语言11程序设计语言程序设计语言n必须事先把用高级语言编写的程序翻译成机器语言必须事先把用高级语言编写的程序翻译成机器语言程序,这个程序,这个“翻译翻译”工作是由称为工
5、作是由称为“编译系统编译系统”的的软件来实现的。软件来实现的。机器语言机器语言编译系统编译系统高级语言高级语言12C、C+、VC 13高级语言的历史及种类高级语言的历史及种类n1954年第一种高级语言:年第一种高级语言:FORTRANn总数:总数:2500种以上种以上n影响较大的高级语言:影响较大的高级语言:nFORTRAN和和ALGOL(适合数值运算)(适合数值运算)nBASIC和和QBASIC(适合初学者的小型会话语言)(适合初学者的小型会话语言)nPascal(适合教学的结构程序设计语言)(适合教学的结构程序设计语言)nC(系统描述语言)(系统描述语言)nC+(面向对象的程序设计语言)(
6、面向对象的程序设计语言)nJAVA(面向对象的程序设计语言)(面向对象的程序设计语言)14C语言语言nC C语言是国际上广泛流行的高级语言。语言是国际上广泛流行的高级语言。n系统软件、应用软件系统软件、应用软件n19731973年贝尔实验室的年贝尔实验室的D.M.Ritchie D.M.Ritchie,设计出了,设计出了C C语语言,并用之改写了原来用汇编编写的言,并用之改写了原来用汇编编写的UNIXUNIX。n19781978年影响深远的名著年影响深远的名著The C Programming The C Programming LanguageLanguage由由 Brian W.Kerni
7、ghanBrian W.Kernighan和和Dennis Dennis M.Ritchie M.Ritchie 合著合著,被称为标准被称为标准C C。n之后,之后,C C语言先后移植到大、中、小、微型计算机语言先后移植到大、中、小、微型计算机上上,已独立于已独立于UNIXUNIX和和PDPPDP,风靡世界,风靡世界,成为最广泛的成为最广泛的几种计算机语言之一。几种计算机语言之一。15语言的特点语言的特点(1 1)语言简洁)语言简洁3232个关键字、个关键字、9 9种控制语句种控制语句,程序形式自由程序形式自由(2 2)运算符丰富)运算符丰富3434种运算符种运算符 (3 3)数据类型丰富)数
8、据类型丰富可实现各种复杂的数据结构。可实现各种复杂的数据结构。(4 4)模块化和结构化的语言。)模块化和结构化的语言。(5 5)语法限制不太严格)语法限制不太严格,程序设计自由度大。程序设计自由度大。(6 6)允许直接访问物理地址。允许直接访问物理地址。(7 7)目标代码质量高目标代码质量高,程序执行效率高。程序执行效率高。(8 8)可移植性好可移植性好各种型号的计算机和各种操作系统各种型号的计算机和各种操作系统 16C+C+n1980年:贝尔实验室开始对年:贝尔实验室开始对C进行改进和扩充进行改进和扩充带类的带类的Cn1983年:取名年:取名C+n1994年:制定年:制定ANSI(美国国家标
9、准协美国国家标准协会会:American National Standards Institute)C+标准草案标准草案n1994:不断发展:不断发展目前的目前的C+17C+C+nC:包括了整个:包括了整个C(C的全部特征、属性、优的全部特征、属性、优点)。点)。n支持面向对象编程支持面向对象编程(OOP)n包括过程性语言部分和类部分包括过程性语言部分和类部分n过程性语言部分:与过程性语言部分:与C无本质上的区别。无本质上的区别。n类部分:面向对象程序设计的主体。类部分:面向对象程序设计的主体。18VCnVisual C+6.0是编辑是编辑/运行运行/调试调试/C+程序的集成环境程序的集成环境
10、19VC的使用的使用n第一个第一个C程序程序nVC的使用的使用20第一个第一个C程序程序#include void main()printf(“Hello!n);/*文件包含文件包含*/*主函数主函数 */*函数体开始函数体开始*/*输出语句输出语句*/*函数体结束函数体结束*/mainmain-主函数名,主函数名,void void-函数类型函数类型n每个每个C C程序必须有一个程序必须有一个主函数主函数mainmainn 是函数开始和结束的标志是函数开始和结束的标志,不可省不可省n每个每个C C语句以分号结束语句以分号结束n使用标准库使用标准库函数时函数时应在程序开头一行写:应在程序开头一
11、行写:#include#include 说明:说明:本程序的作用是输出一行信息本程序的作用是输出一行信息:Hello!212223安装安装VC+6.0和进入和进入VC+6.0集成环境集成环境运行程序的步骤运行程序的步骤n上机输入与编辑源程序上机输入与编辑源程序n对源程序进行编译对源程序进行编译n与库函数连接与库函数连接n运行目标程序运行目标程序2425 (1)Visual C+6.0(1)Visual C+6.0适用于适用于WindowsWindows环境。环境。首先在所用的计算机上安装首先在所用的计算机上安装Visual C+6.0Visual C+6.0系统。安装完后,系统。安装完后,双击
12、双击Visual C+6.0Visual C+6.0图标,就能进入图标,就能进入VC+6.0VC+6.0集成环境集成环境 。1.安装安装VC+6.0和进入和进入VC+6.0集成环境集成环境26VC+的主菜单栏的主菜单栏项目工作区窗口项目工作区窗口程序编辑窗口程序编辑窗口27(1 1)新建一个源程序)新建一个源程序 在在VC+VC+主窗口的主菜单栏中选择主窗口的主菜单栏中选择“File”File”,然,然后选择后选择“New”New”2.输入和编辑源程序输入和编辑源程序28单击屏幕上出现的单击屏幕上出现的“New”New”对话框上方的对话框上方的“Files”Files”,在其下,在其下拉菜单中
13、选择拉菜单中选择“C+Source File”C+Source File”项;然后在对话框右半项;然后在对话框右半“Location”Location”文本框中输入准备编辑的源程序文件的存储路径文本框中输入准备编辑的源程序文件的存储路径(假定为(假定为 D:cc D:cc);在其上方的);在其上方的File(File(文件文件)文本框中输入准备文本框中输入准备编辑的源程序文件的名字(输入编辑的源程序文件的名字(输入c1-1.c c1-1.c)。29 输入和编辑源程序输入和编辑源程序 单击单击“OK”OK”按钮后,回到按钮后,回到VC+VC+主窗口程序,编辑窗口已激活,主窗口程序,编辑窗口已激活
14、,即可输入和编辑源程序。在输入过程中如发现有错误,可以利即可输入和编辑源程序。在输入过程中如发现有错误,可以利用全屏幕编辑方法进行修改编辑。用全屏幕编辑方法进行修改编辑。30源程序的保存源程序的保存 检查无误后,在主菜单栏中选择检查无误后,在主菜单栏中选择“File”(File”(文件文件),并在,并在其其下拉菜单中选择下拉菜单中选择“Save”(Save”(保存保存)项项 31 在单击编译命令后,屏幕上出现一个是否同意建立一个默认在单击编译命令后,屏幕上出现一个是否同意建立一个默认的项目工作区的对话框单击的项目工作区的对话框单击“Yes”(Yes”(是是)按钮后开始编译。按钮后开始编译。编译
15、完成后,调试窗口出现编译信息,如果无错生成目标文编译完成后,调试窗口出现编译信息,如果无错生成目标文件件c1-1.objc1-1.obj,否则指出错误位置和性质。,否则指出错误位置和性质。3.程序的编译程序的编译324.程序的连接程序的连接n生成目标文件后,把程序和系统提供的资源生成目标文件后,把程序和系统提供的资源(如函如函数据库、头文件)建立连接。选择数据库、头文件)建立连接。选择“Build”“Build c1-1.exe”Build”“Build c1-1.exe”。33执行连接后,在调试输出窗口中显示连接时的信息,生成可执行连接后,在调试输出窗口中显示连接时的信息,生成可执行文件执行
16、文件c1-1.exec1-1.exe。345 程序的执行程序的执行执行执行c1-1.exe c1-1.exe 文件,选择文件,选择“Build”“!Execute Build”“!Execute c1-1.exe”c1-1.exe”35 程序执行后,屏幕切换到输出结果的窗口,显程序执行后,屏幕切换到输出结果的窗口,显示输出结果。示输出结果。第第1 1行行:程序的输出程序的输出 第第2 2行行:是是VC+VC+在输出完运行结果后由在输出完运行结果后由VC+6.0VC+6.0系统自系统自动加上的一行信息,通知用户动加上的一行信息,通知用户“按任何一键以便继按任何一键以便继续续”。363738#include#define PI 3.1416void main()float r,a;printf(请输入半径:请输入半径:n);scanf(%f,&r);a=PI*2*r;printf(周长是:周长是:%fn,a);