§1.2C语言发展历史及特点程序设计语言的发展机器语言汇编语言高级语言面向过程面向对象CPU指令系统,由0、1序列构成的指令码组成如:10000000加10010000减用助记符号描述的指令系统,可进行地址、位操作如ADDA,B编写系统软件,直接对硬件操作,可读性,移植性差面向机器的语言可读性,移植性好,编写应用程序一般较难实现汇编语言的某些功能如:地址和位的操作C语言兼有高级和低级语言的功能适合写系统软件和应用软件又称中级语言C语言发展过程产生背景1960ALGOL60→1963CPL语言→1967BCPL→1970KenThompsonB语言,写UNIX系统产生过程时间:1972~1973地点:美国贝尔实验室目的:UNIX操作系统设计人:Ken.Thompson和Dennis.M.RitchieC标准标准C:1978年K&R合著《TheCProgrammingLanguage》ANSIC:1983年87ANSIC:1987年1990年国际标准的ANSIC,1994年再次修订。5254565860626466687072747678808284868890929496AdaALGOL60ALGOL68PascalModula-2CPLBCPLBCC++JavaLISPCOBOLFORTRAN77FORTRANPL/1Simula67Smalltalk80BASICANSI-BASICQBASICVBFORTRAN90TurboC环境配置要求UNIX,PC-DOS,MS-DOS,UCDOS操作系统硬盘容量约2M,448KRAM运行空间安装TurboC创建子目录Install若不是可安装盘,将文件拷贝到对应的目录下TC*.*INCLUDELIB*.*SYS*.*进入TurboCD:\TCTC.exe主控菜单文件操作FILE:NewLoadSaveWriteto编辑操作EDIT:插入/修改块查找/替换编译链接COMPILELINKMAKE执行RUN退出TurboCAlt+xAlt+F,Q帮助HelpF1Ctrl+F1VisualC++环境1)启动2)文件编辑与保存3)编译与链接4)运行简单的C程序介绍(面向过程,模块化)/*西红柿炒鸡蛋*/主要过程{所需原料;1、西红柿洗净切片;2、处理鸡蛋;3、下锅翻炒;出锅;}其中1、西红柿洗净切片{…};2、处理鸡蛋{….}/*例ThefirstCProgram*/#includestdio.hmain(){printf(“Hello,World!”);}//编译预处理//主函数//语句输出:Hello,World!形式特点锯齿形排版C程序设计第一章C语言概述main(){inti,j,sum;sum=0;for(i=1;i10;i++){for(j=1;j10;j++){sum+=i*j;}}printf(“%d\n”,sum);}使用缩进{}对齐要有一定的注释结构特点函数与主函数程序由一个或多个函数组成只能有一个主函数main()程序执行从main开始,在main中结束。程序语句用“;”作为语句终止符注释/**/或//为注释,不能嵌套编译预处理命令C程序设计第一章C语言概述编辑链接编译执行C程序上机步骤开始编辑编译连接执行有错?结果正确?结束有源程序file.c目标程序file.obj库函数和其它目标程序可执行目标程序无正确不正确file.exe程序代码的录入,生成源程序*.c语法分析查错,翻译生成目标程序*.obj与其它目标程序或库链接装配,生成可执行程序*.exe源程序目标程序可执行程序内容程序设计语言机器语言机器语言可执行不可以不可以可以文件名后缀.c或.cpp.obj.exeC语言的特点语言简洁、紧凑、灵活运算符丰富数据结构、数据类型丰富链表、树、栈程序设计结构化、模块化结构化控制语句:if…else、while、switch、for函数作为模块单位可以访问内存地址、进行位运算生成目标代码质量高可移植性好32个关键字:(系统占用,有特殊含义)autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunsignedunionvoidvolatilewhileTurboC扩充了11个关键字:asm_cs_ds_es_sscdeclfarhugeinterruptnearpascal注意:在C语言中,关键字都是小写的。C语言简洁、紧凑,使用方便、灵活。ANSIC一共只有32个关键字9种控制语句:if()~else~for()~while()~do~while()continuebreakswitchgotoreturnC语言有9种控制语句,程序书写形式自由,主要用小写字母表示,压缩了一切不必要的成分。34种运算符:算术运算符:+-*/%++--关系运算符:====!=逻辑运算符:!&&||位运算符:~|^&赋值运算符:=及其扩展条件运算符:?:逗号运算符:,指针运算符:*&求字节数:sizeof强制类型转换:(类型)分量运算符:.-下标运算符:[]其它:()-注意:各种运算符混合使用,其优先级与结合方法是难点。C语言运算符丰富C数据类型基本类型构造类型指针类型空类型void定义类型typedef数值类型字符类型char枚举类型enum整型浮点型单精度型float双精度型double短整型short长整型long整型int数组结构体struct共用体unionC语言数据结构丰富