- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c_free_5单步调方法c_free_5单步调试方法
C Free 5.0 程序的单步调试 创建一份新的代码文件 可直接点击“文件”下的白色图标,或点击“文件”选择“新建”,或按快捷键“Ctrl + N” (C Free 5.0默认情况下新建的代码文件为 .cpp 格式,可在“工具”、“环境选项”、 “新建文件类型”中更改,C语言标准格式为 .c 格式) 基于实例的C程序调试介绍 一、查看变量的内容 # include stdio.h int main(int argc, char* argv[]) { int i; int sum; sum=0; for(i=1;i=10;i++) sum=sum+i; printf(sum=%d,sum); return 0; } 第一步,打开C Free 5.0,输入上面的代码。 第二步,把光标移到“sum=0;”这一行,按F10 它的作用是设一个断点,程序运行到这里时,会停下来。也就是说,接下来,程序必须通过按F7键单步运行了。 第三步:按F9 (开始调试) 我们发现有一箭头停留在这句语句上,它指示程序停留的位置,而箭头所在的语句(“sum=0;”)还没有执行。事实上,我们可以通过看一下内存变量sum的内容来验证。 方法是这样的: 打开“调试”下的“监视”,或者按快捷键“Alt + 3”。 在“监视”的空白处点击鼠标右键,选择“添加监视”。 输入需要监视的变量名,这里输入为 sum 这时我们可以在监视窗口中看到sum的内容不为0,而是一个随机的值。 第四步,我们按一下F7(进入),我们发现sum的内容变为0了。这说明“sum=0;”这句语句被执行了。 我们还可以用同样的方法看一下i的内容。 只需要鼠标点 第六步,一步一步地按F7,我们可以发现在单步执行for循环语句的时候i和sum的内容在不断变化。当退出循环时,我们发现i的内容为11(因为变量i的内容为11,i=10这个条件不满足,所以程序退出循环)。 附带提一下,当程序已经执行了“sum=0;”这一句语句后,如果我们直接把光标移到 “printf(sum=%d,sum);”,然后按Ctrl+ F8,我们可以直接把上面的for循环都执行了,而不必一步一步地按F7。在实践中,为了查找程序的逻辑错误,我们往往要单步运行该程序好几遍。如果已经通过单步调试验证某一段语句(如一个for循环语句或者几个用户定义的函数)正确了,我们就可以用Ctrl+ F8跳过这段语句,直接运行到还未测试的语句。 二、F7(进入)和F8(跳过)的区别 # include stdio.h int add(int m,int n) { int s; s=m+n; return s; } int main(int argc, char* argv[]) { int i=1; int j=2; int sum; sum=add(i,j); printf(sum=%d,sum); return 0; } 第一步,把光标移到“sum=add(i,j);”,按F10设置断点后按 F9开始调试,此时“sum=add(i,j);”这句语句还没有执行。 接下来,如果按F7,则程序单步执行到int add(int m,int n)的函数体,此时箭头停留的位置如下图所示。 如果按不按F7而按F8,则把int add(int m,int n)内的语句全部执行了(也就是说程序不会单步运行到add函数的里面) 此时箭头停留的位置如下图所示。 也就是说,碰到函数,F7会单步执行函数体的每一句语句,而F8则把函数当作一句普通的C语言语句来执行。在调试程序的时候,我们可以这样做:如果我们已经通过测试发现某一个函数已经正确,那么我们不必单步执行函数体的每一句语句;否则,我们单步执行函数体的每一句语句,监视相关的变量的内容,通过测试用例检查一下问题出在那里。 三、关于一重指针 我们知道,一个指针是一个变量的地址,是一个常量。存放一个变量的地址的变量是指针变量。例如:“int a=1;int m; int *p;p=a;”说明p是一个指针变量,它的内容为整型变量a的地址。*p就是p所指向的变量a。指针变量p指向整型变量a的实质是p存放的是a的地址。 注意:(1)指针和指针变量是两个不同的概念。 (2)在 int *p;这里 *表示p是一个指针变量; m=*p;这里*和p结合起来,作为一个整体*p,表示p所指向的变量。也就是说,这两个*的作用是不一样的。 下面我们通过例子来说明这个问题。 #include stdlib.h #include
您可能关注的文档
- 2016年人机大战 作素材运用2016年人机大战 作文素材运用.doc
- 2016年人教版七年级册数学期末试卷及答案2016年人教版七年级下册数学期末试卷及答案.doc
- 2016年二级建造师《利水电工程管理与实务》模拟考试题2016年二级建造师《水利水电工程管理与实务》模拟考试题.doc
- 2016年二级建造师专工程管理与实务考试真题电子版2016年二级建造师专业工程管理与实务考试真题电子版.doc
- 2016年医学高级职称试心血管内科学单项选择题2016年医学高级职称考试心血管内科学单项选择题.doc
- 2016年昆明市官渡区小学教师招聘考试试题二2016年昆明市官渡区中小学教师招聘考试试题二.doc
- 2016年医学高级职称试结核病学单项选择题2016年医学高级职称考试结核病学单项选择题.doc
- 2016年住院医师规范培训考试模拟题及答案解析2016年住院医师规范化培训考试模拟题及答案解析.doc
- 2016年昆明市教师招考试模拟题附答案(三)2016年昆明市教师招聘考试模拟题附答案(三).doc
- 2016年秋季开学前夏盖乡良种场小学师德师风集中培训——实施方案2016年秋季开学前夏孜盖乡良种场小学师德师风集中培训——实施方案.doc
- crtsⅰ型板式无砟轨专项施工方案crtsⅰ型板式无砟轨道专项施工方案.docx
- c语言数据结构课程设计车场完整版c语言数据结构课程设计停车场完整版.doc
- c语言程序设计课后答案罗朝盛c语言程序设计课后答案_罗朝盛.doc
- creb综述1creb述1.docx
- crtsⅲ型板式无砟轨作业指导书27日修复的crtsⅲ型板式无砟轨道作业指导书27日修复的.doc
- dc-cik细胞采集与输的护理(转载)dc-cik细胞采集与回输的护理(转载).doc
- eb病毒及鼻咽癌eb病及鼻咽癌.doc
- excel说课稿excl说课稿.doc
- english leaningenglish learning.docx
- fpso单点系泊水动力应研究综述fpso单点系泊水动力响应研究综述.doc
最近下载
- 陈永鑫《茉莉花二重奏》吉他谱.pdf VIP
- 购买社会组织服务-社会救助照料支持服务方案投标文件(技术标).doc
- PowerFlex 700变频器用户手册(中文).pdf
- 年产15万平米水泥预制板生产建设项目环评环境影响报告表(新版环评).pdf VIP
- BOSS效果器GT8音色.doc VIP
- BOSS GT-8中文说明书.pdf
- 医学科研方向研究进展汇报.pptx
- 地球表部圈层相互作用.ppt
- 通用汽车网络安全随机数生成规范CYS9000 - Random Number Generator Security.pdf VIP
- 地球科学概论 第10讲 _生物圈——[武汉大学 地球科学概论].pdf VIP
文档评论(0)