版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第1章 程序设计与C语言概述l.1 程序设计的基本概念程序设计是伴随着计算机应用发展的一门学科,是使用和开发计算机的重要工具。本节简单介绍程序设计的基本概念。1.1.1 程序人们要使用计算机,就必须把要解决的问题变成计算机能够接受且能执行的一条条指令,即编排一系列计算机解题步骤,这就是程序。完整的说,所谓程序,就是为完成某个任务而设计的,由有限步骤所组成的一个有机的指令序列。简言之,程序是指令的序列。程序是对所要解决问题的各个对象和处理规则的描述,是由程序员编制设计的静态过程,而输入计算机实现指令的过程是动态过程。PASCAL语言的创建者沃斯(N.Witrh)对程序给出了一个简明而确切的定义:
2、算法数据结构程序(AlgorithmData StructureProgram)算法集中地反映了计算机执行的过程,数据结构是大批数据之间的构造关系,针对所处理的对象,设计好数据结构可极大地简化算法。算法和数据结构是程序的两个重要方面。早期的程序设计语言对数据结构的描述极为薄弱,造成算法任务的加重,随着语言的发展,数据描述能力逐渐增强,这也是语言发展的一个重要标志。程序与计算机的应用和开发密切相关,为了更好地使用计算机,必须了解程序的共同性质:(2) 目的性。程序必须有明确的目的,即为了解决什么问题。(3) 分步性。程序是分成许多步骤的,不可能一步就解决问题。(4) 有序性。程序不是解题步骤随意
3、的堆积,而是要按照一定的顺序有机排列。(5) 有限性。解决问题的步骤不可能是无穷多,必须由有限的步骤组成,否则计算机无法实现。(6) 操作性。程序总是施加各种操作于某些对象,对象就是数据。1.1.2 程序设计语言的发展和特点程序设计语言是指用来书写计算机程序的语言,是人与计算机进行信息通讯的工具。程序设计语言目前多达上千种,常用的也有几十种。众多的程序设计语言如何进行分类,目前众说纷纭,多数人认为程序设计语言分为三大类:面向机器的语言、面向过程的语言和面向问题的语言。(1) 面向机器的语言。面向机器的语言是针对特定的计算机而设计的语言,是不能独立于机器的语言。如机器语言和汇编语言。(2) 面向
4、过程的语言。面向过程的语言是用于各种计算机并能解决各种题目的语言,它是独立于机器的。使用面向过程的语言,用户不仅要告诉计算机“做什么”,而且还要告诉计算机“如何做”,需要详细地描述解题过程,因此称为面向过程的语言即为过程化语言。如FORTRAN语言、PASCAL语言、C语言、Ada语言等。(3) 面向问题的语言。面向问题的语言也是独立于计算机的语言,利用这种语言解题,不仅摆脱计算机内部逻辑,而且不必关心问题的解法和解题的过程。只需要指出问题、输入数据和输出形式,就能得到所需要的结果。面向问题的语言与面向过程的语言之间区别就是不需要要告诉计算机“如何做”,即不需要描述解题过程。因此,面向问题的语
5、言又称为非过程化语言或陈述性语言。如报表语言、判定语言、SQL(Structured Query Language)语言等。SQL语言是数据库查询和操纵语言,可直接使用数据库管理系统。非过程化语言是程序设计语言发展的目标,对用户来说是方便的,但实现起来是比较困难的,实现更为理想的非过程化语言,目前仍在努力地研制之中。1.1.3 程序设计的一般过程从基本概念出发,一般来说,程序设计的过程可以分为以下五个基本步骤:1、问题分析问题分析是进行程序设计的基础。如果在没有把所要解决的问题分析清楚之前就编制程序,后果难于预想。基本的分析内容如下:(1) 问题的性质例如,你所要解决的问题是属于数值型还是属于
6、非数值型的问题,如果是数值型的问题,就要确定一个合理的精度要求。(2) 输入、输出数据例如,数据的类型、输入输出的设备和格式。(3) 数学模型或常用的方法例如,求一元二次方程的根通常有三种方法求根公式韦达定理迭代法选择哪种方法处理结果不一样,因为计算工具的有效数字位是有限的,在运算过程中难免出现误差。2、问题解的描述问题解的描述就是问题求解的步骤,是解题方案的准确而完整的描述,也就是前面所提到的算法,算法不同与一般的计算公式,应具备以下基本特征。(1) 可行性算法中的每一个步骤都必须是可实现的。 (2) 确定性算法中的每一个步骤都必须有明确的定义。不允许模棱两可的解释,也不允许多义性。(3)
7、有穷性算法必须在有限的时间内完成。(4) 一个算法应有零个或多个输入算法可以没有输入。例如一盒音乐磁带,启动后就会放出音乐,不需要输入。(5) 一个算法应有一个或多个输出算法的目的是解决问题,“解”就是输出,没有输出的算法是没有意义的。3、编写程序设计好合适的算法后,下一个步骤就是用选择的程序设计语言(例如C语言)描述该算法,这一工作就是编写程序,得到的程序是文本格式的,被称为源程序。4、上机调试和运行程序计算机只能执行用机器语言编写的二进制程序(称为可执行程序),而无法直接执行文本格式的源程序,所以无论用是什么高级语言编写的程序,必须翻译成机器代码才能执行。这一翻译工作由编译软件完成,不同的
8、语言有不同的编译软件,而且许多编译软件还提供了源程序管理、程序调试等各种功能。在编写好程序后,需要使用相应的编译软件上机调试和运行程序。本章的第4节将详细介绍如何使用Turbo C 2.0来调试和运行C程序5、分析结果程序执行后并不意味着就完成了全部工作,还需要分析程序的输出结果,检查其是否符合程序设计的要求,如果出现错误,要注意是算法的问题还是程序编写的问题,然后不断改进,直到得到正确的结果。1.2 C语言的发展和特点1.2.1 C语言的发展C语言是目前世界上最流行、使用最广泛的高级程序设计语言。它适合于作为系统描述语言,既可用来写系统软件,也可用来写应用软件。C语言的发展大致可以分为以下三
9、个阶段:1、C语言的诞生(19701973)C语言是1972年由美国的Dennis M.Ritchie设计发明的,并首次在UNIX操作系统的 DEC PDP-11 计算机上使用。它由早期的编程语言BCPL(Basic Combind Programming Language)发展演变而来。在1973年,AT&T 贝尔实验室的 Ken Thompson根据BCPL语言设计出较先进的并取名为C的语言,最后导致了C语言的问世。2、C语言的发展(19731988)为了使UNIX操作系统推广,1977年Dennis M.Ritchie 发表了不依赖于具体机器系统的C语言编译文本:可移植的C语言编译程序。
10、1978年Brian W.Kernighian和Dennis M.Ritchie出版了名著The C Programming Language,从而使C语言成为目前世界上流行最广泛的高级程序设计语言。 3、C语言的成熟(1988)随着微型计算机的日益普及,出现了许多C语言版本。由于没有统一的标准,使得这些C语言之间出现了一些不一致的地方。为了改变这种情况,美国国家标准研究所(ANSI)为C语言制定了一套ANSI标准(称为ANSI C标准),成为现行的C语言标准。本书在讲解C语言时以ANSI C标准为主,再加上Borland公司Turbo C 2.0的一些扩充。1.2.2 C语言的特点C语言发展
11、迅速, 而且成为最受欢迎的语言之一,主要因为它具有强大的功能。许多著名的系统软件,如DBASE PLUS、DBASE 都是由C 语言编写的。用C语言加上一些汇编语言子程序,就更能显示C语言的优势了,象PC- DOS 、WORDSTAR等就是用这种方法编写的。归纳起来C 语言具有下列特点:1、简洁、紧凑、方便、灵活C语言一共只有32个关键字,9种控制语句,程序书写自由,主要用小写字母表示。它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以象汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。2、运算符丰富C的运算符包含的范围很广泛,共有34个运算符。C语言把
12、括号、赋值、强制类型转换等都作为运算符处理。从而使C的运算类型极其丰富表达式类型多样化,灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。 3、功能齐全C 语言具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。C的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等,能用来实现各种复杂的数据类型的运算。另外C语言具有强大的图形功能,支持多种显示器和驱动器,且计算功能、逻辑判断功能强大。4、结构化程序设计语言结构化程序设计语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调
13、试。C语言是以函数形式提供给用户的,这些函数可方便地调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。5、适用范围大,可移植性好C 语言有一个突出的优点就是适合于多种操作系统,如DOS、UNIX,也适用于多种机型。上面只介绍了C语言的最容易理解的一般特点,至于C语言内部的其他特点将结合以后各章的内容作介绍。由于C语言的这些优点,使C语言应用面很广。许多大的软件都用C编写,这主要是由于C的可移植性好和硬件控制能力高,表达和运算能力强。许多以前只能用汇编语言处理的问题,现在可以改用C语言来处理了。C的以上特点,读者现在也许还不能深刻理解,待学完C以后再回顾一下,就会有比较深的体会。
14、1.3 C程序的基本结构本节将介绍几个用C语言编写的简单程序,并通过对它们的分析来使读者了解C语言的特性和计算机程序设计的一般规律。1.3.1简单的C程序实例 【例1-1】 整数加法。本程序的功能是从键盘上读入两个整数,并计算这两个数的和,最后将结果输出。123456789#include main() int a,b,c; printf(Enter Two Numbers:); scanf(%d%d,&a,&b); c=a+b; printf(The Sum is %dn,c);程序运行结果为:Enter Two Numbers:26 35The Sum is 61如果把以上的9行程序输入计
15、算机后执行,就可以在显示器上得到所列的运行结果,运行结果中斜体带下划线的内容是用户通过键盘输入的(表示回车),其他的内容则是计算机输出的。具体来说,程序执行后,计算机先在显示器上输出“Enter Two Numbers:”,并在文字后显示文字输入光标等待用户输入,此时用户可以输入两个整数后按回车,数之间用空格区分(如本例中的26 35),接着计算机继续执行程序,输出结果The Sum is 61,显然这里的612635,完全符合题目要求。如何把C语言程序输入计算机并执行,将在本章的第3节中介绍。注意,输入的程序不包括每一行的行号,也就是每一行左侧的斜体的数字,这些行号是本书为了方便解释程序而加
16、上的,不是程序的一部分,在所以输入程序时应该略去。下面对照程序运行结果逐行分析每条语句的功能:第1行语句的作用是将库函数stdio.h包含入本程序,如果程序中需要输入输出数据,就必须包含库函数stdio.h,详细的解释将在6.2节中给出。第2、3、9行语句一起定义了一个函数main,这是C程序中必需的,第4到8行语句是函数体,也就是程序的具体内容。第4行是变量定义语句,定义了3个变量a、b、c,其中的int指明了这三个变量是整数类型,也就是说变量中存放的值只能是整数。本例需要处理三个整数:两个是用户输入的,一个是计算所得的,其具体的值必须要在程序执行时才能确定,在C语言中,这样的数据需要存放在
17、变量中来处理,而变量又必须先定义后使用,所以这一行的语句就是用来定义变量的,变量a和b存放输入的两个整数,变量c存放ab的运算结果。第5行是输出语句,对照程序执行结果,可以看到输出的内容就是双引号内的Enter Two Numbers,显然,如果改变这段文字,计算机就会输出不同的内容,例如要输出Hello World!,语句就写成printf(“Hello World!”);,printf的详细介绍在3.2.2节中。第6行是输入语句,对照程序执行结果,可以看到语句中双引号内的%d%d指明要输入两个整数,后面的&a,&b则指明输入的这两个整数依次存放在变量a和b中。输入更多的内容只需要修改这两个
18、地方,比如输入三个整数存放在变量x、y、z中的语句为scanf(“%d%d%d”,&x,&y,&z);第7行语句的作用非常明显:计算ab的值存放在变量c中,在C语言中,算术运算加、减、乘、除分别用符号+、-、*、/表示,如果要计算变量a和b的差,可以用语句c=a-b实现。第8行又是一条输出语句,但对照程序执行结果,可以发现和第5行的输出语句有些不同:首先,双引号内的%d没有被输出,真正输出是数值61,这正是语句中出现的变量c的值,所以在这里%d表示输出一个整数,具体的值由后面对应的变量给出。其次,双引号内的n也没有被输出,实际输出是一个回车换行,也就是说,在C语言中,n表示一个回车符。通过这个
19、例子也可以看到,一个简单的C语言程序一般包括变量定义(第4行)、数据输入(第5、6行)、计算(第7行)和数据输出(第8行)四个部分。读者可以自行改写【例1-1】,以实现其他功能。例如写一个程序,输入两个整数,输出这两个数的乘积;或者输入三个整数,输出三个数的和之类的程序。下面再举一例,让C语言程序带有判断能力。【例1-2】求最大值,输入两个整数,求两者的最大值,并输出这个最大值。123456789101112#include main() int a,b,c; printf(Enter Two Numbers:); scanf(%d%d,&a,&b); if(ab) c=a; else c=b
20、; printf(The Max is %dn,c);程序运行结果为:Enter Two Numbers:26 35The Max is 35将这个程序和【例1-1】做比较,可以看到两者的差别并不太大,主要的变动就是把【例1-1】中的第7行c=a+b改成了本例中的第7、8、9、10四行,这四行是一条C语言中的if-else语句,其作用就是比较a和b的大小,并且把较大的值保存在变量c中。具体来说第7行中的ab是if语句的判断条件,当条件满足时(也就是a大于b时,此时a为最大值),执行第8行的语句c=a(也就把最大值保存在变量c中了);如果条件不满足(也就是a不大于b时,此时b为最大值)就执行el
21、se后面的第10行的语句c=b。本书的4.2节对if语句有详细介绍。同样,在大致了解【例1-2】的程序后,读者可以对其作些该动以实现其他功能,比如输入两个整数,输出其中的最小值;或者输入三个整数,输出其中的最大值。举这两个例子,主要是为了使读者对C语言和计算机程序设计有一个大致的了解,具体细节不必完全弄懂,在学到以后有关章节时,问题自然迎刃而解。1.3.2 C程序的基本结构通过以上几个例子,可以看到:1、C程序由函数构成C程序是由函数构成的,C语言中用函数来实现特定的功能。一个C源程序至少包含一个main函数,也可以包含一个main函数和若干个其他函数。因此,函数是C程序的基本单位,C的函数相
22、当于其他语言中的子程序,可以说C是函数式的语言,程序中的全部工作都是由各个函数分别完成的,编写C程序就是编写一个个函数。此外,C的函数库十分丰富,ANSI C提供100多个库函数,Turbo C 2.0和MSC 4.0提供300多个库函数。C的这种特点使得容易实现程序的模块化。2、函数由两部分组成C语言中的函数由两部分组成: (1) 函数的首部,即函数的第一行。包括函数名、函数类型、函数属性、函数参数(形参)名、参数类型。【例1-1】中的main函数的首部为main ( )在此例中,只定义了函数名,没有给出函数的类型、参数等内容,这是允许的,但一个函数名后面必须跟一对圆括弧。(2) 函数体,即
23、函数首部下面的大括弧内的部分。如果个函数内有多个大括弧,则最外层的一对为函数体的范围。函数体一般包括:声明部分:在这部分中定义所用到的变量,如【例1-1】中的第3行“int a,b,c”。在第6章中还将会看到,在声明部分中要对所调用的函数进行声明。执行部分:由若干个语句组成。当然,在某些情况下也可以没有声明部分,甚至可以既无声明部分,也无执行部分。3、C程序从main函数开始执行一个C程序总是从main函数开始执行的,而不论main函数在整个程序中的位置如何(main函数可以放在程序最前头,也可以放在程序最后,或在一些函数之前,在另一些函数之后)。4、程序书写格式自由,C程序书写格式自由,一行
24、内可以写几个语句,一个语句可以分写在多行上。C程序没有行号,也不像FORTRAN或COBOL那样严格规定书写格式(语句必须从某列开始书写)。5、语句后必须有分号C语言中,每个语句和数据定义的最后必须有一个分号,分号是C语句的必要组成部分。例如:c=a+b;分号不可少,即使是程序中最后一个语句也应包含分号。6、程序中可以使用注释可以用/*/对C程序中的任何部分作注释。一个好的、有使用价值的源程序都应当加上必要的注释,以增加程序的可读性。1.4 C程序的上机步骤在1.3节中我们看到了两个用C语言编写的程序,这种用高级语言编写的程序称为“源程序”(Source Program)。从根本上说,计算机只
25、能识别和执行由0和1组成的二进制的指令,而不能识别和执行用高级语言写的指令。为了使计算机能执行高级语言源程序,必须先用一种称为“C编译程序”的软件,把源程序翻译成二进制形式的“目标程序”,然后将该目标程序与系统的函数库和其他目标程序连接起来,形成可执行的目标程序。在编好个C源程序后,如何上机运行呢?在纸上写好一个程序后,要经过以下几个步骤:上机输入、编辑源程序一对源程序进行编译一与库函数连接一运行目标程序,以上过程如图1-1所示,其中实线表示操作流程,虚线表示文件的输入输出。例如,编辑后得到一个源程序文件test.c,将test.c编译后得到目标程序文件test.obj,再将test.obj与
26、系统提供的库函数等连接,得到可执行的目标程序文件test.exe,最后执行test.exe得到结果。图1-1 执行C程序步骤在了解了C语言的初步知识后,读者最好上机运行一个C程序,以建立对C程序的初步认识。1.4.1 Turbo C 2.0 集成环境C语言有多种不同的编译器,其中Turbo C(以下简称TC)是深受C语言初学者喜爱的编译器之一。事实上,Turbo C 2.0是美国Borland公司在1988年推出的针对PC机的一个快速、高效和优化的C语言集成环境,它将文本编辑、编译、连接、运行等一体化,并提供了上下文敏感的帮助功能,大大方便了程序的开发工作。TC实现了美国国家标准学会(ANSI
27、)建议的C语言标准,完全支持K&R的C定义。此外还包括了一些混合模式程序设计的扩充,具有图形库和文本窗口函数库,以及查错和“协处理器”的仿真等功能。TC 2.0每分钟可编译12000行源代码,这是因为TC 2.0编译时利用了内存存放中间数据结构,一次性产生内部代码,只需一次读出盘上的源文件和写出目标代码。TC最突出的特点,是它提供了一个完整的集成开发环境,包括:(1) 一个功能强大的交互式全屏幕文本编辑程序,并具有源程序级的调试功能,极大地方便了排错和调试。当编译程序发生错误时,它会查出错误,对每一个错误信息自动把光标设置在源程序相应的位置,这给程序员调试带来了极大的方便。(2) 易学易用,操
28、作全自动。使用TC,不需另外使用单独的编辑程序、编译程序、连接程序等软件工具去建立文件、执行程序,所有这些特性都已完整地组建在TC内,加之全屏幕的显示方式使应用变得直观、简单、明白。(3) 它能支持六种存储模式:tiny(极小),small(小),medium(中),compact(紧凑),large(大)和huge(巨)。可混合使用远和近指针。此外,还包括了一些混合语言和混合模式程序设计的选择,进一步挖掘了PC机的能力。(4) TC除提供集成开发环境版本外,还提供了常规命令行版本。要安装TC 2.0,可运行安装盘中的INSTALL.EXE,这时可以改变系统安装所需配置的一些参数,然后遵循IN
29、STALL显示在屏幕上的指令即可。INSTALL运行完之后,就可以使用TC了。若用户将TC2.0按系统默认的路径安装到硬盘上,则安装程序会创建如下目录:C:TC主目录C:TCINCLUDE包含文件(头文件)目录C:TCLIB库文件目录如果不按默认的路径安装,例如安装在D:TURBOC2目录下,则首先建立一个子目录D:TURBOC2,接着在D:TURBOC2下建立两个子目录LIB和INCLUDE,在子目录D:TURBOC2LIB中存放所有库文件,在子目录D:TURBOC2INCLUDE中存放所有头文件。安装好TC后,就可以使用其完成程序设计任务了,TC的一个重要特点在于其拥有一个高效的集成环境(
30、IDE),从而摆脱了以往通过命令行命令逐步编辑、编译、连接和运行处程序的方式,使用TC,首先就要熟悉他的集成环境。下面,我们就逐步讲解TC集成环境的使用。1、进入TC若在DOS命令状态下,先进入TC子目录,然后键入TC回车,就进入了TC集成开发环境,屏幕显示主菜单和版本信息。若在Windows环境下,找到安装目录下的TC.EXE双击即可,这时,集成环境就是Windows的一个应用程序窗口(可以按Alt+Enter键切换到全屏幕)。当按下任意键后,版本信息消失而留下菜单屏幕,如图1-2。图1-2 TC集成环境主屏幕从图中可以看到,TC集成环境的上面一行为主菜单(Main Menu),中间窗口为编
31、辑区(Edit Window),在该区域内完成程序的编辑、修改和调试工作。接下来是消息窗口(Message Window),用来显示出错信息,当用集成环境的调试器运行程序时,消息窗口即变成观察窗口(Watch Window),观察窗口让用户在跟踪程序运行时可以观察一些变量或表达式的值。最底下一行为快速参考行(Quick Reference Line),它提供了当前状态下的功能键提示,对不同的窗口提示行显示内容有所不同,而且按下Alt键保持几秒后,提示行将描述Alt键与哪些键连用时执行何种功能,如图1-3。这四个部分构成了TC的主屏幕。图1-3 按住Alt键后的快速参考行先来看主菜单的主要功能,
32、如表1-1。表1-1 主菜单的项目和功能表项 目功 能File调入和存储文件、管理目录、调用DOS和退出TC环境Edit进入编辑状态,用户可编辑和修改当前编辑窗口中的源程序Run控制程序的运行方式,编译、连接和运行当前程序Compile编译当前环境内的程序,生成目标及可执行文件Project处理由多个源程序文件组成的工程文件Options设置有关编译和连接的选项Debug调试程序,显示变量的值,查找函数,查看调用栈的状态Break/watch调试程序,断点的设置和清除及观察变量值的变化“主菜单”中的每一项,除Edit外都有“子菜单”,按下Alt键同时按下菜单项的第一个字母,光标就会落在该选项上
33、,例如按下Alt+F键就选择了File项,屏幕上将显示该项的子菜单。也可以先按F10键,光标将出现在主菜单上,然后用光标键选择好项目后回车。如进入集成环境后,按下F10转到主菜单,再将光标转到Edit项后回车,即可进入编辑窗口,而按下Alt+E则立即进入编辑窗口。注意:一旦进入编辑窗口,其顶部为双线且名字是高亮度的这表示它是活动的窗口。编辑窗口中状态行给出了正在编辑的文件的信息:Line Col Insert Indent Tab Fill Unindent * C:Filename具体解释如下: Line n指光标处在文件的第n行Col n指光标处在文件的第n列Insert插入模式开关,用I
34、nsert键选择对文本的编辑是插入方式还是改写方式。刚进入编辑环境时,通常处于“插入”状态。按一下Insert键变为“改写”状态,再按一次恢复为“插入”状态。Indent自动缩进开关,用Ctrl+OI切换,即按住Ctrl不放,再依次按O、I键。Tab制表开关开启,用Ctrl+OT切换。Fill当Tab模式为ON时,编辑器将用制表及空格符优化每一行的开始,用Ctrl+OF切换。Unindent当光标在一行中的第一个非空字符上时,或在空行上时,退格键回退一级。用Ctrl+OU切换。*是在文件新建或被修改后,而又未存盘才出现的。C:Filename说明了正在编辑的文件的名称。C:是盘符。编辑程序就是
35、逐条键入程序和修改程序的过程。在集成环境下进行编辑的有关命令约有50条,功能强大,还可以在Edit环境下通过按F1取得在线帮助,了解这些命令的作用。但其中最重要的是有关插入、删除、块移动等操作,掌握了这几条命令就能顺利地进行编辑了。2、TC集成环境的常用编辑命令(1) 光标移动光标左移一格光标右移一格光标上移一行光标下移一行Home光标移至行头End光标移至行尾PageUp光标移至上一页PageDown光标移至上一页(2) 插入、删除Insert打开/关闭插入功能Del删除光标所在处字符Backspace()删除光标前一个字符Ctrl+Y删除一行Ctrl+QY删除至行尾(3) 块命令(块就是一
36、段连续的文本)Ctrl+KB标记块头 Ctrl+KK标记块尾Ctrl+KC复制块Ctrl+KY删除块CtrI+KV移动块Ctrl+KH隐藏/显示块(4) 其他Ctrl+QF查找Ctrl+QA查找并替换Ctrl+U撤消正在进行的操作3、快速参考行快速参考行位于屏幕的底端,用于引出有关功能键的功能F1Help打开一个帮助窗口,给出有关TC编辑命令的信息F5Zoom扩大整个编辑窗口到整个屏幕,再按一次F5又回到分屏式环境F6Switc从一个活动窗口切换到另一个活动窗(EditMessage/Watch)F7Trace在调试模式下单步执行,遇到函数跟踪进入函数内部F8Step在调试模式下单步执行,遇到
37、函数直接完成调用,不进入函数内部F9Make编译连接程序,生成可执行文件F10Menu回到主菜单1.4.2 编辑、编译、连接、运行一个C程序我们现在对TC集成开发环境熟悉一些了,就可以试试自己编写程序了。在TC集成环境下编程的操作步骤为:(1) 编辑源程序;(2) 编译程序;(3) 连接程序;(4) 运行程序。在第一次使用TC时,还需要建立工作环境和工作目录。下面我们通过学习过的【例1-1】,来学习使用TC建立并运行一个C语言程序。【例1-1】的要求为:从键盘上读入两个整数,计算这两个数的和,最后将结果输出。我们则需要编辑、编译、连接、运行以下程序。#include main() int a,
38、b,c; printf(Enter Two Numbers:); scanf(%d%d,&a,&b); c=a+b; printf(The Sum is %dn,c);首先进入TC环境,然后通过以下的一系列操作完成。1、建立正确的工作环境在第一次使用TC时,需要建立正确的工作环境。首先确定要编辑的程序存放在哪个目录下,进入File子菜单,其中有一个名为Change dir的菜单项,其功能是显示和改变当前目录。用户进入TC目录后,可以在这个目录下再建立一个用户专用的子目录。然后把编辑的源程序放在此目录下,把系统文件和用户文件分开存放,便于管理。这个工作目录可由用户自己建立,再由Change di
39、r命令告诉TC所选定的工作目录。如图1-4,假设在TC下已建立一个用户子目录为USER,通过设置目录,系统就把你编辑的文件存入C:TCUSER目录下。图1-4 改变当前目录其次要确定从哪里得到包含文件、库文件和将输出文件(OBJ和EXE文件)放在何处,为此在主菜单中选择Option子菜单。Option子菜单中有Directories菜单项,进入Directories菜单项后如图1-5所示。图1-5 工作环境的设定图中各菜单项的含义是:Include directories包含文件(头文件)的存放目录Library directories库文件的存放目录Output directory目标文件和
40、可执行文件的存放目录,缺省为当前目录Turbo C directoryTC的主目录要改变以上的选项,只要选中后按回车。比如修改Include directories项,先将光标移动到此项后回车,然后输入有TC包含文件(.h)的目录路径,再按回车确认。所有菜单项都设置好后按Esc键退回上级菜单。如果上述工作环境已经设置好了,就可以免此步骤,否则,完成设定后,若今后仍需要在相同环境下工作,可以将当前设置保存在配置文件中。具体操作为:选择Option中的Save option菜单项,出现一个对话框,显示缺省的配置文件名TCCONFIG.TC,按回车后,就在当前目录下创建一个名为TCCONFIG.TC
41、的配置文件。这样,下此进入TC,就自动使用这个保存好的工作环境。一般来说,系统正确安装后,会自动设置有效地工作环境。2、编辑源程序选择File菜单下的New命令,可以开始编辑一个新文件,如图1-6。图1-6 新建文件这时,默认的文件名是NONAME.C。在编辑窗口,我们用有关编辑键完成上面的源程序的输入,如图1-7。另外,从图中还可以看到,输入源程序时并没有输入行号,本书所有源程序中的行号都是为了方便解释而加上的,并不是程序的内容,这一点在1.1节已经强调了。图1-7 编辑源程序为保险起见,编辑后要存盘。选择主菜单File中的Save项,或者直接按F2键,修改文件名后,程序将自动存入磁盘。本例
42、中源文件名为EX01_01.C,是存在C:TCUSER目录下,如图1-8。图1-8 保存源程序如果要打开一个已经编辑好的文件,可选择File菜单下的Load菜单项(或按F3键),会出现一个对话框,如图1-9。此时可以输入一个文件名(如果文件不在当前目录下,可以连目录完整输入),不妨起名EX01_01.C,回车,如果文件EX01_01.C已存在,则被调入编辑窗。如果不存在则新建一个名为EX01_01.C的文件。图1-9 读文件如果在图1-9的界面下直接回车,TC将显示当前目录中所有*.C文件的一个列表,再利用光标键选择,如图1-10。图1-10 文件列表3、编译当我们编辑完一个C语言源程序后,就
43、可以进行编译。选择Compile菜单项中的第一项Compile to OBJ(或按Alt+F9)单独编译上述程序,并将编译过程中的信息显示在屏幕中央,如图1-11。这些信息包括:正在编译的文件名为EX01_01.C、编译的程序有4行、警告信息(Warnings)、错误信息(Errors)都为零、可用空间(Available memory)为250K等。在消息窗口的最后一行显示结论,如果提示Success表示编译成功,并产生目标代码EX01_01.OBJ;如果提示Errors,则表示编译失败。编译的单位是文件,Errors表明在程序某行有某种性质的错误,不能正确编译,因而不产生目标文件。Warn
44、ings表示程序中的有些用法有可疑之处,提醒用户再检查确认,它不影响编译,可以产生目标文件。图1-11 编译显示窗口(编译成功)4、连接TC提供一个标准库,其中包含完成大部分常规功能所需的库函数。由连接程序将该程序编译产生的目标代码与标准库中该函数的目标代码连接起来,这一过程叫连接,它只有在编译成功的基础上才能进行。选择Compile子菜单中的“Link EXE file”项(或按F9),系统将各目标程序包括有关的库文件连接在一起,组成一个可执行程序。和编译显示窗口一样,连接消息窗口的最后一行显示结论,如果提示Success表示连接成功,并产生可执行文件EX01_01.EXE,如图1-12所示;如果提示Errors,则表示连接失败。图1-12 连接显示窗口(连接成功)5、运行程序当编译和连接都通过时,可选择Run菜单下的Run菜单项运行程序,在用户屏幕(User Screen)上输入数据和输出结果。如本例,由于需要输入数据,所以程序执行后显示用户屏幕并暂停,等待用户输入,如图1-13。图1-13 用户屏幕,等待输入按【例1-1】,现在可以输入两个整数26和35,数之间用空格分隔,输入完后按回车确定如图1-14所示。图1-14 用户屏幕,输入整数按回车确认输入后,程序继续执行,并在用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 附着式升降脚手架施工方案
- 为了规范考勤制度
- 学院例会考勤制度
- 单位见习生考勤制度
- 厂里上班考勤制度
- 高端珠宝品牌的市场分析技巧介绍
- 塑胶抽粒厂考勤制度
- 住宅小区门卫考勤制度
- 人力资源咨询公司人才招聘部门招聘流程优化方案书
- 卫生间管理制度
- 2026年春统编版小学道德与法治五年级下册教学计划及进度表
- GB/T 17431.2-2010轻集料及其试验方法第2部分:轻集料试验方法
- GB/T 11563-1995汽车H点确定程序
- DL-T 5190.1-2022 电力建设施工技术规范 第1部分:土建结构工程(附条文说明)
- 部编人教版七年级下册语文综合性学习训练试题
- 考研题土力学
- 着装与色彩搭配
- 《继电保护基本知识》课件
- 毕加索 详细版课件
- 高空作业审批表
- 太阳能电池材料 第一章课件
评论
0/150
提交评论