c语言程序设计 谭浩强 课件 ppt 第1章_第1页
c语言程序设计 谭浩强 课件 ppt 第1章_第2页
c语言程序设计 谭浩强 课件 ppt 第1章_第3页
c语言程序设计 谭浩强 课件 ppt 第1章_第4页
c语言程序设计 谭浩强 课件 ppt 第1章_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C 语言程序设计高职高专计算机系列教材 主编 谭浩强 总 目 录第 1章 C语言概述第 2章 数据类型、运算符与表达式第 3章 最简单的 C程序设计 顺序程序设计第 4章 选择结构程序设计第 5章 循环控制第 6章 数组第 7章 函数第 8章 预处理命令第 9章 指针第 10章 结构体与共用体第 11章 位运算第 12章 文件第 13章 常见错误和程序调试第 1章 C语言概述1.1 C语言出现的历史背景1.2 C语言的特点1.3 简单的 C程序介绍1.4 C程序的上机步骤1.5 习题1.1 C语言出现的历史背景C语言是国际上广泛流行的计算机高级语言 ,既可用来写系统软件,也可用来写应用软件。C语言是在 B语言的基础上发展起来的,它的根源可以追溯到 ALGOL 60。 1960年出现的 ALGOL 60是一种面向问题的高级语言,它离硬件比较远,不宜用来编写系统程序。 1963年英国的剑桥大学推出了 CPL (combined programming language)语言。 CPL语言在 ALGOL 60的基础上接近硬件一些,但规模比较大,难以实现。 1967年英国剑桥大学的 Matin Richards对 CPL语言做了简化,推出了 BCPL (basic combined programming language) 语言。 1970年美国贝尔实验室的Ken Thompson 以 BCPL语言为基础, 又做了进一步简化, 设计出了很简单的而且很接近硬件的 B语言 (取 BCPL的第一个字母 ), 并用 B语言写了第一个 UNIX操作系统,在 PDP 7上实现。1971年在 PDP 11/20上实现了 B语言,并写了UNIX操作系统。但 B语言过于简单,功能有限。1972年至 1973年间,贝尔实验室的 D.M.Ritchie 在B语言的基础上设计出了 C语言 (取 BCPL的第二个字母 )。 C语言既保持了 BCPL和 B语言的优点 (精练,接近硬件 ),又克服了它们的缺点 (过于简单,数据无类型等 )。最初的 C语言只是为描述和实现 UNIX操作系统提供一种工作语言而设计的。1973年, K.Thompson和 D.M.Ritchie两人合作把UNIX的 90% 以上用 C改写,即 UNIX第 5版。原来的 UNIX 操作系统是 1969年由美国的贝尔实验室的 K.Thompson和 D.M.Ritchie开发成功的,是用汇编语言写的。1972年至 1973年间,贝尔实验室的 D.M.Ritchie 在 B语言的基础上设计出了 C语言 (取 BCPL的第二个字母 )。 C语言既保持了 BCPL和 B语言的优点 (精练,接近硬件 ),又克服了它们的缺点 (过于简单,数据无类型等 )。最初的 C语言只是为描述和实现 UNIX操作系统提供一种工作语言而设计的。 1973年,K.Thompson和 D.M.Ritchie两人合作把 UNIX的 90%以上用 C改写,即 UNIX第 5版。原来的 UNIX 操作系统是 1969年由美国的贝尔实验室的 K.Thompson和D.M.Ritchie开发成功的,是用汇编语言写的。后来, C语言多次做了改进,但主要还是在贝尔实验室内部使用。直到 1975年 UNIX第 6版公布后, C语言的突出优点才引起人们的普遍注意。1977年出现了不依赖于具体机器的 C语言编译文本可移植 C语言编译程序,使 C移植到其他机器时所需做的工作大大简化了,这也推动了 UNIX操作系统迅速地在各种机器上实现。例如 VAX、 AT而强调灵活,就必然放松限制。一个不熟练的编程人员,编一个正确的 C程序可能会比编一个其他高级语言程序难一些。也就是说,对用 C语言的人,要求对程序设计更熟练一些。(6) C语言能进行位 (bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。因此 C既具有高级语言的功能,又具有低级语言的许多功能,可用来写系统软件。 C语言的这种双重性,使它既是成功的系统描述语言,又是通用的程序设计语言。有人把 C称为 “高级语言中的低级语言 ” 或 “中级语言 ”,意为兼有高级和低级语言的特点。按此观点可将各语言分类如下: 高级 : BASIC,FORTRAN,COBOL,PASCAL,Ada,Modula-2;中级 : C,FORTH,宏汇编;低级 : 汇编语言一般仍习惯将 C语言称为高级语言,因为 C程序也要通过编译、连接才能得到可执行的目标程序,这是和其他高级语言相同的。C的以上特点,读者现在也许还不能深刻理解,待学完 C以后再回顾一下,就会有比较深的体会。我们从应用的角度出发对 C语言和其他传统的高级语言作一简单比较。从掌握语言的难易程度来看, C语言比其他语言难一些。 BASIC是初学者入门的较好的语言,FORTRAN也比较好掌握。对科学计算多用FORTRAN或 PL/ ;对商业和管理等数据处理领域,用 COBOL为宜。 C语言虽然也可用于科学计算和管理领域,但并不理想, C的特长不在这里。对操作系统和系统实用程序以及需要对硬件进行操作的场合,用 C语言明显地优越于其他高级语言,有的大型应用软件也用 C语言编写。从教学角度,由于 PASCAL是世界上第一个结构化语言,而曾被认为是计算机专业的比较理想的教学语言。目前在数据结构等课程中一般用 PASCAL语言举例。但 PASCAL语言难以推广到各实际应用领域,到目前为止基本上只是教学语言。 C语言也是理想的结构化语言, 且描述能力强, 同样适于教学。 操作系统课程多结合 UNIX讲解,而 UNIX与 C不可分,因此, C语言已经成为被广泛使用的教学语言。 C除了能用于教学外,还有广泛的应用领域,因此更有生命力。 PASCAL和其他高级语言的设计目标是通过严格的语法定义和检查来保证程序的正确性,而 C则是强调灵活性,使程序设计人员能有较大的自由度,以适应宽广的应用面。总之, C语言对程序员要求较高。程序员使用 C语言编写程序会感到限制少,灵活性大,功能强,可以编写出任何类型的程序。现在,C语言已不仅用来编写系统软件,也用来编写应用软件。学习和使用 C的人已越来越多。1.3 简单的 C程序介绍下面先介绍几个简单的 C程序,然后从中分析 C程序的特性。 例 1.1main ( )printf (“This is a C program.n“);本程序的作用是输出以下一行信息 :This is a c program.其中 main 表示 “主函数 ”。每一个 C程序都必须有一个 main 函数。函数体由大括弧 括起来。本例中主函数内只有一个输出语句, printf是 C语言中的输出函数 (详见第 4章 )。双引号(双括号)内的字符串原样输出。 “n”是换行符,即在输出 “This is a c program.”后回车换行。语句最后有一分号。例 1.2main ( )/*求两数之和 */int a, b, sum; /*这是定义变量 */a=123; b=456; /* 以下 3行为 C语句 */sum=a+b;printf (“sum is %d/n“ , sum);本程序的作用是求两个整数 a和 b之和 sum。 /*/ 表示注释部分,为便于理解,我们用汉字表示注释,当然也可以用英语或汉字拼音作注释。注释只是给人看的,对编译和运行不起作用。注释可以加在程序中任何位置。第 2行是声明部分, 定义变量 a和 b, 指定 a和 b为整型 (int)变量。第 3行是两个赋值语句,使 a和 b的值分别为 123和456。第 4行使 sum的值为 a+b, 第 5行中 “% d”是输入输出的 “格式字符串 ”,用来指定输入输出时的数据类型和格式 (详见第 4章 ), “% d”表示 “以十进制整数形式输出 ”。在执行输出时,此位置上代以一个十进制整数值。 printf函数中括弧内最右端 sum是要输出的变量,现在它的值为 579(即 123+456之值 )。因此输出一行信息为 sum is 579例 1.3main ( )/* 主函数 */ int a, b, c; /*声明部分,定义变量*/scanf (“%d , %d“ , /*输入变量 a和 b的值 */c=max (a, b);/*调用 max函数,将得到的值赋给 c*/printf (“max=%d“ , c); /*输出 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带回调用处 */本程序包括两个函数 :主函数 main和被调用的函数 max。 max函数的作用是将 x和 y中较大者的值赋给变量 z。 return语句将 z的值返回给主调函数main。 返回值是通过函数名 max带回到 main函数的调用处。 main函数中的 scanf是 “输入函数 ”的名字 (scanf和 printf都是 C系统提供的标准输入输出函数 )。程序中 scanf函数的作用是输入 a和 b的值。 ”。 在第 8章中还将会看到,在声明部分中要对所调用的函数进行声明。执行部分:由若干个语句组成。当然,在某些情况下也可以没有声明部分 (例如,例 1.1)。甚至可以既无声明部分,也无执行部分。如 :dump ( ) 它是一个空函数,什么也不干,但这是合法的。(3) 一个 C程序总是从 main函数开始执行的,而不论 main函数在整个程序中的位置如何 (main函数可以放在程序最前头,也可以放在程序最后,或在一些函数之前,在另一些函数之后 )。(4) C程序书写格式自由,一行内可以写几个语句, 一个语句可以分写在多行上。 C程序没有行号,也不像 FORTRAN或 COBOL那样严格规定书写格式 (语句必须从某一列开

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论