程序设计基本概念1.ppt_第1页
程序设计基本概念1.ppt_第2页
程序设计基本概念1.ppt_第3页
程序设计基本概念1.ppt_第4页
程序设计基本概念1.ppt_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C 程序设计,一、教学目的 掌握计算机程序设计的基本知识和程序设计的一般方法 ,了解进行科学计算的一般思路。培养学生具备应用计算机解决和处理问题的思维方法与基本能力,为进一步学习和应用计算机打下基础。 本门课程主要用途: 1、计算机等级考试 2、网页课程等相关后续课程需要 3、为自学计算机应用相关课程打下基础,课程简介及教学安排,二、教学安排及学时分配 1. 总 学 时:72学时 (119周) 授课学时:36学时 上 机:36学时 2. 学习方式 教师授课+学生自学+上机实践 三、要求 1. 课前预习,课后消化。 2. 坚持认真出勤、听课,适当做笔记。 3. 认真进行上机编程训练,按时完成上机任务。 4. 有问题及时与老师沟通。,第一讲 程序设计及 语言概述,1.1 程序设计的概念 1.2 算法的概念及常用算法的描述 1.3 结构化程序设计方法 1.4 语言的产生及发展 1.5 语言的特点 1.6 简单程序介绍 1.7 本讲要点小结,.1 程序设计的概念,.1.1 程序设计语言 .1.2 程序设计的概念,1.1.1 程序设计语言,机器语言 汇编语言 高级语言,机器语言,概念:可由机器直接识别并执行的二进制数指令称为机器语言指令,机器语言指令的集合成为这台计算机的机器语言。 特点:不易写、读,难理解、记忆,编程困难;面向机器,不通用。,汇编语言,概念:由符号和数字组成的指令称为汇编语言指令,汇编语言指令的集合成为这台计算机的汇编语言。 特点:须由汇编程序翻译成机器语言;面向机器,不通用。,高级语言,概念:以更接近于人们的自然语言和数学公式编写程序的语言,如BASIC、FORTRAN、C语言等。 特点:不再面向机器,而是面向问题;须翻译成机器语言的目标程序;编译方式、解释方式。,1.1.2 程序设计的概念,程序设计就是用计算机语言来编写程序的过程。 什么是程序?著名计算机科学家沃思提出有名的公式: 算法+数据结构=程序,算法即问题的求解过程、计算机的工作步骤。 数据结构即对参与运算的数据怎样进行合理的组织、安排,以提高程序运行的效率和求解的精确性。,程序的两大要素:数据结构、算法,.2 算法的概念及常用算法描述,.2.1 算法的概念 1. 2.2 算法特性 .2.3 算法的表示 .2.4 常用算法描述,算法是计算机所能执行的解题方法步骤的精确描述,有两大要素: 计算机所能执行的操作:算术运算、逻辑运算、关系运算、函数运算、位运算、I/O操作等。 控制结构:即各种操作的执行顺序。,1.2.1 算法的概念,1.2.2 算法特性,算法的五个特性: 有穷性:一个算法必须在执行有穷步之后结束。 确定性:算法的每一步必须是确切定义的。 对于相同输入必须得到相同结果 。 有效性:算法的每一步都是能够实现的,即可操作的。 输 入:算法有零个或多个输入。 有输出:算法执行完毕,必须有一个或若干个输出结果。,顺序结构 选择结构 循环结构,结构化程序设计的 三种基本结构,1.2.2 算法的表示,自然语言 传统的程序流程图 N-S流程图 伪代码 计算机语言,自然语言表示法,例如: (1)输入a,b两数 (2)求和s=a+b (3)输出两数之和,注意:用自然语言表示的每一步骤必须使计算机能实现的,否则便是错误的算法。 特点:简单易写,内容较长,理解有异,较少使用。,传统的程序流程图,用一些图形符号形象直观的表述算法,表1.1给出了ANSI规定的程序流程图符号。,传统的程序流程图例图,结束,输入a,b,c,ab?,bc?,ac?,输出c,输出b,输出c,输出a,开始,传统的程序流程图,特点:绘制简单,描述直观,之前广泛使用。 缺点:1、程序流程图不易表示算法或程序的层次结构。 2、用箭头表示的控制流可能引起随意的转移控制。 3、可能诱使人们过早地考虑局部程序的控制结构而忽视全局的程序结构。 4、不易表示数据结构和程序模块之间的关系。,N-S 图,即结构化程序设计流程图,提供了描述三种基本逻辑结构的图形工具,与传统的程序流程图对照描述如下:,顺序结构,(a) (b),图 1.3 顺序结构,.3 结构化程序设计方法,荷兰学者E.W.dijkctra提出了结构化程序设计(structured programming)的理论,成为70年代中期至90年代初的程序设计主流。结构化程序设计方法提出了一些大家都要遵循的原则,这些原则归纳为32个字:,“自顶向下,逐步细化。基本结构,组合而成。清晰第一,效率第二。书写规范,缩进格式。” 三种基本结构:顺序,选择,循环,.4 面向对象的程序设计方法,70年代后,软件开发的手段和方法越来越不能适应开发大型系统软件的要求,因而出现了“软件危机”,由此产生了面向对象的程序设计语言。1983年美国Bell实验室的B.Stroustrup在C语言基础上,扩充引进了面向对象的概念推出了C+语言。它与C语言完全兼容,是目前使用最为广泛的一种面向对象的程序设计语言。,.5 C语言的产生和发展,.5.1 C语言的产生 .5.2 C语言的发展,C 语言的产生,C语言的产生和发展与UNIX操作系统分不开。操作系统的编写需要即具有高级语言的优点,又具有低级语言的特点的语言。C语言是由B语言发展而来,而B语言是由A语言发展而来。 A语言指高级语言Algol60,离硬件比较远,不宜用来编写系统软件。在此基础上产生了更接近硬件的B语言,并用B语言编写了第一个UNIX操作系统。1973年在B语言基础上设计出了C语言,既保留了B语言的精炼、接近硬件的优点,又克服了B语言过于简单、无数据类型等缺点。由C语言改写的UNIX操作系统获得了巨大的成功,日益普及,同时C语言也迅速得到推广普及。,C 语言的发展,1978年C语言普及以后,先后被移植到大、中、消极微机上,风靡世界。 1978年Brian W.Kernighan和Dnnis M.Ritchie合著了The C Programming Language一书,成为后来广泛使用的C语言基础,成为标准C。 后来美国国家标准化协会ANSI重新制定了新的标准,成为ANSI C。,.6 C语言的特点,C语言本身既有一般高级语言的特点,又由低级语言(汇编语言)的特点。 C语言是一种结构化的程序设计语言,它具有实现顺序、分支、循环三种基本结构化控制的语句。 C语言简洁,紧凑,使用方便灵活。只有32个保留字,9种控制语句,书写形式自由。 数据类型丰富。有整型、实型、字符型、数组型、指针型、结构体型、共用体型和枚举型等。,C语言的特点,C语言的特点,5、运算功能强。有32种运算符,包括了算术运算、关系运算、逻辑运算、位运算、指针运算等。 6、目标代码质量高,运行速度快。 7、可移植性强。 8、语法限制不太严格,程序设计自由度大。,.7 简单C程序介绍,例1.6 求两数之和。 main ( ) / * 主程序 * / int a , b , sum ; / * 定义变量 * / a=2;b=3; sum=a+b; printf(”sum is %d 、n”,sum); ,这里,main()表示主函数,函数体由一对大括号 扩起来;/*/表示注释部分,不运行;第2行是变量定义部分,定义了3个整型变量;3,4行是算法实现部分;第5行printf是C语言的标准输出函数,%d表示在此位置以“十进制整数类型”输出变量sum的值,n为回车换行,引号中其它内容作为字符串原样输出。因此该程序运行结果为: sum is 5,例1.7 从键盘上输入三个数,求该三个数的平均值。 float average (float a1, float b1, float c1) float aver1; aver1=(a1+b1+c1)/3; return(aver1); main ( ) / * 主程序 * / float a,b,c,aver; printf(”Please input a,b,c:”); scanf(”%f %f %f ”,&a , &b , &c ); aver=average(a,b,c); printf(”the average is % 4 . 1 f ”,aver); ,说明:本程序包含两个函数:主函数main和被调函数average;主函数第四行scanf是C语言的标准输入函数;第五行中调用average函数,a, b, c的值分别传递给函数中的形参a1,b1,c1,返回函数值,再赋给变量aver;最后输出变量aver的值,该程序运行情况如下:,Please input a , b , c :,The average is 7.6,10.5,8.7,3.6,总结C程序的基本结构: (1)C程序是由一个或多个函数组成。函数是C程序的基本单位,一个程序至少要包含一个main函数。 (2)函数由两部分组成:函数说明部分、函数体。 函数说明部分:包括函数名、函数类型、函数属性、函数的参数名、参数类型。函数名后必须跟一对圆括号作为函数的标志。例如: float average (float a1, float b1, float c1) 函数体:由一对打括号 扩起来,函数体又分为两部分:变量定义部分、执行部分。 (3)不论main函数放到何处,C程序总是从main函数开始执行,随main函数结束而整个程序结束。 (4)一个复杂的语句可以写成几行,用反斜杠 表示续行;几个简单语句也可写在一起,都必须用“;”作为每句结束标志。 (5)可以用/*/对程序任何部分做注释。,说明:在以下三种情况下不允许有分号: a.所定义的函数的名称后面不使用分号; b.在右花括号“”后; c.预处理语句后面不使用分号。,sum( ) ; ,while(total=2000) limit+; total=total+limit; ;,#include “stdio.h” ;,(6)C对输入输出实行函数化。 (7)C程序书写格式自由,一行内可以写几个语句,一个语句也可 以分写在多行上。 (8)在C语言中,大小写字母是有区别的。(C语言习惯用小写字母),1.8上机步骤,编辑程序,在VC集成开发环境 选择新建文件命令,1.8.3 程序的编译执行,编辑程序,在弹出对话框 选择文件类型,1.8.3 程序的编译执行,编辑程序,输入源程序文件名,1.8.3 程序的编译执行,编辑程序,在编辑窗口 输入源程序,1.8.3 程序的编译执行,编辑程序,编译程序,选择 编译命令,1.8.3 程序的编译执行,用热键 选择编译命令,编辑程序,编译程序,1.1.3 程序的编译执行,1.8.3 程序的编译执行,执行程序,编辑程序,编译程序,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论