




已阅读5页,还剩46页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ProgrammingLanguagesandDevelopmentEnvironment 程序设计语言和开发环境 2 Outline ProgramminglanguagesDevelopmentenvironment 3 Evolution Evolutionofcomputerlanguages 4 计算机语言的演化 机器语言指令由0和1串组成 程序可直接执行符号语言用符号表示不同的机器语言指令 必须被汇编 assembler 为机器语言高级语言从关注计算机转移到关注问题本身 用语句 statement 构造应用逻辑 通常不能直接执行 要编译 compile 或解释 interpret 执行 5 Computerlanguage Thetermcomputerlanguageincludesalargevarietyofartificiallanguagesusedtocommunicatewithcomputers Itisbroaderthanthemorecommonly usedtermprogramminglanguage Programminglanguagesareasubsetofcomputerlanguages Forexample HTMLisamarkuplanguageandacomputerlanguage butitisnottraditionallyconsideredaprogramminglanguage Machinecodeisacomputerlanguage Itcantechnicallybeusedforprogramming andhasbeen e g theoriginalbootstrapperforAltairBASIC thoughmostwouldnotconsideritaprogramminglanguage 6 TypesofComputerLanguages Programminglanguagesaretheprimarymeansbywhichdevelopersofcomputingsystemsinstructamachinetoorganizeormanipulateinformationorcontrolphysicaldevices Mostsoftwareiswrittenusingoneormoreprogramminglanguages CommonexamplesincludeC C Java BASIC assemblylanguages andmanyothers Scriptinglanguagesaredesignedtocontrolothersoftwareortocoordinatetheactionsofmultiplesoftwareapplications Machinecodeanonhuman readablebinarycomputerlanguagewhichcorrespondstotheavailableinstructionsforamicroprocessor 7 Whatproblemgavebirthtoprogramminglanguages Beforehighlevelprogramminglanguagesexisted computerswereprogrammedoneinstructionatatimeusingbinaryorhex atediousjobandalotoferrors Obviously thisjobdidnotattractmanypeople sotherewasashortageofprogrammers Expensivecomputerssatidleforlongperiodsoftimewhilesoftwarewasbeingdeveloped Softwareoftencosttwotofourtimesasmuchasthecomputer Thisledtothedevelopmentofassemblersandassemblylanguages Programmingbecamesomewhateasier butmanyusersstillwantedfloatingpointnumbersandarrayindexing Sincethesecapabilitieswerenotsupportedinhardware highlevellanguageshadtobedevelopedtosupportthem 8 WhatMakesaLanguageHot EaseofuseLanguageFeaturesPerformanceCorporateSupportExperiencedProgrammersLegacyCode 9 10 Evolutionofprogramminglanguages 11 PASCAL Pascal语言是由著名瑞士计算机科学家N Wirth 1984年图灵奖得主 设计的一种语言 1968年提出后被全世界广泛接受 成为一种对计算机科学技术发展有巨大影响的语言 这个语言的名字是为了纪念历史上著名的数学家和计算学科的先驱BlaisePascal 帕斯卡 Pascal语言把许多好的东西结合在一个很简练的语言里 被计算机教育界广泛采用 从七十年代末往后的很长一段时间里 Pascal成为世界范围的计算机专业教学语言 12 NiklausWirth In1984hewontheTuringAwardfordevelopingasequenceofinnovativecomputerlanguages Euler AlgolW Pascal Modula Modula 2andOberon HisarticleProgramDevelopmentbyStepwiseRefinement abouttheteachingofprogramming isconsideredtobeaclassictextinsoftwareengineering In1975hewrotethebookAlgorithms DataStructures Programs whichgainedwiderecognitionandisstillusefultoday 13 ADA Ada生活在十九世纪中叶 是著名诗人拜伦的女儿设计了巴贝奇分析机上解伯努利方程的一个程序 并证明当时的19世纪计算机狂人巴贝奇的分析器可以用于许多问题的求解 她甚至还建立了循环和子程序的概念 由于她在程序设计上的开创性工作 被称为世界上第一位程序员 Ada语言开发的目的是作为新一代的美国军用程序设计语言 1983 1995 作为所有与国防有关的程序和软件的统一语言标准 Ada语言自1983年作为标准提出后 虽由美国国防部大力推行 也受到各国军方的重视 但不像预想的那样成功 其中一个原因是它太复杂 14 C CprogramminglanguagewasdevisedbyBellLabsofAT TasasystemimplementationlanguageforthenascentUnixoperatingsystem Contribution EfficiencyCastingFlexiblearrayLibraryGoodportability KenThompson left withDennisRitchie right 15 C语言 C是由美国贝尔实验室的DennisRitchie在1972年设计开发的 开发目的是想成为一种编制 系统程序 的工具语言 Retchie等人首先用自己发明的C语言编写了Unix操作系统 以后C语言逐步发展成为开发系统软件的主要语言 C语言已成为最重要的软件系统开发语言 由此可见C语言在计算机领域地位之重要 16 SIMULA Althoughneverwidelyused SIMULAishistoricallyimportant Developedfrom1964 67 SIMULAwasdesignedasalanguagetoaidincreatingsimulations SIMULAIwasintroducedin1964 itssolepurposewassystemsimulation ImmediatelyafterSIMULAIwasfinished thedesignersdecidedtoworkonanewlanguagewhichwouldcontainmanymorefeaturessothatitcouldbeusedformoregeneralpurposeareas TheresultwasSIMLUA67 Tohelpmakesimulationeasier SIMULA67introducedtheconceptofclasses includinginstancingandcoroutine Thiswasthebeginningofdataabstraction 17 C C wasdesignedtoprovideSimula sfacilitiesforprogramorganizationtogetherwithC sefficiencyandflexibilityforsystemsprogramming Itwasintendedtodeliverthattorealprojects Contribution OnelinecommentInlinefunctionMultipleinheritanceOverloadingoperatorsandfunctions 18 C 语言 C 是在C语言基础上发展出的一种 面向对象 语言 它是由BjarneStroustrup在美国贝尔实验室开发的 1979 C 是C语言的一个扩充 修正了C的一些弱点和不足 使用起来更方便可靠 以支持 面向对象 Object Oriented 简称为OO 的程序设计方法为基本目标 提供了一套支持面向对象程序设计的机制 如 类 class 对象 object 等等 面向对象的方法被认为是开发复杂软件系统的一种有效途径 OO程序设计语言也已经被广泛接受 C 是目前使用最广泛的一种面向对象的程序设计语言 19 我们这门课程主要介绍C 语言 20 Notations ProgramminglanguagesAnotationfordescribingalgorithms 算法 即步骤 anddatastructure 数据结构 即数据或者是信息 ProgramAsentenceofaprogramminglanguage 21 Outline ProgramminglanguagesDevelopmentenvironment命令行开发环境集成开发环境 22 Thecompilationsystem Theprogramsthatperformthefourphases preprocessor compiler assembler andlinker areknowncollectivelyasthecompilationsystem gcc ohellohello c 23 Buildingaprogram 24 Programexecution 25 TypicalC DevelopmentEnvironment EditProgrammerwritesprogram andstoressourcecodeondisk PreprocessPerformcertainmanipulationsbeforecompilationCompileCompilertranslatesC programsintomachinelanguagesLinkLinkobjectcodewithmissingfunctionsanddataExecuteTransferexecutableimagetomemoryExecutetheprogramoneinstructionatatime 26 GNU程序设计工具集 独立开发工具 编辑 编译 调试等是单独的工具 通常是命令行界面编辑工具 vi编译工具 g 调试工具 gdb 27 程序调试 通常情况下 可执行文件中不包含对源程序的引用信息 如变量名 函数名 行号等 g 提供了 g 开关 将源程序的信息存放在目标文件和可执行文件的符号表中 允许调试器 debugger gdb跟踪程序的执行当程序崩溃的时候 检查程序崩溃前的状态运行并调试 gdbprogram 28 gdb常用命令 29 Hello world inC 1 HelloWorld cpp2 include3usingnamespacestd 45intmain 6 7cout Hello world n 8 cin get 910return0 11 g g WallHelloWorld cpp oHelloWorld 30 References cs101courseQ AonSept 30 2008 31 CodeBlocks编程环境 基本概念 Project 工程 编写程序的工作是以Project为单位 在开始一个新程序时 要先建立一个Project 之后在程序编写过程中所有与这个程序有关的文件都会包含在这个Project中 编制的程序可以有各种不同类型 编程环境为每种类型的程序准备了一个模版 用来生成程序的最初框架 在门课程里只介绍编写ConsoleApplication类型的程序 这类程序的特点是 程序运行中会打开一个类似于DOS操作系统的界面 所有键盘输入都是通过DOS界面进行的 而所有输出都是输出到DOS窗口中 32 SourceFile 源程序 源程序是我们用高级程序设计语言书写的程序 源程序必须经过编译连接变成可执行程序 机器代码 才能运行 我们主要用C 语言编写源程序 33 Compile 编译 把源程序变成机器目标代码的过程称为编译 不同的高级语言有不同的编译器 各种高级语言都会提供一些常用的功能模块 我们自己编写的程序里会调用这些功能模块 编译并连接是把源程序编译如果没有错误则连接 否则给出编译错误信息 Link 连接 Build 编译并连接 34 Debug 调试 当程序出错时 可用调试工具发现错处的代码 进行改正 所谓调试是指逐条执行或部分执行程序代码 并在执行过程中查看变量的值 当发现变量的值并非如我们预期或程序的执行逻辑并非我们预期时 就发现了错误 可以进行有针对性的改正 35 Run 运行 启动一个可执行程序使其开始执行称为运行 36 CodeBlocks编程环境 基本功能 创建新工程编辑源程序编译 连接运行调试 37 CodeBlocks编程环境 创建新工程 38 CodeBlocks编程环境 创建新工程 39 CodeBlocks编程环境 创建新工程 40 CodeBlocks编程环境 创建新工程 41 CodeBlocks编程环境 编辑源程序 42 CodeBlocks编程环境 编译 连接 43 CodeBlocks编程环境 运行 44 CodeBlocks编程环境 调试 设断点 45 CodeBlocks编程环境 调试 运行 46 CodeBlocks编程环境 调试 看变量 47 CodeBlocks编程环境 调试 单步执行 48 程序示例P1000 POJ 1 计算两
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 社区营养知识分享创新创业项目商业计划书
- 虚拟现实烹饪课程与教学创新创业项目商业计划书
- 移动安全解决方案创新创业项目商业计划书
- 2025年福建国企招聘考试笔试试题(含答案)
- 自动化测试与验证平台创新创业项目商业计划书
- 2025年矿山无人作业技术智能矿山产业发展动态综述报告
- 2026届河北省迁西县一中化学高一第一学期期末复习检测模拟试题含解析
- 上海市徐汇中学2026届化学高三上期中学业水平测试模拟试题含解析
- 2025年Python二级考试专项训练试卷 知识点实战版
- 2025年注册电气工程师考试试卷 电气设计基础专项训练
- 6G多维度切片QoS保障-洞察及研究
- 老年人能力评估师考试题能力模拟题及答案
- 2025-2026学年外研版(三起)(2024)小学英语四年级上册教学计划及进度表
- 2025年安徽国控集团所属企业招聘7人笔试备考题库及答案解析
- 1.1认识社会生活(课件)- 2025-2026学年统编版道德与法治八年级上册
- 仓库盘盈盘亏处理方案(3篇)
- 胎盘早剥病例汇报
- 2025年四川省高考化学试卷真题
- 2025年书法级考试题及答案
- 2026版创新设计高考总复习物理(人教基础版)学生用-学生内文答案
- 硅橡胶取模护理操作流程
评论
0/150
提交评论