C语言大学教程程序设计苏小红课件

上传人:cl****1 文档编号:570153638 上传时间:2024-08-02 格式:PPT 页数:32 大小:116.50KB
返回 下载 相关 举报
C语言大学教程程序设计苏小红课件_第1页
第1页 / 共32页
C语言大学教程程序设计苏小红课件_第2页
第2页 / 共32页
C语言大学教程程序设计苏小红课件_第3页
第3页 / 共32页
C语言大学教程程序设计苏小红课件_第4页
第4页 / 共32页
C语言大学教程程序设计苏小红课件_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《C语言大学教程程序设计苏小红课件》由会员分享,可在线阅读,更多相关《C语言大学教程程序设计苏小红课件(32页珍藏版)》请在金锄头文库上搜索。

1、程序设计与算法语言程序设计与算法语言任课教师:林艳任课教师:林艳2013年年3月月12日星期一日星期一C语言大学教程程序设计苏小红第一章第一章程序设计,程序设计,C语言与语言与C程序程序C语言大学教程程序设计苏小红 本章开始部分,有关计算机、计算机的工作本章开始部分,有关计算机、计算机的工作原理已经在计算机基础课程中介绍过。希望大原理已经在计算机基础课程中介绍过。希望大家能回去复习一下。家能回去复习一下。C语言大学教程程序设计苏小红程序程序直观理解直观理解“程序程序”(program)一词来自生活,通常指完成某)一词来自生活,通常指完成某些事务的一种既定方式和过程。些事务的一种既定方式和过程。

2、 1,起床,起床2,刷牙,刷牙3,洗脸,洗脸4,吃饭,吃饭5,早自习,早自习 按顺序实施这些步骤,即完成了该项事务。按顺序实施这些步骤,即完成了该项事务。C语言大学教程程序设计苏小红到图书馆借参考书(更复杂的程序):到图书馆借参考书(更复杂的程序):1,进入图书馆;,进入图书馆;2,查书目;,查书目;3,填写索书单;,填写索书单;4,交图书馆工作人员取书;,交图书馆工作人员取书;5,如果书已借完,有两种选择:,如果书已借完,有两种选择:5.1,回到,回到2(查找其他参考书的书目);(查找其他参考书的书目);5.2,放弃借书,离开图书馆;,放弃借书,离开图书馆;6,(有书)办理借书手续;,(有书

3、)办理借书手续;7,离开图书馆。,离开图书馆。C语言大学教程程序设计苏小红一些直观一些直观特征特征:按部就班地进行;按部就班地进行;开始与结束;开始与结束;完成某项具体任务;完成某项具体任务;需要用某种记法形式描述(计算机程序需要用某种需要用某种记法形式描述(计算机程序需要用某种精确定义的形式描述);精确定义的形式描述);是在一些基本动作的基础上描述的;是在一些基本动作的基础上描述的;不同的描述粒度(细节程度);不同的描述粒度(细节程度); 把程序和做程序的工作(把程序和做程序的工作(programming)作为一件重)作为一件重要事情进行系统研究,主要是在计算机领域里。要事情进行系统研究,主

4、要是在计算机领域里。C语言大学教程程序设计苏小红程序是人与计算机交流信息的最基本方式。人通过程序是人与计算机交流信息的最基本方式。人通过程程序指挥计算机的活动序指挥计算机的活动。程序与程序开发程序与程序开发描述(编制)计算机程序的工作称为描述(编制)计算机程序的工作称为程序设计程序设计或或编程编程,其产品就是其产品就是程序程序。由于计算机的本质特征,从它诞生。由于计算机的本质特征,从它诞生之初就有了程序设计工作。之初就有了程序设计工作。要用计算机处理问题,写程序时就必须要用计算机处理问题,写程序时就必须精确描述精确描述所需所需的全部细节,不能有一点含糊之处。的全部细节,不能有一点含糊之处。写程

5、序需要用写程序需要用程序设计语言程序设计语言。这种语言的特点是计算。这种语言的特点是计算机可以处理,可以按它的指挥完成工作。程序设计语机可以处理,可以按它的指挥完成工作。程序设计语言是人与计算机交流的最基本最重要的媒介。言是人与计算机交流的最基本最重要的媒介。C语言大学教程程序设计苏小红硬件层面硬件层面上的程序是上的程序是机器指令的序列机器指令的序列。程序执行程序执行: 1、将程序存入内存,通知、将程序存入内存,通知CPU第一条指令的第一条指令的地址。命令它地址。命令它“开始开始”! 2、一般情况下,、一般情况下,CPU执行完一条指令后,执行完一条指令后,自自动取出下一条指令动取出下一条指令,

6、并如此继续下去。,并如此继续下去。 3、转跳指令转跳指令明确指定下一条指令的位置,人明确指定下一条指令的位置,人可以基于转跳指令描述复杂的执行流程。可以基于转跳指令描述复杂的执行流程。人命令计算机去执行一个程序,计算机就会一丝不苟地按这个程序的内容,一条一条指令执行,直至程序结束(指令执行到了最后,或者遇到明确的停止指令)。C语言大学教程程序设计苏小红机器语言和程序机器语言和程序机器语言是机器指令形成的语言;机器语言是机器指令形成的语言;形式为二进制编码,机器可直接执行形式为二进制编码,机器可直接执行00000100010000101000000000110000110000000000100

7、0001110 数据装入寄存器数据装入寄存器0数据装入寄存器数据装入寄存器1寄存器寄存器0与与1的数据乘的数据乘数据装入寄存器数据装入寄存器1寄存器寄存器0与与1的数据加的数据加保存寄存器保存寄存器0里的数据里的数据 难写难读,人使用不便,程序开发效率极低。难写难读,人使用不便,程序开发效率极低。C语言大学教程程序设计苏小红汇编语言和程序汇编语言和程序汇编语言:采用助记的符号形式,有利于人的阅读和汇编语言:采用助记的符号形式,有利于人的阅读和使用。汇编指令与机器指令一一对应使用。汇编指令与机器指令一一对应load 0 aload 1 bmult 0 1load 1 cadd 0 1save 0

8、 d 将单元将单元a的数据装入寄存器的数据装入寄存器0将单元将单元b的数据装入寄存器的数据装入寄存器1寄存器寄存器0与与1的数据乘的数据乘将单元将单元c的数据装入寄存器的数据装入寄存器1寄存器寄存器0与与1的数据加的数据加将寄存器将寄存器0里的数据存入单元里的数据存入单元d C语言大学教程程序设计苏小红计算机无法直接执行汇编语言程序,执行前需要把计算机无法直接执行汇编语言程序,执行前需要把汇编语言程序翻译为机器指令程序汇编语言程序翻译为机器指令程序最早时通过手工翻译为机器指令最早时通过手工翻译为机器指令后来人们开发出称为后来人们开发出称为“汇编系统汇编系统”的程序,让计算的程序,让计算机去完成

9、程序翻译工作机去完成程序翻译工作汇编语言的特点:汇编语言的特点:每条指令的意义容易理解每条指令的意义容易理解程序程序粒度太小粒度太小,细节太多细节太多程序程序无结构无结构,缺乏组织手段,缺乏组织手段写大程序仍然很困难写大程序仍然很困难C语言大学教程程序设计苏小红高级语言和程序高级语言和程序高级语言的特点:高级语言的特点:具有具有类似文字类似文字的表现形式的表现形式用用类似数学类似数学的表达式形式描述基本计算的表达式形式描述基本计算用用变量等概念变量等概念取代低级的存储概念,使人摆脱各种取代低级的存储概念,使人摆脱各种繁琐低级的工作,例如存储的安排繁琐低级的工作,例如存储的安排提供高级操作提供高

10、级操作流程控制手段流程控制手段和程序组织手段和程序组织手段在在C语言里写前面同样的程序:语言里写前面同样的程序:d = a * b + c; C语言大学教程程序设计苏小红计算机无法直接执行高级语言写出的程序计算机无法直接执行高级语言写出的程序常规方式是做一个编译系统,完成高级语言程序到常规方式是做一个编译系统,完成高级语言程序到机器语言可执行程序的翻译加工机器语言可执行程序的翻译加工编程编程 编译加工编译加工 执行执行使用高级语言编程的优点:使用高级语言编程的优点:编程工作的效率大大提高编程工作的效率大大提高人更容易思考和把握复杂程序的意义人更容易思考和把握复杂程序的意义更多人愿意投身于这种工

11、作,使编程发展成为一种更多人愿意投身于这种工作,使编程发展成为一种职业和谋生方式职业和谋生方式术语术语“程序设计语言程序设计语言”已专指已专指“高级语言高级语言”C语言大学教程程序设计苏小红1954年到年到1957年:高级语言年:高级语言Fortran诞生诞生至至1960年代中,开发了年代中,开发了Algol 60 ,COBOL,BASIC等。还有函数式语言等。还有函数式语言LISP 等等1970年代开始:年代开始:Pascal 和和 C语言逐渐分别为教学科研语言逐渐分别为教学科研和软件开发用的主要语言和软件开发用的主要语言1980年代:逻辑程序语言年代:逻辑程序语言Prolog,面向对象语言

12、,面向对象语言Smalltalk 和后来的和后来的C+。另有。另有ML等等1995年左右的年左右的Java高级语言的简单历史高级语言的简单历史C语言大学教程程序设计苏小红用用计算机解决问题计算机解决问题计算机解决问题计算机解决问题的过程和基本方法的过程和基本方法程序设计的基本方法程序设计的基本方法C语言的规定和性质语言的规定和性质怎样写好怎样写好C语言程序语言程序程序设计过程和一些基本技术程序设计过程和一些基本技术课程要点课程要点C语言大学教程程序设计苏小红起床起床刷牙刷牙洗脸洗脸吃饭吃饭早自习早自习 拿饭碗拿饭碗去食堂去食堂排队买饭排队买饭吃饭吃饭洗碗洗碗离开食堂离开食堂排队排队选饭选饭选菜

13、选菜付款付款 “程序程序”分解实例(早起活动):分解实例(早起活动):程序设计过程程序设计过程编写程序不应该从第一个细节开始编写程序不应该从第一个细节开始逐步分解,直至分解到程序语言提供的功能。逐步分解,直至分解到程序语言提供的功能。C语言大学教程程序设计苏小红需要学习和理解:需要学习和理解:程序语言所提供的程序语言所提供的基本功能基本功能;各种语言功能的各种语言功能的形式和意义形式和意义;所用所用编程工具编程工具(C语言编程环境)和语言编程环境)和使用技术使用技术;程序设计的程序设计的典型技术典型技术。工作方式:工作方式:从问题出发,从高层开始设计程序;从问题出发,从高层开始设计程序;逐步分

14、解程序功能,直至可以用程序语言实现。逐步分解程序功能,直至可以用程序语言实现。 C语言大学教程程序设计苏小红写好程序:写好程序:1)模仿好的范例模仿好的范例,2)实践实践。注意前人经验,包括程序书写形式和许多具体写法等注意前人经验,包括程序书写形式和许多具体写法等注意养成写程序的良好习惯。书中许多地方提出了相注意养成写程序的良好习惯。书中许多地方提出了相应的建议应的建议写出程序写出程序和和写好程序写好程序之间有很大距离之间有很大距离只有只有写好写好小程序,才能小程序,才能写出写出大些的程序大些的程序C语言大学教程程序设计苏小红1.2 C语言简介语言简介简单历史(简单历史(有关有关“C语言的故事

15、语言的故事”,查看书上第,查看书上第7页页)C语言语言1973年由贝尔实验室的年由贝尔实验室的Dennis Ritchie 设计,目设计,目标是书写操作系统和其他系统程序。标是书写操作系统和其他系统程序。C语言最早用于写语言最早用于写UNIX系统。系统。70年代成为年代成为UNIX的标准的标准开发语言,随开发语言,随UNIX流行而被广泛接受。流行而被广泛接受。80年代被搬到各种机器的许多操作系统上,逐渐成为年代被搬到各种机器的许多操作系统上,逐渐成为一种开发系统程序和复杂软件的通用语言。一种开发系统程序和复杂软件的通用语言。后来成为使用最广泛的系统开发语言。人们用后来成为使用最广泛的系统开发语

16、言。人们用C开发各开发各种程序,从简单应用到极其复杂的大型软件。种程序,从简单应用到极其复杂的大型软件。各种计算机都有可用的各种计算机都有可用的C语言系统。语言系统。C语言大学教程程序设计苏小红C语言语言比较小,入门容易比较小,入门容易,很快就可以开始编程,很快就可以开始编程有丰富的程序机制、数据机制、函数定义机制,能满有丰富的程序机制、数据机制、函数定义机制,能满足复杂程序的需要。许多常用功能通过库实现足复杂程序的需要。许多常用功能通过库实现提供提供接近硬件的低级操作接近硬件的低级操作,广泛用于开发效率要求高,广泛用于开发效率要求高的程序。被用于代替汇编语言开发底层软件的程序。被用于代替汇编

17、语言开发底层软件提供了一些支持大规模复杂软件开发的机制提供了一些支持大规模复杂软件开发的机制C 语言的工作得到世界计算机界的广泛赞许。对计算机语言的工作得到世界计算机界的广泛赞许。对计算机工业和应用发展起了重要推动作用工业和应用发展起了重要推动作用许多新语言从许多新语言从C汲取营养。如汲取营养。如C+,Java等等语言设计者获得计算机领域最高奖语言设计者获得计算机领域最高奖图灵奖图灵奖C语言大学教程程序设计苏小红标准化标准化应用发展要求应用发展要求C成为更安全可靠、不依赖具体机器或成为更安全可靠、不依赖具体机器或操作系统的标准语言。操作系统的标准语言。ANSI(美国国家标准学会美国国家标准学会

18、 )在)在80年代开始标准化工作,年代开始标准化工作,1988年颁布年颁布ANSI C标准,后被标准,后被ISO(国际标准化组织国际标准化组织 )和各国接受,也采纳为中国国家标和各国接受,也采纳为中国国家标准(准(GB/T 15272-94)。)。新标准新标准C99已经通过已经通过。20世纪80年代,C语言广泛流行,动摇了BASIC的地位。许多人为其写变种,各种C版本涌出。因为C语言没有一个统一的标准,导致了它的代码无法在各种编译器上实现,C语言受到了变种松散的威胁因此C语言必须进行标准化,1983年美国国家标准化组织(ANSI)成立了C语言工作小组,开始对C进行标准化,1989年12月ANS

19、I C最终被ANSI委员会接纳(我们学习C语言应该学习标准化后的C语言版本)。C语言大学教程程序设计苏小红按按ANSI C标准写程序标准写程序C的原设计注重灵活性,允许许多不安全的编程方式,的原设计注重灵活性,允许许多不安全的编程方式,正确性靠编程者。用户群扩大后缺点凸现,复杂程序常正确性靠编程者。用户群扩大后缺点凸现,复杂程序常有隐藏错误。标准化也是为修正有隐藏错误。标准化也是为修正C的缺陷。的缺陷。ANSI C基本容许原程序形式。我们应该采用标准所提基本容许原程序形式。我们应该采用标准所提倡的形式。这样做也更容易完成编程工作。倡的形式。这样做也更容易完成编程工作。C语言大学教程程序设计苏小

20、红1.3 一个简单一个简单C程序程序#include int main () printf(Good morning!n); return 0;注意程序基本部分的写法。注意程序基本部分的写法。程序是字符序列,应该按照易读的形式分行。程序是字符序列,应该按照易读的形式分行。程序形程序形式应较好反映程序本身的层次结构式应较好反映程序本身的层次结构。可用普通编辑器编写程序,现在人们常用专门的程序可用普通编辑器编写程序,现在人们常用专门的程序开发系统写程序。开发系统写程序。C语言大学教程程序设计苏小红程序格式程序格式C语言是自由格式语言语言是自由格式语言,可随意安排格式(换行,可随意安排格式(换行/加

21、空加空格等),格式变化不影响程序意义。格等),格式变化不影响程序意义。程序需要给人看,可能很长,结构可能复杂。程序需要给人看,可能很长,结构可能复杂。格式应很好体现层次结构,反映内在关系。规则:格式应很好体现层次结构,反映内在关系。规则:适当加入空行,分隔不同部分适当加入空行,分隔不同部分同层对齐,下层退格(加空格同层对齐,下层退格(加空格/制表符)制表符)加必要的说明信息(后面介绍)加必要的说明信息(后面介绍)写简单程序时就应注意养成好习惯。自由格式语言使人写简单程序时就应注意养成好习惯。自由格式语言使人能根据需要和习惯写出格式良好的程序能根据需要和习惯写出格式良好的程序。C语言大学教程程序

22、设计苏小红1.4 C程序的加工和执行程序的加工和执行用用C语言写出的程序称为语言写出的程序称为源程序源程序,不能直接执行。,不能直接执行。为执行为执行C程序,必须先把它程序,必须先把它转换转换为为可执行程序可执行程序。这种。这种转换称为转换称为C程序的加工程序的加工,是,是C语言系统的主要功能。语言系统的主要功能。C程序加工通常分两步(见下页图):程序加工通常分两步(见下页图):编译编译:编译程序处理源程序,生成机器语言目标模块,:编译程序处理源程序,生成机器语言目标模块,目标文件。目标模块不能执行,缺少必要的目标文件。目标模块不能执行,缺少必要的C程序运程序运行系统行系统和和库功能库功能。连

23、接连接:连接程序把:连接程序把目标模块目标模块与与运行系统运行系统、库模块库模块组合组合起来,构成完整的可执行程序。起来,构成完整的可执行程序。C语言大学教程程序设计苏小红C语言大学教程程序设计苏小红前面简单程序执行输出一行,显示在屏幕上:前面简单程序执行输出一行,显示在屏幕上:Good morning!不同不同C系统启动程序加工的方式不同。系统启动程序加工的方式不同。集成程序开发环境集成程序开发环境( IDE ,Integrated Development Environment)是支持软件开发过程的软件系统。)是支持软件开发过程的软件系统。IDE把编程所需软件集成起来统一管理和使用。采用把

24、编程所需软件集成起来统一管理和使用。采用窗口菜单技术,提供编程用编辑环境,通过菜单提供窗口菜单技术,提供编程用编辑环境,通过菜单提供编译、连接、执行程序等命令。编译、连接、执行程序等命令。具体具体 IDE 的操作方式可能有些差异,但它们的基本功的操作方式可能有些差异,但它们的基本功能相同。学习一个就可以触类旁通。能相同。学习一个就可以触类旁通。C语言大学教程程序设计苏小红1.5 程序调试和排误程序调试和排误调试调试(Testing)和)和排除错误排除错误(排错,(排错,Debugging)是编)是编程的必经阶段。简单介绍一下。程的必经阶段。简单介绍一下。程序中的错误是人的错误。排除程序错误就是

25、排除自己程序中的错误是人的错误。排除程序错误就是排除自己在程序设计中所犯错误,消除自己写在程序里的错误。在程序设计中所犯错误,消除自己写在程序里的错误。错误可分为错误可分为两类两类:1)程序形式)程序形式不符合语言规定不符合语言规定。C语言系统在加工时能语言系统在加工时能指出程序里的这类错误。指出程序里的这类错误。2)程序形式正确,能完成加工,产生可执行程序。但)程序形式正确,能完成加工,产生可执行程序。但程序程序工作不正常工作不正常:或在执行中出问题,或计算结果(或:或在执行中出问题,或计算结果(或执行效果)不合要求。执行效果)不合要求。C语言大学教程程序设计苏小红语言系统查出错误时,将产生

26、一些语言系统查出错误时,将产生一些“错误信息错误信息”行,行,指明发现位置和错误类型,供人参考。指明发现位置和错误类型,供人参考。注意注意:应仔细阅读系统报错信息,检查所指位置附近:应仔细阅读系统报错信息,检查所指位置附近的源程序,找到实际错误并予以排除。的源程序,找到实际错误并予以排除。基本原则:集中精力排除系统发现的第一个错误基本原则:集中精力排除系统发现的第一个错误。两个问题:两个问题:1)实际错误可能出现在指定错误位置前面很远处。)实际错误可能出现在指定错误位置前面很远处。2)一个实际错误有时会导致许多出错信息行。)一个实际错误有时会导致许多出错信息行。应注意警告信息(应注意警告信息(

27、WARNING)。)。警告常表示隐藏较深的错误,必须认真弄清原因警告常表示隐藏较深的错误,必须认真弄清原因。C语言大学教程程序设计苏小红1.6 问题与程序设计过程问题与程序设计过程程序设计是智力劳动,编一个程序就是解决一个问题。程序设计是智力劳动,编一个程序就是解决一个问题。用计算机解决问题的过程可分为三步:用计算机解决问题的过程可分为三步:1)分析问题,设计一种解决问题方案;)分析问题,设计一种解决问题方案;2)用某种程序语言严格描述这一解决方案;)用某种程序语言严格描述这一解决方案;3)在计算机上试用程序,看它能否解决问题。)在计算机上试用程序,看它能否解决问题。在运行时发现错误,就需仔细

28、分析错误原因,退回到在运行时发现错误,就需仔细分析错误原因,退回到前面步骤去纠正错误,直至得到满意结果。前面步骤去纠正错误,直至得到满意结果。C语言大学教程程序设计苏小红C语言大学教程程序设计苏小红本课程学习中应注意的问题本课程学习中应注意的问题分析问题的能力,特别是从计算和程序的角度。分析问题的能力,特别是从计算和程序的角度。掌握所用语言,熟悉语言的各种规定,形式和意义。掌握所用语言,熟悉语言的各种规定,形式和意义。学会写程序。解决同样问题,写的程序是否较简单?学会写程序。解决同样问题,写的程序是否较简单?是否采用了合适的结构?是否清楚、易于阅读和理解是否采用了合适的结构?是否清楚、易于阅读和理解?一些条件改变时,程序是否容易修改,以满足新要?一些条件改变时,程序是否容易修改,以满足新要求?等等。求?等等。检查程序错误的能力。确认实际错误,弄清楚应当如检查程序错误的能力。确认实际错误,弄清楚应当如何改正,这永远是编程序的人的事。何改正,这永远是编程序的人的事。熟悉所使用的工具和环境。熟悉所使用的工具和环境。C语言大学教程程序设计苏小红

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号