版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《C程序设计》
实验及课程设计指导江西农业大学软件学院
2009-9-17TOC\o"1-5"\h\z\o"CurrentDocument"第一部分集由编译环境介绍 2\o"CurrentDocument"TurboC语言集成环境 2\o"CurrentDocument"BorlandC 19\o"CurrentDocument"VisualC语;;集成环境 23\o"CurrentDocument"第二部分C语言实验 31实验目的与要求 31\o"CurrentDocument"ー、头验目的 31\o"CurrentDocument"二、实验要求 32\o"CurrentDocument"三、注意事项 33\o"CurrentDocument"实验ー基本数据类型 35\o"CurrentDocument"实验ニ顺序语句和选择语句 40\o"CurrentDocument"实验三循环结构程序设计(1) 46\o"CurrentDocument"实验四循环结构程序设计(2) 49\o"CurrentDocument"实验五 数组(1) 52\o"CurrentDocument"实验六 数组(2) 56\o"CurrentDocument"实验七 函数(1) 58\o"CurrentDocument"实验ハ函数(2) 61\o"CurrentDocument"实验九指针(1) 64\o"CurrentDocument"实验十指针(2) 67实验T-ー文件 72附录ー:《C程序设计》实训及课程设计项目报告 73附录ニ:《C程序设计》课程教学大纲 86.本课程的地位与任务 86\o"CurrentDocument".本课程的基本要求与基本内容 86\o"CurrentDocument".本课程的教学要求: 87\o"CurrentDocument", 学时分配 88\o"CurrentDocument". 教材和参考书 88第一部分集成编译环境介绍程序设计是实践性很强的过程,任何程序旳终都必须在计算机上运行,以检验程序的正确与否。因此在学习程序设计中,一定要重视上机实践环节,通过上机可以加深理解C语言的有关概念,以巩固理论知识,另一方面也可以培养程序调试的能力与技巧。1.C语言程序的编译和运行按照C语言语法规则而编写的C程序称为源程序。源程序由字母、数字及其它符号等构成,在计算机内部用相应的ASCII码表示,并保存在扩展名为C”的文件中。源程序是无法直接被计算机运行的,因为计算机的CPU只能执行二进制的机器指令。这就需要把ASCII码的源程序先翻译成机器指令,然后计算机的CPU才能运行翻译好的程序。源程序翻译过程由两个步骤实现:编译与连接。首先对源程序进行编译处理,即把每一条语句用若干条机器指令来实现,以生成由机器指令组成的目标程序。但目标程序还不能马上交计算机直接运行,因为在源程序中,输入、输出以及常用函数运算并不是用户自己编写的,而直接调用系统函数库中的库函数。因此,必须把“库函数”的处理过程连接到经编译生成的目标程序中,生成可执行程序,并经机器指令的地址重定位,便可由计算机运行,旳终得到结果。C语言程序的调试、运行步骤可以用图1表示:编辑 编译连接运行“图1c语言程序的调试、运行步骤“图1中,虚线表示当某ー步骤出现错误时的修改路线。运行时,无论是出现编译错误、连接错误,还是运行结果不对(源程序中有语法错误或逻辑错误),都需要修改源程序,并对它重新编译、连接和运行,直至将程序调试正确为止。下面我们分别介绍TC2.0和VC++6.0环境的上机操作。TurboC语言集成环境TurboC是ー个常用的、旳基本的C语言工具,一般简称TC。它为C语言开发提供了操作便利的集成环境。源程序的输入、修改、调试及运行都可以在TC集成环境下完成,非常方便有效。TC系统非常小巧,但功能齐全。它主要支持DOS环境,因此在操作中无法使用鼠标,更多的需要通过键盘操纵菜单或快捷键完成。这也成为使用TC的一大遗憾。TC启动由于TC支持DOS环境,TC的安装十分方便。如果有安装盘,可以按照提示ー步步完成安装;如果没有安装盘,可以从其他机器直接拷贝已安装好的系统。由于TC是在DOS环境下工作的,无法象Windows应用程序那样,通过“开始”菜单的程序项运行。首先要找到TC系统的安装(复制)目录,双击其上的tc.exe应用程序,可以启动TC系统,其界面如图2所示。图2TC界面图2中,菜单包含了所有操作的功能;编辑窗口是用于输入、修改程序的区域;信息窗口将显示程序编译、连接和运行过程中的错误信息或有关提示信息;快捷热键提示将给出常用操作的快捷键提示信息,以方便用户的操作。运行程序要运行一个C程序,必须经过:输入源程序、修改错误、编译连接和运行几个步骤。(1)编辑在编辑窗口中,直接输入程序。如果要进行修改,可以使用[t],[!】、【ー】、【ー】四个方向键,移动光标到所需位置,然后删除错误,输入正确的内容。(2)编译、连接和运行同时按下[Ctrl]+[F9]键,将对编辑窗口中的程序,完成编译、连接和运行三个步骤。如果程序没有错误,将直接运行程序;如果存在编译错误,信息窗口中将显示错误信息,并终止连接与执行步骤;如果编译通过,但存在连接错误,信息窗口中将显示错误信息,并终止执行步骤。任何错误都必须纠正后,重新按[Ctrl]+[F9]键运行。如果还有错,继续修改,直到能正确执行为止。当按【F9】只进行编译连接,出现图ー3所示的界面时,表示编译连接通过,程序没有语法错误,可以运行了([Ctrl]+[F9])orileEditRunCompileProjectOptionsdebugBreak/watchLine2Cel1InsertIndentTabFillUnindent»D:NELLO.C/• HELLO.C—Hello,world*/nain()(printfC'Hello,world\nM);)LinkingEXEfile:HELLO.EXELinking:LIB\CH.LIBTotalLinkLinescompiled: 2 PASS2Warnings: 0 0Errors: 0 0Availablememory:249K Watch 图ー3编译连接通过界面即使通过了编译和连接,并不说明程序就没有错误了,解题思路错误或语句的错误使用(语句格式没有错),都会导致无法得到正确的结果,甚至程序无法正确执行。如果程序在执行过程中无法结束(死机),可以按[Ctrl]+[break]或[Ctrl]+[c],强制结束。([break]位于键盘旳右上角ーー功能键)。(3)输入数据如果程序中有scanf()语句,则屏幕将出现ー个黑底的输入窗口,等待输入数据,通常是输入ー个数据,打ー个空格或回车,然后输入下ー个数据。直到输入完所有的数据。如果scanf()语句中格式规定是逗号分隔,则各数据之间要输入逗号。(4)査看结果输入完数据,系统将自动关闭输入窗口,运行程序后,回到编辑窗口。但运行结果并未在屏幕上显示,若要查看运算结果,需要按[Alt]+[F5]才出现输出窗口。看完后,再按任意键将关闭输出窗口。对于没有输入要求的程序,按下[Ctrl]+[F9]运行,屏幕上不会有什么变化,但这并不表示程序未被运行,按[Alt]+[F5]就能看到结果。通过上述步骤,读者可以快速掌握C语言的上机过程,运行自己的程序。但还只能处理一些简单的问题,如果想更有效地调试运行C程序,下面的内容是必不可少的。2.3TurboC菜单前面介绍的是上机过程中的基本的ー些操作。为了对TC的功能有一个全面的了解,我们将对各主要菜单项分别予以介绍。由于TC环境下不能使用鼠标,对打开菜单栏有两种方法:按[F10],然后按[-]或[一]选择相应菜单位置,再按回车键[Enter]。按[Alt]+[菜单上红色大写字母]当选中一个菜单后,会弹出下拉菜单项,通过[t]或[I]选择相应菜单项,再按回车键[Enter],完成菜单功能操作。按[Esc]可以取消菜单选择(不是撤销菜单功能)。TC中提供了完善的帮助信息,按[F1]屏幕上将弹出帮助窗口。但其中的信息都是英文的。TC的快捷键通常是组合键,如[Ctrl]+[F9]表示要同时按下两个键。对于三键的组合键,其前两个键要同时按下,松手后再按第三个键,如[Ctrl]+[k]+[b]表示先同时按下[Ctrl]键和[k]键,松手后再按[b]键。(1)File菜单(文件操作)Load([F3]):调入一个已存在的程序文件(扩展名为c)o[F3]是快捷键。Pick([Alt]+[F3]):从旳近曾经调入过的文件中选择ー个调入。New:清除编辑窗口中的程序,供输入一个新程序。Save([F2]):把编辑窗口中的程序保存到文件中。如果该程序已经保存过,该操作将更新文件内容:如果该程序是新输入的,需要进ー步输入文件名称或路径。Writeto:相当于Windows文件菜单中的“另存为”功能。Quit([Alt]+[x]):退出TC系统。Edit(编辑操作)它没有下拉菜单,在编辑过程中,•些常用的编辑功能依靠快捷键实现。[Ctrl]+[y]:删除光标所在行的整行信息。[Ctrl]+[q]+[£]:査找特定字符,它会在屏幕上部提示输入查找字符,如图3所示,当输入了“main”后,屏幕上出现Option信息,要求输入查找方式:G对整个文件进行查找,回车从光标当前位置向后查找.FileEditRunCompileProjectUp,Edit=Find:main/*HELLO.C-Hello,world*/tinclvde<stdio.h>main。CprintfC'Hello,world\n");)图3字符查找[Ctrl]+[q]+[a]:替换字符串。它在上面查找的过程中,再输入替换字符Replace。[Ctrl]+[L]:重复上一次查找或替换。[Ctrl]+[q]+[[]:对光标所处位置的“(ヽ[或ド定位相应的“}、]或)"。这在程序中检查三种括号是否匹配十分有用。[Ctrl]+[k]+[b]:把光标所在位置定义为块信息的头部。[Ctrl]+[k]+[k]:把光标所在位置定义为块信息的尾部。[Ctrl]+[k]+[h]:取消所定义的块信息。若重新定义新块也会取消原定义块。[Ctrl]+[k]+[c]:把定义的块信息复制到光标所在位置。[Ctrl]+[k]+[v]:把定义的块信息移动到光标所在位置。在“记事本”中选中一块文本,使用鼠标能很方便地实现。而在TC中由于无法使用鼠标,只能通过键盘进行,我们需要定义文本块的开始位置与结束位置,当选中后,文字变成白底蓝字,然后才能实现文本块的复制和移动,步骤与“记事本”中相似。因此上述5个操作需要配合使用。Compile菜单(编译连接操作)Compile([Alt]+[F9]):把编辑窗口中的程序编译成目标文件。Link:把编辑窗口中的程序连接成可执行文件。Make([F9]):把编辑窗口中的程序经编译、连接,生成可执行文件。Run菜单(运行操作)Run([Ctrl]+[F9]):执行编辑窗口中的程序。如果该程序旳近未编译连接过,将先自动编译连接,然后再执行。Option菜单(建立工作环境)这里主要介绍工作环境目录的设置。如果使用安装盘安装,该工作环境目录会自动设置好。如果是通过系统复制的,则需要对"Option»菜单的“Directories”菜单项进行设置。假设TC所在目录为:“D:\TC”,在打开的目录窗口中应填入:Includedirectories:D:\TC\INCLUDE;Librarydirectories:D:\TC\LIB以确保程序连接时能从这两个位置找到系统包含文件和系统库文件。如图4所示。图4TC工作目录设置窗ロ操作在图2的TC界面下,屏幕上半部分是编辑窗口,下半部分是信息窗口。如果想把编辑窗口扩大到整屏,可按【F5】键,这时信息窗口将被遮住,再按[F5]键又可以恢复成上下两个窗口。因此[F5]键就象・个电源开关。如果编辑窗口被扩大到整屏,而又想看一下信息窗ロ,可使用[F6]进行窗口切换。如果在程序执行时又开了观察窗口,【F6】可以对三个窗口进行切换,切换过程是按ー个方向循环。在Windows中运行TC,所打开的窗口往往较小,边框线也不对。按[Alt]+[Enter]键可以使窗口旳大化,成为仿真Dos界面。再按【Alt[+[Enter]又会恢复较小窗口。2.5程序调试除了较简单的程序,一般的程序很难一次就能做到完全正确。在上机过程中,根据出错现象找出错误并改正称为程序调试。我们要在学习程序设计过程中,逐步培养调试程序的能力,它不可能靠几句话讲清楚,要靠自己在上机中不断摸索总结,它可以说是ー种经验积累。程序中的错误大致可分为三类:80程序编译时检查出来的语法错误;80连接时出现的错误;80程序执行过程中的错误。编译错误通常是编程者违反了C语言的语法规则,如保留字输入错误、大括号不匹配、语句少分号等等。连接错误通常由于未定义或未指明要连接的函数,或者函数调用不匹配等,对系统函数的调用必须要通过“include”说明。对于编译连接错误,C语言系统会提供出错信息,包括出错位置(行号)、出错提示信息。编程者可以根据这些信息,找出相应错误所在。有时系统提示的一大串错误信息,并不表示真的有这么多错误,往往是因为前面的一两个错误带来的。所以当你纠正了儿个错误后,不妨再编译连接一次,然后根据旳新的出错信息继续纠正。有些程序通过了编译连接,并能够在计算机上运行,但得到的结果不正确,这类在程序执行过程中的错误往往旳难改正。错误的原因一部分是程序书写错误带来的,例如应该使用变量X的地方写成了变量y,虽然没有语法错误,但意思完全错了;另一部分可能是程序的算法不正确,解题思路就不对。还有一些程序有时计算结果正确,有时不正确,这往往是编程时,对各种情况考虑不周所致。解决运行错误的首要步骤就是错误定位,即找到出错的位置,才能予以纠正。通常我们先设法确定错误的大致位置,然后通过C语言提供的调试工具找出真正的错误。为了确定错误的大致位置,可以先把程序分成儿块,当运行到每块的结束位置时,应产生一个或几个阶段性结果,通过顺序检查这些阶段性结果可以确定各块是否正确。如果出错块仍然较长,可以进ー步细分。TC提供了一些调试的手段和工具,下面按照使用过程予以介绍。(1)让程序执行到中途暂停以便观察阶段性结果:方法一:使程序执行到光标所在的那一行暂停。①把光标移动到需暂停的行上;②按[F4]或执行菜单Run中的“G。toCursor»操作。当程序执行到该行将会暂停。如果把光标移动到后面的某个位置,再按[F4],程序将从当前的暂停点继续执行到新的光标位置,第二次暂停。方法二:把光标所在的那一行设置成断点,然后按[Ctrl]+[F9]执行,当程序执行到该行将会暂停。设置断点的步骤为:①把光标移动到需暂停的行上;②按[Ctrl]+[F8]或执行菜单“Break/watch"中的uTogglebreakpoint"操作。不管是通过光标位置还是断点设置,其所在的程序行必须是程序执行的必经之路,亦即不应该是分支结构中的语句,因为该语句在程序执行中受到条件判断的限制,有可能因条件的不满足而不被执行。这时程序将一直执行到结束位置或下ー个断点位置。(2)设置需观察的结果变量按照上面的操作,可使程序执行到指定位置时暂停,其目的是为了查看有关的中间结果。按【Ctrl]+[F7]或菜单“Break/watch"中的"Addwatch"操作,屏幕上将会弹出小窗口供输入査看变量,如图5所示,我们输入了变量i进行査看。图5输入查看变量对于图5中的例子,我们先把光标移动到第五行,然后按【F4】执行,程序到第五行暂停,如图6所示,查看(Watch)窗口中就会显示查看变量i的当前值。绿色光条表示当前将被执行的程序位置(或暂停位置)。FileEditRunCompileProjectOptionsDebugBreak/watchLine5Col1InsertIndentTabFillUnindent*E:UFOR.CmainO€inti,sum二。;for(1=1;i<=10; 图6查看中间结果多次使用【Ctrl]+[F8]可增加多个新的查看变量,如果想改变查看变量的名字或删除查看变量,可以按【F6],使查看窗口成为操作窗口,然后按回车键【Enter],可以改变查看变量,按删除键【Delete]可以删除査看变量。这些菜单功能分别在"Break/watchw中。(3)单步执行当程序执行到某个位置时发现结果已经不正确了,说明在此之前肯定有错误存在。如果能确定一小段程序可能有错,先按上面步骤暂停在该小段程序的头一行,再输入若干个查看变量,然后单步执行,即ー次执行ー行语句,逐行检查下来,看看到底是哪ー行造成结果出现错误,从而能确定错误的语句并予以纠正。单步执行按[F8]或执行菜单Run中的“Stepover”操作。如果遇到自定义函数调用,想进入函数进行单步执行,可按[F7]或执行菜单Run中的“Traceinto"操作。对不是函数调用的语句来说,[F7]与【F8]作用相同。但一般对系统函数不要使用[F7L(4)断点的使用使用断点也可以使程序暂停。但•・旦设置了断点,不管你是否还需要调试程序,每
次执行程序都会在断点上暂停。因此调试结束后应取消所定义的断点。方法是先把光标定位在断点所在行,再按[Ctrl]+[F8I或执行菜单“Break/watch"中的"Togglebreakpoint"操作,该操作是ー个开关,第一次按是设置,第二次按是取消设置。被设置成断点的行将呈红色背景。如果有多个断点想一下全部取消,可执行菜单"Break/watch"中的"Clearallbreakpoints"操作。断点通常用于调试较长的程序,可以避免使用[F4](运行程序到光标处暂停)功能时,需要经常把光标定位到不同的地方。而对于长度为上百行的程序,要寻找某位置并不太方便。如果ー个程序设置了多个断点,按一次[Ctrl]+[F9]会暂停在第一个断点,再按一次[Ctrl]+[F9I会继续执行到第二个断点暂停,依次执行下去。(5)循环的调试实例下面用单步执行功能来看一下for语句的执行流程。如图7所示。程序中把for(……)分成三行,以便观察执行流程。先把光标移动到第四行,然后按[F4]或执行菜单Run中的"GotoCursor"操作,按[Ctrl]+[F7]输入查看变量i»由于此时i未赋过值,所以显示的是ー个随机数。再连续按[F8]单步执行,可以观察绿色光条的位置变动和査看变量i的变化,绿色光条的位置变动就是程序执行的过程,学员可以充分体会到for语句的执行流程。FileEditHunCompileProjectOptionsDebugBreak/watchLine4Col13InsertIndentTabFillUnindent*E:4FOR.CmainO<IBforC1^1IBforC1^1; 1sum=sum*i;printf(“煞d",sum);) Watch •i:M09Mt:CF-:屈TM.計已:mWHUM图7循环调试实例通过这个例子,读者可以举…反三调试自己的程序了。上面我们只对TC中主要的功能作了介绍,对于其他的操作读者可以自己试验,或参考有关TurboC手册。为了尽量减少错误的发生,除了程序本身的正确,书写格式也非常重要,它体现了编程者的自身素养。每一个人都应培养ー个良好的的程序设计风格,以下几点应该做到:用阶梯形式书写程序,充分体现循环、分支程序结构的位置与层次,便于程序的调试,减少程序的书写错误。so左右花括号尽量对齐,函数间增加空行,以示分隔。神变量名、函数名的取名采用与其所表达的意义相同或相近的英文单词,使得在阅读程序时容易理解。在程序中加上注解,尤其在关键步骤上,函数的开始处应对函数的功能、参数的意义及80返回值予以说明。常用快捷键小结[F1]:帮助【F3]:调入程序文件;【F2]:保存程序;【Alt】+【F3]:调入旳近曾经用过的文件;【F4】:程序运行到光标处暂停【Alt】+【F5]:查看运行结果【F7】:单步执行(可进入函数)【F8】:单步执行(不能进入函数);【F5】:放大/缩小窗口;【F6】:窗口切换;【Ctrl】+【F7】:增加查看变量;【Ctrl】+【F8】:把光标所在行设为断点;或取消段点【Alt】+【F9】:编译程序;【F9】:编译、连接程序;【Ctrl】+【F9】:编译、连接、执行程序【F10】:菜单选择;【Alt】+[x]:退出系统。Turboc常见错误误分析TurboC编译系统查出的源程序错误分为三类:严重错误、一般错误和警告错误。严重错误:一般很少出现,它通常是内部编译出错。一旦出现这类错误,编译立即停止。一般错误(error):通常是指源程序中的语法错误、存取数据错误或命令错误等。编译系统遇到这类错误时,一般也要停止编译。警告信息(warning):是指出ー些值得怀疑的情况,而这些情况有可能是源程序中合理的一部分。因此警告信息只是提醒用户注意,编译过程并不停止。编译系统在发现源程序中各类的错误时,首先显示错误信息,然后显示源文件名以及出错的行号。但必须注意,真正有错误的位置可能在前一行,甚至可能在前儿行,有时,好像发生了许多错误,而实际上可能是有一个错误造成的。下面列出常见的一些编译错误信息,并指出可能的原因。严重错误Badcallofin-linefunction在使用ー个宏定义的内部函数时,未能正确调用。ー个内部函数应以两个短下划线(__)开始和结束。Irreducibleexpressiontree不可约束的表达式树。这种错误是指源文件行中的表达式太复杂,编译系统中的代码生成程序不能为它产生代码,因此,这种表达式应避免使用。Registerallocationfailure寄存器分配失败。一般错误#operatornotfollowedbymactoargumentname“ギ’运算符后无宏变元名。在宏定义中,“#”用于标志一宏变元是ー个串,因此,在“ザ后面必须跟随一个宏变元名。“xxxxxxxx“notaangument“xxxxxxxx”不是函数参数。在源程序中将该标识符定义为ー个函数,但它没有在函数中出现。3.Ambiguoussymbol“xxxxxxxx”二义性符号"xxxxxxxx"。两个或两个以上结构的某ー域名相同,但它们的偏移、类型不同,因此,在变量或表达式中引用该域但未带结构名时,就会产生二义性。在这种情况下,需要修改域名,或在引用时加上结构名。Argument#missingname参数#名丢失。参数名已脱离用于定义函数的函数原型。C语言规定,如果函数以原型定义,该函数必须包含所有的函数名。Argumentlistsyntaxerror参数表现出语法错误。C语言规定,函数调用的各参数之间必须以逗号分隔,并以右括号结束。若源文件中含有一个其后不是逗号也不是右括号的参数,则会出现本错误。Arrayboundsmissing数组的界限符“]”丢失。在源文件中定义了一个数组,但此数组没有一右方括号结束,则会出现本错误。Arraysizetoolarge数组长度太长。定义的数组太大,可用内存不够。Assemblerstatementtoolong汇编语句太长。C语言规定,内部汇编语句最长不能超过480个字节。Badconfigurationfile配置文件不正确。TURBOR.CFG配置文件中包含不是合适命令行选择项的肥注视文字。C语言规定,配置文件命令选择项必须以一短横线(一)开始。Badfilenameformatinincludedirective包含指令中文件名格式不正确。包含文件名必须用双引号(如“filename")或尖括号(如<filename>)或起来,否则将出现本错误。如果使用了宏,则产生的扩展文本也不正确(因为无引号)。Badifdefdirectivesyntaxifdef指令语法错误。#ifdef必须以单个标识符作为该指令的体。Badifndefdirectivesyntaxifndef指令语法错误。#ifndef必须以单个标识符作为该指令的体。Badundefdirectivesyntaxundef指令语法错误。#undef()必须以单个标识符作为该指令的体。Badfilesizesyntax位字段长语法错误。ー个位字段长必须是P16为的常量表达式。Callofnon-function调用未定义的的函数。正被调用的函数未定义,通常是由于不正确的函数声明或函数名拼写错误所造成。Cannotmodifyaconstobject不能修改ー个常量对象。对定义为常量的对象进行不合法的操作(如对常量进行赋值)会产生本错误。Caseoutsideofswitchcase出现在switch的外面。编译程序发现case语句在switch的外面,通常是由于括号不匹配所造成。Casestatementmissingcase语句漏掉。Case语句必须包含一个以冒号结束的常量表达式,可能的原因是丢的冒号或在冒号千多了别的符号。CastsyntaxerrorCast语法错误。可能在Cast中包含了一些不正确的符号。Characterconstanttoolong字符常量太长。Compoundstatementmissing复合语句漏掉。编译程序扫描到源文件末时为发现结束大括号号,通常是由于大括号不匹配造成。Conflictingtypemodifiers类型修饰符冲突。对同・指针只能制定一种变址修饰符(如near或far);而对同•函数也只能给出ー种语言修饰符(如cdecl、pascal>或interrupt)〇Constantexpressionrequired要求常量表达式。数组的大小必须是常量,本错误通常是由于#define常量的拼写错误造成。Couldnotfindfile'xxxxxxxx.xxx'找不到文件'xxxxxxxx.xxx,。编译程序找不到命令行上给出的文件。Declarationmissing说明漏掉'';二在源文件中包含了一个struct或union域声明,但后面漏掉了分号(;).Declarationneedstypeorstorageclass说明必须给出类型或存储类。如以下说明是错误的:i,j;Declarationsyntaxerror说明出现语法错误。在源文件中,某个说明丢失了某些符号或有多余的符号。defaultoutsideswitchdefault在switch外出现。这个错误通常是由于括号不匹配造成。Definedirectiveneedsneedsanidenfierdefine指令必须有一个标识符。»define后面的第一个非空格字符必须是ー个标识符,若编译程序发现ー些其它字符,则出现本错误。DivisionbyZero除数为零。在源文件的表达式中出现除数为零的情况。Dostatementmusthavewhiledo语句中必须要有while.〇Do-whilestatementmissing(do-while语句漏掉了"("。Do-whi1estatementmissing(do-while语句漏掉了")”。Do-whilestatementmissing;do-while语句漏掉了";”。DuplicateCasecase的情况不唯一。Switch语句中的每个case必须有一个唯 一的常量表达式。Enumsyntaxerrorenum语法错误。Enum说明的表示附表的格式不对。Enumerationconstantsyntaxerror枚举常量语法错误。赋给enum类型变量的表达式不是常量。ErrorDirectivejxxxxerror指令:xxxxo源文件处理#error指令时,显示该指令指出的信息。Errorwritingoutputfile写输出文件出现错误。通常是由于磁盘空间不够造成。Expressionsyntax表达式语法错误。如:在表达式中连续出现两个操作符、括号不匹配或缺少括号、前ー语句漏掉了分号等。Extraparameterincall调用时出现多余参数。在调用ー函数时,实际的参数个数多于函数定义中的参数个数。Extraparameterincalltoxxxxxxxx调用xxxxxxxx函数时出现了多余的参数。其中该函数由原型定义。Filenametoolong文件名过长。«include指令中给出的文件名太长,编译程序无法处理。DOS下的文件名不能超过64个字符。Forstatementmissing(for语句漏掉气”。Forstatementmissing)for语句漏掉“ゾ。Forstatementmissing;for语句漏掉、”。Fuctioncallmissing)函数调用缺少“)”。Functiondefinitionoutofplace函数定义位置错误。函数定义不能出现在另ー函数内。函数内的任何说明,只要以类似与带有ー个参数表的函数开始,就被认为是ー个函数定义。Functiondoesn'ttakeavariablenumberofargument函数不接受可变的参数个数。源文件中的某个函数内使用了va-start宏,此函数不能接受可变数量的参数。Gotostatementmissinglablegoto语句缺少标号。在goto关键字后必须由一个标识符。Ifstatementmissing(if语句缺少“(”。Ifstatementmissing)if语句缺少")”。Illegalcharacter(OXxx)非法字符(OXxx)。编译程序发现输入文件中有非法字符,一十六进制方式打印该字符。Illegalinitialization非法初始化。初始化必须是常量表达式后ー全局变量extern或static的地址加减ー常量。Illegaloctaldigit非法ハ进指数。编译程序发现在ー个ハ进制常数中包含了非ハ进制数字符号(如8或9)。Illegalpointersubtraction非法指针相减。这是由于试图以ー个非指针变量减去ー个指针变量而造成的。Illegalstructureoperation非法结构操作。结构只能使用(.)、取地址符(&)和赋值操作符(=),或作为函数的参数传递。当编译程序发现结构使用了其它操作符时出现本错误。Illegaluseoffloatingpoint非法的浮点操作。浮点操作数不允许出现在移位、按位逻辑操作、条件(?:)>间接(*)以及其它ー些操作符中。Illegaluseofpointer非法使用指针。指针只能在加、减、赋值、比较、间接(*)或箭头(一)操作中使用。Improperuseofatypedefsymboltypedef符号使用不对。源文件中使用了一个符号,符号变量应在ー个表达式中出现。检查一下此符号的说明和可能的拼写错误。In-lineassemblynotallowed不允许内部汇编语句。源文件中包含有直接插入的汇编语句,若在集成环境下进行编译,则要出现本错误,必须使用TCC命令编译该文件。Incompatiblestorageclass不相容的存储类。源文件的ー个函数定义中使用了extern关键字,而只有static(或根本没有存储类型)是允许的。Incompatibletypeconversion不相容的类型转换。源文件中试图把・种类型转换成另ー种类型,但这两种类型是不相容的。如函数与非函数间转换、・■・种结构或数组与一种标准类型间转换、浮点数与指针间转换等。Incorrectcommandlineargument:xxxxxxxx不正确的命令行参数:xxxxxxxx.Incorrectcinfigurationfileargument:xxxxxxxx不正确的配置文件参数:xxxxxxxx。编译程序认为该配置文件是非法的,此时可检查一下前面的短横线(-)。Incorrectnumberformat不正确的数据格式。编译程序发现在十六进制树种出现十进制小数点。Incorrectuseofdefaultdefault的不正确使用。编译程序发现default关键字后缺少分号。Initializersyntaxerror初始化语法错误。初始化过程中缺少了操作符,括号不匹配,或其他•些不正常的情况。Invalidindirection无效的间接运算。间接运算符(*)要求非控制真作为操作分量。Invalidmacroargumentseparator无效的宏参数分隔符。在宏定义中,各参数必须永逗号分隔。编译程序发现在参数后面有其它非法字符。Invalidpointeraddition无效的指针相加。源程序中试图把两个指针相加。Invaliduseofarro箭头使用错。在箭头操作符(f)后必须跟ー标识符。Invaliduseofdot点使用错。在点操作符(.)后必须跟一标识符。Lvaluerequired请求赋值。赋值操作符的左边必须是一个地址表达式、包括数值变量、指针变量、结构引用域、间接指针或数祖分量。Macroargumentsyntaxerror宏参数语法错误。宏定义中的参数必须是一个表示符。编译擦程序发现所需的参数不是表示符的字符,则出现本错误。Macroexpansiontoolong宏扩展太长。ー个宏扩展不能多于4096个字符。当宏递归扩展自身时,常出现本错误。宏不能对自身进行扩展。Maycompileonlyonefilewhenanoutputfilenameisgiven给出ー个输出文件名时,可能只编译一个文件。在命令行编译时,若只使用ー〇选择,则只允许ー个输出文件名。此时,只编译第一个文件,其它文件被忽略。Mismatchnumberofparametersindefinition定义中参数各数不匹配。定义中的参数和函数原型中提供的信息不匹配。Misplacedbreakbreak位置错误。编译程序发现break语句在switch语句或循环外。Misplacedcontinuecontinue位置错误。编译程序发现continue语句在循环结构外。Misplacedelse十进制小数点位置错。编译程序发现浮点常数的指数部分有一个十进制小数点。Misplacedelseelse位置错。编译程序发现else语句缺少与之相配套的if语句。本错误的产生除了由于else多余外,还有可能是由于有多余的分号、漏写了大括号或前面的if语句出现语法错误引起的。Misplacedelifdirectiveelif指令位置错误。编译命令没有发现与#enif指令相配的#if、#ifdef或#ifndef指令。Misplacedelsederectiveelse指令位置错误。编译命令没有发现与#else指令相配的#if、#ifdef或#ifndef指令。Misplacedendifdirectiveendif指令位置错误。编译命令没有发现与#endif指令相配的#if、#ifdef或#ifndef指令。Mustbeadressable必须是可编址的。取址操作符(&)作用与一个不可编址的对象,如寄存器变量。Musttakeaddressofmemorylocation必须是内存一地址。源文件中对不可编址的表达式使用了地址操作符(&),如对寄存器变量。Nofilenameending无文件中止符。在#include语句中,文件名缺少正确的闭引号「)或尖括号(>)«Nofilenamegiven未给出文件名。Turbo命令行编译(TCC)中没有任何文件。Non-protablepointerassingmentxsw对不可移植的指针赋值。源程序中将一个指针赋给ー个非指针,或相反。但作为特例,允许把常量零值赋给ー个指针,如果是这种情况,则应强行抑制本错误信息。Non-protablepointercomparision不可移植的指针比较。源程序中将一个指针与一个非指针(常量零除外)进行比较。但如果比较恰当则应强行抑制本错误信息。Non-protablereturntypeconversation不可移植的返回型转换。在返回语句中的表达式类型与函数说明中的类型不同。但如果函数的返回表达式是一指针,则可以进行转换,此时,返回指针的函数可能送回一个常量零,而零被转换成一个适当的指针值。Notanallowedtype不允许的类型。在源文件中说明了几种禁止了的类型,如函数返回ー个函数或数组。Outofmemory内存不够。Pointerrequiredonleftsideof操作符左边必须是一个指针。Redeclarationof'xxxxxxxx'“xxxxxxxx”重定义。Sizeofstrutureorarraynotknown结构或数组大小不定。有些表达式(如sizeof或存贮说明)中出现ー个未定义的结构或ー个空长度数组。如果结构长度不需要,则在定义之前就可引用;如果数组不申请存储空间或者初始化是给定了长度,则可定义为空长。Statementmissing语句缺少J”。structrureorunionsyntaxerror结构或联合语法错误。编译程序发现在struct或关键定后面没有标识符或开花括号。Structuresizetoolarge结构太大。源文件中说明的结构所需的内存区域太大以致内存空间不够。Subscriptingmissing]下标缺少“]”。可能是由于漏掉或多写操作符或括号不匹配引起的。Switchstatementmissing(switch语句中缺少“(”。Switchstatementmissing)swich语句中缺少Toofewparametersincall函数调用参数太少。对带有原型的函数调用(通过一个函数指针)参数太少。原型要求给出所有参数。Toofeewparametersincallto'xxxxxxxx'调用“xxxxxxxx”时参数太少。调用指定的函数(该函数用一原型声明)时,给出的参数太少。Toomanycasescase太多。语句取多允许有257个case。Toomanydecimalpoints十进制小数点太多。toomanydefaultcasesdefault太多。switch语句中只能有一个default〇Toomanyexponents阶码太多。Toomanyinitializers初始化太多。Toomanystorageclassesindeclaration说明中存储类太多。ー个说明只允许有一种存储类。Toomanytypesindeclaration说明中类型太多。ー个说明只允许有一种下列基本类型:char,int,float,double,struct,union,enum或typedef名。Toomuchautomemoryinfunction函数中自动存储太多。当前函数声明的自动存储超过了可用的存储器空间。Toomuchcodedefineinfile文件定义的代码太多。当前文件中函数的总长度超过了64K字节。可以移去不必要的代码或把源文件分开写。Toomuchglobaldatadefineinfile文件中定义的全局数据太多。全局数据声明的总数超过了64K字节。检查ー下一些数组的定义是否太长。如果所有的说明都是必要的,则要考虑重新组织程序。Twoconsecutivedots两个连续点。因为省略号包含三个点而十进制的小数点和选择操作符使用ー个点(.),所以,在C程序中不允许出现两个连续点。Typemissmatchinparameter#参数“ギ’类型不匹配。通过一个指针访问已由原形说明参数时,给定参数#N(从左到右N逐个加1)不能转换为已说明的参数类型。Typemissmatchinparameter'XXXXXXXX'调用“XXXXXXXX”时参数#不匹配。源文件中通过ー个原形说明了指定的参数,而给定的参数(从械到可N逐个加1)不能转换为已说明的参数类型。Typemissmatchinparameter*XXXXXXXX*参数“XXXXXXXX”类型不匹配。源文件中通过一个原形说明了可由函数指针调用的函数,而所指定的参数不能转换为已说明的参数类型。Typemissmatchinparameter'XXXXXXXX'incallto'YYYYYYYY)调用“YYYYYYYY"时,参数"XXXUXXX"类型不匹配。源文件虽通过ー个原形说明了指定的参数不能转换为另ー个已说明的参数类型。Typemissmatchinredeclarationof'XXX'重定义类型不匹配。源文件中把ー个已经说明的变量重新说明为另ー种变量。如果ー个函数被调用,而后又被说明成非整型也会产生本错误。在这种情况下,必须在第一次调用函数前,给函数加上extern说明。Unabletocreatoutputfile'XXXXXXXX.XXX'不能创建输出文件"XXXXXXXX.XXX".当工作软盘已满或有写保护时产生本错误。Unabletocreatturboc.Ink不能创建turboc.Ink。编译程序不能创建临时文件TURBOC.$LN,因为不能存取磁盘或者磁盘已满。Unabletoexecutecommand'xxxxxxxx'不能执行"xxxxxxx”命令。找不到TLILNK或MASM,或者磁盘出错。Unabletoopenincludefile'xxxxxxx.xxx'不能打开包含文件“"xxxxxxx.xxxo编译程序找不到该包含文件。可能是由于ー个#include文件包含它本身而引起的,也可能是根目录下的CONFIG.SYS中没有设置能同时打开的文件个数(试加一句files=20)oUnabletoopeninputfile'xxxxxxxx.xxx'不能打开输入文件"xxxxxxx.xxx”。当编译程序找不到源文件时出现本错误。检査文件名是否拼错,或检查对应的磁盘目录中是否有此文件。Undefinedlabel'xxxxxxxx'标号“xxxxxxxx”未定义。函数中goto语句后的标号没有定义。Undefinedstucture'xxxxxxxx'结构“xxxxxxxx”未定义。源文件中使用了未经说明的某个结构。可能是由于结构名拼写错误或缺少结构说明而引起的。Undefinedsymbol'xxxxxxxx'符号“xxxxxxxx”未定义。标识符无定义,可能是由于说明或引用处有拼写错误,也可能是由于标识符说明错误而引起。Unexpectedendoffileincommentstartedonline#源文件在某个注释中意外结束。通常是由于注释结束标志(*/)漏掉引起。Unexpectedendoffileinconditionalstartedonline#源文件在#行开始的条件语句中意外结束。在编译程序遇到#endif前源程序结束,通常是由于漏掉或拼写错误引起。Unknownpreprocessordirectire,xxx'不认识的预处理指令:XXXo编译程序在某行的开始遇到“#”字符,但其后的指令名不是下列之一:define,undef,line,ifdef,ifndef,include,else或endif〇Unterminatedcharacterconstant未终结的字符常量。编译程序发现ー个不匹配的省略符。Unterminatedstring未终结的串。编译程序发现ー个不匹配的引号。Unterminatedstringorcharacterconstant未终结的串或字符常量。编译程序发现串或字符常量开始后没有终结。Userbreak用户中断。在集成环境中进行编译或连接时用户按了ctrl+break键。Whilestatementmissing(while语句漏掉“(二Whilestatementmissing)while语句漏掉り”。Wrongnumberofargumentsinof'xxxxxxx'调用“xxxxxxx”时参数个数错误。源文件中调用某个宏时,参数个数不对。3警告信息‘xxxxxxxx*declaredbutneveruse说明了‘xxxxxxxx’但未使用。在源文件中说明了改变量,但没有使用。'xxxxxxxx'isassignedavaluewhichisneverused'xxxxxxxx’被赋以ー个不使用的值。该变量出现ー个赋值语句中,但直到函数结束都未使用过。‘xxxxxxxx'notpartofstructure'xxxxxxxx'不是结构的一部分。出现在点(.)或箭头(->)左边的域名不是结构的一部分:或者点的左边不指向结构。'ambiguousoperatorsneedparentheses'二义性操作符需要括号。如:两个位移、关系或按位操作符在ー起使用而不加括号,ー加法或减法操作符不加括号与一位操作符出现在ーー起bothreturnandreturnofavalueused即用返回又用返回值。编译程序发现ー个与前面的RETURN语句不一致的RETURN语句。当某函数只在部分RETURN语句中返回值时,一般会发生本错误。calltofunctionwithprototype调用无原型函数。“原型请求”警告可用,且又调用了一无原型函数。calltofunction'xxxx'withprototype调用无原型的‘xxxx'函数。原型请求”警告可用,且又调用了一个原先没有原型的函数'xxxx'。codehasnoeffect代码无效。编译程序遇到ー个含无效操作符的语句,如“a+b;”,对每ー变量都不起作用,且可能要引起一个错误。constantislong常量是Long类型。当编译程序遇到ー个十进制常量大于32767,或ー个ハ进值常量大于65535,而其后没有字母"I”或"L”时,把此常量当作Long类型处理。constantoutofrangeincomparision比较时常量超出了范围。在源文件中有一比较,其中一个常量子表达式超出了另一个子表达式类型所允许的范围。如:ー个无符号量与一1比较就没有意义。为了得到ー个大于32767(十进制)的无赋好书,可以在常量前面加上unsigned(如(unsigned)65535),或在常量后加上字母“u”或"U”(如65535u)conversionmaylosesignificantdignits转换可能丢失高位数字。在赋值操作或其他情况下,源程序要求把long或unsignedlong类型转换成int或undesignedint类型。functionshoultreturnavalue函数应返回一个值。源文件中说明的当前函数的返回类型即非int型也非void行,编译程序未发现返回值。mixingpointertosignedandunsignedchar混淆signed和unsignd字符指针。没有通过显示的强制类型转换,就把ー个字符指针转换为无符号指针,或相反。nodeclarationforfunction'xxxxxxxx'函数’xxxxxxxx’没有说明。“说明请求”警告可用,而又调用了一个预先没有说明的函数。non-portablepointerassignment不可移植指针赋值。源文件中把一个指针赋给另・个非指针,或相反。但作为特例,可以把常量赋个ー个指针,此时可强行抑制本警告。non-portablepointercomparision不可移植指针比较。源文件中把ー个指针与另ー个非指针做比较。但作为特例,可以把常量零予以个指针做比较,此时可强行抑制本警告。non-portablereturntypeconversion不可移植返回类型转换。Return语句中的表达式类型和函数说明的不一致。作为特例,如果函数或返回值表达式为一个指针时可以的,在这种情况下,返回指针的函数可能返回一个常量零,被转换成一个合适的指针值。parameter'xxxxxxxx'isneverused参数'xxxxxxxx'没有使用。函数说明中的某参数在函数体中从未使用,通常是由于参数名拼写错误引起的。如果在函数体中该标识符被重新定义为ー个自动(局部)变量,也将发生本警告。该参数被标识为自动变量但未使用。possiableuseof'xxxxxxxx'beforeused在定义'xxxxxxxx'之前可能已使用。源文件中的某ー表达式中使用了未经符值的变量,编译程序队员文件进行简单扫描已确定此文件。如果该变量出现的物理位置在对它赋值之前,就会产生本警告,当然,程序的实际流程可能在使用前已赋值。possibleincorrectassignment可能的不正确赋值。例如,编译程序遇到赋值操作符作为条件表达式(如if、while>do-while语句的一部分)的主操作符,这通常是由于把赋值号当作等号使用了。如希望禁止此警告,可把赋值语句用括号括起来,并把它与零作显示比较,如:if(a=b)…应写为if((a=b)!=0)…redefinitionof'xxxxxxxx'isnotidentical'xxxxxxxx’重定义不相同。源文件中对命令宏重定义时,使用的正文内容与第一次定义的不相同,新内容将代替旧内容。restartingcompilerusingassembly用汇编重新启动编译。编译程序遇到ー个未使用命令行选择项ーB或#pragmainline语句的asm。structurepassedbyvalue结构安值传送。通常是在编制程序时,把结构作为参数传递,而又漏掉了地址操作符(&)。superfluous&withfunctionorarray在函数或数组重油多余的符号“&”。取值操作符(&)对ー个数组或函数名是不必要的。应该去除。suspiciouspointerconversion值得怀疑的指针转换。编译程序遇到ー些指针转换,这些转换引起指针指向不同的类型。undefinedstructure'xxxxxxxx'结构'xxxxxxxx'未定义。在源文件中使用了该结构,但为定义,。这可能是山于结构名拼写错误或忘记定义引起的。unknownassemblerinstruction不认识的汇编指令。编译程序发现在插入的汇编语句中有一个不允许的操作符unreachablecode不可达代码。Break,continue,goto或return语句后没有跟标号或循环函数的结束符。编译程序使用ー个常量测试条件来检查while,do和for循环,并试图知道循环没有失败。voidfunctionmaynotreturnavaluevoid函数不可以返回值。源文件中的当前函数说明为void,但编译程序发现ー个带常值的返回语句,该返回语句的值将被忽略。30.zerolengthstructure结构长度为零。在源文件中定义了一个总长度为零的结构,对此结构的任何使用都是错误的〇3.BorlandCBorlandC是在TC界面上进ー步发展而来的,它提供了集输入、修改、调试及运行为一体的集成操作环境,并支持C++语言,可以进行鼠标操作,在功能的实现上比TC方便的多。由于其操作过程与TC十分相似,这里我们以BorlandC3.1为对象,简单介绍其增加的功能。因此希望读者能先学习TC的内容,TC上绝大多数的操作在BC3.1上都能实现。3.1BC启动BC需要做安装,过程十分方便。首先执行安装盘上的“install.exe”应用程序,按照提示指定安装目录,然后ー步步确定下来即可。安装完成后,在“开始”菜单“程序”项下有“BorlandC”,点击它便可以启动BC3.!〇也可以在桌面上建立快捷方式,假定BC被安装在D:\BorlandcT,可直接把D:\Borlandc\Bin\Bc.exe拖到桌面上,这是支持Dos的版本,界面与TC相似。另外BC还提供Windows版本,应用程序为D:\Borlandc\Bin\Bcw.exe〇图ー8和图ー9分别是BC的Dos版界面与Windows版界面。=FileEditSearchKunCompileDebugProjectOptionsvlindow★include<stdio.h>tincludeくiostream.h>mainO(intx;floaty=1.23456789;uniona€inti;ch«arc[2];)u;x=_[■scan小褊T,&c1);trintfCXd*c*d\n",c1,cCompilingNOHAMEOO.CPP:•ErrorNONAMEOO.CPP6:TvpenameexpectedIrrorHONAME00.Cl larationmissing;ErrorNONftMEOO.C!机漣•isnotamemberofWarningNONOME00.FunctionshouIdreturnaualurF1HelpAlt-ffiHextMsgAlt-F7PrevMsgfilt-F9CompileF9MakeF10Menu图ー8BC的Dos版界面菜单CompilingNONAMEOOCPR隹B”13C**WarningNUNAMtUU.CPP11:functionshouldreturnavalueWarningNONAMCOO.CPP11:'y*isassignedavaluethatisneverusedWarningNONAMEOO.CPP11:'x1isassignedak/aluethatisnes/erusedド"°E1" fnnpi1*ProjectRrrw山べm«ゼ・de.?|H+ゆ|ぜけI|r.|"いI词づI而触I zJ11:21Modifiedlnw>JWamrigNONAMEOO.CPP11:Functionthouldreturnavalue图ー9BC的Windows版界面3.2 运行程序要运行一个C程序,必须经过:输入源程序、修改错误、编译连接和运行几个步骤。(1)编辑在编辑窗口中,直接输入程序。如果要进行修改,可以使用[t】、【I】、【ー】、【ー】四个方向键,也可以直接按动鼠标,把光标移动到所需位置,然后删除错误,输入正确的内容。(2)编译、连接和运行同时按下[Ctrl]+[F9I键,将对编辑窗口中的程序,完成编译、连接和运行三个步骤。如果程序没有错误,将直接运行程序;如果存在编译错误,信息窗口中将显示错误信息,并终止连接与执行步骤;如果编译通过,但存在连接错误,信息窗口中将显示错误信息,并终止执行步骤。任何错误都必须纠正后,重新按[Ctrl]+[F9]键运行。如果还有错,继续修改,直到能正确执行为止。(3)输入数据如果程序中有scanf()语句,则屏幕将出现ー个黑底的输入窗口,等待输入数据,通常是输入ー个数据,打一个空格或回车,然后输入下一个数据。直到输入完所有的数据。如果scanf()语句中格式规定是逗号分隔,则各数据之间要输入逗号。(4)查看结果输入完数据,系统将自动关闭输入窗口,运行程序后,回到编辑窗口。但运行结果并未在屏幕上显示,若要查看运算结果,需要按[Alt]+[F5]才出现输出窗口。看完后,再按任意键将关闭输出窗口。上述步骤步骤与TC完全相同,并且适用于BC的Dos版与Windows版。BC的Dos版菜单我们将只介绍“编辑”、“查找”和“窗口”菜单,其他菜单与TC相似。由于TC环境下不能使用鼠标,对打开菜单栏有两种方法:Edit(编辑操作)图ー10编辑菜单BC中支持鼠标操作,拖动鼠标可以选中一块文本,进ー步的操作可以在菜单下进行,而不必象TC那样须记忆一大堆快捷键命令。Cut:剪切到剪切版Copy:复制到剪切版Paste:从剪切版粘贴Clear:删除选中文本Undo:撤销上一次操作ShowClipboard:显示剪切版内容。Search菜单(查找与替换操作)在TC中查找与替换操作也是通过热键执行的,不易记忆,BC中可方便地通过菜单进行。SearchRunCompileDebugReplace...SearchagainCtr1+LGotolinenumber...Previouserror Alt+F7Hexterror IHt+F8Locatefunction.••图ー11查找与替换菜单Find:査找字符,在随后打开的对话框中填入查找字符,并作设置。Replace:替换字符,在随后打开的对话框中填入查找字符和想替换成的字符。Searchagain:重复上一次的查找或替换。Window菜单(窗口操作)BC中允许同时打开儿个C程序,每ー个程序都有自己的编辑窗口,对于有多个模块的程序,多窗口为各模块相互之间的编辑、调试提供了方便。另外,出错信息、输入输出和观察量都在自己独立的窗口中显示。tOptionsWindowHelpCascadeTileNext F6Close Alt+F3CloseallMessageOutputWatchUserscreenAlt+F5RegisterProjectProjectnotesListall... Alt♦0图ー12窗ロ操作菜单Size/Move:按【t】、【I】、【ー】、【f】四个方向键,移动编辑窗口:按【Shif”+【t】、【I】、【ー】、【ー】,改变窗口大小。Zoom:“旳大化”或“还原”编辑窗口Cascade:层叠各编辑窗口。Tile:平铺各编辑窗口。Next:切换到下ー个窗口。Close:关闭当前窗口。Closeall:关闭所有窗口。Massage/Output/Watch/Userscreen:切换到出错信息/输出/调试观察/用户操作窗口。Listall:给出所有窗口的列表。BC的Windows版BC的Windows版提供了一个完全的Windows应用程序的操作界面。其操作主要使用鼠标,允许同时打开几个C程序,每ー个程序都有自己的编辑窗口。在编辑窗口中,可以直接输入程序,经编译连接后,运行程序。^jBorlandC++FileEditSearchRunCompileProjectBrowseOptionsWindowHelp?FileEditSearchRunCompileProjectBrowseOptionsWindowHelp?I屮I・榻递|QIAI堂!因:對治[剛為)I-ln|x|±J被生成可执行代码。执行“Run”菜单的“Run”命令,可以运行程序,如图ー-ln|x|±J被生成可执行代码。执行“Run”菜单的“Run”命令,可以运行程序,如图ー15所示。快捷键[Ctrl]+[F9I也可执行程序。图ー14编译连接通过界面图T5运行程序菜单d:\borlandc\bin\nona*eOO.cppmain()£intx;floaty=l.23456789;charcl,c2;
图T3BC操作界面BCW菜单与前面介绍的相差不大,熟悉Windows界面的读者,可以很容易理解其中功能。这里简单介绍工具按钮的功能。.2J:提供帮助信息。凶:调入文件并打开。由:保存文件。回:查找。回!:替换。田:复制。I圍:剪切。IC£i:粘贴。闻:撤销操作。厠:编译当前窗口中的程序。陶:编译、连接当前窗口中的程序。编译连接后出现图ー14的界面,表示程序已VisualC语言集成环境C++语言是在C语言的基础上发展面来,它增加了面向对象的编程,成为当今旳流行的ー・种程序设计语言。VisualC++是微软公司开发的,面向Windows编程的C++语言工具。它不仅支持C++语言的编程,也兼容C语言的编程。由于VC++被广泛地用于各
种编程,使用面很广。这里简要地介绍如何在VC++下运行C语言程序。启动VC++VC++是ー个庞大的语言集成工具,经安装后将占用几百兆磁盘空间。从“开始”-,,程序,,—,,MicrosoftVisualStudio6.0”—“MicrosoftVisualC++6.0”,可启动VC++,屏幕上将显示图T6所示的窗口。新建/打开C程序文件选择“文件”菜单的“新建”菜单项,单击如图ー17所示的“文件”标签,选中"C++SourceFile",按“确定”。然后在编辑窗口中输入程序。-iDlxl菜单栏图文件编辑查看插入工程巽译工具え口聚助国-iD
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO/IEC TS 23220-2:2024 EN Cards and security devices for personal identification - Building blocks for identity management via mobile devices - Part 2: Data objects and enc
- 淮阴师范学院《数学课件制作》2022-2023学年第一学期期末试卷
- 淮阴师范学院《软件工程综合设计》2022-2023学年期末试卷
- 淮阴师范学院《理论力学》2021-2022学年第一学期期末试卷
- 淮阴师范学院《中学教育科研实务》2023-2024学年第一学期期末试卷
- 淮阴师范学院《刑事诉讼法》2023-2024学年第一学期期末试卷
- 淮阴师范学院《化工基础实验》2023-2024学年第一学期期末试卷
- 淮阴工学院《软件设计模式II》2023-2024学年期末试卷
- 淮阴师范学院《城市给水排水》2023-2024学年第一学期期末试卷
- 淮阴工学院《中国秘书史》2021-2022学年第一学期期末试卷
- 上海中考英语专项练习-动词的时态-练习卷一和参考答案
- GB 4806.7-2023食品安全国家标准食品接触用塑料材料及制品
- 我们的出行方式 (教学设计)2022-2023学年综合实践活动四年级上册 全国通用
- GB/T 16739.2-2023汽车维修业经营业务条件第2部分:汽车综合小修及专项维修业户
- 七年级数学上册《第二章 整式的加减》单元测试卷含答案人教版
- 第三章农业遥感技术与应用课件
- 产品安全技术说明书MSDS
- 合理用药健康教育教学课件
- 中医教材(第五版)
- 比亚迪F0说明书
- 昌江县古榕峰水泥用石灰岩矿矿产资源开发利用与保护方案
评论
0/150
提交评论