《程序设计ABCzlh》PPT课件.ppt

上传人:sh****n 文档编号:11511103 上传时间:2020-04-26 格式:PPT 页数:35 大小:1.94MB
返回 下载 相关 举报
《程序设计ABCzlh》PPT课件.ppt_第1页
第1页 / 共35页
《程序设计ABCzlh》PPT课件.ppt_第2页
第2页 / 共35页
《程序设计ABCzlh》PPT课件.ppt_第3页
第3页 / 共35页
点击查看更多>>
资源描述
高级语言程序设计,计算机基础教研室,第1章程序设计ABC,南京邮电大学计算机学院计算机基础教研室,C语言大学实用教程,3,本章作业,作业本:P12页:1.1,1.2,1.4,1.5,4,内容提要,什么是计算机基于二进制的冯诺依曼体系结构计算机的基本组成及工作原理什么是程序?程序员、计算机与程序的关系计算机语言及其发展、特点C语言简介程序件开发的基本步骤软件质量属性,5,Whatisacomputer?,Comput+er计算的机器AComputerisadevicecapableofperformingcomputationsandmakelogicaldecisionsatspeedsmillions(evenbillions)oftimesfasterthanhumanbeingscan.计算机的另一个定义:计算机是一种具有记忆能力,能自动执行指定的任务并能高速执行运算功能的电子设备。,6,Whatisacomputer?,目前最快的supercomputers可每秒执行trillionsofadditions目前的PC机可每秒执行十亿次加法人用计算器一生也完不成PC机1秒钟完成的计算量,7,Whatisacomputerprogram?,很像厨师的菜谱,定义了执行某个任务所需的步骤但不幸和不同的是,你不能使用你自己的母语来写Code计算机能读懂的语言机器语言(MachineLanguage)由一系列二进制0和1组成,8,计算机与人工智能,计算机行业的梦想与人自然交流,像人一样地思考人工智能(ArtificialIntelligence)机器人的诞生和发展,9,Whatisprogramminglanguage?,机器语言:代码和数据全部用01序列,可读性差例:用机器语言编写的1+1程序,101110000000000100000000000001010000000100000000,哈哈,你看懂了吗?(像不像天书?),汇编语言:引入一些助记符来表示代码和数据例:用汇编语言编写的1+1程序MOVAX,1ADDAX,1,程序设计语言:用来编写源程序代码的语言。,源程序=目标程序,低级语言,10,面向过程的语言:Basic、Fortran、C等例:用C语言编写的1+1程序,Whatisprogramminglanguage?,#includemain()printf(%dn,1+1);,既不是英语,也非机器语言,但更像英语,高级语言,高级语言的特点:比写机器语言程序容易,但比使用英语难,面向对象的语言:C+、Java等,11,Whatisprogrammer?,程序员(Programmer):编写程序源代码(SourceCode)的人计算机、程序员、程序之间的关系乐队、指挥家、乐谱军队、总司令、作战计划,12,怎样让计算机读懂高级语言?,编译器(Compiler)把源代码转换为可被计算机理解的机器代码把机器代码以可执行文件(ExecutableFile)的形式保存在磁盘上不同的程序设计语言对应不同的编译器一种程序设计语言可以有一种或多种编译器例如:C语言的编译器有TurboC、VisualC+、BorlandC等,13,怎样让计算机读懂高级语言?,程序员按照该语言的语法编写程序源代码把自己的意图写入源代码中编译器读入源代码把程序员的意图转换成可执行程序,供他人使用,C语言编写源程序,可执行程序,编译器,14,怎样让计算机读懂高级语言?,程序设计语言是人与计算机进行交流的语言有很多种,分别适合做不同的事情现在人还只能主动学计算机的语言做不到计算机学会人的语言当计算机懂了人的自然语言,15,程序开发步骤,Whatistobedone?,可执行文件扩展名为.exe的文件,Howisittobedone?,扩展名为.c的文件(对C而言),扩展名为.obj的文件,16,计算机为什么用二进制呢?,为什么不用我们日常熟悉的十进制呢?二进制在在电器元件中容易实现计算机进行二进制运算比进行十进制运算简单1946年,冯诺伊曼在计算机中引入二进制,提出著名的冯诺伊曼结构,至今仍被采用,被誉为“计算机之父”,17,“冯诺依曼机”结构的计算机,大脑,记忆装置,眼睛和耳朵,进行运算,自动执行成为可能,18,高级语言的魅力,易学、易用、易读、易懂、强大、可移植百家争鸣,据不完全统计2500种,绝大多数是高级语言http:/people.ku.edu/nkinners/LangList/Extras/langlist.htm可看到其列表和简介影响最大、寿命最长的是C语言,19,流行的高级语言,应用编程语言机器语言汇编语言BasicPascalCC+JavaC#专项编程语言LotusNotesPowerBuilder,Web编程语言HTMLXMLPHPASPJSPJavaScriptVBScript其他perlpythonVBA,20,C程序设计语言,20世纪60年代,贝尔实验室,KenThompson开始开发一个叫做UNIX的操作系统70年代,将BCPL语言改造成更适合开发UNIX的B语言1971年,DennisM.Ritchie开始和Thompson合作开发UNIX,将B语言改造成C语言,21,C语言的设计者DennisM.Ritchie,22,和Unix的设计者KenThompson接受美国国家技术勋章,23,C程序设计语言,是一种高级语言高级语言并不是“高级”,只是相对低级语言,在一个高的级别上进行编程历史悠久,战勋卓著诞生于上世纪70年代初,成熟于80年代“ANSIC”标准的发布是C语言成熟的标志很多重量级软件都是用C写的上天入地,无所不能几乎没有不能用C写出来的软件,没有不支持C的系统,24,C程序设计语言,硬件(Hardware),操作系统(OS),应用程序(Application),应用平台,基于平台的应用程序,低级语言的地盘,高级语言的地盘,C语言的地盘,25,C程序设计语言,C语言被分类为高级语言,但实际上它是一种介于高级语言和低级语言之间的中级语言。很多流行语言、新生语言都借鉴了它的思想、语法从C+,到Java,再到C#正确地学好C语言,是学习这些流行语言的基础。C语言是下学期学习C+的重要基础,还有两周针对该课程的强化课程设计,更是二年级学习数据结构用C+描述的基础,重要啊!,26,软件的质量属性,正确性(correctness)健壮性(robustness)可靠性(reliability)时空效率(performance)易用性(usability)清晰性(clarity)安全性(security)可扩展性(extendibility)兼容性(compatibility)可移植性(portability),27,软件质量属性,正确性(correctness)软件按照需求正确执行任务的能力软件在需求范围之内正常运行的能力健壮性(robustness)指在异常情况下,软件能正常运行的能力软件在需求范围之外正常运行的能力容错能力:指发生异常时系统不出错的能力高风险系统(航空航天、武器、金融等)恢复能力:指软件发生错误后,重新运行时,能否恢复到没有发生错误前状态的能力Unix的容错能力强,windows9x的恢复能力还不错,28,软件质量属性,可靠性(reliability,稳定性)指在一定环境下,在给定时间内,系统不发生故障的概率,原为硬件领域的术语千年等一回的“千年虫”问题“误差累积”问题“内存泄露”问题案例1:微软对IE的强力测试让它连续72小时持续不断的打开不同的网页,处理几万个不同的网页,而且速度不能减慢案例2:ExchangeSever开发测试工具自动产生几万个账号,在同一时间从不同机器上同时发送Email信息,连续7天,每天24小时不出现死机现象,29,软件质量属性,时空效率(performance)鱼和熊掌,旧社会的地主例如,搜索引擎的搜索效率提高软件性能的方法优化数据结构、算法和代码算法复杂性分析可达到“未卜先知”的目的,30,软件质量属性,易用性(可用性usability,不是usefulness)指用户使用软件的容易程度一般体现在对用户界面的设计上应该由用户来评价案例分析:1996年前后,微软将掌上电脑操作系统WinCE(1.0)投放市场,失败!原因:太多的视窗和菜单,而掌上电脑的用户更喜欢简洁的界面和更快捷的操作改进版本:WinCE(PocketPC),31,软件质量属性,清晰性(clarity)容易阅读,容易理解通常是简洁(simple)的或简短(small)的当客户使用56kb/s的modem时,下载1MB的DLL需要将近10分钟,升级时间令客户无法忍受安全性(security,不是safety)指信息安全,防止系统被非法入侵的能力“道高一尺,魔高一丈”,正义与邪恶的斗争绝对安全的系统不存在,32,软件质量属性,可扩展性(extendibility)反映软件(通常指大规模程序)适应“变化”的能力如需求、设计的变化,算法的改进、程序的变化等可移植性(portability)指软件运行于不同软硬件环境的能力C比汇编语言可移植性好Java比C好,33,软件质量属性,兼容性(compatibility)指两个或两个以上软件相互交换信息的能力同一产品的不同版本之间的兼容性问题,如office2000和officeXP不同厂家的同一产品之间的兼容性问题,如WPS和Word,IE和Netscape不同类型软件之间的兼容性问题,如IE和Office如WPS字处理软件对Word文件格式的兼容性就很好,34,软件质量属性,不具备兼容性的软件很难被市场接受案例分析:DEC曾是美国三大计算机公司之一,曾以众多的高新技术著称于世,几年前被康柏收购。原因:Alpha芯片盲目追求性能的卓越系统复杂,造价过高,绝大多数用户不能接受不能与已有的系统兼容,使得在其上的软件开发相当困难,软件开发商也很难接受,35,这一章我们学习了,基于二进制的冯诺依曼体系结构的计算机五大部件:运算器、控制器、存储器、输入输出设备主要功能:高速运算、记忆、控制自动执行、信息交互程序设计语言:用来编写源程序。用程序设计语言编写的是源程序,机器可执行的是目标程序,二者不一定是一回事高级语言编写的源程序要经编译程序才转换成目标程序程序开发的一般步骤:分析、设计、编码、编辑、编译、链接、运行、调试C语言的地位:非常重要,非学不可中级语言,功能超强,可对硬件操作,开发各层次软件,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!