【VC++开源代码栏目提醒】:网学会员为需要VC++开源代码的朋友们搜集整理了C语言程序设计实习指导书 - 编程语言相关资料,希望对各位网友有所帮助!
C语言程序设计实习指导 C语言课组编写 西北农林科技大学信息工程学院 2011年2月 西北农林科技大学信息工程学院 前 言 程序设计是实践性很强的课程实习的目的是为了巩固所学知识培养、提高实际动手能力和严肃认真的科学工作态度而程序设计是创造性的劳动因此需要编程人员全身心地投入充分发挥主观能动性认真做好每一次实习。
每道题没有唯一解只要掌握了基本的方法和技巧加上自己创造性的工作就一定能够编写出各种各样的好程序。
任何程序最终都必须在计算机上运行以检验程序的正确与否。
因此在学习程序设计中一定要重视上机实践环节通过上机加深理解C语言的有关概念巩固理论知识另一方面培养调试程序的能力与技巧。
为了加强基础知识和语言主干结构的学习深刻理解和掌握教材内容减少实习时的盲目性特编写本实习指导书。
为方便内容组织每个实习由实习目的、实习内容及讲解、注意事项等几部分组成。
下面对每次实习提几点具体要求 1 实习前应进行充分的准备做到心中有数。
要弄懂教材中的相关知识和例题深刻理解教材中涉及到的知识点及程序设计方法根据实习要求对题目进行分析选择适当的算法、事先编写好程序。
上机前一定要仔细检查程序称为静态调试直到找不出错误包括语法错误和逻辑错误为止。
分析可能遇到的问题及解决的办法。
准备几组测试程序的数据、写出预期的结果以便发现程序中可能存在的错误。
2 在实习中应该对编写好的程序使用预先准备好的测试数据运行程序观察是否能得到预期的结果称为动态调试。
对于实习中出现的问题进行仔细的分析找出解决办法调试程序排除各种错误直到得到正确结果。
对运行结果要做好记录为写实习报告做好准备。
调试过程中要充分利用系统提供的各种调试手段和工具例如单步跟踪、设置断点、观察变量值等。
对出现的错误要善于思考勤于分析尽量自己动手解决问题逐渐提高自主分析问题和解决问题的能力。
3 实习结束后要整理实习结果并应根据问题、解决办法和运行结果对本次实习及时进行认真分析和总结撰写出实习报告并提交到电子作业管理系统。
以这种方式提交实习报告书还处于尝试阶段限于作者水平其中疏漏在所难免敬请各位老师和同学批评指正。
联系地址Email:hlnwsuaf.edu.cn或Email:cynwsuaf.edu.cn 。
作者 2010年2月 西北农林科技大学信息工程学院 目 录 第一章 VISUAL C6.0运行环境介绍 .................................................................................................... - 1 -??第二章 CODE BLOCKS集成开发环境介绍 ................................................................................................ - 9 -??第三章 程序设计电子批阅系统简介 ..................................................................................................... - 15 -??西北农林科技大学信息工程学院 - 1 - 第一章 Visual C6.0运行环境介绍 Visual C6.0是运行于Windows环境下的交互式可视化集成开发环境有英文版和中文翻译版两种版本使用方法相同即可在该环境中编辑程序、也可编译连接运行程序此处仅介绍中文环境下的使用方法。
一、安装 使用前必须先在所使用的机器上安装Visual C6.0运行环境系统。
该系统软件放在一张光盘上只要根据提示便可以轻松安装此处不做详细介绍。
实习机房机器上已安装可供使用。
二、启动 1. 一般安装后便在桌面上创建了快捷方式图标 。
首次启动Visual C6.0只要双击此图标即可 2. 也可通过开始菜单→所有程序→Microsoft Visual Studio 6.0→Microsoft Visual C6.0启动Visual C6.0 3. 直接双击C语言源程序即名为.c或.cpp的文件也可启动Visual C6.0并显示程序。
三、 运行环境介绍 Visual C6.0启动后界面如图1-1所示。
可见VCVisual C6.0的简称的主界面由标题栏、菜单栏、工具栏、编辑窗口、信息提示窗口、工作区窗口及其切换按钮等组成。
1、标题栏 用于显示应用程序名和当前打开的文件名在上图中为exam1-1.c 创天中文工作区窗口→ 标题栏↓ 图1-1 Visual C主界面 编辑窗口信息提示窗口主菜单→状态栏→ 工具栏→切换工作区→按钮 西北农林科技大学信息工程学院 - 2 -
VC。
若文件名后带有“”号表示修改后的内容尚未存盘提示用户及时保存更新的内容。
2、菜单栏 列出了
VC提供的各种命令用法与Word相同。
其中 文件 用来对文件和项目进行管埋如创建新文件和项目、打开己有的文件和项目、保存文件和项目关闭文件和项目等。
其中打开、保存、关闭工作区是一个新的概念因为
VC中为源程序建立了一个工作区当再次新建一个C程序时必须要关闭上一个程序已打开的工作区否则会出错。
编辑 对文件进行各种编辑操作如剪切、粘贴、插入、删除、复制、全部选择、查找、定位等。
查看 用于改变窗口和工具栏的显示方式如建立类向导、全屏幕显示、工作区、输出、激活调试时所用的各个窗口、属性等。
插入 创建、添加项目和资源如新建类、插入新的资源、插入新的ATL对象等。
工程 设置与工程相关的源文件、库函数如添加工程、设置活动工程、来源控制、插入工程到工作区等。
编译 对应用程序进行编译、连接和执行如编译、构件、重建全部、批构件、开始调试等。
工具 选择或制定开发环境中的一些实用工具以激活各个调试窗口改变各个窗口的显示模式等。
窗口 对窗口进行各种设置。
帮助 显示各种帮助信息。
3、工具栏 提供常用工具方便编辑、保存、编译运行程序。
分为以下三个部分。
1 常用工具栏 2编译运行工具栏 编译 编译及连接 中断编译连接 运行 调试运行 设置取消断点 新 建 文 件 打 开 文 件 保 存 当 前 文 件 保 存 所 有 打 开 的 文 件 剪切选定内容 复 制 选 定 内 容 粘 贴 复 制 内 容 撤 销 上 次 操 作 恢 复 被 撤 销 的 操 作 打开关闭工作区窗口打开关闭信息提示窗口文件窗口操作在指定的多个文件中查找字符串指定要查找的字符串按Enter键进行查找 在当前文件中查找指定的字符串西北农林科技大学信息工程学院 - 3 - 3 WizardBar工具栏 包含一些快速使用Class Wizard的工具此处从略。
4、工作区窗口 用目录树的方式显示工程文件的组织结构形式。
与Windows的资源管理器类似可以通过点击“”或“-”号来展开或折叠下级结构。
通过点击切换工作区按钮可改变显示方式。
1Class View标签 用于显示当前打开的项目所包含的类、函数和变量定义等信息。
2File View标签 用于显示当前打开的项目所包含的各种文件信息包括源文件、头文件、资源文件等。
5、 编辑窗口 为用户提供的编辑源文件的区域用法与Word完全相同此处不再赘述。
6、信息提示窗口 用于显示编译、连接、运行时系统产生的各种提示信息包括当前状态信息、各种错误信息、警告信息等调试信息和查找的结果也在此处显示。
阅读这些信息可帮助用户查找错误。
7、状态栏 用于显示当前操作的状态、注释、光标所的行和列的在位置。
四、编辑、编译、连接和运行程序 此工作当
VC启动完成在主界面中即可开始进行。
1、直接建立源文件 1选菜单“文件”→“新建”弹出图1-2所示界面 2选“文件”标签→“C Source File” 3在文件框中输入要建立的文件的名字如图1-2中的exam1-1.c 4在目录框中选择所建文件存放的位置如图中的D:2009-2010-2C。
该目录必须已存在否则会有提示信息 5单击“确定”按钮在弹出的图1-1所示界面的编辑窗口中即可进行源文件的编辑。
图1-2 新建源程序文图1-3 打开文件 西北农林科技大学信息工程学院 - 4 - 2、打开已存在的C源程序文件 1选菜单“文件”→“打开”或单击快捷按钮 弹出图3所示打开文件界面 2用与在Windows中相同的方法打开自己选定的文件到图1所示的
VC环境中然后进行编辑、修改 3当编辑、修改完毕后就可以原名保存或另存为其它名字的文件了。
3、保存/另存文件 1输入或修改完毕单击菜单“文件”→“保存”或单击快捷按钮 即可以前面确定的位置、文件名或原文件名保存文件 2若想改变文件名或文件的存放位置则应选文件→另存为根据提示另保存文件。
4、编译、连接C程序 1编译 进行编译的方法有三种 方法一按CtrlF7组合键 方法二单击工具栏的按钮 方法三选择菜单“编译”→ 执行编译后信息提示窗口中显示出编译的结果信息指出源程序中是否存在语法错误如图4所示。
如 .obj - × errors× warnings 其中“.obj”是所产生的目标文件名“”代表具体的文件名如图1-4中的exam1-1 “× errors”指明发现的致命语法错误“×”是错误具体个数。
若无错误即为0 “× warnings”对可能的潜在性错误发出警告“×”是具体个数。
若无即为0。
如果有错误还会在该窗口中逐一显示出具体的错误类型及位置只要双击某错误行便可直接指向编辑窗口中错误所在行以方便查看和改正错误。
然后再编译。
直到源程序中没有任何语法错误即error型错误表示编译成功已正确生成目标文件即.obj文件接着就可以进行连接了。
建议对有多个错误的情况要分析错误提示根据前后语句找出出错原因再进行修改且最好从第一个错误开始修改因为前面的错误可能会连带后面也出错最好每改正一个错误就编译一次这样能够有效地消除连带错误。
图1-4 编译界面 图1-5 连接界面 西北农林科技大学信息工程学院 - 5 - 2连接 目标文件生成后就要把目标程序与系统中的库函数连接起来生成可执行文件即.exe文件。
进行连接的方法也有三种 方法一按F7键 方法二单击工具栏的按钮 方法三选择菜单“编译”→ 与编译类似连接的结果也会在信息提示窗口中显示如图1-5所示。
若有错误提示必须改正后重新再进行编译、连接直到生成没有错误的可执行文件。
错误多一般是因为函数名不正确或包含命令不对如头文件的位置不正确等。
3编译连接 编译和连接操作也可一次完成。
如果尚未进行编译就直接选择执行连接系统将会先进行编译若成功后再自动进行连接。
5、运行 运行可执行文件的方法也有三种 方法一按CtrlF5组合键 方法二单击工具栏的按钮 方法三选择菜单“编译”→ 若程序能够正常运行系统会在
VC界面上弹出一个命令行方式的用户窗口如果需要的话用户可以通过这个窗口给程序输入数据而程序运行的结果也是显示在这个界面上的。
如对图1中所示的程序运行的结果如图1-6所示。
其中的“Press any key to continue”是系统提示信息只要根据该提示按任意键便可返回编辑界面。
6、关闭程序工作区 当一个程序调试、运行完毕后必须先关闭当前程序的工作区才可进行下一个程序的工作否则可能会出现意想不到的错误。
关闭工作区可选菜单“文件”→“关闭工作区”来实现。
7、退出
VC系统环境 可选菜单“文件”→“退出”其它退出方法与Windows其它应用程序相同。
五、单步执行 单步执行是编程环境常备的一种调试工具它是指每执行一条语句后即暂时停止以方便用户观察程序的执行情况然后再启动执行下一条语旬如此一步一步地执行程序。
这样可以观察图1-6 运行结果界西北农林科技大学信息工程学院 - 6 - 程序中每条语句的执行过程和执行结果便于在调试中发现问题。
下面通过例题说明
VC6.0下单步执行的基本使用方法。
例1-1 求级数 。
若程序
代码如下 includeltstdio.hgt void mainvoid float s int i s0 /为s赋初值/ fori1ilt5i /循环取五个数/ ss1/i /五个数累加/ printfquot11/21/31/41/57.2fnquots /输出累加结果/ 编译连接无语法错误经执行其结果如图1-7所示输出结果为1.00显然是错误的。
由于s有初值、i在每次循环中也能取得正确的值可计算结果却有误原因可能是累加的过程产生了错误。
下面通过单步执行功能观察执行中的具体情况。
1、进入单步执行状态 按F11选菜单“编译”→“开始调试”→“Step Into”或按F10键如图1-8所示进入单步执行状态如图1-9所示。
其中Debug菜单提供了三种调试方式含义及说明见表1-1。
图1-9 单步执行图1-8 进入单步调试黄色箭头左表格窗右表格窗口 图1-7运行结果514131211s西北农林科技大学信息工程学院 - 7 - 表1-1 单步执行时的快捷按钮、快捷键及单步方式退出方法 单步执行方式 快捷按钮 快捷键 执行方式含义 Step Into F11 将进入调用的函数中单步执行一般用在程序中有自定义的函数时Step Over F10 不进入调用的自定义函数单步执行时函数仅被作为一条语句执行Step Out ShiftF11 退出用F11进入的函数执行方式 退出单步执行 ShiftF5 或选菜单“Debug”→“Stop Debugging”返回到编辑环境 2、单步执行 图1-9所示界面中除了菜单栏、工具栏外还提供了三个窗口。
1单步执行状态 正中间的是正在调试的源程序
代码窗口左侧的黄色箭头称为当前行指针指示将要执行但尚未执行的语句行。
以后每按一次F10或F11键程序就执行一步黄色箭头也相应移到下一行的行首下一行就变成当前行。
下一行指的是下一步将要执行的语句行。
如果一行中含有多条语句那么按一次单步执行键F10或F11便执行完本行上的所有语句并使下一行变为当前行。
反之如果一条语句占多行那么按一次单步执行键就执行完整条语句。
为了便于调试最好一行只写一条语句不要写多条语句。
2观察窗口 下部左表格窗口为变量窗口选“Auto”项则显示与当前正在执行的语句有关的变量名及其当前值若切换到“Locals”选项则显示当前函数内所有变量名及其当前值。
每按一次单步执行键该窗口中显示的内容都可能随之改变且以红色显示。
右表格窗口为观察窗口用于“自由”观察某些变量当前值的变化情况。
可以在“WatCh1”至“Watch4”各选项卡的Name栏中添入想观察的变量名、表达式在Value栏便可看到其值。
若单击Name栏中变量名或表达式然后按删除键Delete即可取消对该变量的观察该变量名即从Watch窗口中消失。
也可通过手工修改Value栏中的值。
比如Name栏中有一个变量x其当前值为0若用户认为程序运行到此处它的Value栏中的值应当等于2那么可以将0改为2再继续调试下面的语句。
注意这时前面程序中的“错误”并未得到改正。
3调试 图1-9是例1-1单步执行结果窗口由下部左表格窗口可见此时i的值为2、s的值为1.00000而在观察窗口Name栏中输入表达式1/i在Value栏便可看到其值0说明级数项计算错误。
产生错误的原因是在C语言中两个整型数相除得整数商。
当i1以后1/i的计算结果就都为0了ss1/i每次加上的就都是0所以最终的输出结果也就只能为1.00。
为此将计算级数项值的表达式改为1.0/i程序即可得到正确结果。
2、设置断点 对于简单、规模较小的程序采用单步执行方法调试观察程序执行情况、发现错误效果很好。
但当程序规模较大时这种方法就不够方便了。
因为每执行一句都得按一下快捷键。
为此开发环境提供了断点执行方式。
如果在程序中设置若干个断点就可以使程序一段一段地执行。
每当执行到一个断点处西北农林科技大学信息工程学院 - 8 - 程序便停下来用户可以像单步执行那样检查运行结果。
这比单步执行要快得多提高了调试速度。
如果事先能够估计出某段程序有错或没错用断点法调试程序效率会更高。
1 断点 是一个标志。
当程序执行到断点处时就会暂停执行以便用户观察、分析程序发现问题。
2断点的设置 将光标移到编辑区某语句行按F9键或单击工具栏“ ”设置断点按钮本行就成为一个断点行首出现一个紫红色圆点为断点标记。
如果设置多个断点每个断点的行首都将有一个紫红色断点指示标记如图1-10所示。
3取消设置的断点 将光标移到编辑区已经设置了断点的语句行按F9键或单击工具栏“ ”取消断点按钮行首紫红色圆点消失即取消了该断点。
4执行到断点 按F5键或单击工具栏“ ”继续执行按钮程序开始执行。
遇到断点时程序暂停执行注意此时断点处的语句尚未执行该断点的紫红色圆圈内出现一个黄色的指示箭头称为当前断点指针如图1-11所示。
再次按F5键程序从断点处继续执行。
若不再遇到断点则执行直到程序结束如果再遇到断点就再次中断程序的执行黄色指示箭头移到当前断点紫红色圆圈内。
总之可以根据需要交替的按F5、F10、F11键穿插地采用单步执行法或执行到断点的方法对程序进行调试。
而任何时刻也都可以按ShiftF5或选菜单“Debug”→“Stop Debugging”返回到编辑环境。
图1-10 设置断图1-11 执行到断西北农林科技大学信息工程学院 - 9 - 第二章 Code Blocks集成开发环境介绍 这一章简要介绍Code::Blocks的安装、配置、以及程序的编译和调试。
Code::Blocks是一款
开源、免费、跨平台的C集成开发环境支持GNU GCC、Borland C、Microsoft Visual C、Intel C/C等多种编译器采用易于扩展的插件式架构详情请访问Code::Blocks的官方网站http://www.codeblocks.org。
一Code::Blocks的安装 从下面的地址下载用于Windows 2000/XP/Vista/7平台的Code::Blocks 10.05版 http://prdownload.berlios.de/codeblocks/codeblocks-10.05mingw-setup.exe。
该文件包含了MinGW内嵌了GCC编译器和GDB调试器版本号为其发行的年份和月份。
如果只想把Code::Blocks当编辑器用或希望自己配置编译器和调试器则从下面的地址下载不带MinGW的Code::Blocks 10.05版 http://prdownload.berlios.de/codeblocks/codeblocks-10.05-setup.exe。
运行下载的安装文件按照向导操作即可完成安装。
安装过程中可以选择完整安装“Full: All plugins all tools just everything”免得有些插件没有安装。
另外安装目录最好不要包含空格或汉字因为MinGW对此有些限制。
二Code::Blocks的配置 正确配置Code::Blocks是高效使用Code::Blocks的前提下面只介绍一些常用配置。
1、配置编译环境 第一次启动Code::Blocks可能会弹出“Compilers auto-detection”对话框单击“Set as default”按钮可将选中的编译器如GNU GCC Compiler设置默认的编译器。
在Code::Blocks的主界面中选择“Settings Compiler and debugger…”菜单会弹出“Compiler and debugger settings”对话框如图2-1其配置会影响新建的每个工程。
图2-1 配置全局的编译环境 选中左侧列表框中的“Global compiler settings”图标会显示“Global compiler settings”属性页。
从“Selected Compiler”下拉列表中选择一种熟悉的编译器如GNU GCC Compiler西北农林科技大学信息工程学院 - 10 - 在“Compiler settings Compiler Flags”中选中“Produce debugging symbols -g”和“Enable standard compiler warnings -W”也可什么都不选。
在“Toolchain executables”中单击“Auto-detect”按钮可以自动识别指定编译器的安装路径如图2-2。
如果未能自动识别可以单击浏览按钮设置好编译器的安装路径以及C Compiler、C Compiler、Linker for dynamic libs、Linker for static libs、Debugger、Resource compiler、Make program等文件名。
图2-2 设置编译器路径 2、配置帮助文件 可以从http://www.cppblog.com/Files/Chipset/cppreference.zip下载C/C语言库函数的帮助文档C Reference解压后置于Code::Blocks的安装目录。
选择“Settings Environment…”菜单会弹出“Environment settings”对话框如图2-3。
选中左侧列表框中的“Help files”图标再单击右上侧的“Add”按钮指定帮助文件的标题并定位到需要添加的帮助文件。
还可以重命名或删除已有的帮助文件也可以添加多个帮助文件。
为了方便使用通过选择“This is the default help file shortcut: F1”可以为选中的帮助文件设置快捷方式。
帮助文件设置成功后在Code::Blocks的“Help”菜单下可看到已添加的帮助文件标题按F1即可启动帮助文件如图2-4所示。
在“Contents”标签页.
上一篇:
Proteus下的51单片机源码调试的实现方法
下一篇:
浮生若萍