西电C语言课件01C语言概述

上传人:工**** 文档编号:576527993 上传时间:2024-08-20 格式:PPT 页数:42 大小:238KB
返回 下载 相关 举报
西电C语言课件01C语言概述_第1页
第1页 / 共42页
西电C语言课件01C语言概述_第2页
第2页 / 共42页
西电C语言课件01C语言概述_第3页
第3页 / 共42页
西电C语言课件01C语言概述_第4页
第4页 / 共42页
西电C语言课件01C语言概述_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《西电C语言课件01C语言概述》由会员分享,可在线阅读,更多相关《西电C语言课件01C语言概述(42页珍藏版)》请在金锄头文库上搜索。

1、Programming in CProgramming in C西安电子科技大学 - Xidian University 1C第第1讲讲 C 语言概述语言概述Programming in CProgramming in C西安电子科技大学 - Xidian University 2提 纲编程语言分类C 语言简介程序设计的基本概念简单 C 程序介绍程序设计的基本流程小结Programming in CProgramming in C西安电子科技大学 - Xidian University 3开篇:编程语言的分类编程语言经历了漫长的发展道路,下面就编程语言的分类和发展作一简要介绍。Programm

2、ing in CProgramming in C西安电子科技大学 - Xidian University 4按发展历程分类机器语言:计算机直接识别的语言,这种语言使用代码。汇编语言:属于低级语言,使用助记符号代替。汇编语言需要编译后机器才能识别。效率高,难记。高级语言:采用命令或者语句的语言。例如C,C+,Java,Pascal,Basic等。Programming in CProgramming in C西安电子科技大学 - Xidian University 5按执行方式分类编译执行语言编译执行是在编写完程序以后,通过特定的工具软件将源程序转换成可执行程序,直接交由操作系统执行,即程序作为

3、一个整体执行。例如C,C+语言。解释执行语言解释执行是程序读入一句执行一句,而不需要整体编译链接。例如Java,Basic语言。Programming in CProgramming in C西安电子科技大学 - Xidian University 6按软件设计方法分类面向过程的程序设计语言 面向过程的程序设计语言注重数据结构和算法,研究采用什么样的数据结构描述问题,采用什么样的算法来高效解决问题。例如Basic,Fortran,Pascal,C 等。面向对象的程序设计语言面向对象以一种更接近人类一般思维的方式去看待世界,将世界上的任何一个个体看作一个对象。提高程序的重用性。例如Java,Sm

4、alltalk,C+等。Programming in CProgramming in C西安电子科技大学 - Xidian University 71.1 C语言出现的历史背景C语言是国际上广泛流行的计算机高级语言,既可用来写系统软件,也可用来写应用软件。Programming in CProgramming in C西安电子科技大学 - Xidian University 81.1 C语言出现的历史背景C 语言简史Ritchie & Kernighan(Bell Labs.)从 B 语言脱胎而来为开发 UNIX 而设计Programming in CProgramming in C西安电子科

5、技大学 - Xidian University 91.1 C语言出现的历史背景C语言是在B语言的基础上发展起来的,它的根源可以追溯到ALGOL 60。1960年出现的ALGOL 60是一种面向问题的高级语言,它离硬件比较远,不宜用来编写系统程序。1963年英国的剑桥大学推出了CPL (combined programming language)语言。CPL语言在ALGOL 60的基础上接近硬件一些,但规模比较大,难以实现。Programming in CProgramming in C西安电子科技大学 - Xidian University 101.1 C语言出现的历史背景1967年英国剑桥大

6、学的Matin Richards对CPL语言做了简化,推出了BCPL (basic combined programming language) 语言。1970年美国贝尔实验室的Ken Thompson 以BCPL语言为基础,又做了进一步简化,设计出了很简单的而且很接近硬件的B语言 (取BCPL的第一个字母), 并用B语言写了第一个UNIX操作系统,在PDP7上实现。1971年在PDP11/20上实现了B语言,并写了UNIX操作系统。但B语言过于简单,功能有限。Programming in CProgramming in C西安电子科技大学 - Xidian University 111.1

7、C语言出现的历史背景最初的C语言只是为描述和实现UNIX操作系统提供一种工作语言而设计的。1973年,Ken.Thompson和Dennis M.Ritchie两人合作把UNIX的90%以上用C改写,即UNIX第5版。注1:原来的UNIX 操作系统是1969年由美国的贝尔实验室的Ken.Thompson和Dennis M.Ritchie开发成功的,是用汇编语言写的。注2: Ken.Thompson 和Dennis M.Ritchie因为其在unix操作系统方面的贡献而在1983年获得图灵奖。Programming in CProgramming in C西安电子科技大学 - Xidian Un

8、iversity 121.1 C语言出现的历史背景1972年至1973年间,贝尔实验室的Dennis M.Ritchie 在B语言的基础上设计出了C语言(取BCPL的第二个字母)。C语言既保持了BCPL和B语言的优点(精练,接近硬件),又克服了它们的缺点(过于简单,数据无类型等)。Programming in CProgramming in C西安电子科技大学 - Xidian University 131.1 C语言出现的历史背景后来,C语言多次做了改进,但主要还是在贝尔实验室内部使用。直到1975年UNIX第6版公布后,C语言的突出优点才引起人们的普遍注意。1977年出现了不依赖于具体机器

9、的C语言编译文本可移植C语言编译程序,使C移植到其他机器时所需做的工作大大简化了,这也推动了UNIX操作系统迅速地在各种机器上实现。例如VAX、 AT&T等计算机系统都相继开发了UNIX。随着UNIX的日益广泛使用,C语言也迅速得到推广。C语言和UNIX可以说是一对孪生兄弟,在发展过程中相辅相成。1978年以后,C语言已先后移植到大、中、小、微型机上,已独立于UNIX和PDP了。现在C语言已风靡全世界,成为世界上应用最广泛的几种计算机语言之一。Programming in CProgramming in C西安电子科技大学 - Xidian University 141.1 C语言出现的历史背

10、景以1978年发表的UNIX第7版中的C编译程序为基础,Brian W.Kernighan和Dennis M.Ritchie (合称K&R)合著了影响深远的名著The C Programming Language,这本书中介绍的C语言成为后来广泛使用的C语言版本的基础,它被称为标准C。1983年,美国国家标准化协会(ANSI)根据C语言问世以来各种版本对C的发展和扩充,制定了新的标准,称为ANSI C。 ANSI C比原来的标准C有了很大的发展。K & R在1988年修改了他们的经典著作The C Programming Language,按照 ANSI C 标准重新写了该书。1987年,AN

11、SI又公布了新标准87 ANSIC。Programming in CProgramming in C西安电子科技大学 - Xidian University 151.1 C语言出现的历史背景1990年,国际标准化组织ISO(International Standard Organization) 接受87 ANSI C为ISO C 的标准(ISO 98991990)。目前流行的C编译系统都是以它为基础的。目前广泛流行的各种版本C语言编译系统虽然基本部分是相同的,但也有一些不同。在微型机上使用的有Microsoft C、 Turbo C、 Quick C、BORLAND C等,它们的不同版本又略

12、有差异。Programming in CProgramming in C西安电子科技大学 - Xidian University 161.1 C语言出现的历史背景C 语言简史Ritchie & Kernighan(Bell Labs.)从 B 语言脱胎而来为开发 UNIX 而设计Programming in CProgramming in C西安电子科技大学 - Xidian University 171.2 C语言的特点一种语言之所以能存在和发展,并具有生命力,总是有其不同于(或优于)其他语言的特点。C语言的主要特点如下。Programming in CProgramming in C西安电

13、子科技大学 - Xidian University 181.2 C 语言特点中级语言:介于高级语言与低级语言之间高级语言的结构化与模块化低级语言的控制性与灵活性结构化顺序结构、分支结构、循环结构模块化函数、函数库可移植性Programming in CProgramming in C西安电子科技大学 - Xidian University 191.2 C语言的特点 (1) 语言简洁、紧凑,使用方便、灵活。C语言一共只有32个关键字,9种控制语句,程序书写形式自由,主要用小写字母表示,压缩了一切不必要的成分。下面将C与PASCAL语言做一比较。 (2) 运算符丰富。C的运算符包含的范围很广泛,共

14、有34种运算符。C把括号、赋值、强制类型转换等都作为运算符处理,从而使C的运算类型极其丰富,表达式类型多样化。灵活使用各种运算符可以实现在其他高级语言中难以实现的运算。Programming in CProgramming in C西安电子科技大学 - Xidian University 201.2 C语言的特点(3) 数据结构丰富,具有现代化语言的各种数据结构。C的数据类型有整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据结构(如链表、树、栈等)的运算。尤其是指针类型数据,使用起来比PASCAL更为灵活、多样。(4) 具有结构化的控制语句(如ifel

15、se语句、while语句、dowhile语句、switch语句、for语句)。用函数作为程序的模块单位,便于实现程序的模块化。C是良好的结构化语言, 符合现代编程风格的要求。Programming in CProgramming in C西安电子科技大学 - Xidian University 211.2 C语言的特点(5) 语法限制不太严格,程序设计自由度大。例如对数组下标越界不做检查,由程序编写者自己保证程序的正确。对变量的类型使用比较灵活,例如整型数据与字符型数据可以通用。一般的高级语言语法检查比较严,能检查出几乎所有的语法错误。而C语言允许程序编写者有较大的自由度,因此,放宽了语法检查

16、。程序员应当仔细检查程序,保证其正确,而不要过分依赖C编译程序去查错。“限制”与“灵活”是一对矛盾。限制严格,就失去灵活性;而强调灵活,就必然放松限制。一个不熟练的编程人员,编一个正确的C程序可能会比编一个其他高级语言程序难一些。也就是说,对用C语言的人,要求对程序设计更熟练一些。Programming in CProgramming in C西安电子科技大学 - Xidian University 221.2 C语言的特点(6) C语言能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。因此C既具有高级语言的功能,又具有低级语言的许多功能,可用来写系统软件。C语言的这

17、种双重性,使它既是成功的系统描述语言,又是通用的程序设计语言。Programming in CProgramming in C西安电子科技大学 - Xidian University 231.3程序设计的基本概念Programming in CProgramming in C西安电子科技大学 - Xidian University 241.3 程序设计的基本概念程 序一系列遵循一定规则并能正确完成特定功能的代码或指令序列通常包括数据结构与算法两部分程序设计与程序设计语言程序设计:按照任务需要,设计数据结构与算法,编写代码并测试其正确性,得到正确运行结果的过程程序设计方法学:程序设计应遵循一定的

18、方法与原则,养成良好的编程风格程序设计语言:编写程序代码的规范,具有特定的语法规则、意义与使用环境Programming in CProgramming in C西安电子科技大学 - Xidian University 251.3 程序设计的基本概念算 法问题的求解方法与步骤不允许存在二义性算法设计过程是逐步求精的常使用流程图描述算法数据与数据结构数据:程序操作的对象数据结构:数据对象之间的相互关系及构造方法与算法关系密切,良好的数据结构可使算法更简单,恰当的算法可使数据结构更易理解Programming in CProgramming in C西安电子科技大学 - Xidian Univer

19、sity 261.4 简单的C程序介绍下面先介绍几个简单的C程序,然后从中分析C程序的特性。Programming in CProgramming in C西安电子科技大学 - Xidian University 271.4 简单的C程序介绍例1.1 编写程序,显示字符串 Hello World! #include int main() printf( Hello World!n ); return 0;主函数的函数头,全局惟一主函数的函数头,全局惟一预编译指令,包含标准头文件预编译指令,包含标准头文件函数体,花括号内为语句序列函数体,花括号内为语句序列标准库函数,在输出设备(一般为屏幕)上输

20、出一行文本标准库函数,在输出设备(一般为屏幕)上输出一行文本函数调用,需要了解该函数原型,即函数如何使用的细节信息;函数调用,需要了解该函数原型,即函数如何使用的细节信息;printf 函函数原型位于数原型位于stdio.h中,故需包含该头文件中,故需包含该头文件双引号内为字符串内容;双引号内为字符串内容;n为转义字符,表示换行为转义字符,表示换行分号表示语句结束分号表示语句结束函数结束执行,程序退出函数结束执行,程序退出Programming in CProgramming in C西安电子科技大学 - Xidian University 281.4 简单的C程序介绍例 1.2main (

21、)/*求两数之和*/ int a,b,sum; /*这是定义变量*/ a=123; b=456; /* 以下3行为C语句 */ sum=a+b; printf (sum is %d/n, sum); Programming in CProgramming in C西安电子科技大学 - Xidian University 291.4 简单的C程序介绍例1.3main ( )/* 主函数*/ int a, b, c; /*声明部分,定义变量*/ scanf (“%d,%d”,&a,&b); /*输入变量a和b的值*/ c=max (a,b);/*调用max函数,将得到的值赋给c*/ printf

22、(max=%d,c); /*输出c的值*/Programming in CProgramming in C西安电子科技大学 - Xidian University 301.4 简单的C程序介绍int max(int x,int y) /* 定义max函数,函数值为整型, 形式参数x,y为整型*/ int z; /* max函数中的声明部分,定义本函数中用到的变量z为整型*/ if (xy) z=x; else z=y; return (z); /*将z的值返回,通过max带回调用处*/Programming in CProgramming in C西安电子科技大学 - Xidian Unive

23、rsity 311.4 简单的C程序介绍通过以上几个例子,可以看到:(1) C程序是由函数构成的。一个C源程序至少包含一个main函数,也可以包含一个main函数和若干个其他函数。因此,函数是C程序的基本单位。被调用的函数可以是系统提供的库函数(例如printf和scanf函数),也可以是用户根据需要自己编制设计的函数(例如,例1.3中的max函数)。C的函数相当于其他语言中的子程序,用函数来实现特定的功能。程序中的全部工作都是由各个函数分别完成的。编写C程序就是编写一个个函数。C的函数库十分丰富,ANSI C建议的标准库函数中包括100多个函数,Turbo C和MS C 4.0提供300多个

24、库函数。C的这种特点使得容易实现程序的模块化。Programming in CProgramming in C西安电子科技大学 - Xidian University 321.3 简单的C程序介绍(2) 一个C程序总是从main函数开始执行的,而不论main函数在整个程序中的位置如何(main函数可以放在程序最前头,也可以放在程序最后,或在一些函数之前,在另一些函数之后)。(3) C程序书写格式自由,一行内可以写几个语句, 一个语句可以分写在多行上。C程序没有行号,也不像FORTRAN或COBOL那样严格规定书写格式(语句必须从某一列开始书写)。Programming in CProgramm

25、ing in C西安电子科技大学 - Xidian University 331.3 简单的C程序介绍(4) 每个语句和数据定义的最后必须有一个分号。分号是C语句的必要组成部分。例如: c=a+b;分号不可少。即使是程序中最后一个语句也应包含分号(这是和PASCAL语言不同的)。Programming in CProgramming in C西安电子科技大学 - Xidian University 341.3 简单的C程序介绍(6) C语言本身没有输入输出语句。输入和输出的操作是由库函数scanf和printf等函数来完成的。C对输入输出实行“函数化”。由于输入输出操作牵涉到具体的计算机设备,

26、把输入输出操作放在函数中处理,就可以使C语言本身的规模较小,编译程序简单,很容易在各种机器上实现,程序具有可移植性。当然,不同的C语言系统需要对函数库中的函数作不同的处理。不同的C系统除了提供函数库中的标准函数外,还按照硬件的情况提供一些专门的函数。因此不同的系统所提供的函数个数和功能是有所不同的。(7) 可以用/*/对C程序中的任何部分作注释。一个好的、有使用价值的源程序都应当加上必要的注释,以增加程序的可读性。Programming in CProgramming in C西安电子科技大学 - Xidian University 35C 程序结构特点由一个或多个函数组成具有惟一一个主函数

27、main程序执行由主函数开始,其他函数由主函数调用或间接调用程序执行流程与函数定义顺序无关每个函数包含函数头与函数体两部分C 标准库包含大量库函数,程序员可直接使用库函数原型位于相应头文件中,使用函数前必须包含该头文件Programming in CProgramming in C西安电子科技大学 - Xidian University 361.5 C程序的上机步骤我们已经看到了一些用C语言编写的程序。为了使计算机能按照人们的意志进行工作,必须根据问题的要求,编写出相应的程序。Programming in CProgramming in C西安电子科技大学 - Xidian Universit

28、y 371.5 C程序的上机步骤所谓程序,就是一组计算机能识别和执行的指令。每一条指令使计算机执行特定的操作。程序可以用高级语言(例如QBASIC,FORTRAN,PASCAL,C等)编写。用高级语言编写的程序称为“源程序”(source program)。从根本上说,计算机只能识别和执行由0和1组成的二进制的指令,而不能识别和执行用高级语言写的指令。为了使计算机能执行高级语言源程序,必须先用一种称为“编译程序”的软件,把源程序翻译成二进制形式的“目标程序”, 然后将该目标程序与系统的函数库和其他目标程序连接起来,形成可执行的目标程序。Programming in CProgramming i

29、n C西安电子科技大学 - Xidian University 38程序设计的基本流程Programming in CProgramming in C西安电子科技大学 - Xidian University 39图1.1Programming in CProgramming in C西安电子科技大学 - Xidian University 401.4 C程序的上机步骤用Microsoft VC+ 6.0编译程序运行C程序的步骤:1、打开开发环境开始-程序-Microsoft Visual Studio 6.0 -Microsoft Visual C+ 6.02、创建工程 File -New-P

30、rojects-Win32 Console Application - 然后选择一个工作路径(例如d:liuhui)-填写工程名称(例如Test)-点击OK按钮-在新弹出的窗口上选择第一项,即创建一个空工程-点击OK按钮。这样你可以看到d:liuhuitest目录在你的机器上。3、创建源程序文件 File -New -Files -C+ Source File -选择正确的工程-填写文件名,并且选中“add to Project” 选项-点击OK。4、运行程序Build选项Programming in CProgramming in C西安电子科技大学 - Xidian University 41小结C 语言的发展历史与基本特点程序设计的基本概念程序、程序设计与程序设计语言、算法、数据与数据结构C 程序的基本结构与特点程序设计的基本流程编辑、编译、链接、测试(调试与执行)Programming in CProgramming in C西安电子科技大学 - Xidian University 42程序设计思维战略与战术先关注战略层面问题(程序逻辑)再关注战术层面问题(程序细节)细微之处邪魔藏也!程序流程框架程序代码的三分天下:输入、计算、输出

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号