您好,欢迎访问三七文档
1第一讲C语言概述预备知识计算机组成和工作原理计算机语言和程序C语言的简史为什么学习和使用C语言C语言程序的开发过程C语言编程环境C语言编程实验环境C语言程序设计2计算机计算机(Computer)能进行计算和逻辑判断的设备在一组指令(instructions)——程序(programs)的控制下处理数据硬件(Hardware)组成计算机的各种物理部件键盘、鼠标、显示器、内存、硬盘、光驱等等软件(Software)计算机中运行的程序和数据C语言概述3计算机的组成计算机包括六大部件输入单元(Inputunit)从输入设备(键盘、鼠标)获得数据输出单元(Outputunit)把数据输出到输出设备(显示器、打印机等)内存(Memoryunit)临时存储正在处理的数据和运行的程序可以快速地访问容量不大C语言概述4计算机的组成中央处理单元(Centralprocessingunit,CPU)算术逻辑单元(Arithmeticandlogicunit,ALU)进行算术运算和逻辑判断控制器(Controlunit)管理和协调计算机的其它部件辅助存储器(Secondarystorageunit)保存需长期存储的数据和非活动的程序保存时间长价格便宜、容量大例如硬盘、光盘、磁带C语言概述5计算机的工作原理六大部件紧密协作C语言概述6计算机的工作原理CPU负责执行程序从内存中读取一条指令执行该指令从内存中读取下一条指令并执行……一个主频为1GHz的CPU可以在一秒钟内进行大约一亿次这样的操作CPU有自己的工作区:包括若干个寄存器(Registers)CPU只能理解有限的指令(CPU的指令集)指令能够完成的任务是具体的例如,把一个数从内存移动到某一个寄存器C语言概述7计算机程序和语言存储在计算机中的一切内容都是二进制的数字形式数据:数、字符、图片、声音、动画等等指令计算机程序确切告诉计算机如何完成某项任务的指令序列就是一套程序计算机语言用来编写程序C语言概述#includestdio.h#includemath.hvoidmain(){floata,b,c,p,disc,q,x1,x2;scanf(%f%f%f,&a,&b,&c);p=-b/(2*a);disc=b*b-4*a*c;q=sqrt(disc)/(2*a);x1=p+q;x2=p-q;printf(x1=%f,x2=%f,x1,x2);}0110001100000110011001011100110000001100000110110110001100000110011001011100110000001100000110118机器语言数字形式的指令码就是机器语言(Machinelanguage)用机器语言编写的程序能够被计算机直接理解和执行但是,编写程序非常费力例如,编写程序完成两个数相加的任务需要以下几步把地址为2000的内存单元中的数复制到寄存器1;把地址为2004的内存单元中的数复制到寄存器2;把寄存器2中的数与寄存器1中的数相加,结果保留在寄存器1中;把寄存器1中的数复制到地址为2008的内存单元中。C语言概述0110001100000110011001011100110000001100000110119汇编语言符号化的指令码就是汇编语言(Assemblylanguage)例如,完成两个数相加的汇编语言程序汇编语言程序必须被翻译成机器语言程序才能被执行汇编程序(Assembler)充当“翻译”C语言概述ldregn1,r1把变量n1的值复制到寄存器1(r1);ldregn2,r2把变量n2的值复制到寄存器2(r2);addr1,r2把r2中的数与r1中的数相加,结果保留在r1中;storer1,sum把r1中的数复制到变量sum。10高级语言高级语言(High-levellanguage)使用数学符号和类似英语的单词例如,完成两个数相加的C语言程序从多方面提高了编程效率不必考虑CPU的指令集不必考虑CPU实现特定任务的精确步骤采用接近人类思考问题的方式去书写程序高级语言程序必须被编译程序(Compiler)翻译成机器语言程序才能被执行C语言概述sum=n1+n2;11C语言的简史C语言的起源美国贝尔实验室的DennisRitchie在1972年开发的用于设计UNIX操作系统其前身是B语言(KenThompson于1970年为第一个UNIX系统开发的语言)C语言的标准美国国家标准化组织(ANSI)于1983年成立了一个委员会(X3J11),以确定C语言的标准。该标准(ANSIC)于1989年被正式采用,即C89。最新的标准是C99标准。目前,大多数C语言编译器没有完全实现C99的所有修改。C语言概述12为什么学习和使用C语言C语言的特点C语言是一种强大而灵活的语言,可以用来编写任意复杂的程序。C语言简洁、紧凑,使用方便、灵活。C语言程序效率高、运行速度快。C语言是可移植的。C语言很适合结构化程序设计,因而要求用户以功能模块的方式来思考问题。C语言具有自我扩展能力。C语言概述13为什么学习和使用C语言C与C++(C加加,see-plus-plus)贝尔实验室于二十世纪八十年代在C语言的基础上开发的。C++是C语言的超集,包含了C语言的所有内容,同时增加了面向对象编程方面的内容。C与Java(爪哇)Sun公司于1995年发布的面向对象编程语言。Java也是基于C语言的。C与C#(see-sharp)微软在2000年6月与.NET平台一同推出。C#也是从C语言派生的一种面向对象语言。C语言概述14C语言程序的开发过程一般分成五个步骤定义程序目标设计程序编写代码编译运行、测试和调试程序C语言概述15C语言程序的开发过程定义程序目标在开始解决问题之前,程序的开发人员必须彻底了解问题的是什么,对即将要创建的程序要做的事情有个清晰的想法。这需要仔细考虑以下问题程序需要什么信息程序需要执行哪些计算和操作程序应该报告什么信息例如,计算任意一个圆环的面积提出问题,明确目标圆环是什么?如何计算?计算精度?C语言概述16C语言程序的开发过程设计程序决定程序如何去解决问题。需要考虑如何给程序提供必要的数据程序中如何表示数据用什么方法来处理数据程序如何组织程序怎样报告结果完成这个程序需要多长时间应该用一般的概念考虑设计中的问题,而不是考虑具体的代码。C语言概述17C语言程序的开发过程编写代码编写代码来实现前面的设计,即用某一门语言来表示程序设计。需要开发人员熟练掌握该语言的知识。可以在草稿纸上勾画自己的想法或书写代码,但最终必须将代码输入计算机。输入代码所采用的机制则取决于具体的编程环境。一般来说,需要使用文本编辑器(例如Windows的记事本程序)来创建一种文件,称为源文件源文件包含程序设计的C语言表示形式(称为源程序或源代码)C语言概述18C语言程序的开发过程编译把C语言源程序转换成机器语言表示的程序。这种程序可以直接被计算机理解和执行,所以称之为可执行程序,放在可执行文件中。编译的具体细节取决于使用的编程环境。C语言分两步完成这一工作:编译和链接。编译器将源代码转换为目标代码,并存在目标文件中。链接器将目标代码与其他代码结合起来生成可执行文件。这种把编译和链接分开来做的方法便于程序的模块化。–可以分别编译程序的各个模块,然后用链接器把编译过的模块结合起来。–这样,如果需要改变一个模块,则不需要重新编译所有其他模块。C语言概述19C语言程序的开发过程运行、测试和调试程序运行包含可执行程序的文件,观察运行的结果。在不同的系统中运行程序的方式可能不同。例如,Windows的控制台和资源管理器。应该对程序进行仔细的检查,看程序是否在做该做的事。比较好的做法是为验证程序的正确性设计一个测试计划。越早做越好,因为它有助于理清程序员的思路。程序中的错误被称为bug,调试(Debug)就是要发现并修正错误。C语言概述20C语言的编程环境开发程序的具体操作取决于使用的编程环境因为C语言是可移植的,所以它在许多环境中都是可用的。例如UNIX、Linux、Windows和MS-DOS。C语言编程环境包括一系列程序。编辑器编译器链接器运行和调试环境C语言概述Hello.cHello.objHello.exe编辑器源代码编译器目标代码链接器可执行代码……启动代码库代码执行如果有错如果有错如果有错21C语言的编程环境编辑器使用一个文本编辑器程序输入源代码,并将代码保存在源文件中。一般,C程序的源文件名称的扩展名是.c例如welcometoyou.c和Hello.c。该名称应该遵循特定的操作系统的命名规则。例如,MS-DOS要求基本名包含的字符数不能大于8,所以welcometoyou.c不是合法的DOS文件名。Windows允许长文件名,所以welcometoyou.c是合法的Windows文件名。C语言概述Hello.c编辑器源代码22C语言的编程环境编译器编译器接收源文件,生成目标文件,扩展名为.obj或.o。编译器还会检查输入的程序是否是有效的C语言程序。如果编译器发现错误,就会报告出错,且不能生成可执行程序。这时就必须修改错误,然后再编译。显然,为了能迅速找到错误,理解特定编译器的报错信息是一项有用的技能。C语言概述Hello.cHello.obj编辑器源代码编译器目标代码如果有错23C语言的编程环境链接器目标代码虽然已经是机器代码,但还不能被执行。缺少下面两个东西启动代码:相当于程序和操作系统之间的接口。库函数的代码:库文件中包含许多函数的目标代码。链接器的作用就是将这三个元素(目标代码、启动代码和库代码)结合起来,并将它们放在一个文件中,即可执行文件,扩展名为.exe或.out。C语言概述Hello.objHello.exe目标代码链接器可执行代码……启动代码库代码如果有错24Windows的C语言编程环境Windows的C语言编程环境Windows并不包含C编译器,所以需要获得并安装一个C编译器。许多现代的编译器都是集成开发环境(或叫IDE)的一部分。包括一个编辑器、编译器、链接器和包括一个符号调试程序在内的运行支持系统。许多软件厂商都提供了基于Windows的集成开发环境Microsoft公司的VisualC/C++Borland公司的C/C++BuilderMetrowerks公司的CodeWarrior目前,大多数IDE把C和C++编译器结合在一起。C语言概述25DOS的C语言编程环境DOS的C语言编程环境基于DOS的IDEBorland公司的TurboCBorland公司的BorlandC++许多Windows上的IDE也提供了在DOS命令行环境中编程的命令行工具。C语言概述26C语言编程实验环境简介上机实验环境简介举例演示VisualC++6.0的基本操作启动创建源文件构建工程(编译、链接)运行程序C语言概述27小结C是一种通用的程序设计语言,具有许多突出的优点。程序设计的初学者应该严格按照C语言程序的开发过程进行训练,以便尽快掌握程序设计的基本原则。C是一种需要编译的高级语言。进行C语言编程的具体操作依赖于所使用的编程环境。程序设计是一门实践性很强的课程,在学习过程中必须十分重视实验环节。C语言概述《C语言程序设计教程》编写组2007年1月第二讲C语言快速入门29第二讲C语言快速入门C语言程序的基本结构C语言的字符集和关键字VisualC++6.0编程环境C语言程序设计30C语言程序的基本结构一个简单的C语言程序问题:在屏幕上显示一行文字:“HelloWorld!”源程序运行结果C语言快速入门/*在屏幕上显示HelloWorld!*/#includestdio.hvoidmain()/*定义主函数*/{printf(HelloWorld!\n);}HelloWorld!31C语言程序的基本结构一个简单的C语言程序程序结构分析C语言快速入门/*在屏幕上显示HelloWorld
本文标题:C语言课件()
链接地址:https://www.777doc.com/doc-3213196 .html