第1章c程序设计概述1.1程序和程序设计语言1程序程序:按照一定的逻辑组合在一起,可以连续执行的指令的集合。程序设计语言:用于编写程序,实现人与计算机“对话”的语言。目前,人们使用的程序设计语言有上百种,常用的也有几十种,如BASIC、FORTRAN、PASCAL,以及C语言等。这些语言的表达形式接近于人的自然语言,都是高级程序设计语言(简称“高级语言”)。1.1程序和程序设计语言2程序设计语言程序设计语言按照书写形式和思维方式的不同,可分为低级语言和高级语言两大类。低级语言包括机器语言和汇编语言。机器语言:机器语言是以二进制代码的形式来表示这些基本指令集合。它是计算机系统唯一能够直接识别和执行的程序设计语言。它的优点是运算速度快,每条指令均为由0和1组合起来的代码串。由操作码和操作对象两部分组成。1.1程序和程序设计语言汇编语言:汇编语言实际上是由一组汇编指令构成的语言,与机器语言相比,它可以用指令英文名称的缩写字符串来表示其所代表的操作,用标号和符号来代表地址、常量和变量。高级语言高级程序设计语言(简称高级语言)是指用于描述计算机程序的类自然语言。它是程序设计发展的产物,它屏蔽了机器的细节,提高了语言的抽象层次。高级语言采用接近自然语言和数学语言的语句,易学、易用、易维护,并且在一定程度上与机器无关,给编程带来了极大方便。1.2C语言简介1C语言的产生和发展C语言是目前比较流行的高级程序设计语言之一。它不但具有一般高级语言的特点,又可象汇编语言一样,对硬件内存单元的位、字节直接进行操作,其程序运行效率高。C语言的发展与中小型计算机上的操作系统UNIX密不可分,它是在B语言的基础上发展起来的,其根源可以追溯到ALGOL60。1.2C语言简介1960年出现的ALGOL60是一种面向问题的高级语言。1963年英国的剑桥大学推出了CPL语言。1967年英国剑桥大学的MatinRichards对CPL语言作了简化,推出了BCPL语言。1970年,UNIX的开发者—美国贝尔实验室以BCPL语言为基础作进一步简化,设计出很接近硬件的B语言。1972年,贝尔实验室在B语言的基础上设计出了C语言。1975年UNIX第6版公布后C语言突出优点引起普遍注意。1983年,美国国家标准化协会(ANSI)根据C语言各种版本对C发展和扩充,制定了新的标准,称为ANSIC。1.2C语言简介随着面向对象编程技术的出现,在进一步扩充和完善了C语言基础上,又出现了C++。Java,C++等面向对象语言(第四代语言)是C语言的发展。但是,C是C++的基础,C++语言和C语言在很多方面是兼容的。在掌握了C语言后,再进一步学习C++,就能以一种熟悉的语法来学习面向对象的语言,可达到事半功倍的目的。1.2C语言简介2C语言的特点C语言简洁紧凑,使用方便灵活,运算符丰富C语言表达能力强C语言数据结构丰富,具有现代化语言的各种数据结构C语言是一种结构化程序设计语言C语言可直接对硬件进行操作C语言生成目标代码质量高,程序执行效率高用C语言写的程序可移植性好(与汇编语言比)1.3C程序的组成与结构C程序是由函数构成的。一个C源程序有且仅有一个main函数,但可以包含若干个其它函数。一个函数由两部分组成:①函数的首部,包括函数返回值类型、函数名、形式参数名和参数类型。②函数体。即函数首部下面的大括号{…}内的部分。如果一个函数内有多个大括号,则最外层的一对{}为函数体的范围。函数体一般包括:声明部分和执行部分。一个C程序总是从main函数开始执行的,而不论main函数在整个程序中的位置如何。1.3C程序的组成与结构C程序书写格式相对自由,一行内可以写几个语句,一个语句可以分写在多行上。C程序没有行号,也不严格规定书写格式。每个语句的结尾必须有一个分号。分号是C语句的必要组成部分。即使是程序中最后一个语句也必须包含分号。C语言本身没有输入输出语句。输入和输出操作是由库函数来完成。1.4C语言的字符集与标识符1C语言的字符集C语言的字符集是用来书写源程序清单时允许出现的所有字符的集合,即:字符是组成语言的最基本的元素。C语言字符集由字母(小写字母a~z共26个,大写字母A~Z共26个)、数字(0~9共10个)、空格、标点和特殊字符组成。在字符常量,字符串常量和注释中还可以使用汉字或其它可表示的图形符号。1.4C语言的字符集与标识符2C语言的标识符在C语言中,标识符是用来标识变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序列。简单地说,标识符就是一个名字。C语言规定,所有的标识符必须满足以下规则:所有的标识符的第一个字符必须是字母或下划线;标识符的其它部分的字符必须是字母、数字或下划线;在TurboC中,标识符只有前面32个字符有效,也就是说系统能识别的标识符的最大长度是32。大小写字母表示不同的含义,即代表不同的标识符;标识符不能使用C语言中的关键字。1.4C语言的字符集与标识符3C语言的关键字关键字又称保留字,是一种预先定义的、具有特殊意义的标识符。用户不能重新定义关键字,也不能把关键字定义为一般的标识符,如关键字不能作变量名、函数名等。C语言的关键字有类型标识符、控制流标识符、预处理标识符等。所有的关键字均用小写字母。1.5C程序的上机步骤用高级语言或汇编语言编写的程序称为源程序。C程序源程序的扩展名为“.c”。因为计算机只能识别和执行由0和1组成的二进制指令,所以源程序不能直接在计算机上执行,需要用“编译程序”将源程序翻译为二进制形式的“目标程序”。目标程序的扩展名为“.obj”。目标代码尽管已经是机器指令,但是还不能运行,因为目标程序还没有解决函数调用问题,需要将各个目标程序与库函数连接,才能形成完整的可在操作系统下独立执行的程序,称为“可执行程序”。可执行程序的扩展名为“.exe”。1.5C程序的上机步骤在编写好一个C程序后到完成运行,一般要经过以下几个步骤:上机,输入与编辑源程序-对源程序进行编译,产生目标代码-连接各个目标代码、库函数,产生可执行程序-运行程序。