程序调试-----隔离法

隔离法是指在编程的时侯,将某一段代码注释起来,以便更好地分析这段代码对整个程序的影响. 用法一:当我们要对某一种情况进行分析的时侯,就需要屏蔽其它的情况的影响.这时,就可以将其它情况用注释的方法将其隔离起来,以便更好地分析某个问题. 用法二:当我们在调试程序的时侯,发现某个代码段有问题的时侯.这时,为了了解代码段对程序的影响.我们就可以分析有这段代码和没有这段代码有什么区别和共性.以便更好地找出问题,和解决问题.

大学毕业了你再看会后悔一辈子的!(2)

文章来源: http://www.xici.net/b623801/d58962206.htm 慕雨殇 发表于:2007-9-26 11:16:52 三十二,你的确要学的有心计,但是记住,永远记住,在社会上要胜利的唯一的方法永远只是一个,那就是实力,永远不用怀疑. 三十三,面对不公平的东西,不要抱怨,你的不公平可能恰恰是别人的公平.所以,你不如去努力的奋斗,争取你自己最合适的公平. 三十四,人生百态,不要对新的看不惯的东西生气,无所谓的,比如说恋人同居问题,和我们很多人无关的. 三十五,别总请人吃饭,别总让别人请你吃饭______朋友除外! 三十六,在大学里就开始训...
人生哲理 | 2007-09-29 19:07 | 阅读 2799 次 | 评论 0 条

大学毕业了你再看会后悔一辈子的!(1)

文章来源: http://www.xici.net/b623801/d58962206.htm 慕雨殇 发表于:2007-9-26 11:16:52 一,别以为在学生会你能得到你曾经想要的。工作的热情很可能因为你所看到的所经历的一些事而改变,但是也不必惧怕。你有大一一年来适应或者承受,并做出是继续坚持还是退出的决定。 二,大学可能有真实的爱情,但是记住只是可能。很多时候他们是因为别人都谈恋。爱而羡慕或者别的原因而在一起。所以,不必为任何分手而受太大的伤,记住,太大的伤,真爱,还是值得追求的。 三,如果你的家庭一般的话,那么记得你在大学有很多意外用钱的地方。比如二专业或者将来的各...
人生哲理 | 2007-09-29 19:06 | 阅读 2698 次 | 评论 0 条

程序调试-----跟踪法

跟踪法就是在确定出现问题的段中,根据程序执行的流程一步一步地跟踪,并检查程序的结果是否 与编程所期望的结果相符合.如果出现了在意料之外的结果,则表明程序在这一步或一步之前有问题. 然后,返回可能出现问题的行,检查程序代码,直到找到问题为直. 下面介绍一下,具体怎么实现跟踪法: 1.首先需要确定出现问题的段的范围,可以这样做: a:在出现问题的段后插入getch();这条语句,也就是相当于断点的方法.当程序执行到getch();这条语句的时侯,会出现暂停的现象.然后,利用这个暂停的时期观察程序运行的结果.判断程序是否出现问题.有时程序有些数据不会出现在屏幕,可以插入下列语...

程序调试-----删除法

要知道,没有一个程序员能保证自己的程序一定没有错误. 除非你的程序只有几行,要不然程序或多或少出现一些问题.有时,这些问题不是什么技术上的问题. 有时,也不是什么很明显语法.有时,也没有错误或警告.而你就是发现这步执行下去得不到自己想要 的结果.这是你会想:怎么会有问题,没有问题啊,不应该有问题. 如果有遇到上述问题,不妨大家试一试下面的方法:将出现问题的行或段(当然这段不能太大)删除, 然后,再用你的方法重写这一行或段.

goto语句的得失

文章来源:http://carlone0yu.bokee.com/ 自从计算机科学一代宗师Dijkstra于1968年发表了著名的文章《Go To Statement Considered Harmful》之后,goto语句就成了过街老鼠,人人喊打。甚至有人开玩笑说:"今天你敢用goto,明天老板就让你go home"。 "不要在程序中使用goto"已经成为绝大多数开发者的圣经,但却很少有人认真的思考过,为什么会这样? goto问题之所以这么臭名昭著,从历史的角度来看,在Dijkstra在ACM发表那篇文章之前,现代软件构造方法还没有出现,goto语句是当时实现流程控...
推荐文章 | 2007-09-24 07:58 | 阅读 2497 次 | 评论 0 条

让bioskey()来捕获键盘按键消息.

大家在初学编程的时侯,有没有作过这样的尝试:用scanf()函数来获得方向键和一些控制键的ASCII的值.比如:scanf("%c",&ch);运行的时时侯,不论怎么按那些方向键和控制键,都没有什么反应.这是什么原因.大家可以想一下,%c是用来获取字符的输入,而这些方向键和控制键并不是ASCII的字符输入键.哦,原来是这样.那么怎样才能捕获这些不是字符输入键呢.首先,我们知道不能再用只捕获字符信息的方法来捕获这些键.那么,在C语言中有没有提供其它的捕获按键信息的函数.当然,C语言提供了这样的函数.它就是bioskey().由于函数名的字面意思可知"基本输入输出系统键".那么,bi...

紧凑地使用内存,从位域开始.

*/ --------------------------------------------------------------------------------------*/ 出自: 快乐编程 http://hi.bccn.net/108519*/ 作者: neverTheSame E-mail:zhaoxufeng9997@126.com QQ:475818502*/ 时间: 2008-6-1*/ 声明: 尊重作者劳动,转载请保留本段文字*/ -----------------------------------------------------------------...

窗口界面设计C源代码

这是我在学C图形编程做一个程序.虽然和WINDOWS2000的窗口设计有 一点差距,但窗口感觉还是不错的.希望看了之后,对大家的视窗化设计有所帮助. 由于这是刚学编程的时侯编写的,源代码的注释不是很多,模块设计也不是很好. 但还有是参考价值的. 源代码首次发布在编程中国的『 C语言论坛 』 → 『 C图形专区 』. 下载源代码: http://bbs.bc-cn.net/dispbbs.asp?boardID=225&ID=105210&page=1

俄罗斯方块C源代码

http://bbs.bc-cn.net/dispbbs.asp?BoardID=225&ID=106689&star=at# 这是我大约是一年前的作品.本想要修改一下,让更多的人可以很好地解读. 由于手上一个程序一直没有完成,没有去润色它.希望有时间的时侯能修改一下. 再重新发布. 源代码首次发布在编程中国『 C语言论坛 』 → 『 C图形专区 』,大家可以去查阅.

拒绝全局变量与局部变量同名

拒绝全局变量与局部变量同名大家都知道全局变量的作用范围是从声明开始到文件结束,而局部变量的作用范围一般是在函数内从声明开始到函数结束.当函数内的局部变量与全局变量同名时,以局部变量为准.也就是说,全局变量在函数内部不产生任何影响.换一种说,就是当局部变量与全局变量同名的函数内部就不能引用全局变量,也就是函数内不能用到全局变量.这是很致命的.当函数需要获得或者修改这个全局变量的值时,这样会使得程序无法做到.因此,我们必须注意到这方面的问题,不要以为是小事.我在这里就介绍一下我个人的来预防全局变量与局部变量同名方法:你可以这样做,也就是这样规定:全局变量一定以下划线开始,如_全局变量名;而局...

自定义类型画线

大家都知道C语言图形编程一共提供了4种类型的线型.大家可以在下面的枚举型定义里看出.enum line_styles {SOLID_LINE = 0,DOTTED_LINE = 1,CENTER_LINE = 2,DASHED_LINE = 3,USERBIT_LINE = 4,};显然,这四种线型对我们开发比较大的程序是不够的.因此,C语言图形编程提供了一种自定义线型的方法.这就方便我们开发出具有自身特色的图形.废话少说,我们就开始介绍怎么自定义线型吧.大家都知道,C语言中提供了一个能设置线型的函数setlinestyle().它的原型声明:void far _Cdecl s...

在C语言中实现汉字显示

在我推荐的文章中对汉字的编码作了详尽的介绍,在此就不多说了.对汉字在计算机中的编码了解之后,我们应该怎样编写汉字显示程序呢.既然汉字是以字模的形式保存的,那么我们就应该获得汉字在汉字库中的字模储存位置.我们可以用以下方式来得到字模的储存位置:字模首地址=((机内码低字节+95)×94+(机内码高字节+95))×N注:N为一个汉字点阵字模的字节数。得到了字模数据之后,再对每个字节的位进行判断,如果位为1,用putpixel()在相就的点上画上一点,如果位上为0,则不作画点操作.知道了原理之后,开始编程就OK了.以下是我个人编写好的汉字显示程序,希望对大家有参考作用. 对12X12点阵的汉...

点阵汉字显示原理

文章来源[中国自学编程网] 发布日期:2007-7-26 16:18:10 汉字内码   在电脑中,所有的数据都是以0和1保存的,按不同的数据操作,可以得到不同的结果。对于显示英文操作,由于英文字母种类很少,只需要8位(一字节)即可。而对于中文,常用却有6000以上,于是我们的DOS前辈想了一个办法,就是将ASCII表的高128个很少用到的数值以两个为一组来表示汉字,即汉字的内码。而剩下的低128位则留给英文字符使用,即英文的内码。 汉字字模  得到了汉字的内码后,还仅是一组数字,那又如何在屏幕上去显示呢?这就涉及到文字的字模,字模虽然也是一组数字,但它的意义却与数字的意义有了根本的...
推荐文章 | 2007-09-07 07:44 | 阅读 1738 次 | 评论 0 条

在C语言怎样对数据和操作的封装

*/ --------------------------------------------------------------------------------------*/ 出自: 快乐编程 http://hi.bccn.net/108519*/ 作者: neverTheSame E-mail:zhaoxufeng9997@126.com QQ:475818502*/ 时间: 2008-6-1*/ 声明: 尊重作者劳动,转载请保留本段文字*/ -----------------------------------------------------------------...

谨慎使用setviewport()

在讲解之前,我得介绍一下setviewport()函数的用途.它功能就设置视区.视区分两种:一,不可视视区,使用方法setviewport(left,top,right,bottom,1); 二,可视视区,使用方法setviewport(left,top,right,bottom,0).这两种视区有没有什么区别.不可视区: 当作图超出了视区图形被剪切,如下一段程序:...setviewport(50,50,100,100,1);setfillstyle(1,4);bar(20,20,300,300);/*这里的(20,20)是相对于(50,50)为(0,0).也就是说(50,...

拒绝使用setbkcolor()函数

不知道大家在TC图形编程的时侯有没有发现这样的一个问题.当使用使用前景颜色的时侯,发现可用的颜色是15种而不是16种.在graphics.h头文件中,有enum COLORS()中有16种颜色的枚举类型.第0个是BLACK.但是有时,我们在将BLACK为前景颜色使用时,并没有出黑色的前景.这是什么原因呢.你有没有感觉到:当setcolor(0)做前景色时,所作出的图的颜色和背景色是一样的.例如下面的一段程序:...setbkcolor(15);cleardevice();setcolor(0);/*以黑色为前景色,输出一些字符串*/settextstyle(2,0,5);moveto(0...

"Out of memory in function ..." 解决之道

出现这种原因:超出了TC2.0 能编译文件的最大容量.可以在这里看到编译的最大容量:Compile--->Get info╔═════════════ Information ║ ║║ Current directory : D:\TURBOC2 ║║ Current file : D:\TURBOC2\NONAME.C ║║ File size ...

包含库头文件需要注意的事项

今天,就给大家说一说使用头文件得注意的地方.费话少说,就给大家一个例子吧:#include<stdio.h>#define BUFSIZ 128int main(void){return 0;}编译一下,给现了一个警告: Compiling D:\TURBOC2\NONAME.C: Warning D:\TURBOC2\NONAME.C 2: Redefinition of 'BUFSIZ' is not identical哦,原来是在stdio.h头文件中也宏定义了BUFSIZ.因此,我们在使用宏时,不能和头文件中定义的宏相同.这点值得大家注意. 还有头文件中的函数也得注意,我们选用...

scanf()与标准输入

现在,给大家说一说使用scanf()函数的一些值得注意的地方.不知大家有没有在编程的时侯,使用了scanf()函数后会出现一些异常情况.大家有没有注意到要结束scanf()函数的输入一定要按回车键.是的,原因就是出现在这个地方.它的作用就是从输入流提取数据.输入流的指针在stdio.h文件中有宏定义#define stdin (&amp;_streams[0]) .也就是scanf()函数相当于:fscanf(stdin,...).例如scanf("%d",&amp;i); 相当于fscanf(stdin,"%d",&amp;i); .所以,当输入流中有数据时,scanf()就从中提...