c语言程序调试步骤实验,c语言程序调试(实验).ppt

c语言程序调试(实验)

使用VC++6.0调试程序 调试程序 调试运行 单步跟踪 单步跳进跟踪 观察自动变量 观察其他变量 停止调试 1:打开jiecheng项目(双击jiecheng.dsw文件) 2:build该项目,确定程序可以运行 3:调试运行阶乘程序 4:设置断点 5:再次调试运行程序 6:使用单步执行程序到结束 1:打开jiecheng项目 2:Build该项目,确定程序可以运行 3:调试运行阶乘程序 4:设置断点 将鼠标停留在程序的第8行,在第8行的任意地方单击鼠标左键(第8行即“i = i*4;”) 在工具栏上选择 按钮,为第8行设置断点,以便让程序在此处暂停运行 5:再次调试运行阶乘程序 注意观察,现在调试运行程序会如何? 5:再次调试运行阶乘程序(续) 6:使用单步执行到程序结束 设置断点以后,调试运行程序时,程序开始执行,并且运行到断点处暂停下来,此时我们有机会观察程序的运行情况,并且诊断程序目前的状态是否如我们所预期的那样。 不过我们先不着急观察程序的状态,而是来看看如何控制程序的运行,以便在我们需要的时候让程序暂停下来,并且以我们需要的方式走走停停! 6:使用单步执行到程序结束 程序停下来了,如何让程序从暂停的地方继续向前执行? 方法是使用单步执行手段(Step Over)让程序向前走一步 熟悉调试工具栏和菜单(只在调试运行时出现) 观察自动变量 观察变量的值及其随程序运行时的变化情况 设置断点,调试运行程序,此时程序暂停在断点处等待 选择Debug菜单,找到 最后一项“Quick Watch” 并点击 点击Add watch,看到如下画面 调试观察每一步骤变量i的值 点击单步执行按钮或者菜单,程序则向前单独运行一个步骤 每向前执行一步,就会暂停下来,这样我们就有充足的时间观察所关心的变量名称 观察变量i的值的情况 注意在调试过程中 断点不能设置在空白行上面 添加断点和删除断点的方法一样 一个程序中可以设置多个断点 按下F5键可以让程序从当前位置向前执行,直到遇见下一个断点或者程序结束 相关C语言基础知识 指针: 结构体: 指针 地址和指针的概念 一、指针概述: 1、“&” :地址运算符 2. “*” :指针运算符,取其指向的内容: exp: &a: 变量a的地址: *p: 变量p的内容; 注: “&” 不能施加在常数,常量和表达式上; 二、指针变量: 存放某种变量地址的变量称为指针变量。 结构体 指向函数的指针 1.函数指针的概念  一个函数在编译时,被分配了一个入口地址,这个地址就称为该函数的指针。   可以用一个指针变量指向一个函数,然后通过该指针变量调用此函数。 (3)调用格式 (*函数指针变量)([实参表]) 3.指向函数的指针变量作函数参数 指向函数的指针变量的常用用途之一,就是将函数指针作参数,传递到其它函数。 注意:对指向函数的指针变量,诸如p+i、p++/p--等运算是没有意义的。 例10.24  设有一个函数process,在调用它时,每次实现不同的功能。输入a和b两个数,第一次调用时找出a与b中的大者,第 二次找出小者,第三次求和。 返回指针值的函数   一个函数可以返回一个int型、float型、char型的数据,也可以返回一个指针类型的数据。 返回指针值的函数(简称指针函数)的定义格式如下: 函数类型 *函数名(形参表列)  例如:  int *a(int x,int y); 该函数的函数名为a,返回的是一个整型的指针。 指针数组 指针数组的概念 数组的每个元素都是一个指针数据。指针数组比较适合用于指向多个字符串,使字符串处理更加方便、灵活。 数据类型 *数组名[元素个数] 例如: int *p[4]; char *string[10]; p指向数组a易混淆的问题 *p++,*p(++),*(++p),(*p) 设P指向a数组中的第i个元素: *(p--)==a[i--]; *(--p)==a[--i]; *(++p)==a[++i]. 例: 描述一个学生的姓名、学号、性别、年龄。 每个学生都有这样的属性,它们构成一个描述学生具体情况的一个整体。而每个属性又是一个基本的类型,本例中可分别用字符数组、长整型、字符型、和整型来描述。 定义结构体类型, 描述下列数据 struct student { int no; /*学号*/ char name[10]; /*姓名*/ char sex

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值