C语言实验指导与习题解析再版

上传人:无*** 文档编号:168649205 上传时间:2022-11-11 格式:DOCX 页数:168 大小:326.71KB
收藏 版权申诉 举报 下载
C语言实验指导与习题解析再版_第1页
第1页 / 共168页
C语言实验指导与习题解析再版_第2页
第2页 / 共168页
C语言实验指导与习题解析再版_第3页
第3页 / 共168页
资源描述:

《C语言实验指导与习题解析再版》由会员分享,可在线阅读,更多相关《C语言实验指导与习题解析再版(168页珍藏版)》请在装配图网上搜索。

1、C语言实验指导与习题解析饶琛陈舜青 蔡晓丽率州挙角第1单兀Turbo C 2.0集成开发环境1、 进入 Turbo C 的工作窗 口1二、Turbo C 的工作窗口介绍1三、设置TC工作环境2四、改变用户工作目录2五、TC常用菜单项的使用3六、对单文件的编辑、编译、连接、运行8七、对多文件程序进行编译和连接9、TC程序的调试10第2单元C语言上机实验1实验 1 C 程庁的运行方法1实验2 基本语句(一)5头 3 本世 句()8实验5 数组(一)18实验6 数组(二)23实验7 函数(一)27实验8 函数(二)35实込9 指针(一)42实验!0 指科(二)46实验11 结构体和共用体(一)52实

2、验13 文件的使宿(一).63实验14 文件的使用(二)67第3单元 习题与题解析76习题1 基本语句解析79题2 数组85习题2数组解析89习题3 函数93习题3函数解析101习题4 指针109习题4指针解析112题 5 帀构体和共用体120习题5结构体和共用体解析126习题6 文件133第4单元 C语言理论考试模拟试卷145附录 Turbo C编译常见出错信息156第1单元Turbo C 2.0集成开发环境、进入Turbo C的工作窗口Turbo C提供了两种编译环境:集成编译开发环境TC和命令行编译TCC。TC是个集编 辑、编译、连接、调试及运行为一体的集成模块,为用户提供了一个方便的集

3、成开发环境。 厂家提供的编译系统都是以压缩文件的形式存放在软盘或光盘上的,安装时只要在硬盘建立 TC文件夹,将存放在软盘上的压缩文件TTC. EXE复制到硬盘TC文件夹中,双击该文件解压, 或者用Turbo C(简称TC)系统提供的install.exe安装程序进行安装,用户可以根据系统提 示进行操作,指定存放系统文件的目录和存储模式,也可以按默认方案安装。在TC主目录下已经存放了 tc. exe、tcc. exe两个执行文件,其中tc. exe是将编辑、编 译、连接、调试和运行集成为体的基本模块;tcc. exe则提供了某些补充功能,例如可以 在程序中嵌入汇编代码等,一般只需用到tc. ex

4、e。进入Turbo C环境需要调用tc. exe,可以在DOS平台进入TC H录,键入TC执行Tc. exe。 或者在Windows平台通过“资源管理器”、“我的电脑”找到TC文件夹中的Tc. exe,双击该 文件即可进入Turbo C环境。为更方便地进入TC环境,可以在桌面上建立相应的快捷方式。二、Turbo C的工作窗口介绍进入Turbo C的工作窗口后,可以使用Alt+Enter进行全屏和窗口工作两种方式的切换, Turbo C的界面如图1所示。屏幕上最上面一行是主菜单,有8个下拉菜单选项:主菜单下 面为编辑框,程序文件的编辑工作就在该框中进行,在编辑框的最上面一行显示编辑状态, 如当前

5、光标所在行号(Line)、列号(Col)、当前正在编辑的文件的文件名和路径等;编辑框下 面有一部分是信息框(Message),表示程序编译和连接时产生的信息;Turbo C工作窗口的最 下面一行为常用热键,用户可以使用热键快速完成所需要的操作。图1 TC环境界面主菜单的操作有两种方法:1、按F10键激活主菜单,按光标移动键I 或“ t ”把光标希望的菜单项处,然后 按回车键。2、直接按Alt+菜单项第一个字母(例如按Alt+F就是选择了“ File”项,进入文件菜单)。三、设置TC工作环境除Edit菜单项仅为进入编辑状态外,其他菜单项被选择后会打开个子菜单。通过如下 操作制作可以配置文件:选择

6、“Options”菜单项,屏幕上弹出个子菜单窗口,如图2所示。为了保存安装程序 建立的环境,在子菜单中选择Save Options”命令,被选中后,弹出个对话框,要求输入 配置文件名,为了方便,一般取缺省文件名TCCONFIGTC。图2配置文件界面如果想重建工作环境,可以改变“Options”子菜单中的命令。例如:可以选择“Directories” 命令,并按下图3所示设置存放文件的目录(这里假定TC文件夹位置是安装在C盘,用户文 件夹为D:ZXF) 设置完毕后按Esc键返回“ Options”子菜单.,然后用上面的方法(执行Save Options 命令)保存设置好的环境。注意:Includ

7、e directories Library directories, Turbo C directories这几项中的盘符路径一定要与硬盘中TC文件夹实际位置相符,否则就在此界面上Include directories:C:TCINCLUDE Install建立的头文件所在的缺省目录Library directories:C:TCLIB Output directories:D:ZXF Turbo C directories:C:TC Pick file name: Current Pick file:Install建立的库文件所在的缺省目录 自己建立的存放*.exe和.obj输出文件的目录I

8、nstall建立的TC所在的缺省口录 弹出个窗口,允许用户规定pick文件名 显示当前pick文件名和它所在的目录,不能修改图3 Options”子菜单设置界面四、改变用户工作目录安装程序把Turbo C系统的可执行文件存放在C:TC目录中,如果直接在这个H录中 作,源文件、.obj及.exe等文件都将被存储在该目录中,这样,系统文件和用户自己的文 件混杂在起,导致了管理不便。可以专设存放源文件和存放用户自己的可执行文件的目录, 比如,用目录D:ZXF存放源文件、用户生成的.obj和.exe文件亿XF是某用户在D盘上自 己建立的文件夹)。为了能将用户生成的.。bj和.exe文件自动存放在D:Z

9、XF中,在图3中要明确指出输出 文件的 H 录(Output directories:D:ZXF) 为了将源文件.C存放在D:ZXF目录中,一般是把D:ZXF目录作为工作目录。具体方 法是:在“ File”下拉菜单中选择“Change dir”项,出现新目录输入框,提示用户输入所选 择的工作目录名(如:将原有系统默认工作目录删除,输入新的用户工作目录D:ZXF),如图 4所示。此后,存盘和加载文件时,只要键入文件即可,无需再输入盘符路径。图4改变用户文件夹界面五、TC常用菜单项的使用1、File菜单l)Load(加载):在编辑器中装入一个已有的文件,可以用通配符(*)进行列表选择,也可以 直接

10、键入文件名及其路径。例如:想装入的文件是E盘的GB文件夹中的P3.C文件,则 输入文件名如图5所示。按回车键后,该文件就被调入内存并显示。如果记不淸所要装 入的源文件名,想看一下当前目录中有哪些源文件,则可以在Load命令后出现.C时直 接按回车键,TC就会显示当前目录下所有后缀为.C的文件名,用光标移动键移到要装 入的文件名处按回车键,就可以显示该文件内容。要调出D盘ZXF文件夹中的源程序, 只要键入:E:ZXR*.C即可。Edit .Load F3 |Col 1 Insert Indent Tab FillLoad File Name E:GBP3.C_图5加载已有文件的界面2)Pick(

11、选择):将最近装入编辑器的八个文件组成一个表,让用户选择后装入编辑器,可以 方便快速地打开最近操作过的文件。3)New(新文件):说明当前要编辑的文件是最新文件,装入编辑器后的文件缺省名为 NONAME.Co4)Save(存盘):将编辑器中的文件存盘。如果该文件已存盘,则按原有文件名存盘;如果 该文件未存过盘,则出现输入文件名对话框,非当前盘非当前目录必须输入盘符路径。5)Write to(另存为):将编辑器中的文件以另个文件名存盘,如果该文件已存在,则覆盖 该文件。6)Directory(目录):按冋车键显示.*,再按回车键显示当前目录及其所需文件列表,可以 选择要打开的文件。如果显示.时改

12、为.C,则只显示当前目录及其C源程序文件列表。7)ChangDir(改变驱动器):显示当前目录,改变当前驱动器及其口录。8)0s Shell(暂时退出):暂时退出Turbo C,转到DOS提示符下,可以用EXIT命令返冋。9)Quit(退出):退出 Turbo C。2、Edit菜单执行Edit命令可以对源程序文件进行编辑。在编辑窗口最上面一行出现Insert提示时, 表示当前处于插入编辑状态;Insert消失时,表示当前处于重写(覆盖)状态。按Insert键可以 改变“插入Z重写”状态。Ctrl+Fl键的作用是显示在线帮助。用法是:把光标移到任一关键字或函数名处按Ctrl+Fl 键,会在屏幕上

13、显示出关键字或函数的使用信息。3、Run菜单使用该菜单命令可以运行和调试程序。下面介绍各菜単命令:l)Run(运行):编译、连接生成目标文件和可执行文件并运行程序。如果选择Debug/Source debug为on,程序执行时每个断点处都会暂停下来,再次按Ctrl+F9键,继续执行到 下个断点处或程序结束。2)Program reset(程序重启):该命令终止当前调试,释放分配给程序的空间,关闭已打开的 文件。但不改变断点设置。3)Go to Cursor(执行到光标所在行):用于动态调试,使程序执行到编辑窗口中光标所在行。 注意光标所在行应该是可执行代码语句。4)Traceinto (跟踪进

14、入被调用函数):执行当前函数中的下一条语句,如果该语句为函数调 用语句,则进入该函数,包括系统函数。用于动态调试,单步跟踪程序执行。5)Stepover(単步执行):执行当前函数的下一条语句,但不跟踪进入被调入的子函数,用该 命令单步跟踪程序执行,一次执行一条语句。6)User screen(用户屏幕):使用该命令可以看到程序执行后的屏幕(把编辑窗口切换到程序 输出窗口)。4、Compile 菜单使用该菜单命令可以编译和连接程序,生成可执行文件。各子菜单命令功能如下: l)Compile to OBJ(把源文件编译成H标文件):把C语言源文件(*.C)编译成H标文件(*.obj), 在编译过程

15、中,弹出窗口显示编译信息,如有编译错误,则显示在信息框中,并用高 亮度条在编辑中显示出错语句的位置。2)Make EXE file(生成可执行文件):此命令调用相应工程文件生成一个可执行文件,并显 示生成的可执行文件的文件名。如果处理的是.C文件,编译并连接生成相应的.。bj和.exe文件。如果源文件的生成时间 比.。bj文件早,则不再对源文件进行编译,更新了源文件后重新编译。如果处理的是.。bj文件,只进行连接生成相应的.exe文件,同样只有更新了.。bj文件后才 重新连接。对文件的处理顺序是:Project name中的.PRJ;Primary C file中的.C文件; 最后装入编辑窗口

16、的.C文件。3)Link EXE file(连接生成可执行文件):将当前目标文件和相应库文件连接成一个新的可执行文件,但不执行。该命令不检查日期和时间。4)Build all(编译连接相关文件):重新编译连接相应工程文件中的所有文件,不管其是否是 过期文件,无条件重新编译与连接生成相应的可执行文件。5!407怕(主文件):该命令用于编译含有多个嵌入文件的C语言源程序,执行时 弹出个对话窗口,要求输入将要编译或Make的新文件名。当编译出现错误时,自动 装入源文件以便用于修改错误。6)Get infb(获得编译信息):该命令可以显示编译信息,如当前文件名、源文件长度,可用 内存空间等。5Proj

17、ect菜单该命令可以用来把多个源文件和目标文件连接成一个完整的程序,子程序功能如下:1)Project name:弹出对话窗口,要求输入将要编译、连接的.PRJ文件名。用这种方法生成 的.EXE文件的主文件名就是.PRJ文件的主文件名。2)Break make on:规定终止Make的缺省条件,共有四个选项: Warning:编译完一个文件后如发现“警告”以上的错误停止编译; Error:编译完一个文件后如发现“错误”,停止编译; Fatal Error:编译完全部文件后,如发现错误,停止编译: Link:在连接前Make,即只生成.obj文件。3)Auto Dependencies:设置自动

18、依赖关系。On:自动检查.C文件与相应.obj文件的日期时 间关系,TC在编译时把日期时间信息存放在.obj文件中,若.C文件比.obj文件新,则重 新编译。Off:不进行日期时间检查。4) Clear Project:清除 Project name 和重置消息窗 口。5)Remove message:清除消息窗口中的出错信息。6、Options 菜单该命令可以进行集成开发环境的各项设置,包括库和包含文件的目录、程序运行参数等。 常用设置如下:1) Compile4编译程序选项):其下子菜单提供如下功能: Model子菜单:设置存储器模式,允许用户选择Tiny、Small Medium、Com

19、pact Large Huge等6种模式中的种: Defines子菜单:输入宏定义; Code generation子菜单:控制生成目标代码的形式,如Instruction set uj以选择8088、 8086 或 80286 指令; Optimization:控制代码生成策略,弹出子菜单供选择: Source;控制编译器如何处理源代码,弹出个子菜单供选择。如指定标识符有效 字符个数(Identifier length 可选择 132); Errors子菜单:代码优化和诊断信息,设置停止编译的错误个数及警告个数,弹出 子菜单供选择。 Names:改变代码、数据和BSS段的缺省段、组和类名,一

20、般不需改变。2) Linker(连接子菜単):改变连接子菜单中的命令,可以改变连接器的设置。子菜単如下: Map Ffile:控制是否产生映射文件; Initialize segments:控制连接器是否对未初始化的段初始化。 Default libraries:当由其他编译器产生的目标文件时,那些编译器可能在目标文件中 放入了一个缺省库。该命令控制连接器是否在那些库中寻找所需函数。 Graphics library:打开或关闭自动查找图形库的开关,当选择了 Off时可在.PRJ文件 中写上graphics.lib,也可输出图形; Warn duplicate symbols:控制是否检查.O

21、BJ文件和.LIB文件中的重复符号; Stack warning:控制是否No stack警告信息; Case-sensitive link:控制是否区分大小写字母不通用。3) Environment(环境子菜単):设置文件是否自动存盘、制表键的空格数和显示屏幕行数等, 为编辑程序设置环境。子菜单功能如下: Message tracking:当滚动信息窗口中的错误信息是,控制TC是否跟踪编辑程序中 的语法错误及跟踪方式; Keep messages:控制在编译、Make之前是否保存信息窗口中的错误信息; Config auto save:控制是否保存选项设置; Edit auto save:控

22、制是否将正在编辑的文件自动存盘: Backup files:控制是否产生备份文件: Tab size:选择制表(Tab)键的空格数。默认值为8,可取值为216(Tab mode on时有 效); Zoomed windows:与热键为F5的作用样,把当前激活的窗口(编辑窗或信息窗) 放大到整屏; Screen size:弹出个子菜单,允许选择显示屏幕的行数,标准为25, EGA为43, VGA 为 50.4) Directories(目录子菜单):选择头文件、库文件、编译器等所在的目录及可执行文件的 输出目录。子菜单功能如前面图3所示;5) Arguments(参数设置命令):允许用户在集成环

23、境下运行程序时使用参数,执行这一命 令后,在弹出的窗口中输入运行所需参数,如图6所示,然后Run/Run执行程序。图6集成环境运行程序输入运行所需参数的界面6) Save Options(环境保存命令):如前面图2所示。该命令的作用是将设置的命令保存到磁 盘文件中,缺省的文件是配置文件Tcconfig.tc。7) Retrieve Options(恢复环境命令):装入以前用Save options命令保存的配置文件,为TC 设置环境。7、Debug 菜单该菜单命令可以设置除断点和表达式之外的集成调试环境和各项功能。常用设置如:1) Evaluate(计算):用于计算和显示变量或表达式的值,还允

24、许用户修改此值。运行该 命令后,弹出个窗口,该窗口包含计算域(Evaluate)、结果域(Result)和新值域(New value)三部分。用户可以在其中计算任何合法的C语言表达式或变量,但不包括函数 调用语句和宏定义的常量。如果调试程序可以计算表达式的值,它就可以在结果域中 显示出来:如果表达式引用了一个变量或简单的数据单元,用户可以将光标移动到新 值域并把表达式作为新值输入。在调试过程中可以采用给某些变量赋新值的办法寻找 错误。2) Call Strack(调用栈):显示程序正在运行的函数调用、序列。3) Find Function:显示编辑窗口中某函数的定义。弹出个窗口,在其中输入要显

25、示 的函数名并按回车,光标就指向函数的定义处。4) Refresh Display(恢复原先屏幕):如果编辑屏幕被重写,该选择项可恢复当前屏幕内 容。5) Display Swapping(屏幕切换):控制编辑窗口与程序输入窗口的转换关系,弹出个窗 口提供三种选择: Smart(缺省方式):执行代码产生输出时切换到程序输入窗口,然后返回到编辑窗口; None:不进行屏幕切换; Always:每执行一条语句切换一次屏幕。6) Source Debugging(源程序调试):控制编译器是否在可执行文件中加入调试信息,弹 出选择窗口提供三种选择:7) On:在可执行文件中加入调试信息,为源代码级调试

26、做准备;8) Standalone:在可执行文件中加入调试信息,但只能使用独立调试工具Turbo debugger;9) None:在可执行文件中不加入调试信息。8、Break/Watch 菜单使用该菜单命令可以进行集成调试环境中断点和监视表达式的设置,子菜单功能如下:1) Add Watch(加入一个监视表达式):监视表达式是其运算值可在监视窗口中显示的表 达,每当程序暂停时它的值会被亜新计算。用户可以通过监视表达式的值来判断程序 执行的情况。当用户选择本命令时,调试程序打开个弹出窗口,提示用户键入个 监视表达式,按回车键可以增加一个表达式及其当前值到观察窗口。2) Delete Watch

27、(删除监视表达式):该命令用来从观察窗口中删除监视表达式,使用该 命令时,监视表达式必须是可见的。也可以把光标移到Watch窗口中某表达式用 De!键或Ctrl+Y键删除。3) Edit Watch(编辑监视表达式):该命令允许用户编辑观察窗口中的当前监视表达式。4) Remove All Watch(删除所有监视表达式):该命令用来从观察窗口中删除所有监视表 达式。5) Toggle Breakpoint(打开或关闭断点):断点是程序执行中暂停的地方,设置断点可以C语言上机实验指导 让用户有足够的时间检查关键变量和表达式的值。否则,用户无法确定程序是否按设 计的那样执行。该命令用来设置和删除

28、(再次执行时)光标所在处的断点,程序运行过 程中遇到断点就暂停。6) Clear All Breakpoints(清除所有断点):该命令用来从程序中清除所有断点。7) View Next Breakpoints(显示下个断点):该命令将光标移动到程序的下一个断点, 它不执行程序,只是在编辑窗口中定位活动的断点。六、对单文件的编辑、编译、连接、运行1、编辑要输入和编辑个新的C程序,应先按F10激活主菜单,用光标移动键选定File/New 命令,按回车键。出现空白的编辑窗口,用户就可以输入和编辑源程序了。输入完整的程序 或部分程序后,应及时将源程序保存起来,按F2功能键或执行File/Save命令

29、。第一次存盘 将弹出个对话框,要求用户输入文件名,以后再次存盘不再弹出对话框。文件将保存在用 户工作目录内,如果Turbo C安装在D盘TC文件夹中,且用户未更改过工作目录时,默认 的工作目录即为D:TC,默认文件名为NONAME.C(一般用户应改成自己命名的文件名)。建 议较长的程序在录入时多存几次。不指定路径时,文件就存在D:TC中,如果用户不想保存 在D:TC,也可以自己设定盘符路径,如:D:ZXFP126_2.C,或在存盘前先用File/Change dir 命令改变用户的工作目录。在用指定的文件名P126_2.C存盘后,编辑窗口中右上角的文件名就自动改为P126_2.Co 如果以后还

30、想改名,可以使用File/Writeto命令。编辑个已存在的文件,可以使用File/Load命令,调出已存在的文件,重新修改、处理。 为了验证TC是否能正常工作,TC自带个测试程序Helb.C,用菜单命令File/Load可将该 文件从TC文件夹中调出,观察其是否能正常编译连接和运行。2、编译执行Compile/Compile to OBJ命令,此时系统显示默认的目标文件名。如果当前被编译 的源程序文件名为P126_2.C,则系统自动将目标文件名定为P126_2.obj,按冋车键执行该命 令即可编译程序。3、连接有了目标文件后还不能直接运行,必须把目标文件与系统提供的库函数和包含文件等连 接成

31、一个可执行文件(后缀为.exe),才能运行这个.exe文件。执行Compile/Link EXE file命令就可进行连接,在当前工作目录或配置文件 TCCONFIGTC指定的输出目录中生成一个可执行文件P126_2.exe 用Compile/Make EXE file命令或者直接按F9键可以一次完成编译和连接,生成目标文 件和可执行文件。4、运行如果在编译、连接过程中未出现错误,系统就会生成目标文件和可执行文件,这时就可 以运行了,运行程序可以采用以下几种方法:1)在DOS环境下运行如果当前目录就是输出文件.EXE所在目录,直接输入可执行文件名,即可运行程序。 假设可执行文件名为P126_2

32、.EXE,输入命令P126_2,按回车就能运行该程序。如果该文件 不在当前目录中,则应指出其路径,如输入:D:ZXFP126_2命令。2)在TC环境中通过菜单选择运行按Ctrl+F9键,或选择执行RuiVRun命令,即可运行程序。实际上Ctrl+F9的作用不仅 是运行,而是包括编译、连接和运行。因此,在编辑窗口完成一个源程序的编辑后,如果经 过检查认为没有问题,就可直接按Ctrl+F9键,Turbo C将一次完成从编译、连接到运行的全 过程。如果在编译或连接中有错,就停下,显示出错信息,用户改正后再按Ctrl+F9键重新 编译、连接,若没有错误就自动开始运行。程序运行时,如有键盘输入语句(sc

33、anf语句),屏幕显示会切换到用户屛,此时用户可以 从键盘输入数据。如果想看运行结果,可选择Run/User screen命令,或者直接按Alt+F5键,此时屏幕的 显示切换到用户屏,程序运行的结果显示在用户屏上。用户看完结果后,按任一键就回到编 辑窗口。下面是最常用的功能键的有关操作: F2:保存文件 F9:进行编译和连接 Ctrl+F9:编译、连接、运行 Alt+F5:观看运行结果操作顺序一般为:输入程序fF2f F9-Ctrl+F9fAit+F5七、对多文件程序进行编译和连接如果个源程序包含多个文件(源程序.C),则应当对各文件分别进行编译,得到多个文 件(目标文件.。bj),然后将这些

34、目标文件以及库函数、包含文件等连接成一个可执行文件。TC提供了对多文件程序进行编译和连接的简便方法。要将这些文件组成一个“项目” 就要建立一个“项目文件”,在该文件中包含各文件的名字,然后将该项目连接,就可以得到 可执行文件.exe。具体步骤如下:闇7建立项冃文件在TC编辑环境中,输入各源文件的名字。如果有一个 程序,包含两个文件,分别为P1.C和P2.C(后缀名.C可以省 略不写,源文件名可以带有路径),则在TC编辑窗口中输入 这两个文件名,如图7所示。执行File/Write to命令将文件保存,文件名为P1_P2.PRJ, P1_P2是用户自己指定的名字,后缀必须用.PRJ(Projec

35、t的缩 写),以表示为项目。执行Project/Project name命令,在对话框中输入需要进行编译和连接的项目文件名(系统 显示为.PRJ,要求用户修改为实际的文件名)。由于刚是用P1_P2.PRJ存盘的,因此现在 应输入P1_P2.PRJ,按回车键确认。选择Compile/Make EXE file命令,系统就会对此项目文件进行编译和连接,并生成两个 目标文件P1.OBJ和P2.OBJ,以及可执行文件P1 _P2.EXE在选择“Make EXE file”或按F9键进行编译连接时,系统首先查找有无项目文件(.PRJ)。 如果在Project name中指定了当前有效的项目文件,则系统优

36、先编译该项目中的文件,而不 是编译编辑窗口中的文件。因此,在处理完一个多文件程序的编译和连接后,应及时将Project name项清空(选择Project下拉菜单中的Clear Project项),否则就会在编译连接时仍然把项目 文件.PR!当做编译的对象,而不是编译编辑窗口中的源文件。、TC程序的调试1 TC集成环境的调试程序我们把发现改正程序中错误的过程称为程序调试。有时仅仅靠观察不正确的程序是很难 找到错误的关键所在的。因此大多数程序员都借助调试程序,再对被调试程序进行定位。调 试程序能够控制程序的运行,可以在任一点上停止程序的执行,每次执行一句,观察程序输 出的数据等。要想使用集成调试

37、程序,首先应该设置启用集成调试程序的开关,即选择Debug/Source Debugging为打开状态。这时,用RUN选项或Ctrl+F9进行调试程序时,Turbo C2.0集成调 试程序自动接管对程序的调试工作。在程序较大时,一般是将一个源程序设置几个断点,当运行程序到断点处时,它就在执 行断点所在行的第一个语句之前将程序挂起,同时把调试程序的控制权交给程序员。在程序暂停时,你可以用许多方法来研究和处理程序。如:可以显示个变量或表达式 的值;在个特定的窗口设置些表达式并观察它们值的变化:修改变量的值:清除所有的 断点或者设置断点:一次一行地单步执行程序:编辑文件,重新编译和连接程序等。调试程

38、 序的方法互不相同,要靠自己不断积累,使之日益丰富。般使用TC的集成环境编译用户 程序时,采用RUN选择项或Ctrl+F9命令,系统也能给出出错的地点供程序员修改调试之用, 我们称这种方法为静态调试:而将使用调试程序进行的调试称其为动态跟踪调试。2、动态调试1) 一般调试方法为了使用集成调试工具,在编译和连接时耍把Options/Compiler/Code generation/OBJ debug infbrmation选择开关和Debug/Surce Debugging选择开关都置为On。这样,在生成的 运行文件中才能包含与调试有关的符号信息。为了调试方便,在编译和连接时应当把 Option

39、s/Compiler/Optimization/Jump Optimization 选择开关置为OfF。因为当这个开关为On时,编译程序在优化代码时会引起执行代码与源代 码行的不对应。2)步进执行法为了找出逻辑错误,可以RurVTrace into(热键F7)或RnWStep over(热键F8)一步一步地逐 行执行程序,在怀疑可能出错的地方停下来使用Break/watch/Add watch(热键Ctrl+F7)命令或 10Debug/Evaluate使用(热键Ctrl+F4)命令,在弹出的监视窗口中输入监视表达式(个变量或 个C表达式等)。通过查看、分析表达式的值,逐步找出出错原因。3)设

40、置断点法当调试个大的程序时,为了冋忆调试速度,可以使用Break/watchogglcbreakpoint(热 键Ctrl+F8)命令在怀疑可能出错的代码行设置断点。设置了断点后,当按下Ctrl+F9键快速执 行程序时,程序执行到断点处就会暂停下来等待输入命令。这时,可以用上面的方法查看表 达式的值,也可以接着步进跟踪程序,再次按Ctrl+F9键,程序继续执行到下个断点处或 程序结束。如果在调试的过程中想终止调试操作,可以按下Ctrl+F2键。要删除某断点,可把光 标移到断点行按Ctrl+F8键。九、常用功能键表表1 Turbo C常用编辑命令及功能键命令功能命令功能Home光标移到行首F1打

41、开帮助文件End光标移到行尾F2把当前编辑的文件存储到磁盘 上,见 File/SaveCtrl+N插入一行F3装载个文件,见File/loadCtrl+Y删除光标所在行F4让程平从执行长条执行到光标 所在行,见 Run/Go to CursorCtrl+KB块头标记F5放大或缩小激活的窗口,见 Options/Environment/Zoomed WindowsCtrl+KK块尾标记F6交替激活编辑或信息窗口Ctrl+KC块复制F7单步执行程序,跟踪函数调用, 见 Run/Tracc intoCtrl+KY块删除F8单步执行程序,不跟踪函数调 用,见 Run/Stcp overCtrl+KH显

42、示/隐藏块标记F9编译并连接,见Compile/MakeCtrl+KV块移动F10返回主菜单Ctrl+KR从磁盘读入块Alt+F5显示用户屏,见Run/Uscr screenCtrl+KW把块写入磁盘Alt+F7光标指向前个出错处Ctrl+U撤消正在进行的操作Alt+F8光标指向下一个出错处Ctrl+P允许加入控制符Alt+F9不进行日期和时间检查的编译, 生成.OBJ文件续前表命令功能命令功能Ctrl+KD文件存盘退出Alt+C打开编译菜单Ctrl+KQ文件不存盘退出Alt+D打开Debug菜单Ctrl+QF查找Alt+E进入编辑状态Ctrl+QA査找和替换Alt+F打开File菜单Ctrl

43、+Fl显示光标所指的关键词 或函数的使用信息Alt+O打开Options菜单Ctrl+F2终止调试Alt+P打开Project菜单Ctrl+F3操作显示函数的调用序 列, Debug/Call StackAlt+R打开Run菜单Ctrl+F4检查和改变表达式的值, 见 Debug/EvaluateAlt+X退出TC,返回Ctrl+F7在观察窗口屮输入表达 式,见 Debug/watchTab制表符Ctrl+F8设置或清除断点,见Debug/watchEsc返回上一级菜单Ctrl+F9编译、连接并运行程序, 见Run/Run命令Ins插入与改写状态切换注:Ctrl+KB表示按住Ctrl键不放,再

44、按K键和B键。12第2单元C语言上机实验实验1 C程序的运行方法、关键知识点:通过前面的学习,我们认识到C程序的编辑、编译、连接和运行可以在TC环境中通过 菜单、热键、功能键,按照一定的顺序和方法来完成。Turbo C2.0中不能使用鼠标时,或者 输入中文(需要在DOS下执行命令PDOS95)感觉不方便时,可以在记事本、写字板、Word 中编辑程序,然后保存为. txt纯文本文件,再到TC下编译、连接、运行。TC下编辑的源程序 (.C文件)也可以插入到Word文档中,编辑后打印输出。在C语言中数据的输入输出大致分为以下几种情况:1、用键盘输入、屏幕输出用scanf函数从键盘输入数据给程序中的变

45、量或数组元素,每次运行到scanf函数时,程 序将停止运行,在用户屏幕上等待用户从键盘输入数据后再继续运行,每次运行程序输入的 数据可以不同;用printf函数将程序运行结果输出到扉幕上,但输出结果不保存。2、在程序中用文件输入输出语句用fscanf、fprintf、fread, fwrite等函数,通过已存在的文件中的数据输入给程序 中的变量或数组元素(代替人工键盘输入),或将程序运行的结果输出到个已存在的也可以 是新建立的文件中。3,在DOS下用重定向符在DOS下,用重定向符“V”将文件中的数据输入到程序中,或用重定向符“”,将 结果输出到文件中。二、实验目的:了解TC编译环境,掌握一般程

46、序的上机步骤,了解C语言基本结构及输入输出函数的 基本形式。学习将源程序及运行结果打印出来的方法。三、实验内容:1、程序的静态调试1)在资源管理器中找到TC文件夹(大多数系统安装在C盘或D盘,这里假定TC文件 夹安装在C盘,用户文件夹为D:ZXF)中的TC.EXE文件,双击该文件进入TC,经常使 用TC的用户可以在桌面建立快捷方式。2)调出TC文件夹中自带的测试程序Hello.C.验证其是否能正常编译。3)为了将源文件.C存放在D:ZXF文件夹中,可以把D:ZXF文件夹作为用户工作文件 夹。选择File/Change dir命令,出现新路径输入框,提示用户输入所选择的工作文件夹名(将 原有的系

47、统默认工作目录删除,输入新的用户工作文件夹D:ZXF,该文件夹名可以按自己 的名字拼音重新命名,盘符也可以选择优盘或其他硬盘)4)为了能将用户生成的.obj和.exe文件自动存放在D:ZXF中,选择Options/Directories 命令,并设定输出文件的目录(Output directories:D:ZXF), Output directories设置缺省时.obj 文件和.exe文件将自动存放在用户工作文件夹中,*.obj文件和.exe文件与源程序文件*.c 分开放在不同的文件夹时则一定要设置。观察Include directories:C:TCINCLUDE、Library dire

48、ctories:C:TCLIB 和 Turbo C directories:C:TC 设置是否与 TC 实际存放位置相符。5)设置完毕后按Esc健返回“ Options”子菜单,然后执行Save Options命令保存设置好 的环境。6)编辑新程序,输入如下程序练习调试(学会在程序适当的地方加注释,便于他人阅读 和自己以后阅读):(源程序文件名为al.C)#include#includeint max(int x,int y)int z;ifixy)z=x;else z=y;retum(z);main()int a,b,c;int max(int x,int y);scanf(”d,%d”,&

49、a,&b);/程序运行到此会等待用户从键盘输入两个整数/c=max(a,b);/*max()函数使用前必须先定义/printf(max=%d,c);system(pause);程序运行到scanf函数时,将切换到用户屏幕等待用户输入a、b的值,若输入3,5/将 重新回到编辑窗口,按Alt+F5又回到用户屏幕观察程序运行结果。请记录运行结果,并再次 运行程序,输入9, 3/记录结果。观察D:ZXF文件夹中是否存在al.C文件,D:ZXF文件 夹中是否存在al.obj文件和al.exe文件,在Windows中双击al.exe文件即可运行该程 序。7)用文件输出方式,将下列程序(文件名为al_2.c

50、)的运行结果存放到用户文件夹(D:ZXF) 下名为al_2.out的文件中。#include#includemain() FILE巾;/定义个文件指针/int t=l,i=2;if(fp=fdpen(Hal_2.out,w,)=NULL) /* 建立 al_2.out 文件,并使文件指针指向C语言实验指导与习题解析 al_2.out 文件 */ printf(cannot open the filen);exit(O);/建立al_2.out文件失败,退出程序 /)while (i。源程序命名为:b2_2.c.【请在此处编写程序】实验3基本语句(二)(选择结构程序设计)、关键知识点:顺序结构程

51、序一般只能对逻辑关系相对简单的问题求解。如果要使程序具备对条件进行 逻辑判断和选择的功能,根据不同情况选择不同方式进行处理,就必须在程序中使用控制语 句来控制程序的执行流程,使用选择结构也叫分支结构进行编程。c语言表示逻辑变量时, 以代表假,以非代表真。k if条件分支语句一般形式为:iR表达式)语句体!;) else语句体2;条件语句可以嵌套,这种情况经常碰到,但条件嵌套语句容易出错,其原因主要是不知 道哪个if对应哪个else。TurboC2.0规定:else语句与最近的个if语句匹配。可用阶梯式i比lse-if结构。阶梯式结构的一般形式为:if(表达式1)语句1;else i表达式2)语

52、句2;else语句n;这种结构是从上到下逐个对条件进行判断,一旦发现条件满足点就执行与它有关的语 句,并跳过其它剩余阶梯:若没有一个条件满足,则执行最后个else语句n。最后这个else 常起着“缺省条件”的作用。同样,如果每一个条件中有多于一条语句要执行时,必须使用 “和“”把这些语句包括在其中。2, switch多重:选择结构一般形式为:switch(表达式) case常量1:语句1或空;break;case常量2:语句2或空;break;1Icase常量n:语句n或空;break;default:语句 n+1 或空;break;执行switch开关语句时,将表达式的值逐个与case后的常量进行比较,

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!