计算机二级C语言程序修改题解题思路
全国计算机等级考试二级C语言上机答题技巧
上机编程题答题技巧
上机编程题的特点和说明
一、在二级C程序设计上机考试中,要求完成一个独立的函数的编程。目前教育部考试中心已出版了上机考试习题集,这些有助于学习编程,但考生应当在学习过程中理解基本的算法,通过实际上机操作积累经验,才能掌握基本的编程能力。
二、进行编程测试时,建议按以下步骤进行
1.首先仔细审题,了解试题的要求,记下试题给出的输入和输出例示,以便检验在完成指定的函数后程序运行的结果是否正确。
2.当在Visual C++6.0环境下调出源程序后,应对照函数首部的形参,审视主函数中调用函数时的实参内容,以便明确在函数中需要处理的数据对象。
3.理解试题的要求,审视主函数中调用函数的方式,若在表达式中调用函数(如把函数值赋给某个对象),则要求有函数值返回,需注意函数的类型,并在函数中用return 语句返回函数值;若主函数中仅用语句形式调用函数,则需要通过形参间接地返回所得结果。
4.选择适当的算法进行编程,输入程序语句。不要忘
记及时存盘!
5.编译程序,直到没有语法错误。
6.调试程序,利用试题中给出的例示数据进行输入(若要求输入的话),运行程序,用例示的输出数据检验输出结果,直到结果相同。
三、编程时常出现的错误
1.书写标识符时,忽略了大小写字母的区别。
main()
{
int a=5;
printf("%d",A);
}
编译程序把a和A认为是两个不同的变量名,而显示出错信息。C认为大写字母和小写字母是两个不同的字符。习惯上,符号常量名用大写,变量名用小写表示,以增加可读性。
2.忽略了变量的类型,进行了不合法的运算。
计算机二级C语言上机操作题及答案
计算机二级C语言上机操作题及答案
一、程序填空题
给定程序中,函数fun的功能是:计算出形参s所指字符串中包含的单词个数,作为函数值返回。为便于统计,规定各单词之间用空格隔开。
例如,形参s所指的字符串为:This is a C lan.guage program.,函数的返回值为6。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的.结果。
注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!
试题程序:
二、程序修改题
下列给定程序中,函数fun的功能是:从n个学生的成绩中统计出低于平均分的学生人数,此人数作为函数值返回,平均分存放在形参a—ver所指的存储单元中。
例如,输入8名学生的成绩:80.5、60、72、90.5、98、51.5、88、64 则低于平均分的学生人数为4(平均分为75.5625)。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODll.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
三、程序设计题
请编写一个函数int fun(int{s,int t,int+k),用来求出数组的最大元素在数组中的下标并存放在k所指向的存储单元中。
例如,输入如下整数:
876 675 896 101 301 401 980 431 451 777
则输出结果为6,980。
注意:部分源程序在文件PROGl.C中。
请勿改动主函数main和其他函数中的任何内容.仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
计算机二级考试C语言练习题及答案
x«[2j
/••••••♦•••found•••••«••••/
n=lll;
I mum八 I tnaιn() longn三-jj while(n>999999991∣n<0) pπntf("Plwιnput(0<n<1000000∞):");βr*nf("%M"fA11); ∣κιntf("∖nTheresultis:%H∖n".fiιn(n)); 【参考答案】 ⑴0 (2)10*x 【考点分析】 本题考查:已知某数,如何求该数各个位数值,已知各个位数值,如何表示该数;除法运算。 【解题思路】
∕,
t三0;while(«>。)Id三s⅜I。;
found••••••••••••,•,if(d%2三=。)I∙tβd∙»1♦∙t;
■1♦-10;I•/«10;IImaιn()Il∞*∙.t;
pnntf(,,∖nP)ea∙eenlcr•;*);∙canf(w⅜id",&n);fun(∙,Λl)i
Printf("ThrEMlhia:%ld∖n",t)(t 【参考答案】⑴}t=0;⑵if(d%2I=。)或if(d%2==l) 【考点分析】 本题考查:指针型变量作为函数参数;if语句条件表达式,结合奇偶数的表示方法来确定该表达式内容。 【解题思路】 (1)由函数定义可知,变量t是指针变量,所以对t进行赋初值。是不对的。因为t指向的是存放新数的变量,所以 此处应给新数赋初值0,即。t=0<) ⑵变量d表示数S各个位上的数,此处的if条件应为判断d是否为奇数。
计算机二级上机考试程序修改题应试技巧
计算机二级上机考试程序修改题常见应试技巧
计算机二级上机考试,题库每年都有,如果你的记忆力足够好,再加上那么一点
点运气的话,把每年的100题目全部都背下来,还是可以顺利通过上机考试的(或者
说是应付…)。但是,一百套题,背着背着就会混淆,所以光背是远远不够的,所以,本人在这里把最容易拿分的程序修改题的应试技巧总结下来,分享给大家。
上机之后,针对程序修改题,首先单击F7,进行Build操作。步骤如下:
1、单击“F7”
2、出现这个对话框后单击“是”
3、程序最下方会出现这样的显示:MODI1.exe - 1 error(s), 0 warning(s)。当
提示“MODI1.exe - 1 error(s)”中“”error(s)不为零时,即为程序有
错误,无法执行。在这个框中我们向上看出现错误的信息。
4、在程序修改题中,题目中所有的错误都出现在
“/************found************/”的下方,换句话说,就是
有几个“/************found************/“,其下方就有几处
错误。
5、各种错误信息的出现形式、修改方法参见下表:
上面介绍的是C语言上机考试程序修改题目中最常见的错误类型,总结出来供大家参考,希望对大家有所帮助,谢谢!
国家计算机C语言二级考试改错题库
1 下列给定程序中,函数fun 的功能是:计算S=f(-n)+f(-n+1)+…+f(0)+f(1)+f(2)+…f(n)的值。
例如,当n 为5时,函数值应为10.407143。f(x)函数定义如下:
f(x)=
(1)(2)00
02(1)(2)0
x x x x x x x x ⎧+/->⎪==⎨⎪-/-<⎩
或
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main 函数,不得增行或删行,也不得更改程序的结构。 试题程序:
#include <stdlib.h> #include <conio.h> #include <stdio.h> #include <math.h>
/*************found**************/ f(double x)
2 下列给定程序中,fun 函数的功能是:根据形参m,计算下列公式的值:
t=1+1/2+1/3+1/4+…+1/m
例如,若输入5,则应输出2.283333。
3 下列给定程序中,函数fun 的功能是:分别统计字符串中大写字母和小写字母的个数。例如,给字符串s 输入:AaaaBBb123CCccccd,则应输出结果:upper=5,lower=9。
4 下列给定程序中函数fun 的功能是:计算正整数num 各位上的数字之积。例如,若输入252,则输出应该是20。若输入202,则输出应该是0。
5 下列给定程序中函数fun 的功能是:计算n!。例如,给n 输入5,则输出120.000000。
计算机二级考试C语言答题注意事项
计算机二级考试C语言答题注意事项
基本原则是计划好做题的时间,不要急燥,保持稳定的答题速度,应将熟悉的、会做的、容易的先做。
选择题和操作题在进行的过程中,都一定要看清题目,审好题,弄清题目要考核的知识点,能够迅速回忆相关的知识,综合运用平时上课老师所教授的做题的方法和技巧,进行答题。
10分
例如:以下C语言用户标识符中,不合法的是
A)_1B)AaBc C)a_b D)a—b
这个题目是考核的是标识符的命名规则的问题,我们知道C中合法的标识符必须以字母、下划线开头,由字母、数字、下划线组成,据此应该选择D。
再如:有以下程序
#include
main()
{int a=1,b=0;
if(!a) b++;
else if(a==0)if(a)b+=2;
else b+=3;
printf(”%d\n”,b);
}
程序运行后的输出结果是
A)0B)1C)2D)3
这个题目考核选择结构的控制流程。题目采用的是else~if结构,实际上是if的嵌套。不管怎样,始终牢记这种嵌套的if语句的执行流程:从上向下逐一对if后的表达式进行检测。当某一个表达式的值为非0时,就执行与此有关子句中的语句,其余部分不执行,直接越过去。如果所有表达式的值都为0,则执行最后的else子句。
当执行以上程序时,首先定义a、b并赋初值1、0,然后进入if语句。当从上向下逐一检测时,!a 的值为0,则越过b++,进入else 后的if语句,检测到a= =0的值为0,则越过
if(a)b+=2;语句,因为前面所有if子句中的表达式的值都为0,因此执行最后else子句中的语句b+=3,求出b为3,然后退出if结构,接着输出b的值,所以选择D。
计算机二级C语言操作题高频考卷(四)
一、程序填空题
1 [填空题]
函数fun的功熊是:输出a所指数组中的前a个数据,要求每行输出5个数。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!
试题程序:
参考解析:
【参考答案】
【解题思路】
填空1:每行输出5个数,即当下标值能整除5时换行。
填空2:输出换行符'\n'。
填空3:输出数组元素。
二、程序修改题
2 [简答题]
下列给定程序中,函数fun的功能是:将s所指字符串中最后一次出现的与t1所指字符串相同的子串替换成t2所指字符串,所形成的新串放在W所指的数组中。要求t1和t2所指字符串的长度相同。
例如,当s所指字符串中的内容为“abcdabfabc”,t1所指串中的内容为“ab”,t2所指子串中的内容为“99”时,结果在W所指的数组中的内容应为“abcdabf99c”。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
参考解析:
【参考答案】
【解题思路】
(1)此处要判断的是值的真假,而不是地址,所以改为while( * w)。
(2)c语言中关键字区分大小写,只需运行程序,就可以根据错误提示找到。
三. 程序设计题
3 [简答题]
请编写函数fun,其功能是:判断t所指字符串中的字母是否由连续递增字母序列组成(字符串长度大于等于2)。例如字符串:uvwxyz满足要求;而字符串:uvxwyz不满足要求。
注意:部分源程序存放在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun指定的部位填入所编写的若干语句。
二级C语言考试题型分析
函数: 定义、调用
宏: 带参数的宏、嵌套宏 结构体、共用体、枚举 C++
☞主要考点分析
3、读程序回答问题(每问3分,共45分)
主要考点:(注意知识的综合运用) 程序设计基本结构:复杂分支、循环及混合处 理 数组:一维数组、二维数组、字符数组(重点) 指针:变量的指针、数组的指针(重点)
☞主要考点分析
ቤተ መጻሕፍቲ ባይዱ
上机考试的题型与解题方法
一、程序调试题(40分)
1、解题步骤 (1) 调出源程序(注意文件名) (2) 编译查找语法错误 (3) 仔细分析程序查找设计错误 (4) 保存运行 2、注意 (1)保存改错题无需设置路径和文件名,直接以原名保 存原位置(按F2即可) (2)程序一般为5处错误,改对一处即得8分 (3)时间一般控制在20分钟以内完成
最大公约数、最小公倍数
分解整数各位数字 数字字符串和整数的相互转换
英文大小写字母的相互转换
图形的处理
☞主要考点分析
4、程序填空(每空2分,30分)(多练习往届考题) 常见填空位置: 函数的实参 函数调用语句 循环或分支语句的条件 变量定义或赋初值 数据的输入、输出 文件的打开、读写(一般在最后一题) 其他操作语句 常见算法: 插入算法 链表处理(建立、输出) 进制的转换 成绩处理 字符串处理
计算机等级考试二级C语言上机改错题考点汇总
计算机等级考试二级C语言上机改错题考点汇总
改错题的错误主要分为以下几类:
1、if或while语句
若错误行是if或者while语句,则要注意以下点:
1)首先判断是否正确书写if或while关键字;
2)然后看有没有用小括号把while或者if后面的条件表达式括起来,若没有则加上小括号;
3)若条件表达式中有指针变量而且没有指针运算符时,则加上指针运算符; int *p;
* 指针运算符
4)若if条件表达式中只有一个等于号即数学等号(=),则要改写成两个等于号即逻辑等号(= =);
5)若if条件表达式为其他的比较运算符,则一般是进行逆转或加一个等于号;
2、for语句
若错误行是for语句,则要注意以下几点:
1)首先判断for有没有书写正确;
2)然后看for中的表达式是不是用分号(;)隔开,不是则改为分号。
记住是分号(;),不是逗号(,)!
3) 再者,分析for中的三个表达式,是否符合题意;
第一个表达式表示起始条件,
第二个表达式表示终止条件,
第三个表达式表示循环变量的变化。
3、return语句
若错误为return语句,则要注意以下几点:
1)首先看是不是正确书写return关键字;
2)然后看是不是缺少分号,若是则加上分号即可;
3)再者判断return后的变量或表达式是否正确;
4)函数开头的返回值类型与return 返回类型一致,这种错误需要根据题意来分析,分析返回变量或表达式的值和类型。
4、赋值语句
若错误行是赋值语句,则要看赋值是否正确,然后看赋值运算符是否写正确。
5、定义语句
若错误行是定义语句,则要注意:
计算机二级c语言编程题答题技巧
计算机二级C语言上机编程题技巧
这里的特殊方法的特殊之处在于只能用于编程题,且看不懂程序也能得分,甚至得满分,嘿嘿,不错吧!下面就进入正题,详细介绍这种方法。
首先我们要对这种方法的原理有一个清晰的认识,这样才能举一反三,事半功倍。下面通过一个例子来详细介绍这种方法。首先大家看一下上机环境的界面,如下图
大家注意这里,这是考生文件夹的路径,我们接下来的工作就是围绕这个文件夹展开的。开始考试,由系统为我
们抽好题目后,单击,仔细阅读题目,明确题目要我们做什么后,点击窗口左上方的,在下拉菜单中选择程序编写题,这时会打开VC6.0的程序界面,一大段繁杂的程序很无奈吧,别急,下面开始干活了。首先点击
中的图标编译程序,此时图标就被激活了,点击此图标运行程序(至于为什么要这么做,下面你就会知道的),出现如下图所示的窗口
,大家可以看到,程序要求你输入m的值,随便输入一串字符后回车,然后会有
文字出现,随便按个键后这个窗口会关闭,以上步骤是做每道编程题前都必须做的,请大家谨记!
准备工作做好后,我们接下来进入考生文件夹,会看到和两个文件,我们就要对它们做手脚。首先用记事本打开in文件,如图所示
,大家看第一行文字:3 ABCDEFGHIJK,一开始看不懂这是啥意思,那么看看题目的要求吧:
,看出点啥没有?没错,文字中的
"3"代表的是m的值,即把第一到第三个字符“ABC”平移到字符串的最后,看例子也知道,"3"后面的字符串就是我们所要处理的对象。然后打开out文件,如图所示
,看到第一行的字符串,它就是对应in文件中的第一行的内容,根据题目要求,把out文件中的第一行文字改为“DEFGHIJKABC",下面的每一行都是对应in文件中的每一行的,如上所示完全修改完毕后,保存并关闭记事本。(特别注意,完成修改后千万不要再运行程序了,否则我们所做的工作就都泡汤了!!!)
二级C语言考试心得经验细节与技巧
二级C语言考试心得、经验、细节与技巧
考核标准:0——59分不合格,60——89 合格,90——100 优秀
一、针对考试的题型部分:
1、选择题(必须>=24分)选择题分为两个部分。计算机公共基础部分(10分)+c语言部分(30分)。对于计算机公共基础这部分覆盖范围比较广,要求的知识也比较全面,没有什么典型的题目,复习没有诀窍,只能靠时间的积累。大家在做这一部分的题目时,大家可以把你在做题的过程中碰到的知识点收集整理起来,尽量记住它们。C语言选择题方面我认为首先要弄清楚基本概念,切勿囫囵吞枣。很多同学在原来复习看书过程中,看书很急,给自己规定每天看几页,我认为并不可取。包括我去年在复习备考时也是这样的。现在在我看来,对于相对简单的地方,如C语言背景、优点及操作流程等一些概念性的东西,熟读后记下即可,以后在学习中自然会慢慢领会。而对一些特殊的规则、语法等知识点则要重视,比如任何C语言的语句必须在末尾加上分号、指针概念的引入、函数的调用等,这些概念对于考生来说是很容易忽略或极易出错的,更是容易出题的地方,多花些时间在这方面是比较值得的。所以在看书、做题、备考过程中也要有针对性,像我当初就是,着重复习函数、数组和指针,以及后面的结构体struct,共用体union,和文件file的一部分。这几大块内容无论在选择题,还是在后面我将要提到的操作题中都是重中之重。我平时喜欢去那些可以在线测试的网站,像上学吧,考试吧,233网校之类的网站上,熟悉一些考试环境和出题规律,特别是可以有针对性的在线复习一些知识点,和自己以前没有搞懂的一些疑难点。另外还要很好的掌握条件语句与循环语句,因为大部分的考题中也都含有这两类语句。关于这部分最后要说的,就是细节方面的问题了,在考试的时候一定要一步一个脚印,认证细致地做题。
计算机等级二级C语言上机考试改错题分析总结
计算机等级二级C语言上机考试改错题分析总结
1、若错误行是函数首部,可分为以下几种情况:
A、该行最后若有分号则删除,中间若有分号则改成逗号
B、形参类型不一致的问题,特别是指针类型,若后面用到某形参时有指针运算则该形参必为指针类型;若形参是二维数组或指向m个元素的指针变量,则第二维的长度必须与main中对应数组的第二维长度相同
C、函数类型不一致的问题,若函数中没有return语句则函数类型为void,若有return语句则函数的类型必须与return后变量的类型一致。
2、若错误行是if或while语句,则首先看有没有用小括号将整个表达式括起,若没有则加上小括号。
3、若错误行中有if、while、for则要特别注意条件表达式的错误问题:
A、指针变量的应用,若表达式中有指针变量且没有指针运算符,则加上指针运算符
B、若条件表达式中只有一个等于号,则改成两个等于号,若为其它比较运算符则一般是进行逆转或加一个等于号
C、for中要用分号分隔表达式,而不是用逗号
4、语法错误
A、语句缺少分号,若错误行中有语句没有用分号结束,则加上分号。
B、大小写不对,若错误行中有大写字母则一般都改成小写字母。
5、指针变量的运用,若错误行中有指针变量,并且该变量名前没有指针运算符则一般都是加上指针运算符
6、若错误行为return语句,则首先看是否是缺少分号若是则加上分号即可;否则就是return后的变量或表达式错误(此时可通过看题意,来分析该返回哪一变量或表达式)
7、若错误行中见到整型1除以某个表达式时,一概改成1.0。但若是整型变量或表达式则只能用强制转换
福建省计算机二级C语言考试解题技巧
福建省计算机二级C语言考试解题技巧
1:分数累加求π:
●设float pi或double pi;且pi=0;
分母设int n=1或float n=1.0
●结构:while或do while(eg:最后一项小于1E-6即fabs(t)>=1E-6)
(用到fabs时,记得文件包含)
●如果+-交替,要设sign=1;然后sign=-sign;
Do while中若设t(序列第一项),则:pi=pi+t;t=sign/n;
●最后一项确定,即不需要设t,s的,要记得while(i<=n)且不要忘记{}里要写
i++;
最后printf输出pi时记得pi不是=%d,而是pi=%Nf(N自己取值,如=%10.6f 或=%1f等)
●Eg:4.19n需键入;
Eg:4.22n不需键入;(见P94)
2.阶乘/累成乘
●初值p=1公式:p=p*i;i++;(见P90eg4.20)
●如果,是1/2!1/3!则:p=p/i;i++;
如果,是2!3!.则:p=p*i;i++;(牛顿迭代法)
3.累加
●初值s=0公式:s=s+i;
4.统计个数
●设变量char c(c表示输入的字符)
Int n(n表示统计的个数)且n=0;
●关键:for(n=0;c=getchar()!=’\n’;n++)
●注意:\n是字符,不要忘记加’’单引号;
用\n计算个数,一个回车记一次;
●最后,输出(“%d”,n);(见P100)
5.素数
●素数:只能被1和它本身整除的数。设这个数为:p
即p只能是p%1==0&&p%p==0;
●定义变量:int p
计算机等级考试二级C语言过关技巧经验分享
计算机等级考试二级C语言过关技巧经验分享计算机等级考试二级C语言过关技巧经验分享
一、最好的模拟试题是历年笔试题。
不要以为模拟试题做得越多就越好,大部分是由历年试题混编而成(或者全搬),而且模拟试题有的偏难,大大超出范围的都有,做
这些只会给自己造成心理和生理上的负担,导致对程序的兴趣大减。老实说我只做了一套模拟试题(好象还是某一年的试题),不照样过
来了?而且历年试题最好是有讲解的,不然做了等于白做。
二、参考书要精辟。
很多朋友都有买(借)参考书的习惯,我也是。我通过图书馆看了很多参考书。不能说看完了,只能说浏览。发现有的参考书对试题
的讲解比教材还罗嗦,不得不承认讲解详细对我们有好处,可是这
样有必要吗?这种书还叫参考书吗?干脆叫“教材参考综合书”算了!
还有,有的参考书为了显示自己的“份量”,加大题目的难度,或
者附很多习题但没有对答案的讲解,这样做只能使我们一头雾水,
还不如不要这些书。
依我看,一本比较权威出版社出版的针对等考的参考书就足够了。
三、要孤注一掷。
四、上机练习可由做纸上的上机题代替。
我认为,除了DOS命令有上机练习的`必要外,对像TC2.0这样
的编译环境只要会RUN会SAVE就可以了,因为像C语言这样的上机
考试主要是为了考思维,在上机的一个小时里只要给想到算法,谁
都可以顺利过关,打几行E文不会要很长时间吧?
目前被多数朋友看好的是南开大学出版社出版的上机习题集(教
育部考试中心编著)。
五、不懂就问。
不懂了就要问,有老师最好;没有老师嘛,来考网论坛吧,这里
高手如云,你我的问题总会得到解答的。千万别闷着不问,也不要
计算机二级考试《C语言》上机答题技巧
计算机二级考试《C语言》上机答
题技巧(总5页)
--本页仅作为文档封面,使用时请直接删除即可--
--内页可以根据需求调整合适字体及大小--
计算机二级考试《C语言》上机答题技巧
这是一篇由网络搜集整理的关于计算机二级考试《C语言》上机答题技巧的文档,希望对你能有帮助。
计算机二级考试《C语言》上机答题技巧
一、上机改错题的特点和注意事项
1.上机改错的试题中通常包含两个(或三个)错误需要修改。
2.试题中用"******found******/"来提示在下一行(或下面第二行)有错。
3.错误的性质基本分语法错和逻辑错两种,也有些试题要求把语句添加在下划线处。
4.特别要注意的是:只能在出错的行上进行修改,不要改动程序行的顺序,更不要自己另编程序。
二、上机改错测试时,建议按以下步骤进行
1.首先仔细审题,了解试题的要求,看清楚试题给出的输入和输出例示,以便检验改错后程序运行的结果是否正确。
2.当在Visual C++环境下调出源程序后,审视所在函数,根据题义理解程序所采用的基本算法,做到心里有数。
3.先按CTRL+F7对测试程序进行检查是否有语法错误。当编译提示有语法错时,可参考编译提示来查找并改正错误。
4.当不再出现语法错时,使用F7执行,看结果使用CTRL+F5,按照试题的示例给出的数据进行试算,若试算的结果与给出的输出结果相同时,该题就
做对了;若试算的结果与给出的输出结果不同,就应进一步检查程序中的逻辑错误。
5.当程序存在逻辑错误时,首先应当理解题意、读懂程序的算法,必要时可按步检查数据的流程,以便确定错误所在。例如,题目要求数据按由小到大排序,而结果数据是按由大到小进行了排序,问题可能出现在条件判断上。又如,输出的字符串比预期的短,就有可能字符串的结束标志放错了位置。再如做循环的时候数组上限下限错误了,基数是从0开始而不是1开始的。修改程序中的逻辑错时,要求考生认真读懂程序代码。
2021年计算机二级C语言考前必做试题及答案6
2021年计算机二级C语言考前必做试题及答案
6
二、程序填空题(共18分)
下列给定程序中,函数fun的功能是:从形参ss所指字符串数组中,删除所有串长超过k的字符串,函数返回剩余字符串的个数。ss所指字符串数组中共有N个字符串,且串长小于M。请在程序的下划线处填人正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!
三、程序修改题(共18分)
下列给定程序中函数fun的功能是:逐个比较p,q所指两个字符串对应位置上的字符,并把ASCII值大或相等的字符依次存放到c所指的数组中,形成一个新的字符串。例如,若主函数中a字符串为“aBCDeFgH”,b字符串为“Abcd”,则c中的字符串应为“aBcdeFgH”。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!
四、程序设计题(共24分)
规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:除了字符串前导的*号之外,将串中其他*号全部删除。在编写函数时,不得使用C语言提供的字符串函数。例如,字符串中的内容为:“****A*BC*DEF*G*******”,删除后,字符串中的内容应当是:“****ABCDEFG”。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填人你编写的若干语句。
二、程序填空题
(1)N
(2)k
(3)ss[i]
【考点分析】
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机二级C语言程序修改题解题思路
12通信3班盛伟上次计算机二级缺几分及格,所以只能参加今年3月份的二级考试了。我认认真真的做了50套程序改错题,这里我总结了一些对于此题解题的经验与想法,过级的略过,没过级的大家不妨看看,希望对大家有用哦!
首先大家有没有注意到每套程序改错题中到底哪里错了,在哪里改,这是个关键,也是我们需要思考的驻点。我可是真的发现了规律,当然这个规律我去年9月份备考二级的时候就已经发现了。请看下面。(每套题都是这样)
例如:/***************found***************/
d=d\10;(这就是错误的所在处,改错就在此处改)改为d=d/10;
在这里我们将/***************found***************/称为错误栏,那么每道题的错误处就在这个错误栏的下面,改正就好了。当然到底怎么改,改的过程我们需要注意什么问题,我想这是我们大家都很关心的问题,那就由我为大家说说解题思路吧。
我觉得第一步大家还是得锁定错误所在处,接着就应该看是否出现那些不易发现的“低级错误”,其实往往就是这些错误却很容易被我们忽略。这点我为大家总结了一些,供大家复习所用。我以例子的形式给大家展现出来:(1)符号错误:1.if(t==0)被写成if(t=0) 2.d=d/10;被写成d=d\10;(2)大小写混乱:3.if(*a)被写成If(*a) 4. s=s+(double)a/b;被写成s=s+(Double)a/b; 5.前文定义了int y,而下文却写成了Y=1;(3)漏加标点符号:6.printf(“%c” *a);错误在于没有加上逗号,应该改为printf(“%c”,*a);
7.for语句中有两个分号,但是题目往往会写成两个逗号,这是大家需要注意的地方。8.漏加分号如:result *=n-- 错误就在于末尾没有加上分号,应该改为result *=n--;9.多加分号如在if语句后面加上分号也是错误的。在此也提醒大家if语句一定要在if的后面加上括号,在括号里面写上内容也就是合法的表达式。(PS:大家发现了没有,这些小问题小细节如果我们不仔细观察,真的很难发现其中的“奥秘”哦,所以我给大家提炼整理了出来,大家一起共勉,补缺补差)
接着来谈谈for语句,说说for语句括号中的“猫腻”。例如for(i=2;i 我们得注意这样一个问题,那就是返回值。我们得看清题目中需要我们返回什么值,例如新思路题库书中的第1套中要求返回π值,而错误栏下却写成了return(s),很明显的一个错误。对于形参函数中变量定义的类型以及函数返回值的类型,需要我们回归到主函数main函数中,在main函数中找到变量的类型,从而确定形参函数中变量的定义类型。例如新思路题库书中的第25套中错误栏下为void fun(char *s,int a,int b),而主函数中却为fun(s,&upper,&lower),可知形参函数中的a,b在主函数中实质上是指地址,故改为void fun(char *s,int *a,int *b)。而对于函数返回值的类型,我们需要通过对形参函数中的 返回值类型进行判断,从而确定函数返回值的类型,比如没有返回值return,则函数返回值的类型为void。说到变量,我们不妨研究一下变量的常见错误。引用变量错误,很容易被我们忽略。意思是前面定义了一个变量,然而后面却引用了此变量的不同类型。例如新思路题库书中的第20套中定义了long *t,而在错误栏下却引用了t=0;很明显的错误吧,改为*t=0;同样这样的问题也可以反过来出题,即通过下文发现某一个变量的“广泛”引用,也可以推测出一开始定义此变量的类型出现了问题。例如新思路题库书中的第7套中下文的*t多次使用,而定义变量中却为long t,故将错误处改为long *t。 特别提醒大家一个知识点就是字符串。例如新思路题库书中的第17套中有for(i=strlen(t);i;i--)。题意是将字符串中的字符按ASCII码排序,应排除尾符号,而字符串中的长度包括尾符,故考虑去除尾符号,改为for(i=strlen(t)-1;i;i--)。又如新思路题库书中的第36套中题意是对字符位置加1,而错误栏下却为(*s)++(此意思是指对字符内容加1),不符合题意,故改为s++;类似的还有新思路题库书中的第40套卷。 希望对大家程序修改题能有所帮助,祝大家二级考试顺利!