计算机二级C语言程序修改题解题思路

合集下载

全国计算机等级考试二级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语言上机操作题及答案

计算机二级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语言练习题及答案

计算机二级考试C语言练习题及答案
While(n) Il=n%10∣ ∕∙∙∙∙∙∙∙∙∙∙f∩und••••♦•••••/ ιf(t%2三=(Jj) /•••••••♦••found••♦•♦•••••/
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语言二级考试改错题库

国家计算机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语言答题注意事项

计算机二级考试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语言操作题高频考卷(四)

计算机二级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语言考试题型分析




函数: 定义、调用
宏: 带参数的宏、嵌套宏 结构体、共用体、枚举 C++
☞主要考点分析
3、读程序回答问题(每问3分,共45分)
主要考点:(注意知识的综合运用) 程序设计基本结构:复杂分支、循环及混合处 理 数组:一维数组、二维数组、字符数组(重点) 指针:变量的指针、数组的指针(重点)
☞主要考点分析
ቤተ መጻሕፍቲ ባይዱ
上机考试的题型与解题方法
一、程序调试题(40分)
1、解题步骤 (1) 调出源程序(注意文件名) (2) 编译查找语法错误 (3) 仔细分析程序查找设计错误 (4) 保存运行 2、注意 (1)保存改错题无需设置路径和文件名,直接以原名保 存原位置(按F2即可) (2)程序一般为5处错误,改对一处即得8分 (3)时间一般控制在20分钟以内完成
最大公约数、最小公倍数
分解整数各位数字 数字字符串和整数的相互转换
英文大小写字母的相互转换
图形的处理
☞主要考点分析
4、程序填空(每空2分,30分)(多练习往届考题) 常见填空位置: 函数的实参 函数调用语句 循环或分支语句的条件 变量定义或赋初值 数据的输入、输出 文件的打开、读写(一般在最后一题) 其他操作语句 常见算法: 插入算法 链表处理(建立、输出) 进制的转换 成绩处理 字符串处理

计算机等级考试二级C语言上机改错题考点汇总

计算机等级考试二级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语言编程题答题技巧

计算机二级C语言上机编程题技巧

这里的特殊方法的特殊之处在于只能用于编程题,且看不懂程序也能得分,甚至得满分,嘿嘿,不错吧!下面就进入正题,详细介绍这种方法。

首先我们要对这种方法的原理有一个清晰的认识,这样才能举一反三,事半功倍。下面通过一个例子来详细介绍这种方法。首先大家看一下上机环境的界面,如下图

大家注意这里,这是考生文件夹的路径,我们接下来的工作就是围绕这个文件夹展开的。开始考试,由系统为我

们抽好题目后,单击,仔细阅读题目,明确题目要我们做什么后,点击窗口左上方的,在下拉菜单中选择程序编写题,这时会打开VC6.0的程序界面,一大段繁杂的程序很无奈吧,别急,下面开始干活了。首先点击

中的图标编译程序,此时图标就被激活了,点击此图标运行程序(至于为什么要这么做,下面你就会知道的),出现如下图所示的窗口

,大家可以看到,程序要求你输入m的值,随便输入一串字符后回车,然后会有

文字出现,随便按个键后这个窗口会关闭,以上步骤是做每道编程题前都必须做的,请大家谨记!

准备工作做好后,我们接下来进入考生文件夹,会看到和两个文件,我们就要对它们做手脚。首先用记事本打开in文件,如图所示

,大家看第一行文字:3 ABCDEFGHIJK,一开始看不懂这是啥意思,那么看看题目的要求吧:

,看出点啥没有?没错,文字中的

"3"代表的是m的值,即把第一到第三个字符“ABC”平移到字符串的最后,看例子也知道,"3"后面的字符串就是我们所要处理的对象。然后打开out文件,如图所示

,看到第一行的字符串,它就是对应in文件中的第一行的内容,根据题目要求,把out文件中的第一行文字改为“DEFGHIJKABC",下面的每一行都是对应in文件中的每一行的,如上所示完全修改完毕后,保存并关闭记事本。(特别注意,完成修改后千万不要再运行程序了,否则我们所做的工作就都泡汤了!!!)

二级C语言考试心得经验细节与技巧

二级C语言考试心得经验细节与技巧

二级C语言考试心得、经验、细节与技巧

考核标准:0——59分不合格,60——89 合格,90——100 优秀

一、针对考试的题型部分:

1、选择题(必须>=24分)选择题分为两个部分。计算机公共基础部分(10分)+c语言部分(30分)。对于计算机公共基础这部分覆盖范围比较广,要求的知识也比较全面,没有什么典型的题目,复习没有诀窍,只能靠时间的积累。大家在做这一部分的题目时,大家可以把你在做题的过程中碰到的知识点收集整理起来,尽量记住它们。C语言选择题方面我认为首先要弄清楚基本概念,切勿囫囵吞枣。很多同学在原来复习看书过程中,看书很急,给自己规定每天看几页,我认为并不可取。包括我去年在复习备考时也是这样的。现在在我看来,对于相对简单的地方,如C语言背景、优点及操作流程等一些概念性的东西,熟读后记下即可,以后在学习中自然会慢慢领会。而对一些特殊的规则、语法等知识点则要重视,比如任何C语言的语句必须在末尾加上分号、指针概念的引入、函数的调用等,这些概念对于考生来说是很容易忽略或极易出错的,更是容易出题的地方,多花些时间在这方面是比较值得的。所以在看书、做题、备考过程中也要有针对性,像我当初就是,着重复习函数、数组和指针,以及后面的结构体struct,共用体union,和文件file的一部分。这几大块内容无论在选择题,还是在后面我将要提到的操作题中都是重中之重。我平时喜欢去那些可以在线测试的网站,像上学吧,考试吧,233网校之类的网站上,熟悉一些考试环境和出题规律,特别是可以有针对性的在线复习一些知识点,和自己以前没有搞懂的一些疑难点。另外还要很好的掌握条件语句与循环语句,因为大部分的考题中也都含有这两类语句。关于这部分最后要说的,就是细节方面的问题了,在考试的时候一定要一步一个脚印,认证细致地做题。

计算机等级二级C语言上机考试改错题分析总结

计算机等级二级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语言考试解题技巧

福建省计算机二级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语言过关技巧经验分享计算机等级考试二级C语言过关技巧经验分享

一、最好的模拟试题是历年笔试题。

不要以为模拟试题做得越多就越好,大部分是由历年试题混编而成(或者全搬),而且模拟试题有的偏难,大大超出范围的都有,做

这些只会给自己造成心理和生理上的负担,导致对程序的兴趣大减。老实说我只做了一套模拟试题(好象还是某一年的试题),不照样过

来了?而且历年试题最好是有讲解的,不然做了等于白做。

二、参考书要精辟。

很多朋友都有买(借)参考书的习惯,我也是。我通过图书馆看了很多参考书。不能说看完了,只能说浏览。发现有的参考书对试题

的讲解比教材还罗嗦,不得不承认讲解详细对我们有好处,可是这

样有必要吗?这种书还叫参考书吗?干脆叫“教材参考综合书”算了!

还有,有的参考书为了显示自己的“份量”,加大题目的难度,或

者附很多习题但没有对答案的讲解,这样做只能使我们一头雾水,

还不如不要这些书。

依我看,一本比较权威出版社出版的针对等考的参考书就足够了。

三、要孤注一掷。

四、上机练习可由做纸上的上机题代替。

我认为,除了DOS命令有上机练习的`必要外,对像TC2.0这样

的编译环境只要会RUN会SAVE就可以了,因为像C语言这样的上机

考试主要是为了考思维,在上机的一个小时里只要给想到算法,谁

都可以顺利过关,打几行E文不会要很长时间吧?

目前被多数朋友看好的是南开大学出版社出版的上机习题集(教

育部考试中心编著)。

五、不懂就问。

不懂了就要问,有老师最好;没有老师嘛,来考网论坛吧,这里

高手如云,你我的问题总会得到解答的。千万别闷着不问,也不要

计算机二级考试《C语言》上机答题技巧

计算机二级考试《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

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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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;ij),通过题目的分析可以得知应该改为while(ij,那么修改就必然是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套卷。

希望对大家程序修改题能有所帮助,祝大家二级考试顺利!

相关文档
最新文档