☆☆第1章C程序设计概述1第1章C程序设计概述1.1计算机程序设计概述1.2C语言简介1.3C语言的字符集与标识符1.4C语言的程序结构1.5运行一个C程序☆☆第1章C程序设计概述21.1计算机程序设计概述1.1.1程序设计语言的发展1.机器语言(MachineLanguage)2.汇编语言(AssembleLanguage)汇编语言程序的执行过程汇编语言和机器语言都是面向机器的程序设计语言,一般称为低级语言。☆☆第1章C程序设计概述31.1计算机程序设计概述1.1.1程序设计语言的发展3.高级语言(HighLevelLanguage)高级语言是一种与硬件结构及指令系统无关,表达方式比较接近自然语言和数学表达式的一种计算机程序设计语言。优点:描述问题能力强,通用性、可读性、可维护性都较好缺点:执行速度较慢,编制访问硬件资源的系统软件较难。用高级语言编写的程序称为“源程序”,计算机不能直接识别和执行,高级语言程序有编译和解释两种执行方式。☆☆第1章C程序设计概述41.1计算机程序设计概述高级语言程序的编译执行:是将源程序整个编译成等价的,独立的目标程序,然后通过链接程序将目标程序链接成可执行程序。高级语言编译执行过程☆☆第1章C程序设计概述51.1计算机程序设计概述高级语言程序的解释执行:解释方式是将源程序逐句翻译,翻译一句执行一句,边翻译边执行,不产生目标程序。整个执行过程,解释程序都一直在内存中。高级语言解释执行过程☆☆第1章C程序设计概述61.1计算机程序设计概述1.1.2程序设计方法概述程序设计方法的发展可以划分以下三个阶段:1.早期的程序设计2.结构化程序设计3.面向对象的程序设计☆☆第1章C程序设计概述71.2C语言简介1.2.1C语言的发展C语言是在70年代初问世的。1973年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。同时由B.W.Kernighan和D.M.Ritchit合著了著名的“TheCProgrammingLanguage”一书。☆☆第1章C程序设计概述81.2C语言简介1.2.1C语言的发展60年ALGOL语言63年CPL67年BCPL70年B语言73年C语言90年Borland公司推出BC++92年Microsoft公司推出MSC++93年Microsoft公司推出VC++83年制定了ANSIC85年AT&T公司推出C++☆☆第1章C程序设计概述91.2C语言简介1.2.2C语言的特点1.语言简洁、紧凑、使用方便、灵活VB语言DimaAsIntegerDimbAsIntegerif(表达式)then语句EndifC语言inta,b;if(表达式)语句;2.丰富的运算符和数据类型☆☆第1章C程序设计概述101.2.2C语言的特点4.直接访问内存的物理地址由于能进行位(bit)一级的操作。实现了对硬件的编程操作,因此C语言集高级语言和低级语言的功能于一体。既可用于系统软件的开发,也适合于应用软件的开发。3.C语言是一种结构化语言它层次清晰,便于按模块化方式组织程序,易于调试和维护。5.C语言还具有效率高,可移植性强等特点☆☆第1章C程序设计概述111.3C语言的字符集与标识符1.3.1C语言的字符集字符是组成语言的最基本的元素。C语言字符集由字母,数字,空格,标点和特殊字符组成。(1)字母小写字母a~z共26个,大写字母A~Z共26个(C语言中区分字母大小写)(2)数字0~9共10个(3)空白符空格符、制表符、换行符等统称为空白符。空白符只在字符、常量和字符串常量中起作用。在其它地方出现时,只起间隔作用。(4)标点和特殊字符☆☆第1章C程序设计概述121.3.1C语言的字符集(4)标点和特殊字符☆☆第1章C程序设计概述131.3.2C语言标识符1.3C语言的字符集与标识符1.保留字符C语言的保留字符(也称关键字)共有32个,根据关键字的作用,可分其为数据类型关键字、控制语句关键字、存储类型关键字和其它关键字四类。(1)数据类型关键字(12个):char,double,enum,float,int,long,short,signed,struct,union,unsigned,void(2)控制语句关键字(12个):break,case,continue,default,do,else,for,goto,if,return,switch,while(3)存储类型关键字(4个):auto,extern,register,static(4)其它关键字(4个):const,sizeof,typedef,volatile☆☆第1章C程序设计概述141.3.2C语言标识符2.预定义标识符C语言中除了上述保留字符外,还有一类具有特殊含义的标识符,它们被C系统用作库函数名、预编译命令,这类标识符称为系统预定义标识符。例如:系统库数sin,printf,scanf等预编译命令define,include,undef,ifdef,endif等一般来说,用户在编写C程序时,不要把这些标识再定义为其它用途的标识符(用户自定义标识符)。☆☆第1章C程序设计概述151.3.2C语言标识符3.用户定自义标识符用户自定义标识符是用户根据编程的需要而定义的标识符,用于标识变量、符号常量、用户自定义函数、类型名等。C规定,标识符只能是字母(A~Z,a~z)、数字(0~9)、下划线(_)组成的字符串,并且其第一个字符必须是字母或下划线。例如,以下标识符是合法的:a,x,x3,BOOK1,sum5,mysin以下标识符是非法的:3s以数字开头s*T出现非法字符*-3x以减号开头bowy-1出现非法字符-(减号)☆☆第1章C程序设计概述161.3.2C语言标识符使用自定义标识符的几点说明:(1)标准C不限制标识符的长度,但它受各种版本的C语言编译系统限制,同时也受到具体机器的限制。(2)标识符中,大小写是有区别的。(3)标识符虽然可由程序员随意定义,建议命名应尽量有相应的意义,以便阅读理解,作到“顾名思义”。例如:可用sum表示求和的量,name表示姓名等。(4)不使用C语言的关键字:类型说明符、语句定义符、预处理命令。(5)标识符不能和用户已编制的函数或C语言库函数同名。否则程序中调用库函数就会出错。☆☆第1章C程序设计概述171.4C语言的程序结构1.4.1几个简单的C程序实例例1-1在屏幕输出一行文字信息。具体程序如下:#includestdio.hmain(){printf(HelloC!\n);}其执行结果是在屏幕上输出一行信息:HelloC!☆☆第1章C程序设计概述181.4.1几个简单的C程序实例例1-2输入2个数据,计算它们的和,并打印输出在屏幕上。main(){inta,b,s;/*定义变量*/printf(Entertwonumbera,b=?\n);scanf(%d%d,&a,&b);/*调用标准函数,要求用户输入2个数据*/s=a+b;printf(s=%d\n,s);}程序运行结果如下:☆☆第1章C程序设计概述191.4.1几个简单的C程序实例例1-3将例1-2中的求2个数的和编写成独立的函数,在主函数中调用实现。main()/*主函数*/{intfsum(int,int);/*用户自定义函数声明*/voidprn();/*用户自定义函数声明*/inta,b,t;/*定义a,b,t为整数*/printf(Entertwonumbera,b=?\n);scanf(%d%d,&a,&b);prn();/*调用函数prn,无返回*/t=fsum(a,b);/*调用函数fsum,结果返回给t*/printf(%d+%d=%d\n,a,b,t);/*打印输入*/prn();}voidprn(){printf(--------------------------------\n);}intfsum(intx,inty){intz;z=x+y;return(z);/*返回变量z的值*/}☆☆第1章C程序设计概述201.4.1几个简单的C程序实例本程序除main函数,还有2个功能简单的用户自定义函数prn()和fsum(),程序的执行过程是:(1)程序从main()处开始。(2)为声明的整型变量a,b,t分配存储单元。(3)要求用户输入为变量a,b输入数据;(如输入3878)(4)执行程序(函数)prn);屏幕输出“-------------------------”,并换行。(5)执行程序(函数)func();将变量a,b的值传递到函数func()中分别给x,y,并将计算结果返回赋值给变量t,此时,t的值为a+b的值。(7)在屏幕打印输出计算机结果。(8)再一次执行程序(函数)prn);屏幕输出“--------------------------”,并换行。程序执行的结果如下:☆☆第1章C程序设计概述211.4.2C程序的结构特点C程序函数组成由若干函数说明部分函数体函数类型说明函数名函数形参形参类型说明变量定义部分执行部分intfsum(x,y)intx,y;intfsum(intx,inty)例如:等价(函数首部)1.4C语言的程序结构☆☆第1章C程序设计概述221.4C语言的程序结构C程序的基本结构的特点:(1)C程序为函数模块结构,C程序由一个或多个函数构成,其中必须,且只能有一个主函数main()。(2)C程序从main()函数开始执行,在main()中结束。(3)C程序的函数是系统提供的标准函数(如printf、scanf等)和用户自己定义的函数(如prn、fsum等)。(4)每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。(5)C语言的注释符是以“/*”开头并以“*/”结尾的串。在“/*”和“*/”之间的即为注释。在TC++中,注释符以“//”开始,到本行结束。例如:inta,b;//定义2个整型变量☆☆第1章C程序设计概述231.4C语言的程序结构1.4.3C函数的结构函数是C语言程序的基本单位。任何函数(包括主函数main())都是由函数说明和函数体两部分组成,其一般结构如下:函数类型函数名([形式参数说明]){数据说明部分;语句部分;}例:intfsum(intx,inty){intz;z=x+y;return(z);/*返回变量z的值*/}☆☆第1章C程序设计概述241.4C语言的程序结构1.4.4C程序的书写风格(1)一个说明或一个语句占一行(2)函数与函数之间加空行,以清楚的分出程序中有几个函数。(3)用{}括起来的部分,通常表示了程序的某一层次结构。{}一般与该结构语句的第一个字母对齐,并单独占一行。(4)低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写,同一个层次的语句左对齐。(5)对数据的输入,运行时最好要出现输入提示,对于数据输出,也要有一定的提示和格式。(6)程序中适当加上一些注释。☆☆第1章C程序设计概述251.5运行一个C程序1.5.1C程序运行的一般步骤1.源程序编辑2.程序编译3.链接程序4.程序运行大部分C语言系统都提供一个独立的集成开发环境,它可将上述四步连贯在一个程序之中。☆☆第1章C程序设计概述261.5运行一个C程序1.5.2在TC中运行一个C程序在TurboC集成开发环境中建立运行一个新程序通常有以下几个步骤:(1)运行启动TurboC集成开发环境;(2)在编辑器中编写源文件;(3)保存源文件;(4)调试修改程序,直到程序编译无语法错误;(5)编译连接生成可执行文件,运行程序,输入上些数据,验证程序运行输出结果的全理性;(6)最后将调试通过运行正确的程序保存在磁盘中。☆☆第1章C程序设计概述271.5运行一个C程序1.5.2在TC中运行一个C程序(最好在机房上机时讲解)☆☆第1章C程序设计概述28本章小结通过本章的学习,读者应对计算机语言及程序设计的概念,C程序的组成特点,C程序的运行过程有一个初步了解。学习C语言程序设计,掌握C语言语法规则和程序设计方法,培养编程技能是很重的。C语言相