文栏 - 信息技术 - C语言相关 - 浏览文章 - 全国计算机等级考试三级C语言上机调试技巧
全国计算机等级考试三级C语言上机调试技巧
发布时间: 2007/6/18 2:06:07 作者: 素素 出处: 本站发布
最近得知三级C语言上机满分通过,特将之前在FF发的一篇文章发上来亮心情。
本文首发于霏凡论坛编程区,现发布于作者的个人主页亮心情,由素还真原创,转载请注明作者与出处。

一年前我报的是三级网络,笔试没问题,但由于从来没有学过程序设计语言,机试时面对题目可以说是一窍不通。一年后,我报的是数据库技术(网络比较熟了,再考就没有意义),笔试依然没问题,机试时,我顺利把程序调试出来了!现把我上机调试的经验写出来给大家参考一下:


三级C语言的绝大部分题目都出在南开一百题里,网上很多地方都有,百度一下就好。

记得要保存,不保存什么都没用。

主函数main()、读函数ReadDat()和写函数WriteDat()的内容不需要动,动了就基本出错。
实际上我们要做的就是编一个函数而已,这个函数没有入口也没有返回值,其改变的是全局变量。这种函数不符合一般函数要求的高内聚性和低耦合性,这样的设计估计是为了方便评分系统的评分。

程序起码要通过TC的编译,由于TC没有语法着色,所以如果编译时出错要细心查找。实际上官方并没有强制用TC,我们可以到考生文件夹里,找到源程序用其他的编译器编译(如果有的话)。

(以下针对TC)
有输出的题目,可以通过Run->User screen查看结果。
但绝大部分都的题目都是没有输出的,即使过了编译,运行的结果不一定对,如何检查呢?
这时可以在TC里手动打开IN.DAT和OUT.DAT。File->Open,将*.C改为*.DAT就好了,对比这两个文件,看输出的结果和题目的要求是否有差别。

大部分题目都涉及到排序,由于不需要考虑算法的效率,只需记得一种就可以了,我比较喜欢的是冒泡法(没有跳出的语句):

    int i,j;
    int temp;
    int mc[80];
    for(i=80;i>1;i--)           //注意i=80,其初值为数组的长度
    {
        for(j=0;j<i-1;j++)      //注意是j<i-1
        {
            if(mc[j]<mc[j+1])   //小于是从大到小排序,大于是从小到大排序
                          temp=mc[j],mc[j]=mc[j+1],mc[j+1]=temp;      //交换
        }
    }


排序中要特别注意的是字符串的比较和复制要用下面两个函数:
strcmp(str1,str2);                //字符排序比较时要用此函数,
                                        //比的是ASCII码,英文字典中位置后的比较大,小写字母比大写字母大,
                                        //如果str1==str2,函数值为0,
                                        //如果str1>str2,函数值为正数,
                                        //如果str1<str2,函数值为负数,

strcpy(str1,str2);                //字符排序比较交换时要用此函数,是将后面字符数组里的值赋给前面字符数组

其他几个有可能用到的字符串处理函数:
strcat(str1,str2);                //将str2连接到str1后面
strlen(str);                        //求字符数组长度
strlwr(str);                        //将字符数组里的大写字母转换为小写
strupr(str);                        //将字符数组里的小写字母转换为大写
1/1页次 第1页
所属分类: 信息技术 - C语言相关   所属专题: 原创
共有 5396 人次浏览

评论作者:
电子邮件:
评论内容:
投票评价:
验 证 码:
图片包含4个随机字符,点击刷新
请输入上面图片中的随机字符