




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
四川省计算机二级C语言上机考试攻略四川省计算机二级C语言上机考试攻略四川省计算机二级C语言上机考试攻略四川省计算机二级C语言上机考试攻略(2010-04-0710:59:24)转载<!=======序言======!>本文合用于参加四川省计算机二级C语言上机考试参照<!=======程序调试题部分======!>一、错误数目从第二十四次(2006年4月)考试开始到现在,错误数目一致设为5处,改对一处得8分。二、介绍改错流程1、阅读试题。(1)看清试卷上要求改正的程序名称。正式考试时工作目录下会出现多个C源程序,翻开时不要弄错了.2)认识程序功能。试卷上有该程序功能说明,而且有时还会出此刻程序中使用的一些变量、数组等的名称,读题时即可认识这些数据的作用,有助于等会儿更好地剖析程序。3)注意“注意”。试卷上改错题一般会有“注意:不得增添行或删除行,不得改正程序构造。”字样。但有时仍是有例外。曾在第二十次序二套题中,出现了“注意:能够增添和改正程序行,但不得删除程序中的整行。在一处增添的程序行不得超出两行,不得改正程序的构造。”。改错时增添了一行代码。2、通读程序。阅读完试卷的说明后,先别急着去编译、连结和运转。应先通读整个程序,认识程序的整体构造和算法实现。改正你能发现的错误,有些错误是相当显然的。C程序从主函数开始运转,阅读程序也需从主函数开始。当发生函数调用时,再转到被调用函数去阅读,履行结束或遇return语句返回。C常有错误地方(按一般程序流程):1)输入语句(相当常有,基本每一次考试都有)常有错误为2种状况:a.用scanf函数接收整型或其余数值型变量值。错误:scanf(“%d”,改m正):m改为&m评论:在scanf函数后的接收参数均使用的是地点值。假如是一般变量,前加取地点运算符,假如是指针,直接使用指针变量名(指针自己代表地点),假如是字符数组接收字符串。则直接使用字符数组名(数组名代表数组首地点)。别的还要注意输入格式控制能否正确。b.用gets接收字符串时。错误:chara[100];gets(a[100]);更正:gets(a);评论:当定义了一个数组比如a[100],在程序的履行语句中不再行能见到是接见数组元素,其下标只能是0-99。此外,当数组用作函数实参时,其意为:将数组首地点传达给形参。
a[100]了,假如一般都使用数组名,(2)函数调用时(相当常有,基本每套改错题都在调用时有错)函数调用格式:函数名(实参1,实参2。。。。。)。函数调用时的错误原由较为复杂。大概可分为以下几种状况:函数调用时参数个数不对。函数调用要务实参和形参(定义函数时首部括号里的参数)个数要相等。这类错误一般是调用时缺乏实参。近来在第25次考试第二套题中出现过。函数调用时参数种类不般配。函数调用要务实参和形参种类要一致。形参和实参种类假如不一致,则需改正此中一方。详细是哪一方犯错需联合详细题目判断。这类错误出现次数最多。函数返回值出问题或与定义返回种类不一致。对于波及到有返回值的被调用函数,要注意几个问题。1.return返回的值能否知足题意要求.比如第27次序一套题return后未返回mid.2.返回值种类能否同函数名前的返回种类保持一致.比如第27次序一套题函数返回了整型值,但函数返回种类却定义为void种类.3.假如在主函数中将函数返回值赋给了某变量,该变量种类能否和函数返回种类一致.这类犯错情况较少见。实现程序功能的核心代码处在实现该程序功能的重点代码部分,往常会设置1到2处,甚至有时会设置3-4处错误。这部份的错误需要认真剖析该算法才能找犯错误的地方。这部分中的错误多为运算符或表达式犯错。常常犯错的运算符:”<”和”<=”,”>”和”>=”,”=和””==”,”==”和”!=,””<”和”>”,”+=”和”-=”,”&&”和”||,””!”等。常常犯错的表达式:如指针法接见数组元素等。比如:在第26次考试第一套改错题是选择法对8个数由大到小排序。在实现选择法这段代码中一共出现了4处错误。原代码:for(i=0;i<n-1;i++){p=i;for(j=1;j<n;j++)if(a[p]>a[j])p=j;temp=a[p];a[p]=a[j];a[j]=temp;}(4)输出语句部分。输出格式控制或输出表达式有误。如:第25次序3套,针对长整型变量n.输出代码:printf(“Theresultis:%d”,n);第27次序5套:输出整型数组a中的元素,原代码:for(i=0;i<n;i++)printf(“%4d”,a);(5)其余地方:数据定义及初始化。阅读完成后,对各数据含义应当明确了,此时检查各数据能否正确定义,特别注意被调用函数形参定义部分(每一个形参都应独自定义),此外面分数据可能要在定义时初始化。比如:在第27次序2套被调用函数中:intn,i=0;在第27次序3套中:intfun(ints,intn)预办理命令。主假如头文件包括可能不正确。例:第二十三次序一套题,在程序中使用了pow( )函数,错误代码:#include<string.h>3、编译、连结;试运转通读并改正完程序后,按F9键编译和连结(注意:请勿直接使用Ctrl+F9运转程序,因为假如程序无错(error)但有警示(warnning),直接运转将没法看到警示)。假如编译和连结过程报错或警示,依据屏幕下方信息框中的提示信息进行相应改正,直到无错和警示为止。而后再使用Ctrl+F9运转程序,假如结果不正确,此时有2种方法:(1)回到第2步,持续读程序改正错误,而后再编译、连结和试运转。重复这2步向来到正确为止。(2)进行第4步。4、使用追踪履行功能,定位犯错地点。(此处操作较复杂,需教师联合详细试题解说示范一次)注意:在进行这一步从前,你应当要达成程序语法错误的改正,即这时程序是能够履行的,不过履行结果不正确。TurboC供给了一个追踪履行(Traceinto)的功能,快捷键F7。它是把程序的运转分解为以行为单位,即每按一次F7,只履行程序中一行代码。同时配合菜单最后一项“Break/Watch菜”单中相应命令,设置要察看的变量或表达式。在每履行完一行后,察看屏幕下方“watch”中你增添的要察看的各个数据的变化状况。假如在哪一行履行完成后,数框据的变化和预期的不一致,那么错误地方必定就在方才履行的这一行。假如遇到循环次数好多的循环,还可配合Togglebreakpoint命令设置断点。<!=======编程题部分======!>-、阅读编程要求举例:第27次序3套编程题:编写程序test3-2.c(60分)按要求编写程序:(1)编写函数fun,其功能是:统计形参s所指字符串中数字字符出现的次数,并寄存在形参t所指的变量中。比如:形参s所指字符串为:abcdef35agd3khe7,则数字出现的次数为4。(2)在main函数中,从已有文件test3-2.in中读出一行字符(字符个数不超出80个)到字符数组str中,调用函数fun,统计出数字出现的次数,并在屏幕上输出结果。(1)注意要求你编写的程序言件名字,该题要求文件名为test3-2.c。文件名不可以乱取,不然极有可能被判0分。(2)认识程序功能和构造。注意在题目中出现的变量、数组、函数和文件的名字,在编程时也应采纳这些名字。本题要求编写main和fun两个函数,fun函数形参有s和t,main函数里要从文件”test3-2.in”读字符串到字符数组str里。进一步剖析还可知s应为字符型指针,t为整型指针。程序构造为main数履行输入、调用fun函数和输出,fun函数达成统计。二、成立程序言件(1)新建文件。选择“File菜”单->“new”命令,将新建一个名为NONAME.C的文件。(2)改正文件名。选择“File菜”单->“Writeto命”令。直接输入文件名,本题即直接输入test3-2.c后回车。改正后可从屏幕右上角看到是不是“TEST3-2.c”,假如不是,从头履行“writeto”命令。注意:(1)文件名大小写无影响。2)第2步也可用选择“File菜”单->“Save命”令,可是此时可改正文件名以及路径。而路径在考试时是不一样意改正的(未保存在考试工作目录下的文件不可以上传至服务器)。(3)因为此前考试中有许多学生误改了路径或名字,造成编程题得0分。所以有时考试前机房工作人员好人做究竟,已将编程题文件建好了,内容为空,此时考生只要经过”File菜”单->”Load”翻开该文件进行编写即可。三、编写程序(好习惯:编写过程中随时按F2保存)第一要知道C语言编程是特别灵巧的,同一道题给不一样的人编程是不行能完整同样的。所以无固定方法可循,可是在考试时,假如题目要求越多,限制条件越多,则编的程序应当越靠近。在第27次考试及从前,编程题均波及文件,大部分时候还波及函数调用。以本题为例:1)依照题意打好程序框架构造:定义已知道的数据和函数,文件翻开和封闭,数据输入和输出,函数调用。#翻开头文件本题构造:#include<stdio.h>头文件可依据需要最后增添返回种类fun(形参定义)voidfun(char*s,int*t){{定义数据;功能实现;}}voidmain( ){
{
voidmain( )charstr[80];定义数据;intn;翻开文件;FILE*fp;输入语句;fp=fopen(“test3-2.in”,”r”);函数调用;fgets(str,80,fp);输出语句;fun(str,&n);封闭文件;printf(“%dn”,n);}fclose(fp);}注意:假如波及函数调用的编程,则最好将被调用函数定义放在主函数前,此举可防止在主函数申明被调用函数。(2)程序核心功能代码编写。此部分代码是编程题的精髓部分,各样功能的实现是由一系列的运算所构成。需要大家多多练习,掌握一些基本功能算法实现,再灵巧加以运用,才能编写出正确的代码。此部分无固定格式可言。附该题fun函数代码:voidfun(char*s,int*t){inti;*t=0;for(i=0;*(s+i)!='\0';i++)if(*(s+i)>='0'&&*(s+i)<='9')(*t)++;}四、调试程序。刚才编写好的程序,保存完成后即进入调试阶段(即改正程序错误),这时过程可参照第一部分改错题。不过能够增添删除行,也可改正构造。<!=======友谊提示======!>1、为了考试需要。请娴熟掌握TC菜单中的以下命令:FILE(文件)菜单:load翻开;save保存;DOS提示符下,输命令行参数时需使用此命令。
new新建;writetoQuit退出;
另存为;
osshell
切换至RUN(运转)菜单:run运转;userscreen切换至输入输出界面。为了更好调试程序的需要,请掌握以下菜单命令:RUN(运转)菜单:traceinto追踪履行;Break/Watch(断点及察看)菜单:Addwatch向察看窗口增添待察看的变量或表达式;Deletewatch
从察看窗口中删除最新增添的察看变量或表达式;
Editwatch
在察看窗口中编写最新增添的察看变量或表达式;
Removeallwatches
从察看窗口中删除全部的察看变量或表达式;Togglebreakpoint
对光标所在的行设置或消除断点;
Clearallbreakpoints
消除全部断点;Viewnextbreakpoint
将光标挪动到下一个断点处。2、C语言是大小写严格划分的,请勿混用。3、TC界面窗口和全屏切换:Alt+Enter。介绍使用全屏,有的符号在窗口下简单混杂。比如“<”和“(”,“>和”“)”。4、假如程序运转时发存亡循环(症状为不断地输出或光标停住按随意键均无反响)。请使用Ctrl+Break组合键中断程序运转,再依据提示按一下Esc键即可返回到编写状态。此时你还会在屏幕上看到一根绿色横条,绿条必定处在一个循环构造中,而且死循环就发生在该循环构造。5、在改错题修悔过程中,修悔过的地方最幸亏底稿上做好记录。6、程序在运转从前应先保存(牢记)。假如程序中非法接见了某内存地点(如接见数组越界),在运转时可能会提示异样而自动封闭TC。假如程序没保存?特别是编程题,那只能从头再写了。7、编程题波及的文件都是文本种类的文件。请注意以下几点,应当对编程有所帮助。a.文件翻开方式:因为都是文本种类,所以翻开方式请划分并记着6种:“r:”翻开只读文件,该文件一定存在;“r+:”翻开可读写的文件,该文件一定存在;“w”:翻开只写文件,若文件存在则文件长度清为0,即该文件内容会消逝。若文件不存在则成立该文件;“w+”:翻开可读写文件,若文件存在则文件长度清为零,即该文件内容会消逝。若文件不存在则建立该文件;“a:”以追加的方式翻开只写文件。若文件不存在,则会成立该文件,假如文件存在,写入的数据会被加到文件尾,即文件原来的内容会被保存;“a+”以附带方式翻开可:读写的文件。若文件不存在,则会成立该文件,假如文件存在,写入的数据会被加到文件尾后,即文件原来的内容会被保存。此中较常用的是“r”,“w”,“和r+“”a”4种文件读写:在文件一章,大家学到了许多对于文件的读写函数。针对文本种类的文件而言,记着以下3个函数足矣:(1)fprintf( )函数:用法和printf( )极为近似,仅多一参数指向文件的指针fp,比如:往屏幕上输出字符数组a中字符串:printf(“%s”,a);往文件里输出(写入)字符数组a中字符串:fprintf(fp,“%s”,a);(2)fscanf( )函数:用法和scanf( )极为近似,仅多一参数指向文件的指针fp,比如:从键盘输入2个整数寄存到m和n里:scanf(“%d,%d”,&m
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 睡眠监测助手App创新创业项目商业计划书
- 法律旅游线路创新创业项目商业计划书
- 游戏物品交易创新创业项目商业计划书
- 乳制品国际合作创新创业项目商业计划书
- 演出经纪人之《演出经纪实务》考前冲刺模拟题库含答案详解【考试直接用】
- 2025年教师招聘之《小学教师招聘》题库试题附完整答案详解(全优)
- 2025内蒙古呼伦贝尔农垦集团有限公司社会招聘笔试模拟附答案详解(突破训练)
- 2025内蒙古呼伦贝尔扎兰屯市教育系统“校园引才”27人笔试备考及1套完整答案详解
- 教师招聘之《幼儿教师招聘》考前冲刺分析及答案详解(考点梳理)
- 演出经纪人之《演出经纪实务》能力提升B卷题库含答案详解(模拟题)
- 消防员消费观教育
- 玉竹栽培技术课件
- 绿色金融培训课件
- 煤矿掘进科培训课件
- 2026《衡中学案》高考一轮总复习 生物学 全书
- 《教室不乱跑》课件
- 2025混凝土建材购销合同范本
- 支教考试笔试试题真题及答案
- 2024-2025学年四年级第一学期语文教学计划及教学进度表
- 餐饮公司中标协议书
- 入股瑜伽店协议书
评论
0/150
提交评论