C语言第01章之C语言概述.ppt

上传人:tia****nde 文档编号:12706211 上传时间:2020-05-14 格式:PPT 页数:65 大小:2.50MB
返回 下载 相关 举报
C语言第01章之C语言概述.ppt_第1页
第1页 / 共65页
C语言第01章之C语言概述.ppt_第2页
第2页 / 共65页
C语言第01章之C语言概述.ppt_第3页
第3页 / 共65页
点击查看更多>>
资源描述
本章内容提要,为什么我们要学习C语言呢?1.1程序设计语言的发展及其特点、应用1.2学习C语言的方法1.3C语言程序的基本结构1.4编制C语言程序的基本步骤1.5TurboC上机操作具体步骤1.6课堂练习,重点!,1、为什么我们要学习C语言呢?,C语言的传奇历史游戏、黑客、图灵奖C语言教给我们的事不同专业的不同需求计算思维什么是“编程”,两个骨灰级游戏玩家,KenThompson江湖人称ken,DennisM.Ritchie江湖人称dmr,C语言和Unix操作系统的设计者,美国贝尔实验室,他们干了什么?,1969年,ken和dmr梦想能遨游宇宙ken设计了一款电子游戏“SpaceTravel”游戏在PDP-7小型机上开发,因为这台机器免费免费的机器没有操作系统玩游戏之前,先给PDP-7做个操作系统,命名为“UNIX”汇编编写UNIX太慢,又没有称手的高级语言,怎么办?dmr设计了一种新的高级语言,命名为“C语言”1983年,因为UNIX和C语言的巨大成功,ken和dmr共同获得当年度的计算机界最高奖图灵奖,DennisM.Ritchie与KenThompson接受美国国家技术勋章,Ken和dmr被尊为黑客的鼻祖,他们未对UNIX和C语言申请任何版权或专利UNIX和C语言是黑客世界里两大神器黑客精神做事情以兴趣为出发点,并不在乎未来会怎样极富钻研精神,喜欢迎接挑战乐于分享,不计回报,我们从TIOBE公司每个月以排名列表的形式更新发布的程序设计语言流行度可以看出,C语言的流行趋势。,TIOBE(TheImportanceOfBeingEarnest)成立于2000年10月1日,它主要关注于软件质量的评估,由瑞士的公司Synspace和一些独立的投资人创建。,C语言“好”吗?,C诡异离奇,缺陷重重,并获得巨大成功,C语言的爱与恨,爱信任程序员给程序员最大的发挥空间运行效率高,恨无限制的自由如程序员不自我约束,代码将是灾难不安全不稳定不易于维护,如同按名称向保管员索取物料和直接从某仓库的某货架中拿取物料,HIT-CProgramming,C程序设计语言,是一种高级语言并不“高级”,只是相对低级语言在一个高的级别上进行编程实际上是一种介于高级语言和低级语言之间的语言历史悠久,战勋卓著诞生于20世纪70年代初,成熟于80年代很多重量级软件都是用C语言写的上天入地,无所不能几乎没有不能用C语言实现的软件,没有不支持C语言的系统很多流行语言、新生语言都借鉴了它的思想、语法从C+,到Java,再到C#,C语言适合做什么,选语言的标准是,适合的才是最好的编写操作系统和基础工具对运行效率要求较高的系统设备驱动程序,高性能、实时中间件,嵌入式领域,并发计算或控制程序设计、通信、控制、自动化领域等继承和维护已有的C代码交流、笔试、面试时最常见的语言,C语言的应用非常广,也非常多,在此仅列出其中的一些应用:C语言可以用来开发许多系统软件和大型应用软件。如UNIX,LINUX等操作系统。在软件需要对硬件进行操作的场合,用C语言明显优于其它高级语言。例如,各种硬件设备的驱动程序(象显卡驱动程序、打印机驱动程序等)一般都是用C语言编写的。在图形、图像及动画处理方面,C语言具有绝对优势,特别是游戏软件的开发主要就是使用C语言。随着计算机网络飞速发展,特别是Internet的出现,计算机通信就显得尤其重要,而通信程序的编制首选就是C语言。C语言适用于多种操作系统,象WINDOWS、UNIX、LINUX等绝大多数操作系统都支持C语言,其它高级语言未必能得到支持,所以在某个特定操作系统下运行的软件用C语言编制是最佳选择。,C语言适合做什么,C,C+,Java,C#,面向过程,市场份额逐渐减少,仅在小型的且追求运行效率的软件和嵌入式软件开发方面有一定空间,面向对象,市场份额较大,属C语言的升级版,完全兼容C语言的语法。在很多场合,它俩也被放在一起,称为C/C+。这个“+”加上后,便是大名鼎鼎的“面向对象(ObjectOriented)”。,面向对象,市场份额较大,1995年Sun公司出品,以纯面向对象、平台无关和易学易用而著称。它全面照搬了C+的语法,并去掉了其不常用和不成功的部分,化繁为简,迅速博得了程序员们的认可,获得了越来越多的支持。不管是桌面应用,还是网络服务、嵌入式应用都可用它进行高效的开发。但如果要做底层的、占用资源少的程序,Java语言就无能为力了。,面向对象,市场份额较大,2000年Microsoft公司出品,读作CSharp。戏称其为C+,它也照搬了C/C+的语法,诞生在Java语言之后,所以它能把Java语言的成功之处吸收进来,把不成功之处抛弃,打造了一个似Java而非Java,还有点超越Java的语言。,目前,C/C+、Java和C#语言即将形成三足鼎立之势,其他语言仅能在其专属领域里得以发挥作用。同时,C+,Java和C#语言也在不断地完善、扩充自身,极力挤压其他语言的空间。在这种情况下,C语言的空间变得越来越小,那么为什么还要学习C语言呢?,C语言可以说是C+、Java和C#语言的基础,还有很多专用语言也学习和借鉴了C语言,比如进行Web开发的PHP语言,做仿真的MATLAB的内嵌语言等。学好C语言对以后再学习其他语言大有帮助。计算机科学发展很快,若干年以后,什么技术、什么语言尽显风流无法预言。唯有掌握最基础的,才能以不变应万变,并立于不败之地。,C语言与C+、Java和C#之间的关系,了解程序设计语言的发展及其特点;掌握机器语言、汇编语言和高级语言的差异;掌握C语言程序的基本结构;掌握编写C程序的基本步骤和调试过程。,另外,本章我们将带领大家来实际感受一下C语言程序是一个什么样子,它的结构特点是什么,这是我们进行C语言程序设计必须遵循的规范。最后,我们应该掌握的是如何来编写和调试一个C语言程序,这是我们每一个C语言程序员所必须具备的基本功。,学习的意义,学习目标,学习内容,C语言程序的基本结构编制C语言程序的基本步骤,了解历史抓住现在展望未来,流行的语言,应用编程语言机器语言汇编语言BasicPascalCC+JavaC#专项编程语言LotusNotesPowerBuilder,Web编程语言HTMLXMLPHPASPJSPJavaScriptVBScript其他perlpythonVBA,C程序设计语言,硬件(Hardware),操作系统(OS),应用程序(Application),应用平台,基于平台的应用程序,低级语言的地盘,高级语言的地盘,C语言的地盘,1.1程序设计语言的发展及其特点,CPU指令系统,由0、1序列构成的指令码组成如:10000000加10010000减,用助记符号描述的指令系统如ADDA,B,面向机器的语言,程序设计是数据被加工的过程,客观世界可以分类,对象是类的实例对象是数据和方法的封装对象间通过发送和接受消息发生联系,程序设计关键是定义类,并由类派生对象,C语言发展史,ALGOL60语言,CPL语言,CombinedProgrammingLanguage,1963年,剑桥大学,BCPL语言,1967年,剑桥大学的MatinRichards对CPL语言进行了简化,B语言,C语言,1970年,美国贝尔实验室的KenThompson将BCPL进行了修改,将CPL语言煮干,提炼出它的精华,1973年,B语言也给人“煮”了一下,美国贝尔实验室的D.M.RITCHIE在B语言的基础上最终设计出了一种新的语言,BCPL的第二个字母作为这种语言的名字,这就是C语言,C语言版本,C语言有不同的版本,常用的编译软件有MicrosoftVisualC+、BorlandC+、BorlandC+Builder、WatcomC+、GNUDJGPPC+、Lccwin32C、MicrosoftC、TurboC、HighC等等。,本课程的内容将基于ANSIC进行展开,主要是针对TurboC2.0。,C语言的特点,简洁紧凑、灵活方便运算符丰富数据结构丰富C是结构式语言C语法限制不太严格、程序设计自由度大C语言允许直接访问物理地址,可以直接对硬件进行操作C语言程序生成代码质量高,程序执行效率高C语言适用范围大,可移植性好具有预处理功能具有递归功能,C语言一共只有30多个关键字,9种控制语句,程序书写自由,主要用小写字母表示。它把高级语言的基本结构和语句与低级语言的实用性结合起来。C语言可以象汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。,C的运算符包含的范围很广泛,共有种34个运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C的运算类型极其丰富表达式类型多样化,灵活使用各种运算符可以实现在其它高级语言中难以实现的运算(具体见后面的章节)。,C的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、联合体类型等。能用来实现各种复杂的数据类型的运算。并引入了指针概念,使程序效率更高。另外C语言具有强大的图形功能,支持多种显示器和驱动器。且计算功能、逻辑判断功能强大。,结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。,一般的高级语言语法检查比较严,能够检查出几乎所有的语法错误。而C语言允许程序编写者有较大的自由度。,C语言既具有高级语言的功能,又具有低级语言的许多功能,能够象汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元,可以用来写系统软件。,一般只比汇编程序生成的目标代码效率低1020%。,C语言有一个突出的优点就是适合于多种操作系统,如DOS、WINDOWS、UNIX。也适用于多种机型,在一种计算机上编写的程序,无须修改或经过很少的修改,就可以在其它类型的计算机上运行。,C语言提供了预处理器,程序可以利用宏指令提高可读性和可移植性。,C语言允许递归调用,在解决递归问题上具有独特优势。,1.2学习C语言的方法,1、熟练掌握C语言的语法:世界上所有的语言都有其特定的语法,只有遵守语法约定的语句,才能让别人理解你要表达的意思。2、C语言程序设计是一门实践性特强的技术必须做到课前预习,听课专注,课后巩固;初学时,必须读懂教科书上的每一个例子;简单的程序,可以通过模仿例子来写;学习过程中,要多思考,编写程序前,按照讲稿中介绍的的方法,表达出问题的求解思路;尽量独立完成练习,必要时可相互讨论;自己编写的程序,必须通过机器验证;要善于总结,1、实际上学习C语言,最初是应该先学习C语言的基础语法.也就是学习C语言的组成部分.2、如果你每天能花4个小时安静的,用心去学习的话,30天之内你应该可以掌握C语言了3、你可以在Internet上下载一个文件(C语言经典例题.chm),里面大致包含了上百个经典的例题.每一个例题都是C语言某部分的典型应用.花时间把这个文件中的所有例题代码研究一下,最好能自己把代码改善,以自己的方式来求解.以后你会发现你在写一些应用程序的时候经常会有一些算法.会涉及到我之前提到的例题.最后我认为你可以自己来写C语言标准函数,比如strcpy();strlen();strcat();最好不要过分依赖库函数.,学习C语言的参考书,1、轻松学习C程序设计揭开计算机与程序设计的奥秘何勤著中国电力出版社2008.82、C语言程序设计苏小红、王宇颖、孙志刚等编著高等教育出版社2011.43、C程序设计题解王柏盛主编高等教育出版社2004.14、C程序设计试题汇编谭浩强主编清华大学出版社5、全国计算机等级考试指定教材辅导二级教程应试指导及模拟试题集C程序设计全国计算机等级考试命题研究组编中国大地出版社6、C专家编程徐波译人民邮电出版社7、C陷阱与缺陷高巍译人民邮电出版社,1.3C语言程序的基本结构,了解了C语言的基本特性及其应用以后,接下来就来看看C语言程序是什么样子。一个C语言程序可以是非常简单的,也可以是特别复杂的,这取决于程序所要实现的功能。我们先来认识一个最为简单的C程序。,【例1】最简单的C程序。,/*ThisisthefirstCprogram*/#includevoidmain()printf(HelloCLanguage!n);,运行结果:HelloCLanguage!,在C程序中,注释由“/*”开始,由“*/”结束,可以实现多行注释。在C+程序中也可使用“/”进行单行注释。例如:/注释信息,C语言的预处理命令都是以“#”号开头。stdio.h是一个头文件,C程序中允许插入若干行空行,它不影响程序的功能,同注释一样。为了程序的易读性,在编写C程序时,根据需要可插入一定的空行,main是主函数名,一个C语言程序有且仅有一个main函数。C程序执行时就是从main函数开始,具体讲就是从“”开始,到“”结束。,printf是C语言的内部函数名,因为它后面跟着(),其功能是将“HelloCLanguage!n”显示在计算机的屏幕上(双引号和n不显示),C语言规定:语句以分号结束,1.3C语言程序的基本结构,【例2】计算输入的两个整数的和。,/*ThisisthesecondCprogram*/#includevoidmain()intx,y,z;scanf(%d%d,1.3C语言程序的基本结构,C语言程序的函数由两部分构成:一部分定义变量(变量代表数据),称为声明部分;另一部分代表操作,由C语句构成,称为执行部分。在C程序中,要求函数的声明部分在前面,执行在后面,它们的顺序不能颠倒,也不能交叉。,/C语言程序voidmain()inta;a=10;intb;b=a+20;,/C或C+语言程序voidmain()inta;intb;a=10;b=a+20;,再次强调:在C语言程序中,变量必须先定义,后使用,顺序不能颠倒!,1.3C语言程序的基本结构,【例3】计算输入的两个整数的最大值。,/*ThisisthethirdCprogram*/#includeintmax(inta,intb);voidmain()intx,y,z;scanf(%d%d,intmax(inta,intb)intc;if(ab)c=a;elsec=b;return(c);,自定义函数max,假设输入:1020运行结果:max=20,1.3C语言程序的基本结构,C语言的标识符,C语言中变量和函数都有自己的名字,它们都必须是合法的标识符。标识符就是一个名字,C语言规定标识符只能由字母、数字和下划线三种字符构成,并且第一个字符必须是字母或下划线。C语言是大小写敏感的语言,因此hello和Hello是不同的标识符。C语言中有一些特别的标识符,它们的用途已经事先规定好了,程序员不能再将它们另做它用。这些特别的标识符被称为关键字(保留字的一部分)。到目前为止,我们见过的关键字有void、int、main、if、else、return。以后随着学习的深入,我们将会遇到越来越多的关键字(C语言关键字可参考附录B)。,1.3C语言程序的基本结构,总结,C程序是由多个函数构成的。每个C程序中有且只有一个main函数。main函数是程序的入口和出口。不使用行号,无程序行的概念。程序中可使用空行和空格。C程序格式常用锯齿形书写格式。C程序中可加任意多的注释。引用C语言标准库函数,一般要用文件包含预处理命令将其头文件包含进来。用户自定义的函数,必须先定义后使用。变量必须先定义后使用。变量名、函数名必须是合法的标识符,标识符习惯用小写字母,大小写敏感。不能用关键字来命名变量和函数。函数包含两个部分:声明部分和执行部分,在C程序中,声明部分在前,执行部分在后,这两部分的顺序不能颠倒,也不能有交叉。C语言的语句都是以分号结尾。,HIT-CProgramming,通过本学期的学习,我们可以达到什么目标呢?,2、用C语言编写程序求解基本的应用问题。,3、通过省二级水平考试。,1、培养逻辑思维,提高分析和解决问题的能力。,C编程题.pdf,HIT-CProgramming,程序开发步骤,Whatistobedone?,可执行文件扩展名为.exe的文件,Howisittobedone?,扩展名为.c的文件(对C语言而言),扩展名为.obj的文件,HIT-CProgramming,究竟谁是小偷?甲、乙、丙、丁四个嫌疑人中只有一个是小偷,在审讯中,4人都可能说真话,也可能说假话。甲说:乙没偷,丁偷的;乙说:我没偷,丙偷的;丙说:甲没偷,乙偷的;丁说:我没偷。,设A、B、C、D四个变量,分别代表甲、乙、丙、丁四个人,取值0表示对应的人不是小偷,1表示对应的人是小偷。,main()intA,B,C,D;for(A=0;A2;A+)for(B=0;B2;B+)for(C=0;C2;C+)for(D=0;D2;D+)if(B=0,1.4编制C语言程序的基本步骤,编辑,程序代码的录入,生成源程序*.c,编译,语法分析查错,翻译生成目标程序*.obj,链接,与其它目标程序或库链接装配,生成可执行程序*.exe,运行,编写C程序的步骤,习题:P13习题一【习题1-1】【习题1-5】,1.5C程序的编译环境,VisualC+Windows平台上最流行的C/C+集成开发环境之一Code:Blocks(简称CBhttp:/www.codeblocks.org)是近年出现并获得关注的C/C+开发环境CB的功能远远优于TC,也优于VC6.0CB只是一个IDE(集成开发环境),没有内置的编译器和调试器但可以支持多种编译器(不包括TC),例如GCC编译器和GDB调试器TurboC2.0(或WIN-TC),1.6TurboC上机操作具体步骤,单击C:tc目录下的tc.exe或者单击tc.exe的快捷方式既可打开tc集成环境,C语言程序的开发和运行,编辑,建立源文件file.c,生成目标文件file.obj,生成执行文件file.exe,执行文件file.exe,1.启动TC2.编辑、建立源文件3.编译源程序4.运行源程序,开发和运行C程序的步骤,TurboC2.0环境介绍,继续,继续,继续,继续,连接程序,生成执行文件(.exe),继续,编辑、建立源文件,文件菜单(File)Load命令,装入文件。New命令,建立新文件。Save命令,保存文件。Writeto命令,写文件(另存文件)。Quit命令,退出TC。文件扩展名默认为.C。,新建或打开C源程序文件,继续,继续,编译源程序,编译菜单(Compile)方式一:Compileto.OBJ命令,将源文件编译成目标文件(.obj)。Link.EXEfile命令,连接库文件(函数)后,生成可执行文件(.exe)。方式二:Make.EXEfile命令,一次完成编译、连接,直接生成可执行文件(.exe)。,编译程序,继续,继续,连接程序,继续,继续,运行源程序,运行菜单(Run)Run命令,运行程序。UserScreen命令,查看程序结果。,运行程序,继续,进入用户窗口,查看程序运行结果,继续,用户窗口显示程序运行结果,按任意键退出。,继续,程序编译过程中出错:,继续,对程序的错误进行编辑、修改存盘重新编译、连接、运行、查看运行结果,继续,动态调试,单步跟踪F8程序执行一步Ctrl+F7打开监视窗口断点跟踪Ctrl+F8设置/清除断点Ctrl+F7监视中间结果,1.8VisualC+上机操作具体步骤,在编译之前,VC先弹出对话框,询问是否建立一个默认的项目工作区。VC必须有项目才能编译,所以这里必须选择“Yes”。系统在保存.c文件的目录里自动生成与C源文件同名的.dsw和.dsp等文件。以后可直接打开这些文件来修改程序,不必再重复上面的过程,1.9课堂练习,1.一个C程序的执行是从_。A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束,2.源程序program.c经编译产生的目标文件和连接后产生的可执行文件是_。A)program.bak和program.objB)program.obj和progam.exeC)program.ext和program.cD)program.bak和program.exe,3.TurboC中完成一次编译和连接的快捷方式是_。A)Alt+F9B)Ctrl+F9C)F9D)Alt+F5,A,B,C,
展开阅读全文
相关资源
相关搜索

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


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

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


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