- 1、本文档共47页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《C语言程序设计和数据结构》课件第01章
C语言程序设计与数据结构;第1章 C语言概述;1.1 C语言的发展简史和特点; 1.C语言的诞生与发展
(1)在C语言诞生以前,系统软件主要是用汇编语言编写的。由于汇编语言程序依赖于计算机硬件,其可读性和可移植性都很差;但一般的高级语言又难以实现对计算机硬件的直接操作(这正是汇编语言的优势),于是人们盼望有一种兼有汇编语言和高级语言特性的新语言。
;中级语言;(2)C语言是贝尔实验室于70年代初研制出来的,后来又被多次改进,并出现了多种版本。80年代初,美国国家标准化协会(ANSI),根据C语言问世以来各种版本对C语言的发展和扩充,制定了ANSI C标准(1989年再次做了修订)。
本书以ANSI C新标准来介绍。
;ALGOL 60;(3)目前,在微机上广泛使用的C语言编译系统有Microsoft C、Turbo C 、Borland C、Visual C++等。虽然它们的基本部分都是相同的,但还是有一些差异, 所以请大家注意自己所使用的C编译系统的特点和规定(参阅相应的手册)。
本书选定的上机环境是Visual C++ 6.0。
2.C语言的特点
C语言同时具有汇编语言和高级语言的优势。
(1)语言简洁、紧凑,使用方便、灵活。ANSI C共有32个关键字,9种控制语句,主要用小写字母表示(注意:在C语言中是严格区分大小写的。)。程序书写形式自由,既可以一行一句,也可一行多句,甚至一句也可分写在多行上。
;(2)运算符极其丰富。C语言有34种运算符,涵盖范围广,可以实现在其他高级语言中难以实现的运算。
(3) 丰富的数据类型。C语言的数据类型有13种,特别是具有数据类型构造能力,它可以在基本类型(如字符型、整型、实型等)的基础上按层次构造各种构造类型(如数组、指针、结构体、共用体等),足以用来实现各种复杂的数据结构(如栈、链表、队列、树等)的运算。尤其是指针类型数据,功能非常强大。
(4) 具有结构化的控制语句。C语言有if else,while,do while,for,switch等语句以适应结构化的程序设计,符合现代编程风格要求。;(5) 可以直接操作硬件。能进行位(bit)操作,实现汇编语言的大部分功能。C语言有时也被称为中级语言,是因为它把高级语言的最佳成分同汇编语言的控制和灵活性巧妙地结合在了一起。正是C语言的这种双重特性,使它既能用来书写系统程序,也能用来书写应用程序。
(6) 生成的目标代码质量高。试验表明,针对同一问题,用C语言描述的代码效率只比汇编语言低10~20%。
(7) 可移植性好。所谓可移植是指程序从一个环境不加或稍加改动就可搬到另一个不同的环境上运行。统计资料表明,不同机器上的C编译程序80%的代码是公共的。这就使得用C语言编写的程序,基本上不加修改就能用于各种型号的计算机和各种操作系统。;3. 在C语言中,除实现顺序、选择和循环三种基本结构等的9条控制语句外,输入输出操作均由标准库函数(不是C语言的组成部分)来实现。
所以学习C语言,不仅要学习这9条控制语句和各种运算符,而且要学习并掌握常用标准库函数的使用。
;C语言程序的结构与书写规则;[案例1.2] 由main()函数和1个其它函数max()构成的C语言程序。
/*案例代码文件名:AL1_2.C*/
/*功能:由main()函数和1个其它函数max()构成的C语言程序示例*/
int max(int x, int y)
{ return( xy ? x : y ); }
main()
{ int num1,num2;
printf(“Input the first integer number: ”);
scanf(“%d”, num1);
printf(“Input the second integer number: ”);
scanf(“%d”, num2);
printf(“max=%d\n”, max(num1, num2));
}
程序运行情况:
Input the first integer number:6←┘
Input the second integer number:9←┘
max=9 [程序演示];[案例1.3] 改写[案例1.2],交换main()函数和max()函数的前后位置。
源程序略。
程序运行情况:
Input the first integer number:6←┘
文档评论(0)