中国Unix/Linux软件开发联盟软件开发联盟语言入门教程(一)概述一、C语言的产生与发展C语言是1972年由美国的DennisRitchie设计发明的,并首次在UNIX操作系统的DECPDP-11计算机上使用。它由早期的编程语言BCPL(BasicCombindProgrammingLanguage)发展演变而来。在1970年,AT&T贝尔实验室的Kenhompson根据BCPL语言设计出较先进的并取名为B的语言,最后导致了C语言的问世。随着微型计算机的日益普及,出现了许多C语言版本。由于没有统一的标准,使得这些C语言之间出现了一些不一致的地方。为了改变这种情况,美国国家标准研究所(ANSI)为C语言制定了一套ANSI标准,成为现行的C语言标准。二、C语言的特点C语言发展如此迅速,而且成为最受欢迎的语言之一,主要因为它具有强大的功能。许多著名的系统软件,如PC-DOS,DBASEⅣ都是由C语言编写的。用C语言加上一些汇编语言子程序,就更能显示C语言的优势了。归纳起来C语言具有下列特点:1.C是中级语言它把高级语言的基本结构和语句与低级语言的实用性结合起来。C语言可以象汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。2.C是结构式语言结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。3.C语言功能齐全C语言具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。另外C语言也具有强大的图形功能,支持多种显示器和驱动器。而且计算功能、逻辑判断功能也比较强大,可以中国Unix/Linux软件开发联盟软件开发联盟实现决策目的。4.C语言适用范围大C语言还有一个突出的优点就是适合于多种操作系统,如DOS、UNIX,也适用于多种机型。三、TurboC的产生与发展我们平常用的大部分都是TurboC。TurboC是美国Borland公司的产品,Borland公司是一家专门从事软件开发、研制的公司。该公司相继推出了一套Turbo系列软件,如TurboBASIC,TurboPascal,TurboProlog,这些软件很受用户欢迎。该公司在1987年首次推出TurboC1.0产品,其中使用了全然一新的集成开发环境,即使用了一系列下拉式菜单,将文本编辑、程序编译、连接以及程序运行一体化,大大方便了程序的开发。1988年,Borland公司又推出TurboC1.5版本,增加了图形库和文本窗口函数库等,而TurboC2.0则是该公司1989年出版的。TurboC2.0在原来集成开发环境的基础上增加了查错功能,并可以在Tiny模式下直接生成.COM(数据、代码、堆栈处在同一64K中)文件。还可对数学协处理器(支持8087/80287/80387等)进行仿真。我们目前经常使用的集成环境就是TurboC2.0。Borland公司后来又推出了面向对象的程序软件包TurboC++,它继承发展TurboC2.0的集成开发环境,并包含了面向对象的基本思想和设计方法。习惯上我们也叫它TurboC3.0。1991年为了适用Microsoft公司的Windows3.0版本,Borland公司又将TurboC++作了更新,即TurboC的新一代产品BorlandcC++也已经问世了。四、TurboC2.0集成开发环境的使用下载完以后,解压缩,双击TC.EXE,进入TurboC2.0集成开发环境中后,屏幕上显示:─────────────────────────────---FileEditRunCompileProjectOptionsDebugBreak/watch┌────────────Edit──────────────┐│Line1Col1InsertIndentTabFileUnindentc:NONAME.C│││││││││││││中国Unix/Linux软件开发联盟软件开发联盟│││─────────Message───────────────|││││└──────────────────────────--─┘F1-HelpF5-ZoomF6-SwitchF7-TraceF8-StepF9-MakeF10-Menu───────────────────────────────其中顶上一行为TurboC2.0主菜单,中间窗口为编辑区,接下来是信息窗口,最底下一行为参考行。这四个窗口构成了TurboC2.0的主屏幕,以后的编程、编译、调试以及运行都将在这个主屏幕中进行。下面详细介绍主菜单的内容:(一)、主菜单在TurboC2.0主屏幕顶上一行,显示下列内容:FileEditRunCompileProjectOptionsDebugBreak/watch除Edit外,其它各项均有子菜单,只要用Alt加上某项中第一个字母(即大写字母),就可进入该项的子菜单中。1、File(文件)菜单按Alt+F可进入File菜单,该菜单包括以下内容:.Load(加载)装入一个文件,可用类似DOS的通配符(如*.C)来进行列表选择。也可装入其它扩展名的文件,只要给出文件名(或只给路径)即可。该项的热键为F3,即只要在主菜单中按F3即可进入该项,而不需要先进入File菜单再选此项。.Pick(选择)将最近装入编辑窗口的8个文件列成一个表让用户选择,选择后将该程序装入编辑区,并将光标置在上次修改过的地方。其热健为Alt+F3。.New(新文件)说明文件是新的,缺省文件名为NONAME.C,存盘时可改名。.Save(存盘)将编辑区中的文件存盘,若文件名是NONAME.C时,将询问是否更改文件名,其热键为F2。中国Unix/Linux软件开发联盟软件开发联盟(存盘)可由用户给出文件名将编辑区中的文件存盘,若该文件已存在,则询问要不要覆盖。.Directory(目录)显示目录及目录中的文件,并可由用户选择。.Changedir(改变目录)显示当前目录,用户可以改变显示的目录。.Osshell(暂时退出)暂时退出TurboC2.0到DOS提示符下,此时可以运行DOS命令,若想回到TurboC2.0中,只要在DOS状态下键入EXIT即可。.Quit(退出)退出TurboC2.0,返回到DOS操作系统中,其热键为Alt+X。说明:以上各项可用光标键移动色棒进行选择,回车则执行。也可用每一项的第一个大写字母直接选择。若要退到主菜单或从它的下一级菜单列表框退回均可用Esc键,TurboC2.0所有菜单均采用这种方法进行操作,以下不再说明。2、Edit(编辑)菜单按Alt+E可进入编辑菜单,若再回车,则光标出现在编辑窗口,此时用户可以进行文本编辑。编辑方法基本与wordstar相同,可用F1键获得有关编辑方法的帮助信息。与编辑有关的功能键如下:F1获得TurboC2.0编辑命令的帮助信息F5扩大编辑窗口到整个屏幕F6在编辑窗口与信息窗口之间进行切换F10从编辑窗口转到主菜单编辑命令简介:PageUp向前翻页PageDn向后翻页Home将光标移到所在行的开始End将光标移到所在行的结尾中国Unix/Linux软件开发联盟软件开发联盟删除光标所在的一行Ctrl+T删除光标所在处的一个词Ctrl+KB设置块开始Ctrl+KK设置块结尾Ctrl+KV块移动Ctrl+KC块拷贝Ctrl+KY块删除Ctrl+KR读文件Ctrl+KW存文件Ctrl+KP块文件打印Ctrl+F1如果光标所在处为TurboC2.0库函数,则获得有关该函数的帮助信息Ctrl+Q[查找TurboC2.0双界符的后匹配符Ctrl+Q]查找TurboC2.0双界符的前匹配符说明:(1).TurboC2.0的双界符包括以下几种符号:花括符{和}尖括符和圆括符(和)方括符[和]注释符/*和*/双引号单引号'(2).TurboC2.0在编辑文件时还有一种功能,就是能够自动缩进,即光标定位和上一个非空字符对齐。在编辑窗口中,Ctrl+OL为自动缩进开关的控制键。3、Run(运行)菜单中国Unix/Linux软件开发联盟软件开发联盟可进入Run菜单,该菜单有以下各项:.Run(运行程序)运行由Project/Projectname项指定的文件名或当前编辑区的文件。如果对上次编译后的源代码未做过修改,则直接运行到下一个断点(没有断点则运行到结束)。否则先进行编译、连接后才运行,其热键为Ctrl+F9。.Programreset(程序重启)中止当前的调试,释放分给程序的空间,其热键为Ctrl+F2。.Gotocursor(运行到光标处)调试程序时使用,选择该项可使程序运行到光标所在行。光标所在行必须为一条可执行语句,否则提示错误。其热键为F4。.Traceinto(跟踪进入)在执行一条调用其它用户定义的子函数时,若用Traceinto项,则执行长条将跟踪到该子函数内部去执行,其热键为F7。.Stepover(单步执行)执行当前函数的下一条语句,即使用户函数调用,执行长条也不会跟踪进函数内部,其热键为F8。.Userscreen(用户屏幕)显示程序运行时在屏幕上显示的结果。其热键为Alt+F5。4、Compile(编译)菜单按Alt+C可进入Compile菜单,该菜单有以下几个内容:.CompiletoOBJ(编译生成目标码)将一个C源文件编译生成.OBJ目标文件,同时显示生成的文件名。其热键为Alt+F9。.MakeEXEfile(生成执行文件)此命令生成一个.EXE的文件,并显示生成的.EXE文件名。其中.EXE文件名是下面几项之一。(1).由Project/Projectname说明的项目文件名。(2).若没有项目文件名,则由PrimaryCfile说明的源文件。(3).若以上两项都没有文件名,则为当前窗口的文件名。中国Unix/Linux软件开发联盟软件开发联盟(连接生成执行文件)把当前.OBJ文件及库文件连接在一起生成.EXE文件。.Buildall(建立所有文件)重新编译项目里的所有文件,并进行装配生成.EXE文件。该命令不作过时检查(上面的几条命令要作过时检查,即如果目前项目里源文件的日期和时间与目标文件相同或更早,则拒绝对源文件进行编译)。.PrimaryCfile(主C文件)当在该项中指定了主文件后,在以后的编译中,如没有项目文件名则编译此项中规定的主C文件,如果编译中有错误,则将此文件调入编辑窗口,不管目前窗口中是不是主C文件。.Getinfo(获得有关当前路径、源文件名、源文件字节大小、编译中的错误数目、可用空间等信息。5、Project(项目)菜单按Alt+P可进入Project菜单,该菜单包括以下内容:.Projectname(项目名)项目名具有.PRJ的扩展名,其中包括将要编译、连接的文件名。例如有一个程序由file1.c,file2.c,file3.