C程序设计与实践第1章(课件).ppt
《C程序设计与实践第1章(课件).ppt》由会员分享,可在线阅读,更多相关《C程序设计与实践第1章(课件).ppt(35页珍藏版)》请在三一文库上搜索。
1、程序设计与实践,目录 第1章 C语言程序框架 1.1 C语言简介 1.2 简单C程序举例 1.3 C程序结构 1.4 C程序的编译和运行,第1章 C语言程序框架 1.1 C语言简介 一、C语言的产生与发展简史 C语言是一种得到广泛重视并普遍应用的程序设计语言,也是国际上公认的最重要的几种通用程序设计语言之一。它既可用来写系统软件,也可用来写应用软件,但与其他语言相比较还是更适合作为系统描述语言。随着面向对象等程序设计方法的产生和发展,以C语言为基础,后来又产生了目前应用比较广泛的C、C#、JAVA语言等。很多人认为学习C语言没什么必要,但是对于专业学习计算机的人来说却很重要,编者引用美国的K.
2、N.King在C语言程序设计:现代方法里对C语言作出的评价:“C语言不是编程语言的终结;然而,C语言却是每个软件开发人员都应该掌握的编程语言。”,C语言是在B语言的基础上发展起来的,B语言是1970年美国电话电报公司(AT&T)贝尔实验室的Ken Thompson设计的,较简单也较接近硬件,但B语言是一种解释性语言,功能上不够强,不能很好的适应系统程序设计的需要。 C语言诞生于1972年,由贝尔实验室的Dennis.M.Ritcbie设计,并首先在一台使用UNIX操作系统的DEC PDP11计算机上实现。C语言既继承了在它之前各种程序设计语言的优点,同时克服了它们的缺点,并由于用C语言设计实现
3、的UNIX操作系统的巨大成功,C语言也随之推广改进,而被广泛移植到各种机器上。 1978年,贝尔实验室的Brian.W.Kernighan和Dennis.M.Ritchie(合称K&R)合著了The C Programming Language一书,并在附录中提供了C,语言参考手册,这本书成为以后广泛使用的C语言的基础,被人们称作非官方的C语言标准。1983年美国国家标准化协会(ANSI)开始制定新的标准,这就是ANSI C标准。1990年,C语言成为国际标准化组织(ISO)通过的标准语言。 目前在很多应用领域,特别是嵌入式软件等领域,C语言(以及C)正在发挥着不可替代的重要作用。当今社会,计
4、算机和网络技术发展日新月异,而C语言已有近40年的历史,这对于一个程序语言来说意义极其重大,值得我们认真思考和深入研究。 二、C语言的特点 1.C语言是“高级语言中的低级语言”。,这句话的含义是,首先C语言是一种高级编程语言,它能编写不依赖于机器硬件设备的应用程序,主要表现为C语言程序的可移植性,当然现在大部分的编程语言都具备这样的优点,但在早期的编程语言中,这一点是C语言的主要优势之一,C程序具有可移植性的一个原因要感谢C语言与UNIX系统的早期结合,以及后来的ANSI/ISO标准化工作。C语言正是由于标准化才没有分裂成不兼容的多种分支。另一个原因是C语言编译器规模小且容易编写,这使得此种编
5、译器得以广泛应用。 其次C语言还具有低级语言的特点,它具有许多通常只有像汇编语言才具备的功能,如位操作、直接访问物理地址等等,这使C语言在进行系统程序设计时显得非常有效,而过去系统软件通常只能用汇编语言编写。事实上,C语言的许多应用场合是汇编语言的传统领地,现在用C来代替汇编,,使程序员得以减轻负担、提高效率。C语言提供了很多类似于汇编语言的描述方式,因此编译后的目标代码执行的效率非常高。 C语言具有很多接近硬件操作的功能,但不提供直接处理复合对象,如作为整体看待的字符串、数组等的操作。C语言的规模较小,更容易说明,学习起来也快。 2.C语言是结构化的语言 C语言的主要结构成分是函数。函数允许
6、一个程序中的各任务分别定义和编码,使程序模块化,在函数的外部只需了解函数的功能,而将实现的细节隐藏起来。设计得好的函数能够正确地工作而对程序的其他部分不产生副作用。C语言还提供了多种结构化的控制语句,如用于循环的for,while,dowhile语句,用于判定的ifelse ,switch语句等,以满足结构化,程序设计的要求。 3.C语言十分简练 C语言是一种非常简练的语言,用C语言编写的程序十分简洁。例如: (1)C语言中关键字较少,只有32个; (2)运算符丰富,不仅数量多,而且功能强,如:三目运算符(?:)具有条件语句的功能;又如:、等; (3)预处理功能,包含宏定义和文件包含等,可以简
7、化程序书写内容。 4.C语言的可移植性好 高级语言的可移植性都比汇编语言好。在诸多的高级语言中,C语言的移植性更为突出。,这是因为该语言编译系统较小,另外预处理功能对移植也带来一些方便,因此C语言本身只需稍加修改便可用于各种型号的机器上,也可以很方便地用于不同操作系统中,这也是C语言得到广泛应用的原因之一。 5.C语言是程序员的语言 C语言的设计者Ritchie是专业程序员,而C最初是为了他自己写UNIX操作系统而设计的。C语言实现了程序员的期望:很少限制,很少强求,程序设计自由度大,方便的控制结构,独立的函数,紧凑的关键字集合和较高的执行效率。用C编写程序可获得高效的机器代码,其效率通常只比
8、汇编语言生成的机器代码低10%20%,而同时C又具有PASCAL那样的结构,这就难怪有大量的程序员喜欢它。 C语言的语法限制不太严,例如,对数组下标越界不做检查,整型、字,符型数据可以通用,不专设逻辑型数据而以整型来代替等。较少的限制给程序员带来较大自由,这就要求程序员在编程时应确实明白自己在做什么,而不要把检查错误的工作完全寄托于编译程序。当然这也可能会带来一些麻烦,作为程序员应该考虑好再开始编码,平时还要注意养成良好的编程习惯。 6.C语言的缺点 上面介绍了一些C语言较为明显的特点,当然C语言也有一些不足需要读者在逐渐深入的学习中不断体会,比如C语言中指针的使用,指针可以直接访问内存地址但
9、同时也对系统带来了安全性的隐患。 C语言运算功能丰富,表达方式灵活多样,有很大的自由度,语法限制不太严格。比如“”运算符,但是对于初学者来说,就很难把握。C语言,中自左至右或自右至左运算顺序有时也令人头疼。需要初学者在细节的把握上认真对比分析。建议初学者不要把注意力放在这些细节上。第一步先用最简单的C语句实现功能,第二步完善功能,使得代码实用,然后考虑优化算法和程序结构。 另外,由于C语言是面向过程的程序设计语言,很多方面与现代的程序设计思想和软件工程思想相悖。比如:当前主流的程序设计语言面向对象的编程思想,软件工程中更强调程序代码的可读性和易理解性;软件开发的效率首先应该体现在宏观上整体上,
10、即开发效率,其次才是程序代码的执行效率等。因此在本书中,我们会在C语言原有的特色基础上,突出现代程序设计思想指导下的C语言程序设计。 三、初学者对于C语言的学习方法,C语言的学习目的是进行程序设计的基本训练,不是要求立即写出大型程序,也不能设想今后一辈子只使用学过的某一种语言。因此,学习程序设计时,应该把主要精力放在最基本的、最常用的内容上,开始不必在一个细节上死背死抠,可以先“照搬照抄、不求甚解”,多模仿,多实践,在有一定的基础后再深入到一些常见的细节中去,有些细节是需要通过较长时间才能掌握的。初学时切忌滥用C的某些容易引起错误的细节。 学习C程序设计语言最终的目标是通过C语言的学习,培养程
11、序设计的思想和理念,初步掌握计算机的“思维”方式。语言是表达思想的工具,程序语言就是表达程序设计思想的最有效工具。 学习程序设计还有很重要的一条就是程序调试能力的培养,好的程序员都是在排除程序代码错误的过程中成长起来的,见多才能识广,经验的积累,就是不断地犯错误和改正错误的过程。,1.2 简单C程序举例 这一节我们主要是通过几个简单的C语言程序来初步了解C程序的有关特性。 例1.1 最简单的C程序 #include void main( ) printf( ”您好!n”); ,这个程序的功能(运行结果)是在屏幕的左上角输出“您好!”。 其中“#include”,是预处理命令,在本程序中包含标准
12、输入输出的头文件;main表示“主函数”,每个C程序都必须且只能有一个main函数。本程序中只有一个函数,函数体是由大括号括起来的部分。函数中只包含一条输出语句,是通过调用C语言中的输出函数printf来实现输出的,此函数名字后面圆括号中的双引号内部的字符或字符串按照原样输出,但是“n”表示的是换行符,在屏幕上输出的效果就是将屏幕上的光标从当前位置移到下一行开始位置,它在程序输出的格式中经常被用到。函数调用的结束相当于一条语句也结束了,在每条语句后面要有一个分号,即使是函数体内最后一条语句的后面也要有分号。 例1.2 整数的关系比较,#include void main( ) int a,b;
13、 /声明部分,定义变量a,b都是整数 scanf( ”%d %d ”,&a,&b); /输入变量a,b的值 /*以下部分是判断变量a,b之间关系的几种情况*/ if(ab) printf( ”%d%d ”,a,b);,else if(ab) printf( ”%d%d ”,a,b); else printf( ”%d%d ”,a,b); 本程序实现的是判断任意两个整数的大小关系。“/”后面的汉字部分是对程序语句的注释,注释部分一般根据编程者的习惯,可以加在程序中的任何位置,对编译和运行没有影响,目的是为了使读程序的人更准确的理解程序及语句的作用。第4行是变量声明部分,定义了两个变量a,b,在C
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 实践 课件
链接地址:https://www.31doc.com/p-2142346.html