四川省计算机二级c上机考试攻略

上传人:第*** 文档编号:33928846 上传时间:2018-02-19 格式:DOC 页数:6 大小:61KB
返回 下载 相关 举报
四川省计算机二级c上机考试攻略_第1页
第1页 / 共6页
四川省计算机二级c上机考试攻略_第2页
第2页 / 共6页
四川省计算机二级c上机考试攻略_第3页
第3页 / 共6页
四川省计算机二级c上机考试攻略_第4页
第4页 / 共6页
四川省计算机二级c上机考试攻略_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《四川省计算机二级c上机考试攻略》由会员分享,可在线阅读,更多相关《四川省计算机二级c上机考试攻略(6页珍藏版)》请在金锄头文库上搜索。

1、四川省计算机二级 C 上机考试攻略王 波本文适用于攀枝花学院学生参加四川省计算机二级 C 上机考试实训课参考一、错误数量从第二十四次(2006 年 4 月)考试开始至今,错误数量一致设为 5 处,改对一处得 8分。二、推荐改错流程1、阅读试题。(1)看清试卷上要求修改的程序名称。正式考试时工作目录下会出现多个 C 源程序,打开时不要弄错了.(2)了解程序功能。试卷上有该程序功能说明,并且有时还会出现在程序中使用的一些变量、数组等的名称,读题时即可了解这些数据的作用,有助于等会儿更好地分析程序。(3)注意“注意” 。试卷上改错题一般会有“注意:不得增加行或删除行,不得更改程序结构。 ”字样。但偶

2、然还是有例外。曾在第二十次第二套题中,出现了“注意:可以增加和修改程序行,但不得删除程序中的整行。在一处增加的程序行不得超过两行,不得更改程序的结构。 ”。改错时增加了一行代码。2、通读程序。阅读完试卷的说明后,先别急着去编译、连接和运行。应先通读整个程序,了解程序的整体结构和算法实现。修改你能发现的错误,有些错误是相当明显的。C 程序从主函数开始运行,阅读程序也需从主函数开始。当发生函数调用时,再转到被调用函数去阅读,执行结束或遇 return 语句返回。C 常见错误地方(按一般程序流程):(1)输入语句(相当常见,基本每一次考试都有)常见错误为 2 种情况:a. 用 scanf 函数接收整

3、型或其它数值型变量值。 错误:scanf (“%d”, m ) 改正:m 改为&m点评:在 scanf 函数后的接收参数均使用的是地址值。如果是一般变量,前加取地址运算符&,如果是指针,直接使用指针变量名(指针本身代表地址) ,如果是字符数组接收字符串。则直接使用字符数组名(数组名代表数组首地址) 。此外还要注意输入格式控制是否正确。b. 用 gets 接收字符串时。错误:char a100; gets(a100); 改正:gets(a);点评:当定义了一个数组例如 a100, 在程序的执行语句中再也不可能见到 a100了,如果是访问数组元素,其下标只能是 099。另外,当数组用作函数实参时,

4、一般都使用数组名,其意为:将数组首地址传递给形参。(2)函数调用时(相当常见,基本每套改错题都在调用时有错)函数调用格式:函数名(实参 1,实参 2。 。 。 。 。 ) 。函数调用时的错误原因较为复杂。大致可分为以下几种情况:a. 函数调用时参数个数不对。函数调用要求实参和形参(定义函数时首部括号里的参数)个数要相等。这种错误一般是调用时缺少实参。最近在第 25 次考试第二套题中出现过。b. 函数调用时参数类型不匹配。函数调用要求实参和形参类型要一致。形参和实参类型如果不一致,则需修改其中一方。具体是哪一方出错需结合具体题目判定。这种错误出现次数最多。c. 函数返回值出问题或与定义返回类型不

5、一致。对于涉及到有返回值的被调用函数,要注意几个问题。1. return 返回的值是否满足题意要求.例如第 27 次第一套题 return 后未返回 mid.2. 返回值类型是否同函数名前的返回类型保持一致 . 例如第 27 次第一套题函数返回了整型值,但函数返回类型却定义为 void 类型.3. 如果在主函数中将函数返回值赋给了某变量,该变量类型是否和函数返回类型一致.这种出错情形较少见。(3) 实现程序功能的核心代码处在实现该程序功能的关键代码部分,通常会设置 1 到 2 处,甚至有时会设置 34 处错误。这部份的错误需要仔细分析该算法才能找出错误的地方。这部分中的错误多为运算符或表达式出

6、错。经常出错的运算符:”和”=”, ”=”和”=”, ”=”和”!=”, ”,”+=”和 ”-=”, ”&”和”|”, ”!”等。经常出错的表达式:如指针法访问数组元素等。例如:在第 26 次考试第一套改错题是选择法对 8 个数由大到小排序。在实现选择法这段代码中一共出现了 4 处错误。原代码:for(i=0;iaj) /* 改为 /* string.h 改为 math.h */3、编译、连接;试运行通读并修改完程序后,按 F9 键编译和连接(注意:请勿直接使用 Ctrl+F9 运行程序,因为如果程序无错(error)但有警告(warnning ) ,直接运行将无法看到警告) 。如果编译和连接

7、过程报错或警告,根据屏幕下方消息框中的提示信息进行相应修改,直到无错和警告为止。然后再使用 Ctrl+F9 运行程序,如果结果不正确,此时有 2 种办法:(1)回到第 2 步,继续读程序修改错误,然后再编译、连接和试运行。重复这 2 步一直到正确为止。(2)进行第 4 步。4、使用跟踪执行功能,定位出错位置。 (此处操作较复杂,需教师结合具体试题讲解示范一次)注意:在进行这一步之前,你应该要完成程序语法错误的修改,即这时程序是可以执行的,只是执行结果不正确。TurboC 提供了一个跟踪执行(Trace into)的功能,快捷键 F7。它是把程序的运行分解为以行为单位,即每按一次 F7,只执行程

8、序中一行代码。同时配合菜单最后一项“Break/Watch”菜单中相应命令,设置要观察的变量或表达式。在每执行完一行后,观察屏幕下方“watch”框中你添加的要观察的各个数据的变化情况。如果在哪一行执行完毕后,数据的变化和预期的不一致,那么错误地方肯定就在刚才执行的这一行。如果碰到循环次数很多的循环,还可配合 Toggle breakpoint 命令设置断点。、阅读编程要求举例:第 27 次第 3 套编程题:/*/编写程序 test3-2.c(60 分)按要求编写程序:(1)编写函数 fun,其功能是:统计形参 s 所指字符串中数字字符出现的次数,并存放在形参 t 所指的变量中。例如:形参 s

9、 所指字符串为:abcdef35agd3khe7,则数字出现的次数为 4。(2)在 main 函数中,从已有文件 test3-2.in 中读出一行字符(字符个数不超过 80 个)到字符数组 str 中,调用函数 fun,统计出数字出现的次数,并在屏幕上输出结果。/*/(1) 注意要求你编写的程序文件名字,该题要求文件名为 test3-2.c。文件名不能乱取,否则极有可能被判 0 分。(2) 了解程序功能和结构。注意在题目中出现的变量、数组、函数和文件的名字,在编程时也应采用这些名字。此题要求编写 main 和 fun 两个函数,fun 函数形参有 s 和t,main 函数里要从文件”test3

10、-2.in”读字符串到字符数组 str 里。进一步分析还可知s 应为字符型指针,t 为整型指针。程序结构为 main 数执行输入、调用 fun 函数和输出,fun 函数完成统计。二、建立程序文件(1)新建文件。选择“File”菜单“new”命令,将新建一个名为 NONAME.C 的文件。(2)修改文件名。选择“File”菜单“Write to”命令。直接输入文件名,此题即直接输入 test3-2.c 后回车。修改后可从屏幕右上角看到是否是“TEST3-2.c” ,如果不是,重新执行“write to”命令。注意:(1)文件名大小写无影响。(2)第 2 步也可用选择“File”菜单“Save”命

11、令,不过此时可修改文件名以及路径。而路径在考试时是不允许修改的(未保存在考试工作目录下的文件不能上传至服务器) 。(3)由于此前考试中有不少学生误改了路径或名字,造成编程题得 0 分。所以有时考试前机房工作人员好人做到底,已将编程题文件建好了,内容为空,此时考生只需通过”File”菜单”Load”打开该文件进行编写即可。三、编写程序(好习惯:编写过程中随时按 F2 保存)首先要知道 C 语言编程是非常灵活的,同一道题给不同的人编程是不可能完全一样的。所以无固定方法可循,不过在考试时,如果题目要求越多,限制条件越多,则编的程序应该越接近。在第 27 次考试及以前,编程题均涉及文件,大多数时候还涉

12、及函数调用。以此题为例:(1) 依据题意打好程序框架结构:定义已知道的数据和函数,文件打开和关闭,数据输入和输出,函数调用。#打开头文件 此题结构:#include 头文件可根据需要最后添加返回类型 fun(形参定义) void fun(char *s, int *t) 定义数据;功能实现; void main() void main() char str80;定义数据; int n; /* 保存统计的数字字符个数*/打开文件; FILE *fp;输入语句; fp=fopen(“test3-2.in”,”r”); /*打开出错处理代码略*/函数调用; fgets(str,80,fp);输出语句

13、; fun( str , 关闭文件; printf(“%dn”,n); fclose(fp);注意:如果涉及函数调用的编程,则最好将被调用函数定义放在主函数前,此举可避免在主函数声明被调用函数。(2)程序核心功能代码编写。此部分代码是编程题的精华部分,各种功能的实现是由一系列的运算所组成。需要大家多多练习,掌握一些基本功能算法实现,再灵活加以运用,才能编写出正确的代码。此部分无固定格式可言。附该题 fun 函数代码:void fun(char *s,int *t)int i;*t=0;for(i=0;*(s+i)!=0;i+)if(*(s+i)=0四、调试程序。刚刚编写好的程序,保存完毕后即进

14、入调试阶段(即修改程序错误) ,这时过程可参考第一部分改错题。只是可以增加删除行,也可修改结构。1、 为了考试需要。请熟练掌握 TC 菜单中的以下命令:FILE(文件)菜单:load 打开; save 保存; new 新建; write to 另存为;os shell 切换至 DOS 提示符下,输命令行参数时需使用此命令。Quit 退出;RUN(运行)菜单:run 运行; user screen 切换至输入输出界面。为了更好调试程序的需要,请掌握以下菜单命令:RUN(运行)菜单:trace into 跟踪执行;Break/Watch(断点及观察)菜单:Add watch 向观察窗口添加待观察的变量或表达式;Delete watch 从观察窗口中删除最新增加的观察变量或表达式;Edit watch 在观察窗口中编辑最新增加的观察变量或表达式;Remove all watches 从观察窗口中删除所有的观察变量或表达式;Toggle breakpoint 对光标所在的行设置或清除断点;Clear all breakpoints 清除所有断点;View next breakpoint 将光标移动到下一个断点处。2、 C 语言是大小写严格区分的,请

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号