• 网络学院
  • IT资讯
  • 操作系统
  • 网络技术
  • 软件应用
  • 办公软件
  • 编程技术
  • 网站架设
  • 数据库类
  • 平面设计
  • 多媒体类
  • 游戏资讯
  • 教学论文
  • 认证考试
检出和分离c语言源程序错误的方法
  站点:
  • 首 页
  • 最新软件
  • 文章教程
  • 国内软件
  • 国外软件
  • 绿色软件
  • 源码下载
  • 字体下载
检出和分离c语言源程序错误的方法
软件发布 检出和分离c语言源程序错误的方法
网络软件 系统工具 应用软件 联络聊天 图形图像 多媒体类 行业软件 游戏娱乐 编程开发 安全相关 教育教学 数码软件 绿软下载
热门软件: QQ 瑞星 pplive e话通 木马克星 千千静听 office2000 五笔字根 Photoshop 视频分割
返回文章教程首页 >> 认证考试 >> 计算机等级考试 >> 计算机等级考试动态 >> 检出和分离c语言源程序错误的方法

检出和分离c语言源程序错误的方法

添加时间: 2007-5-12 5:02:01  作者: 计算机等级考试认证参考  阅读次数:35   来源: http://www.d9soft.com

       

 
    我们知道,编译程序可以找到源程序中的语法错误和语义错误,并将其分离出来,但她不能检出程序编制的是否得当及算法是否正确。在c语言源程序调试过程中,比较麻烦的一种错误是程序可以执行,但得不到希望的结果,即使在算法正确的情况下,程序员也要从头到尾的对整个程序 检查 。找出错误的方法可以从一组检查数据开始,把已知的数据送入程序,并把程序逐步划小,直到找出错误所在并将其分离出来为止。这种方法大都采用在源程序中加入若干printf()语句来实现,通过检查中间结果,就可能把出错的原因找出来。但这种方法过于繁琐复杂,使用不便。本文介绍一种解决这个问题的简单方法,以起抛砖引玉的作用。
首先设计一个排错函数debug(),这里假定编译程序进支持整型,字符型,整型数组和字符型数组类型。如果编译程序还值持其它的数据类型,稍加修改debug()函数即可。Debug()函数如下:
/* function to print ints,chars,and int&char arrays*/
#include<stdio.h>
#include<conio.h>
#define CLEARS 111
void debug(char let,char c_array[],int n_array[],int asize,int num,int opt)
{
int I;
switch(opt)
{
case 1:
printf("The value is %d",num);
break;
case 2:
printf("The letter is %c",let);
break;
case 3: {
puts("The number array contains ");
for(i=0;i<=asize;++i)
printf("%d",n_array[i]);
break;
}
case 4:{
puts("The character array contains ");
for(i=0;i<=asize;++i)
printf("%c",c_array[i]);
break;
}
default:
puts(" Invalid option selected!");
break;
}
puts(" Please press any key to continue:");
getch();
}

void main()
{
int I,j,a[10];
char ch,b[10];
for(i=5,j=0;i<15;++I,++j){
a[j]=j;
b[j]=j;
}
putchar(CLEARS);
ch=’a’;
debug(0,0,0,0,I,1); /*display value of i*/
debug(ch,0,0,0,0,2);/*display value of ch*/
debug(0,0,a,10,0,3);/*display value of a*/
debug(0,b,0,10,0,4);/*display value of b*/
debug(0,0,0,0,0,7);/*error*/
}
关于此函数的几点说明:
debug()函数提供一个在排错过程中把所需过程打印出来的方法, 思想 很简单,即把要打印的数据类型传递给它,并由后面的printf()语句将其打印出来,调用getch()函数引起程序暂停运行,直到按任意键继续。Debug()参数包括了位是其工作所需内容(根据需要还可添加其它有关的参数)。Opt是要使用的可选项。
实际应用时,把debug()函数包含进你的程序,把错误找出来后,可以很容易的把所有的debug()函数都清除出去。把所有这些调用和为包含函数debug()所用的#include从程序中撤销是很容易的事。如vi编辑在“ex转换方式”下使用的搜索并替换命令g和s),这些在源程序中使用printf()函数是很难办到的。

 

上下文章:

 

上一篇文章: 河南06年下半年全国计算机等级考试6月1日开始报名 下一篇文章: 计算机等级考试说明书要点

相关文章:

  • 谷歌百科全书网站Knol推出多种语言服务
  • SQL索引优化方法(实例代码)
  • 火星文:最时髦的网络语言
  • QQ邮箱在线浏览Office文档的方法
  • 保证Win XP远程控制时安全的方法

相关软件:

  • 易语言 V4.04 简体中文正式版
  • 脚本语言生成器 V2.5 Build 1050
  • 辰灿汇编语言集成开发环境 V1.0
  • 汇编语言学习工具 3.6
  • AI RoboForm Pass2Go(可携带版) 中文正式版/多国语言版 6.7.3
  • 易语言 V4.05 Final 简体绿色中文版

 

快速导航

  • 网络学院
  • 精品汇聚
  • 字体下载
  • 教程下载
  • ASP源码
  • PHP源码
  • Net源码
  • JSP 源码

计算机等级考试分类导航

  • 计算机等级考试动态
  • 计算机一级考试
  • 计算机二级考试
  • 计算机三级考试
  • 计算机四级考试

本类经典文章推荐

  • 全国计算机等级考试三级网络技术(...
  • 三级网络技术复习笔记(第1-2章)
  • 三级笔试样题(PC技术)
  • 三级数据库技术样题
  • 三级网络技术复习笔记(5-7)
  • 三级网络技术复习笔记(第3-4章)
  • 笔试样题(网络技术)
  • 机考如何避免范围性错误
  • 2003年最新三级网络模拟题(2)
  • 全国计算机等级考试三级网络技术部...

计算机等级考试动态阅读排行

  • 9月17日计算机等级考试二级VF答案
  • 完整的计算机等级考试上机模拟系统
  • 计算机等级考试:VFp练习题1
  • 全国计算机等级考试三级网络技术(...
  • 历年操作系统论述题及答案(2)
  • 计算机等级考试:VFp练习题2
  • 计算机二级VB软件环境、考试时间、...
  • 2005年全国计算机等级考试全真模拟...
  • 三级网络技术复习笔记(第1-2章)
  • 全国计算机等级考试报名时间、级别...

计算机等级考试阅读总排行

  • 全国计算机等级考试一级模拟试题01
  • 全国计算机等级考试一级模拟试题10
  • 全国计算机等级考试一级模拟试题08
  • 全国计算机等级考试一级考试最新模...
  • 全国计算机等级考试一级模拟试题02
  • 全国计算机等级考试一级模拟试题07
  • 全国计算机等级考试上机考试应试技...
  • 一级(WINDOWS)试题解析-Word篇
  • 全国计算机等级考试一级模拟试题06
  • 全国计算机等级考试一级模拟试题03

广告位置

字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 回到顶部

关于我们 | 版权声明 | 免责条款 | 广告联系 | 软件发布 | 下载帮助 | 下载排行 | 网站地图 | 特别鸣谢 | 友情连接

copyright; 2005-2008 D9soft.com 第九软件网 版权所有