首页C语言教学幻灯片版第一章C语言发展历史C语言特点C程序格式和结构特点C程序上机步骤第一章C语言概述首页C语言教学幻灯片版第一章–程序设计语言的发展机器语言汇编语言高级语言面向过程面向对象CPU指令系统,由0、1序列构成的指令码组成如:10000000加10010000减用助记符号描述的指令系统如ADDA,B面向机器的语言程序设计是数据被加工的过程客观世界可以分类,对象是类的实例对象是数据和方法的封装对象间通过发送和接受消息发生联系程序设计关键是定义类,并由类派生对象冯.诺依曼结构:计算机运算器控制器存储器主机:I/O设备:键盘、显示器等中央处理器CPU1.1C语言发展历史5254565860626466687072747678808284868890929496AdaALGOL60ALGOL68PascalModula-2CPLBCPLBCC++JavaLISPPROLOGCOBOLFORTRAN77FORTRANPL/1Simula67Smalltalk80BASICANSI-BASICQBASICVBFORTRAN90首页C语言教学幻灯片版首页C语言教学幻灯片版第一章•产生背景•产生过程–时间:1972~1973–地点:美国贝尔实验室–目的:UNIX操作系统–设计人:Ken.Thompson和Dennis.M.Ritchie•C标准–标准C:K&R合著《TheCProgrammingLanguage》–ANSIC:1983年–87ANSIC:1987年–1990年国际标准的ANSICC语言发展过程首页C语言教学幻灯片版第一章–语言简洁、紧凑、灵活–运算符和数据类型丰富–程序设计结构化、模块化–生成目标代码质量高–可移植性好中级语言1.2C语言特点首页C语言教学幻灯片版第一章:(由系统定义,不能重作其它定义)autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunsignedunionvoidvolatilewhile32个关键字首页C语言教学幻灯片版第一章if()~else~for()~while()~do~while()continuebreakswitchgotoreturn9种控制语句首页C语言教学幻灯片版第一章算术运算符:+-*/%++--关系运算符:====!=逻辑运算符:!&&||位运算符:~|^&赋值运算符:=及其扩展条件运算符:?:逗号运算符:,指针运算符:*&求字节数:sizeof强制类型转换:(类型)分量运算符:.-下标运算符:[]其它:()-34种运算符:首页C语言教学幻灯片版第一章基本类型构造类型指针类型空类型void定义类型typedef数值类型字符类型char枚举类型enum整型浮点型单精度型float双精度型double短整型short长整型long整型int数组结构体struct共用体unionC数据类型:首页C语言教学幻灯片版第一章例1.1第一个程序Hello,World!/*example1.1ThefirstCProgram*/#includestdio.hmain(){printf(“Hello,World!”);}注释编译预处理函数语句输出:Hello,World!1.3C程序格式和结构特点首页C语言教学幻灯片版第一章/*example1.1calculatethesumofaandb*/#includestdio.h/*Thisisthemainprogram*/main(){inta,b,sum;a=10;b=24;sum=add(a,b);printf(”sum=%d\n,sum);}/*Thisfunctioncalculatesthesumofxandy*/intadd(intx,inty){intz;z=x+y;return(z);}运行结果:sum=34函数语句预处理命令注释例1.2首页C语言教学幻灯片版第一章•习惯用小写字母,大小写敏感•不使用行号,无程序行概念•可使用空行和空格•常用锯齿形书写格式main(){……………….…………………………..…………..……………….………………………….……………….………………..}main(){inti,j,sum;sum=0;for(i=1;i10;i++){for(j=1;j10;j++){sum+=i*j;}}printf(“%d\n”,sum);}优秀程序员的素质之一:使用TAB缩进{}对齐有足够的注释有合适的空行格式特点首页C语言教学幻灯片版第一章•函数与主函数–程序由一个或多个函数组成–必须有且只能有一个主函数main()–程序执行从main开始,在main中结束,其它函数通过嵌套调用得以执行。•程序语句–C程序由语句组成–用“;”作为语句终止符•注释–/**/为注释,不能嵌套–不产生编译代码例:/*Thisisthemain/*ofexample1.1*/*/非法编译预处理命令结构特点编辑链接编译执行C程序开发步骤开始编辑编译连接执行有错?结果正确?结束有源程序file.c目标程序file.obj库函数和其它目标程序可执行目标程序无正确不正确file.exe程序代码的录入,生成源程序*.c语法分析查错,翻译生成目标程序*.obj与其它目标程序或库链接装配,生成可执行程序*.exe源程序目标程序可执行程序内容程序设计语言机器语言机器语言可执行不可以不可以可以文件名后缀.c.obj.exe1.4C程序的上机步骤