发新话题
打印

[转帖] 全国计算机等级考试三级C语言上机调试技巧(转自霏凡)

全国计算机等级考试三级C语言上机调试技巧(转自霏凡)

全国计算机等级考试三级C语言上机调试技巧



•素还真•






今天再次参加三级上机C语言考试。一年前我报的是三级网络,笔试没问题,但由于从来没有学过程序设计语言,机试时面对题目可以说是一窍不通。一年后,我报的是数据库技术(网络太熟了,再考就没有意义),笔试依然没问题,机试,我顺利把程序调试出来了!现把我上机调试的经验写出来给大家参考一下,本文首发于霏凡论坛编程区,由素还真原创,转载请注明作者与出处。


三级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);            //将字符数组里的小写字母转换为大写
H  :happy             (开心)
U  :union             (团结)
I  :improve           (珍惜)
D  :diligence         (勤奋)
A  :action            (战斗)
B  :believe           (信任)
B  :blood             (生命力)
S  :success           (成功)

TOP

发新话题
 

惠大论坛 | 用户协议 | 管理团队 | 友情链接 | 广告联系 | 点击这里给我发消息

Copyright © 2008 - 2009 惠大论坛 www.huidabbs.com All Rights Reserved.
粤ICP备07034655号

站务管理员:小白 紧急手机:13428066758 QQ:704012066

声明:惠大论坛所有文章或图片仅代表发帖人个人观点,与本论坛立场无关。

遵守网络道德,拒绝任何人以任何形式在本论坛发表与国家现行法律、法规相抵触的言论。

版权声明:本站信息转载于其他网站,真实性未经证实,仅供您参考。如无意中侵犯了您的权益,请即刻联系本站,我们将在第一时间内删除该信息!