第12章C语言概述课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第12章C语言概述课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 12 语言 概述 课件
- 资源描述:
-
1、1第第1 1章章 语言概述语言概述本章主要介绍本章主要介绍C语言程序的结构和书写,语言程序的结构和书写,以及以及Turbo C V2.0的基本操作。的基本操作。2本章内容本章内容1.1 C语言的发展简史语言的发展简史1.2 C语言的特点语言的特点1.3 简单的简单的C程序介绍程序介绍1.4 Turbo C V2.0的基本操作的基本操作1.5 程序设计与算法程序设计与算法1.6 如何学习本课程如何学习本课程31.1 C语言的发展简史语言的发展简史1.1.C C语言诞生的语言诞生的历史背景历史背景2.C2.C语言的语言的诞生及发展诞生及发展3.3.在微机上使用的语言编译系统有在微机上使用的语言编译
2、系统有Microsoft CMicrosoft C、Turbo C Turbo C、Borland CBorland C等。虽然它等。虽然它们的基本部分都是相同的,但还是有一些差异,们的基本部分都是相同的,但还是有一些差异,所以请大家注意自己所使用的编译系统的特点所以请大家注意自己所使用的编译系统的特点和规定(参阅相应的手册)。和规定(参阅相应的手册)。本课程选定的上机环境是本课程选定的上机环境是TC V2.0TC V2.0。4C语言诞生的历史背景语言诞生的历史背景 在在C语言诞生以前,系统软件主要是用语言诞生以前,系统软件主要是用汇编汇编语言语言编写的。由于汇编语言程序依赖于计算机硬编写的。
3、由于汇编语言程序依赖于计算机硬件,其可读性和可移植性都很差;但一般的高级件,其可读性和可移植性都很差;但一般的高级语言又难以实现对计算机硬件的直接操作(这正语言又难以实现对计算机硬件的直接操作(这正是汇编语言的优势),于是人们盼望有一种兼有是汇编语言的优势),于是人们盼望有一种兼有汇编语言汇编语言和和高级语言高级语言特性的新语言。特性的新语言。56许多著名的系统软件许多著名的系统软件,如如DBASE PLUS、DBASE 都是由都是由C 语言编写的。到上世纪语言编写的。到上世纪90年代,年代,C已经成为计算机专业学生的已经成为计算机专业学生的首选教学语言首选教学语言,并成,并成为一代程序员主要
4、工作语言。为一代程序员主要工作语言。90年代中期,随着年代中期,随着PC的普及和的普及和C+等面向对象等面向对象语言的出现,人们渐渐把视线转移到语言的出现,人们渐渐把视线转移到PC应用软件应用软件上,上,程序员们也开始习惯用面向对象这种更高级方式思程序员们也开始习惯用面向对象这种更高级方式思考和解决问题。大家对考和解决问题。大家对C强大的强大的底层控制底层控制能力失去能力失去兴趣,因为那些复杂的代码已经可以交给编译器去兴趣,因为那些复杂的代码已经可以交给编译器去实现,底层的操作已经完全可以交给实现,底层的操作已经完全可以交给类库类库和操作系和操作系统统API去进行,去进行,C语言逐渐失去了主流
5、编程语言的位语言逐渐失去了主流编程语言的位置。置。7进入进入21世纪,随着世纪,随着个人电子消费产品个人电子消费产品和和开源软开源软件件的流行,的流行,C语言再次焕发生机。由于语言再次焕发生机。由于C在底层控制在底层控制和性能方面的优势,使之成为芯片级开发(嵌入式)和性能方面的优势,使之成为芯片级开发(嵌入式)和和Linux平台开发的首先语言;在通信、网络协议、平台开发的首先语言;在通信、网络协议、破解、破解、3D引擎、操作系统、驱动、单片机、手机、引擎、操作系统、驱动、单片机、手机、PDA、多媒体处理、实时控制等领域,、多媒体处理、实时控制等领域,C正在用一正在用一行行代码证明它从行行代码证
6、明它从应用级应用级开发到开发到系统级系统级开发的强大开发的强大和高效。和高效。8C语言的诞生及其发展语言的诞生及其发展 语言是语言是贝尔实验室贝尔实验室于上世纪于上世纪70年代初研制年代初研制出来的,后来又被多次改进,并出现了多种版本。出来的,后来又被多次改进,并出现了多种版本。80年代初,美国国家标准化协会(年代初,美国国家标准化协会(ANSI),根),根据语言问世以来各种版本对语言的发展和扩据语言问世以来各种版本对语言的发展和扩充,制定了充,制定了ANSI C标准(标准(1989年再次做了修年再次做了修订)。订)。本课程以本课程以ANSI C新标准来介绍。新标准来介绍。91.2 语言程序的
7、特点语言程序的特点C语言同时具有汇编语言和高级语言的优势。语言同时具有汇编语言和高级语言的优势。(1)语言简洁、紧凑,使用方便、灵活)语言简洁、紧凑,使用方便、灵活(共只有(共只有32个关键字,个关键字,9种控制语句)。种控制语句)。(2)运算符极其丰富。)运算符极其丰富。(3)数据结构丰富,具有现代化语言的各)数据结构丰富,具有现代化语言的各种数据结构。种数据结构。(4)具有结构化的控制语句,用函数实现)具有结构化的控制语句,用函数实现程序的模块化。程序的模块化。程序演示程序演示1程序演示程序演示2程序文本程序文本1程序文本程序文本210(5)语法限制不太严格,程序设计自由度)语法限制不太严
8、格,程序设计自由度大,所以,程序员应仔细检查程序保证其正确大,所以,程序员应仔细检查程序保证其正确性,而不要过分依赖性,而不要过分依赖C编译系统去查错。编译系统去查错。如:对数组下标越界不作检查,整型数据如:对数组下标越界不作检查,整型数据与字符型数据可以通用。与字符型数据可以通用。11(6)C语言允许直接访问物理地址,能进语言允许直接访问物理地址,能进行位(行位(bit)操作,能实现汇编语言的大部分功)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。能,可以直接对硬件进行操作。所以,所以,C语言兼有高级语言和低级语言的特语言兼有高级语言和低级语言的特点,又称为点,又称为“中级语言中
9、级语言”,既可用来编写应用软,既可用来编写应用软件,又可用来编写系统软件。对操作系统和系统件,又可用来编写系统软件。对操作系统和系统实用程序以及需要对硬件进行操作的场合,用实用程序以及需要对硬件进行操作的场合,用C明显优越于其他高级语言。明显优越于其他高级语言。12(7)生成的目标代码质量高,程序执行效)生成的目标代码质量高,程序执行效率高。率高。(8)可移植性好(较之汇编语言),基本)可移植性好(较之汇编语言),基本上不作修改就能用于各种型号的计算机和各种操上不作修改就能用于各种型号的计算机和各种操作系统。作系统。以上现在还不能深刻理解,待本课程学完相以上现在还不能深刻理解,待本课程学完相信
10、大家就会有比较深的体会。信大家就会有比较深的体会。131.3 简单的简单的C程序介绍程序介绍1.简单简单C程序程序举例举例 2.通过以上例子,可以总结出:通过以上例子,可以总结出:(1)C程序是由函数程序是由函数构成构成的。的。(2)一个函数由函数的一个函数由函数的说明部分说明部分(函数首部)和(函数首部)和函函数体数体组成。组成。(3)一个一个C程序总是从程序总是从main函数开始函数开始执行执行。14(4)程序行的书写格式自由,既允许程序行的书写格式自由,既允许1行内写几条行内写几条语句,也允许语句,也允许1条语句分写在几行上。条语句分写在几行上。(5)所有语句都必须以分号所有语句都必须以
11、分号“;”结束,函数的最结束,函数的最后一个语句也不例外。后一个语句也不例外。(6)C语言本身没有语言本身没有I/O语句,语句,I/O实行实行“函数函数化化”。(7)可用可用/*/对对C程序中的任何部分作注释。程序中的任何部分作注释。“/*”和和“*/”必须成对使用,且必须成对使用,且“/”和和“*”、以及、以及“*”和和“/”之间不能有空格,否则都出错。之间不能有空格,否则都出错。3.程序的书写技巧程序的书写技巧15程序的书写技巧程序的书写技巧技巧:技巧:在源程序中,很多符号都是在源程序中,很多符号都是成对匹配成对匹配出现的,为出现的,为避免遗漏必须配对使用的符号,例如注释符号、避免遗漏必须
12、配对使用的符号,例如注释符号、函数体的起止标识符(花括号)、圆括号等等,函数体的起止标识符(花括号)、圆括号等等,在输入时,可连续输入这些起止标识符,然后再在输入时,可连续输入这些起止标识符,然后再在其中在其中进行插入进行插入来完成内容的编辑。在起止标识来完成内容的编辑。在起止标识符嵌套时,以及相距较远时,这样做更有必要。符嵌套时,以及相距较远时,这样做更有必要。16C程序是由函数构成的程序是由函数构成的1.一个一个C源程序至少包含一个函数(源程序至少包含一个函数(main函数),也可以函数),也可以包含一个包含一个main函数和若干其它函数。因此,函数是函数和若干其它函数。因此,函数是C程程
13、序的基本单位。序的基本单位。2.main()函数的作用,相当于其它高级语言中的主程序;函数的作用,相当于其它高级语言中的主程序;其它函数的作用,相当于子程序。其它函数的作用,相当于子程序。3.main函数由程序员自己定义,函数由程序员自己定义,main函数中使用的函数函数中使用的函数可以使自己编写的(如可以使自己编写的(如max案例中的函数),也可以是案例中的函数),也可以是系统提供的(库函数,如系统提供的(库函数,如printf函数、函数、scanf函数)。函数)。4.C的函数库十分丰富,可参见课本的附录了解。的函数库十分丰富,可参见课本的附录了解。Return17函数的说明部分(函数首部)
14、函数的说明部分(函数首部)例如,案例例如,案例1.2中的函数中的函数max(),其函数说明各部分如下所示。,其函数说明各部分如下所示。函数类型函数类型 函数名函数名 函数参数表函数参数表 int max (int x,int y )Return18函数体函数体在函数说明部分的下面、大括号(必须配对使用)在函数说明部分的下面、大括号(必须配对使用)内的部分。内的部分。函数体的构成:函数体的构成:(1)说明部分)说明部分说明语句部分由变量定义、变量说明等组成。说明语句部分由变量定义、变量说明等组成。(2)可执行语句部分)可执行语句部分 一般由若干条可执行语句构成。一般由若干条可执行语句构成。案例案
15、例1.2的的main()函数体如下所示。函数体如下所示。19main()int n1,n2;变量定义部分变量定义部分 printf(“Input the first number:”);scanf(“%d”,&n1);printf(“Input the second number:”);可执行语句部分可执行语句部分 函数体函数体 scanf(“%d”,&n2);printf(“max=%dn”,max(n1,n2);Return20程序的执行程序的执行 一个语言程序,总是从一个语言程序,总是从main()函数开始执行,函数开始执行,而不论其在程序中的位置。当主函数执行完毕时,而不论其在程序中的
16、位置。当主函数执行完毕时,亦即程序执行完毕。亦即程序执行完毕。Return21 一个完整的语言程序,是由一个一个完整的语言程序,是由一个main()函数(主函数(主函数)和若干个其它函数结合而成的,或仅由一个函数)和若干个其它函数结合而成的,或仅由一个main()函数构成。函数构成。例1.1 仅由仅由main()函数构成的语言程序。函数构成的语言程序。main()printf(“This is a C program.n”);程序演示程序演示程序运行结果:程序运行结果:This is a C program.22案例1.2 由由main()函数和函数和1个其它函数个其它函数max()构成的语言
17、程序。构成的语言程序。int max(int x,int y)int z;if(xy)z=x;else z=y;return(z);main()int num1,num2,c;printf(“Input the first integer number:”);scanf(“%d”,&num1);printf(“Input the second integer number:”);scanf(“%d”,&num2);c=max(num1,num2);printf(“max=%dn”,c);程序演示程序演示23改写改写案例案例1.2,交换,交换main()函数和函数和max()函数的前后位置,函数
18、的前后位置,源程序略。源程序略。程序演示程序演示程序运行情况:程序运行情况:Input the first integer number:6 Input the second integer number:9 max=9说明:说明:C语言程序总是从语言程序总是从main()函数开始执行,而不论函数开始执行,而不论main函数在整个程序中的位置如何。函数在整个程序中的位置如何。241.4 Turbo C V2.0的基本操作1.运行一个语言程序的一般过程运行一个语言程序的一般过程 2.TC的启动、退出与命令菜单的启动、退出与命令菜单 3.编辑并保存一个语言源程序编辑并保存一个语言源程序 4.编译、
19、连接编译、连接单个源程序文件单个源程序文件 5.运行与查看结果运行与查看结果 6.编辑下一个新的源程序编辑下一个新的源程序 251.运行一个语言程序的一般过程运行一个语言程序的一般过程 urbo 是一个集源程序编辑、编译、连接、运行是一个集源程序编辑、编译、连接、运行与调试于一体、与调试于一体、用菜单驱动的集成软件环境。用菜单驱动的集成软件环境。运行一个语言程序的一般过程:运行一个语言程序的一般过程:(1)启动)启动TC,进入,进入TC集成环境。集成环境。(2)编辑(或修改)源程序,源程序文件后缀一般为)编辑(或修改)源程序,源程序文件后缀一般为*.c,注意文件的保存。,注意文件的保存。(3)
20、编译。由编译程序将源程序编译成机器指令程序,)编译。由编译程序将源程序编译成机器指令程序,即目标程序。目标程序的文件名与相应的源程序同名,但即目标程序。目标程序的文件名与相应的源程序同名,但后缀为后缀为*.obj。如果编译成功,可进行下一步操作;否则,返回(如果编译成功,可进行下一步操作;否则,返回(2)修改源程序,再重新编译,直至编译成功。修改源程序,再重新编译,直至编译成功。26(4)连接。将目标程序和库函数或其它目标程序连接)连接。将目标程序和库函数或其它目标程序连接成了可执行的文件,文件名与相应的源程序同名,后缀为成了可执行的文件,文件名与相应的源程序同名,后缀为*.exe。如果连接成
展开阅读全文