当前位置:文档之家› 二级C语言上机考试改错题总结

二级C语言上机考试改错题总结

二级C语言上机考试改错题总结
二级C语言上机考试改错题总结

二级C语言上机考试改错题总结

根据本人多年研究全国计算机等级考试二级C语言,发现很多考生对上机考试存在很大的问题。现将本人在教学当中对二级C语言上机考试题库总结的经验和大家分享,希望能对我们考生的考试有所帮助,顺利通过考试!以下是对上机考试改错题的做题方法和总结,改错题的错误主要分为以下几类:

1、if或while语句

若错误行是if或者while语句,则要注意以下点:

1)首先判断是否正确书写if或while关键字;

2)然后看有没有用小括号把整个表达式括起来,若没有则加上小括号;

3)若条件表达式中有指针变量而且没有指针运算符时,则加上指针运算符;

4)若if条件表达式中只有一个等于号即数学等号(=),则要改写成两个等于号即逻辑等号(= =);

5)若if条件表达式为其他的比较运算符,则一般是进行逆转或加一个等于号;

2、for语句

若错误行是for语句,则要注意以下几点:

1)首先判断for有没有书写正确;

2)然后看for中的表达式是不是用分号(;)隔开,若不是则改为分号。

记住是分号(;),不是逗号(,)!

3)再者,分析for中的三个表达式,是否符合题意;第一个表达式表示起始条件,第二个表达式表示终止条件,第三个表达式表示循环变量的变化。

3、return语句

若错误行为return语句,则要注意以下几点:

1)首先看是不是正确书写return关键字;

2)然后看是不是缺少分号,若是则加上分号即可;

3)再者判断return后的变量或表达式是否正确;

这种错误需要根据题意来分析,分析返回变量或表达式的值和类型。若错误行中有指针变量,并且该变量名之前没有指针运算符,则一般都是加上指针运算符;

4、赋值语句

若错误行是赋值语句,则要看赋值是否正确,然后看赋值运算符是否写正确。

5、定义语句

若错误行是定义语句,则要注意:

1)首先分析变量类型名是否写对;

2)然后分析给变量赋初值是否正确;

3)若以上均不是,则看是不是少定义了某个变量或少了花括号;

6、表达式错误问题:

若错误行中有整数1除以某个表达式或变量时,必须把整数1改为1.0;若变量或表达式是整型时,则只能进行强制类型转换。

7、字符串类问题

若错误行中有字符串结束符,则特别要要注意结束符有没有写错。但是要区分清楚字符‘o’和数字’0’。

8、函数首部类问题:

若错误行是函数首部,则要注意:

1)首先看该行最后有没有分号,若有则删掉分号;若中间有分号则要改为逗号;

2)形参和实参类型不一致问题

①若实参是个地址或数组名或指针变量名,则对应的形参肯定是指针或数组;

②若实参是二维数组名,则对应的形参应该是指针数组或是二维数组;

③若后面用到某形参的时候有指针运算符,则该形参比为指针类型;

④若形参是二维数组或指向M个元素的指针变量,则该二维的长度必须与main中对于数组的第二维的长度相同。

3)函数类型不一致问题

①若函数中没有return语句,则函数类型为void;

②若函数中有return语句,则函数的类型必须与rerun后的变量类型一致;

记住,调用函数的类型与main的该函数的类型一致!

9.语法错误问题:

1)语句缺少分号。若错误号中语句没有以分号结束则加上分号;

2)变量名不一致。C语言是区分大小写的,若错误行中有大写字母一般都改为小写字母;

10.逻辑错误问题:

这种题型主要是表达式错误,占的题量比较多而且我们没有统一的做题方法,需要我们具体问题具体分析。

11.书写错误问题:

特别注意我们的注释部分,注释是以/*开始,以*/结尾,不能有多余的,有也只能在/*和*/里面。注意,比如“/***注释部分*****/*/”是错误的!

二级公共基础知识总结

第一章数据结构与算法

1.1算法

算法:是指解题方案的准确而完整的描述。

算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。

算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。特征包括:(1)可行性;

(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;

(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;

(4)拥有足够的情报。

算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。

指令系统:一个计算机系统能执行的所有指令的集合。

基本运算包括:算术运算、逻辑运算、关系运算、数据传输。

算法的控制结构:顺序结构、选择结构、循环结构。

算法基本设计方法:列举法、归纳法、递推、递归、减半递推技术。算法复杂度:算法时间复杂度和算法空间复杂度。

算法时间复杂度是指执行算法所需要的计算工作量,是对算法时间效率的度量。

算法空间复杂度是指执行这个算法所需要的内存空间。

1.2数据结构的基本基本概念

数据结构研究的三个方面:

(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;

(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;

(3)对各种数据结构进行的运算。

数据结构是指相互有关联的数据元素的集合。

数据的逻辑结构包含:

(1)表示数据元素的信息;

(2)表示各数据元素之间的前后件关系。

数据的存储结构有顺序、链接、索引等。

线性结构条件:

(1)有且只有一个根结点;

(2)每一个结点最多有一个前件,也最多有一个后件。

非线性结构:不满足线性结构条件的数据结构。

1.3线性表及其顺序存储结构

线性表是由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。

在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。

非空线性表的结构特征:

(1)且只有一个根结点a1,它无前件;

(2)有且只有一个终端结点an,它无后件;

(3)除根结点与终端结点外,其他所有结点有且只有一个前件,也有且只有一个后件。结点个数n称为线性表的长度,当n=0时,称为空表。

线性表的顺序存储结构具有以下两个基本特点:

(1)线性表中所有元素的所占的存储空间是连续的;

(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。ai的存储地址为:ADR(ai)=ADR(a1)+(i-1)k,,ADR(a1)为第一个元素的地址,k代表每个元素占的字节数。

顺序表的运算:插入、删除。(详见14--16页)

1.4栈和队列

栈是限定在一端进行插入与删除的线性表,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。

栈按照“先进后出”(FILO)或“后进先出”(LIFO)组织数据,栈具有记忆作用。用top表示栈顶位置,用bottom表示栈底。

栈的基本运算:(1)插入元素称为入栈运算;(2)删除元素称为退栈运算;(3)读栈顶元素是将栈顶元素赋给一个指定的变量,此时指针无变化。

队列是指允许在一端(队尾)进入插入,而在另一端(队头)进行删除的线性表。Rear指针指向队尾,front指针指向队头。

队列是“先进先出”(FIFO)或“后进后出”(LILO)的线性表。

队列运算包括(1)入队运算:从队尾插入一个元素;(2)退队运算:从队头删除一个元素。

循环队列:s=0表示队列空,s=1且front=rear表示队列满1.5线性链表

数据结构中的每一个结点对应于一个存储单元,这种存储单元称为存储结点,简称结点。

结点由两部分组成:(1)用于存储数据元素值,称为数据域;(2)用于存放指针,称为指针域,用于指向前一个或后一个结点。

在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。

链式存储方式即可用于表示线性结构,也可用于表示非线性结构。线性链表,HEAD称为头指针,HEAD=NULL(或0)称为空表,如果是两指针:左指针(Llink)指向前件结点,右指针(Rlink)指向后件结点。

线性链表的基本运算:查找、插入、删除。

1.6树与二叉树

树是一种简单的非线性结构,所有元素之间具有明显的层次特性。在树结构中,每一个结点只有一个前件,称为父结点,没有前件的结点只有一个,称为树的根结点,简称树的根。每一个结点可以有多个后件,称为该结点的子结点。没有后件的结点称为叶子结点。

在树结构中,一个结点所拥有的后件的个数称为该结点的度,所有结点中最大的度称为树的度。树的最大层次称为树的深度。

二叉树的特点:(1)非空二叉树只有一个根结点;(2)每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树。

二叉树的基本性质:

(1)在二叉树的第k层上,最多有2k-1(k≥1)个结点;

(2)深度为m的二叉树最多有2m-1个结点;

(3)度为0的结点(即叶子结点)总是比度为2的结点多一个;(4)具有n个结点的二叉树,其深度至少为[log2n]+1,其中[log2n]表示取log2n的整数部分;

(5)具有n个结点的完全二叉树的深度为[log2n]+1;

(6)设完全二叉树共有n个结点。如果从根结点开始,按层序(每一层从左到右)用自然数1,2,….n给结点进行编号(k=1,2….n),有以下结论:

①若k=1,则该结点为根结点,它没有父结点;若k>1,则该结点的父结点编号为INT(k/2);

②若2k≤n,则编号为k的结点的左子结点编号为2k;否则该结点无左子结点(也无右子结点);

③若2k+1≤n,则编号为k的结点的右子结点编号为2k+1;否则该结点无右子结点。

满二叉树是指除最后一层外,每一层上的所有结点有两个子结点,则k层上有2k-1个结点深度为m的满二叉树有2m-1个结点。

完全二叉树是指除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干结点。

二叉树存储结构采用链式存储结构,对于满二叉树与完全二叉树可以按层序进行顺序存储。

二叉树的遍历:

(1)前序遍历(DLR),首先访问根结点,然后遍历左子树,最后遍历右子树;

(2)中序遍历(LDR),首先遍历左子树,然后访问根结点,最后遍历右子树;

(3)后序遍历(LRD)首先遍历左子树,然后访问遍历右子树,最后访问根结点。

1.7查找技术

顺序查找的使用情况:

(1)线性表为无序表;

(2)线性链表采用链式存储结构。

二分法查找只适用于顺序存储的有序表,对于长度为n的有序线性表,最坏情况二分查找只需比较log2n次,而顺序查找需要比较n 次。

1.8排序技术

排序是指将一个无序序列整理成按值非递减顺序排列的有序序列。交换类排序法:(1)冒泡排序法,需要比较的次数为n(n-1)/2;(2)快速排序法。

插入类排序法:(1)简单插入排序法,最坏情况需要n(n-1)/2次比较;(2)希尔排序法,最坏情况需要O(n1.5)次比较。

选择类排序法:(1)简单选择排序法,最坏情况需要n(n-1)/2次比较;(2)堆排序法,最坏情况需要O(nlog2n)次比较。

第二章程序设计基础

2.1程序设计设计方法和风格

如何形成良好的程序设计风格

1、源程序文档化;

2、数据说明的方法;

3、语句的结构;

4、输入和输出。

注释分序言性注释和功能性注释,语句结构清晰第一、效率第二。2.2结构化程序设计

结构化程序设计方法的四条原则是:1.自顶向下;2.逐步求精;3.模块化;4.限制使用goto语句。

结构化程序的基本结构和特点:

(1)顺序结构:一种简单的程序设计,最基本、最常用的结构;(2)选择结构:又称分支结构,包括简单选择和多分支选择结构,可根据条件,判断应该选择哪一条分支来执行相应的语句序列;(3)循环结构:可根据给定条件,判断是否需要重复执行某一相同程序段。

2.3面向对象的程序设计

面向对象的程序设计:以60年代末挪威奥斯陆大学和挪威计算机中

心研制的SIMULA语言为标志。

面向对象方法的优点:

(1)与人类习惯的思维方法一致;

(2)稳定性好;

(3)可重用性好;

(4)易于开发大型软件产品;

(5)可维护性好。

对象是面向对象方法中最基本的概念,可以用来表示客观世界中的任何实体,对象是实体的抽象。

面向对象的程序设计方法中的对象是系统中用来描述客观事物的一个实体,是构成系统的一个基本单位,由一组表示其静态特征的属性和它可执行的一组操作组成。

属性即对象所包含的信息,操作描述了对象执行的功能,操作也称为方法或服务。

对象的基本特点:

(1)标识惟一性;

(2)分类性;

(3)多态性;

(4)封装性;

(5)模块独立性好。

类是指具有共同属性、共同方法的对象的集合。所以类是对象的抽象,对象是对应类的一个实例。

消息是一个实例与另一个实例之间传递的信息。

消息的组成包括(1)接收消息的对象的名称;(2)消息标识符,也称消息名;(3)零个或多个参数。

继承是指能够直接获得已有的性质和特征,而不必重复定义他们。继承分单继承和多重继承。单继承指一个类只允许有一个父类,多重继承指一个类允许有多个父类,并非所有的对象都必须有继承性。多态性是指同样的消息被不同的对象接受时可导致完全不同的行动的现象

第三章软件工程基础

3.1软件工程基本概念

计算机软件是包括程序、数据及相关文档的完整集合。

软件的特点包括:

(1)软件是一种逻辑实体;

(2)软件的生产与硬件不同,它没有明显的制作过程;

(3)软件在运行、使用期间不存在磨损、老化问题;

(4)软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题;

(5)软件复杂性高,成本昂贵;

(6)软件开发涉及诸多的社会因素。

软件按功能分为应用软件、系统软件、支撑软件(或工具软件)。软件危机主要表现在成本、质量、生产率等问题。

软件工程是应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序。

软件工程包括3个要素:方法、工具和过程。

软件工程过程是把软件转化为输出的一组彼此相关的资源和活动,包含4种基本活动:

(1)P(plan)——软件规格说明;

(2)D(do)——软件开发;

(3)C(cheek)——软件确认;

(4)A(action)——软件演进。

软件周期:软件产品从提出、实现、使用维护到停止使用退役的过程。软件生命周期三个阶段:软件定义、软件开发、运行维护,主要活动阶段是:

(1)可行性研究与计划制定;

(2)需求分析;

(3)软件设计;

(4)软件实现;

(5)软件测试;

(6)运行和维护。

软件工程的目标和与原则:

目标:在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品。

基本目标:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发软件易于移植;需要较低的费用;能按时完成开发,及时交付使用。

基本原则:抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。

软件工程的理论和技术性研究的内容主要包括:软件开发技术和软件工程管理。

软件开发技术包括:软件开发方法学、开发过程、开发工具和软件工程环境。

软件工程管理包括:软件管理学、软件工程经济学、软件心理学等内容。

软件管理学包括人员组织、进度安排、质量保证、配置管理、项目计划等。

软件工程原则包括抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。

3.2结构化分析方法

结构化方法的核心和基础是结构化程序设计理论。

需求分析方法有(1)结构化需求分析方法;(2)面向对象的分析的方法。

从需求分析建立的模型的特性来分:静态分析和动态分析。

结构化分析方法的实质:着眼于数据流,自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻

辑模型。

结构化分析的常用工具

(1)数据流图(DFD);(2)数据字典(DD);(3)判定树(决策树);(4)判定表。

数据流图:描述数据处理过程的工具,是需求理解的逻辑模型的图形表示,它直接支持系统功能建模。

数据字典:对所有与系统相关的数据元素的一个有组织的列表,以及精确的、严格的定义,使得用户和系统分析员对于输入、输出、存储成分和中间计算结果有共同的理解。

判定树:从问题定义的文字描述中分清哪些是判定的条件,哪些是判定的结论,根据描述材料中的连接词找出判定条件之间的从属关系、并列关系、选择关系,根据它们构造判定树。

判定表:与判定树相似,当数据流图中的加工要依赖于多个逻辑条件的取值,即完成该加工的一组动作是由于某一组条件取值的组合而引发的,使用判定表描述比较适宜。

数据字典是结构化分析的核心。

软件需求规格说明书的特点:

(1)正确性;

(2)无岐义性;

(3)完整性;

(4)可验证性;

(5)一致性;

(6)可理解性;

(7)可追踪性。

3.3结构化设计方法

软件设计的基本目标是用比较抽象概括的方式确定目标系统如何完成预定的任务,软件设计是确定系统的物理模型。

软件设计是开发阶段最重要的步骤,是将需求准确地转化为完整的软件产品或系统的唯一途径。

从技术观点来看,软件设计包括软件结构设计、数据设计、接口设计、过程设计。

结构设计:定义软件系统各主要部件之间的关系。

数据设计:将分析时创建的模型转化为数据结构的定义。

接口设计:描述软件内部、软件和协作系统之间以及软件与人之间如何通信。

过程设计:把系统结构部件转换成软件的过程描述。

从工程管理角度来看:概要设计和详细设计。

软件设计的一般过程:软件设计是一个迭代的过程;先进行高层次的结构设计;后进行低层次的过程设计;穿插进行数据设计和接口设计。衡量软件模块独立性使用耦合性和内聚性两个定性的度量标准。

在程序结构中各模块的内聚性越强,则耦合性越弱。优秀软件应高内聚,低耦合。

软件概要设计的基本任务是:

(1)设计软件系统结构;(2)数据结构及数据库设计;

(3)编写概要设计文档;(4)概要设计文档评审。

模块用一个矩形表示,箭头表示模块间的调用关系。

在结构图中还可以用带注释的箭头表示模块调用过程中来回传递的信息。还可用带实心圆的箭头表示传递的是控制信息,空心圆箭心表示传递的是数据。

结构图的基本形式:基本形式、顺序形式、重复形式、选择形式。结构图有四种模块类型:传入模块、传出模块、变换模块和协调模块。典型的数据流类型有两种:变换型和事务型。

变换型系统结构图由输入、中心变换、输出三部分组成。

事务型数据流的特点是:接受一项事务,根据事务处理的特点和性质,选择分派一个适当的处理单元,然后给出结果。

详细设计:是为软件结构图中的每一个模块确定实现算法和局部数据结构,用某种选定的表达工具表示算法和数据结构的细节。

常见的过程设计工具有:图形工具(程序流程图)、表格工具(判定表)、语言工具(PDL)。

3.4软件测试

软件测试定义:使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。

软件测试的目的:发现错误而执行程序的过程。

软件测试方法:静态测试和动态测试。

静态测试包括代码检查、静态结构分析、代码质量度量。不实际运行

软件,主要通过人工进行。

动态测试:是基本计算机的测试,主要包括白盒测试方法和黑盒测试方法。

白盒测试(根据软件的内部工作过程):在程序内部进行,主要用于完成软件内部CAO作的验证。主要方法有逻辑覆盖、基本路径测试。黑盒测试(根据程序的外部功能进行设计的,在软件的接口处进行):主要诊断功能是否正确或功能是否有遗漏、界面错误、数据结构或外部数据库访问错误、性能错误、初始化和终止条件错,用于软件确认。主要方法有等价类划分法、边界值分析法、错误推测法、因果图等。软件测试过程一般按4个步骤进行:单元测试、集成测试、验收测试(确认测试)和系统测试。

3.5程序的调试

程序调试的任务是诊断和改正程序中的错误,主要在开发阶段进行。程序调试的基本步骤:

(1)错误定位;

(2)修改设计和代码,以排除错误;

(3)进行回归测试,防止引进新的错误。

软件调试可分表静态调试和动态调试。静态调试主要是指通过人的思维来分析源程序代码和排错,是主要的设计手段,而动态调试是辅助静态调试。主要调试方法有:

(1)强行排错法;

(2)回溯法;

二级(C语言程序设计)上机题汇总

二级(C语言程序设计)上机题汇总 一、程序调试题 (一)程序填空 练习一: /*该程序功能:对x=1,2,。。。。。,10,f(x)=x*x*-5*x+sin(x)的最大值。*/ #include #include #define f(x) x*x-5*x+sin(x) void main() { int x; float max; ____ max=f(1);____ for(x=2;x<=10;x++) ___if( max void swap(__int *pa, int *pb____) { /*交换两个数的位置*/ int temp; temp = *pa; *pa = *pb; *pb = temp; } void main() { int a,b,c,temp; scanf("%d%d%d",&a,&b,&c); if(a>b) swap(&a,&b); if(b>c) swap(&b,&c); if(__a>b___) swap(&a,&b); printf("%d,%d,%d",a,b,c); } 练习三: /*该程序功能:将输入的十进制正整数n通过函数Dec2Bin转换为二进制数,并将转换结果输出。*/ #include

void Dec2Bin(int m) { int bin[32],j; for(j=0;m!=0;j++) { bin[j]= __m%2___; m=m/2; } for(;j!=0;j--) printf("%d", ____bin[j-1]_ _____ ); } void main() { int n; scanf("%d",&n); Dec2Bin(n); } 练习四: /*该程序功能:输入数组x[7],调用函数f,去除数组中的负数,输出结果为:1 3 4 6*/ #include void f(int *a,int *m) { int i,j; for(i=0;i<*m;i++) if(a[i]<0) { for(j=i--;j<*m-1;j++) a[j]=a[j+1]; ___*m=*m-1;___ } } void main() { int i,n=7,x[7]={1,-2,3,4,-5,6,-7}; _ f(x,&n);_____ for(i=0;i void main() { int i,j,s; for(i=6;i<=1000;i++) { ___s=1;___

C语言程序改错及填空题

下列程序是建立一个包含学生有关数据的单向链表。但该程序有2个错误,错误出现在每个注释行附近,请调试改正。调试改正中,不得改变程序结构,也不得增删语句。 #define NULL 0 struct stud { long num; char name[10]; float score; struct stud *next; }; /* …………… comment …………… */ int n; struct stud create() 序中有两处错误代码,请改正.注意,不得改变程序结构。 #include <> main() { int a[8],*p=a; int i,j; int tempmin,tempcode; printf("\n input the numbers:\n"); for (i=0;i<8;i++) scanf("%d",p+i);

tempmin=*p; for (i=0;i<7;i++) { for (j=i;j<8;j++) if (j==i||*(p+j)

历年二级C语言笔试真题及答案

1 2009年9月全国计算机等级考试二级笔试 试卷 1)下列数据结构中,属于非线性结构的是 A )循环队列 B) 带链队列 C) 二叉树 D )带链栈 2)下列数据结果中,能够按照“先进后出”原则存取数据的是 A) 循环队列 B) 栈 C)队列 D)二叉树 3)对于循环队列,下列叙述中正确的是 A )队头指针是固定不变的 B )队头指针一定大于队尾指针 C )队头指针一定小于队尾指针 D )队头指针可以大于队尾指针,也可以小于队尾指针 4)算法的空间复杂度是指 A )算法在执行过程中所需要的计算机存储空间 B )算法所处理的数据量 C )算法程序中的语句或指令条数 D )算法在执行过程中所需要的临时工作单元数 5)软件设计中划分模块的一个准则是 A) 低内聚低耦合 B) 高内聚低耦合 C) 低内聚高耦合 D) 高内聚高耦合 6)下列选项中不属于结构化程序设计原则的是 A) 可封装 B) 自顶向下 C) 模块化 D) 逐步求精 7)软件详细设计产生的图如下: 该图是 A) N-S 图 B) PAD 图 C) 程序流程图 D) E-R 图 8)数据库管理系统是 A )操作系统的一部分B) 在操作系统支持下的系统软件C) 一种编译系统 D) 一种操作系统 9)在E-R 图中,用来表示实体联系的图形是 A) 椭圆图B) 矩形C) 菱形D) 三角形 10)有三个关系R ,S 和T 如下: 其中关系T 由关系R 和S 通过某种操作得到,该操作为 A) 选择 B) 投影 C) 交 D) 并 11)以下叙述中正确的是 A )程序设计的任务就是编写程序代码并上机 B )程序设计的任务就是确定所用数据结 构 C )程序设计的任务就是确定所用算法 D )以上三种说法都不完整 12)以下选项中,能用作用户标识符的是 A )void B )8_8 C )_0_ D )unsigned 13)阅读以下程序 #include main() { int case; float printF; printf(“请输入2个数:”); scanf(“%d %f”,&case,&pjrintF); printf(“%d %f \n”,case,printF); } 该程序编译时产生错误,其出错原因是 A )定义语句出错,case 是关键字,不能 用作用户自定义标识符B )定义语句出错,printF 不能用作用户自定义标识符 C )定义语句无错,scanf 不能作为输入函 数使用 D )定义语句无错,printf 不能输出case 的值 14)表达式:(int)((double)9/2)-(9)%2的值是 A )0 B )3 C )4 D )5 15)若有定义语句:int x=10;,则表达式 x-=x+x 的值为 A )-20 B )-10 C )0 D )10 16)有以下程序 #include main() { int a=1,b=0; printf(“%d,”,b=a+b); printf(“%d \n”,a=2*b); } 程序运行后的输出结果是 A )0,0 B )1,0 C )3,2 D )1,2 17)设有定义:int a=1,b=2,c=3;,以下语 句中执行效果与其它三个不同的是 A )if(a>b) c=a,a=b,b=c; B )if(a>b) {c=a,a=b,b=c;} C ) if(a>b) c=a;a=b;b=c; D ) if(a>b) {c=a;a=b;b =c;} 18)有以下程序 #include main() { int c=0,k; for (k=1;k<3;k++) switch (k) {default: c+=k case 2: c++;break; case 4: c+=2;break; } printf(“%d \n”,c); } 程序运行后的输出结果是 A )3 B )5 C )7 D )9 19)以下程序段中,与语句:k=a>b?(b>c?1:0):0;功能相同的是 A )if((a>b)&&(b>c)) k=1;else k=0; B )if((a>b)||(b>c) k=1;else k=0; C )if(a<=b) k=0;else if(b<=c) k=1; D )if(a>b) k=1;else if(b>c) k=1; else k=0; 20)有以下程序 #include main() { char s[]={“012xy”};int i,n=0; for(i=0;s[i]!=0;i++) if(s[i]>=?a?&&s[i]<=?z?) n++; printf(“%d \n”,n); } 程序运行后的输出结果是 A )0 B )2 C )3 D )5 21)有以下程序 #include main() { int n=2,k=0; while(k++&&n++>2); printf(“%d %d \n”,k,n); } 程序运行后的输出结果是 A )0 2 B )1 3 C )5 7 D )1 2 22)有以下定义语句,编译时会出现编译错误的是 A )char a=?a? B )char a=?\n?; C )char a=?aa?; D )char a=?\x2d?; 23)有以下程序 #include main() { char c1,c2; c1=?A?+?8?-…4?; c2=?A?+?8?-…5?; printf(“%c,%d \n”,c1,c2); } 已知字母A 的ASCII 码为65,程序运行后的输出结果是

高考英语短文改错技巧总结版,考生必看!

短文改错对考生的要求较高,是对语言知识综合运用能力的考查,检测考生发现、判断、纠正文章错误 的能力,进而考查学生的词法、句法及行文逻辑等方面的水平。考生在该项上往往失分较多,对该题感 到束手无策。但是,如果解题时能从有效掌握解题思路、出题规律及破解题目关键两大处入手,此类题 目就会迎刃而解。 短文改错解题思路和检查原则 1. 句中各部分的结构是否完整,特别是每个句子要有动词; 2. 谓语动词的时态、语态; 3. 非谓语动词的用法; 4. 名词的单、复数,格的使用是否正确; 5. 定冠词和不定冠词是否正确; 6. 代词的格和性的使用是否有误; 7. 定语从句中关系代词、关系副词是否准确无误; 8. 并列句中的并列连词、主从复合句中的从属连词用的是否得当。 短文改错解题四原则 改动以最少为原则; 虚词以添加或删除为原则; 实词以改变词形为原则; 以保持句子原意为原则。 解题注意要点和能力培养 1. 核对错项时,若的确有一时难以改出的地方,可以参考所改动项是否基本符合“1:1:8”的比例。即多一词1个,缺词1个,错词8个。 2. 核对改正的语法项目是否有重复。因为短文改错往往覆盖面广,一般不会出现重复考查某个语法点的现 象。 3. 核对答题符号是否规范,位置是否准确,看看有无遗漏符号、忽略字母大小写和拼写等问题。

解题思路(三步解题法) 第一步:快速浏览全文,把握文章的主要时态、人称及文章的主旨大意,顺便标记自己一眼就能看出的错 误。 第二步:细读文章,找出错误并改正。一般要结合文章的上下文以及出题规律来做题。 第三步:代入正确答案通读全文,看其是否通顺。 出题规律及破解关键 高考短文改错一般会在以下八个方面进行设题。 1. 动词:主要考查时态、主谓一致和固定搭配。例如: ①时态混用 Then the trouble started. We can’t open the door. So we asked the policeman for help. 。) (很显然此段的主时态是一般过去式,因此应把can’t改为couldn’t ②主谓不一致 There were a football game on TV last Saturday evening. (a football game决定了谓语动词用单数,故应该把were改为was。) ③固定搭配 He had little money left, so he had to give up buy the computer. (give up doing sth.是固定用法,故动词buy应该改为buying。) 2. 名词:主要考查单复数混用。例如: Helen is seventeen year old. She is very busy. (表示“年龄多大了”应该为复数形式,故应把year改为years。) 3. 形容词/副词:主要考查两者之间是否混用。例如: ①副词代替正确形容词 During the football season, Helen is much busier than usually. (很明显是“与平时相比较更忙”,因此需要把usually改为usual。) ②形容词代替正确副词 As the time clock showed one minute and forty-two seconds left in the game, she began cheering excited, “Come on —get going!” (显然应把excited改为excitedly,用来修饰动词cheer。) 4. 介词:主要考查固定搭配,特别是动词和介词的搭配。例如: ①介词遗漏 I’m sure you will get rid the sorrow and unhappiness caused by the disaster. (get rid of 是固定搭配,意为“摆脱,除去”。) ②介词多余 My wife is also happy because of I have given up smoking.

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

计算机等级C语言上机考试改错题分类总结改错题总的出错分为两大类:语法出错和逻辑出错,此类题目是比较简单的题型,因此也是最容易把握的知 识点。 注意:错误都是出现在/**********fo un d**********/下面的这一行。 只是下面的这一行,其他行都没有错误。不能修改其他行。 做题方法: 1?首先拿到题目,先将题目详细看看,看清题目对做题时很有帮助的,特别是一些逻辑性较强的题目很有用。 有的同学可能会觉得题目太难了不想去读,其实在做改错题目时即便你不会也能把题目做对。 2 ?按照以下的步骤解决题目中的错误的内容,对应着修改。修改完之后保存即可。 1?关键字出错: 在二级C语言考试中仅仅考查学生对基本的关键字掌握情况,比如:整型就是int不是Int,知识点简单。 2?格式出错: 在考试中主要考查学生细心的程度,最喜欢考简单的知识点。 (1)少分号:考查的知识点:分号是语句结束的标志。 (2)for语句的格式:for(;;)中间用分号隔开不是用逗号隔开。 (3)if语句的格式:if(表达式),if后面必须加上小括号。 (4)命令行格式出错:如include命令少了#,正确的形式应该是#include “stdio.h” ; (5)常用函数格式: A ?函数名后面一定是花括号,不能是方括号,方括号只有在数组下标中用到。 B.要同时定义两种以上不同的数据类型的时候必须在不同类型的数据中间加上分号。 C ? seanf(“%d”,a[i][j]);应该改为scanf( “%d”,&a[i][j])。考查scanf输入函数的格式。 (6)数组: A ?数组下标引用时候只能用反括号。 B ?二维数组中的列下标不能省略。 (7)常用符号出错:

C语言程序改错题

第12次上机程序改错第1题 【程序改错】 -------------------------------------------------------- 功能:求二分之一的圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积。 例如:输入圆的半径值:19.527 输出为:s = 598.950017。 ------------------------------------------------------*/ #include #include /**********FOUND**********/ double fun( r) double fun(double r) { double s; /**********FOUND**********/ s=1/2*3.14159* r * r; s=1.0/2*3.14159*r*r; /**********FOUND**********/ return r; return s; } main() { float x;

printf ( "Enter x: "); scanf ( "%f", &x ); printf (" s = %f\n ", fun ( x ) ); } 第2题【程序改错】 功能:先将在字符串s中的字符按逆序存放到t串中,然后把s中的字符按正序连接到t串的后面。 例如:当s中的字符串为:“ABCDE”时,则t中的字符串应为:“EDCBAABCDE”。 ------------------------------------------------------*/ #include #include #include void fun (char *s, char *t) { /**********FOUND**********/ int i; int sl,i; sl = strlen(s); for (i=0; i

上机考试题目

上机考试题目 操作题:1、使用jsp完成一个java web项目,实现用户登录功能,三个页面登录页面,登录逻辑处理页面,欢迎页面。用户在登录页面输入用户名和密码,如果用户名为”admin”,密码为”123”,则登录成功跳转到欢迎页面,如果失败,停留在登录页面。2、使用jsp+servlet完成一个java web项目,实现用户登录功能,两个页面,一个servlet。登录页面,欢迎页面,登录逻辑loginservlet。用户在登录页面输入用户名和密码,如果用户名为”admin”,密码为”123”,则登录成功跳转到欢迎页面,如果失败,停留在登录页面。3、使用jsp完成一个java web项目,实现用户登录功能,三个页面登录页面,登录逻辑处理页面,欢迎页面。用户在登录页面输入用户名和密码,如果数据库中存在,

则登录成功跳转到欢迎页面,如果失败,停留在登录页面。4、使用jsp+servlet 完成一个java web项目,实现用户登录功能,两个页面,一个servlet。登录页面,欢迎页面,登录逻辑loginservlet。用户在登录页面输入用户名和密码,如果数据库中存在,则登录成功跳转到欢迎页面,如果失败,停留在登录页面。 5、使用jsp完成一个java web项目,实现用户登录功能,三个页面登录页面,登录逻辑处理页面,欢迎页面。用户在登录页面输入用户名和密码,前台页面使用js进行验证,如果用户名或密码为空,则提示用户输入用户名和密码;如果用户名为”admin”,密码为”123”,则登录成功跳转到欢迎页面,如果失败,停留在登录页面。 6、使用jsp完成一个java web项目,实现用户登录功能,三个页面登录页面,登录逻辑处理页面,欢迎页面。用户在登录页面输入用户名和密码,前台页面使用js进行验证,如果用户名或密码为空,则提示用

高考英语 短文改错题必看的4个答题技巧

2014年高考英语短文改错题必看的4个答题技巧 高考英语短文改错是一种综合技能,在做高考英语短文改错题时,也需要一定的答题技巧。小编为大家整理了2014年高考英语短文改错题必看的4个答题技巧,帮助同学们总结高考英语短文改错题的解题方法,供各位考生参考阅读。 一、短文改错的复习重点 同学们必须熟悉设错方式:多词、少词、错词。 1、多词现象大多出现在冠词、介词、助动词、连词、语义重复及行文逻辑等方面。 2、少词现象主要出现在冠词、介词、副词、助动词、不定式符号to、连词等。 3、错词现象主要在冠词、介词、名词单复数、动词时态、非谓语动词、主谓一致、代词、连词、词形。 考生平时应加强基本功训练,用一个“错题集”本把自己或同学在书面表达中出现的错误归纳一下,以便考前复习。 二、对全文的宏观把握 学生应把改错内容当作一篇小短文来理解,这样能对短文有个宏观把握,对上下文有全面的了解,在理解篇章的基础上逐句审读,分析判断,上下兼顾,把明显的、拿的准的题先做完,这样可以缩小包围圈,也有助于对全文的进一步理解。 三、从语法角度审查 1. 查看时态是否一致 My favorite sport is football. I was a member of our footbal l team. (NMET’98)全文都是用的一般现在时,此句中的was显然与上下文语境不符,应改为am. 2. 查看主谓是否一致 Anyone may borrow books, and it cost nothing to b orrow them. (NM ET’94) cost 应改为costs,因其主语是it(为形式主语),且上下文均为一般现在时。 3. 查指代是否一致

程序改错完整版---C语言

(一)功能:用选择法对数组中的n个元素按从小到大的顺序进行排序。#include "stdio.h" #define N 20 void fun(int a[], int n) { int i, j, t, k; for (j = 0 ;j < n-1 ;j++) { /**********ERROR**********/ k = j for (i = j+1;i < n; i++) /**********ERROR**********/ if(a[i] >a[k]) /**********ERROR**********/ k=j; t = a[k] ; a[k] = a[j] ; a[j] = t; } } main() { int a[N]={9,6,8,3,-1},i, m = 5; printf("排序前的数据:") ; for(i = 0;i < m;i++) printf("%d ",a[i]); printf("\n"); fun(a,m); printf("排序后的数据:") ; for(i = 0;i < m;i++) printf("%d ",a[i]); printf("\n"); } 【参考答案】 k = j; 【参考答案】 if(a[i] < a[k]) if(a[k] > a[i])

【参考答案】 k = i; (二)功能:求广义菲玻那契级数的第n项。广义菲玻那契级数的前n 项为: 1,1,1,3,5,9,17,31,…… 项值通过函数值返回 main ( )函数。 例如:若 n = 15,则应输出:The value is: 2209。 #include "conio.h" #include "stdio.h" long fun ( int n ) { long a=1, b=1, c=1, d=1, k; /**********ERROR**********/ for (k=4; k

【英语】短文改错答题技巧 考点汇总

高中英语短文改错答题技巧+考点汇总高考英语中的短文改错题是大家所熟知的题型,近年来,高考英语全国卷的试卷结构和题型虽几经变革,但短文改错题始终存在。 不可否认,短文改错题具有一定的难度,大部分学生在短文改错这一块的得分率很低。鉴于此,对近十年高考全国卷的短文改错题进行了仔细的分析和研究,总结出一些对学生来说易于理解和记忆的条款,最大限度提升学生解答短文改错题的能力。 1、选材特点 短文改错题的选材多以记叙文为主,体裁和语言都贴近高中学生的实际生活。所选短文长度一般为100词左右。篇章结构的难易程度符合中学生的认知水平,无生僻的语言障碍和怪、难、偏的句子结构。2、设错特点 通过对近十年高考短文改错题的分析和研读,发现短文改错题的考点很有规律,并且呈现极强的稳定性。 常规考点主要集中在动词、名词、形容词和副词、冠词、连词、介词、代词及各类从句的引导词等方面。 另外,短文改错的错误类型有错词、缺词和多词三种。在短文的10处错误中,三种错误类型的分配比例一般遵循8/1/1原则,即8个错词修改,1个缺词添加、1个多词删除。 其中,错词修改常涉及动词、名词、形容词和副词等方面的错误。缺词和多词则多为冠词或介词的冗余或缺失等。

虽说短文改错题所设置的考点灵活多变,知识层次多,词类覆盖广。但其实它所考查的语言知识并不复杂,只要了解命题规律和常规考点的命题要点,掌握一定的解题策略,并有针对性地加以练习和总结,也能轻松应对此题。 现结合近几年高考全国卷短文改错真题对各常规考点中出题者常设改错点的地方进行详细的分析和解读,并提出相应的解题策略。 1动词 动词是短文改错中涉及考点最多的词类,主要从以下几个方面进行考查: (1)时态、语态的一致。如: ①I entered my second year of high school and become a new member of the school music club.(2017全国卷Ⅲ) (解析:become改为became.结合前半句中的动词entered可知,后半句的时态应和前文保持一致。) ②About one month after this photo was took,…(2017全国卷Ⅲ)(解析:took改为taken。根据句意可知此题考查的是一般过去式被动语态。) (2)非谓语动词、情态动词之后用动词原形、介词之后用动名词形式。如: ①We can chose between staying at home and take a trip.(2016全国卷Ⅱ)(解析:chose改为choose.情态动词之后接动词原形;take改为taking.考查非谓语动词,and连接两个并列成分,且介词之后的动词应用动名词形式。) ②She used to holding me on her knees and sing old songs.(2013全国卷

江苏省高校计算机等级考试二级VB上机改错题题型与总结

江苏省高校计算机等级考试二级上机改错题题型与总结冠军:被错误定义为 亚军:后无 季军:结构混用 应该用、而错用成、 应该用、而错用成、 初始值位置错 类型一 类型二

类型三 → 连续整除\与求余后条件错 n<0等→0(用于一个数中数字提取或者进制转换) (*特殊情况:被改成) n<0等→1(用于关于一个数的质因子分析) 除号“/”与整除号“\” ? 参数类型不符合错误 起点等错 结束条件(非n<0等→0) 求赋值错

后的条件错 其他类型的错误(省略)自测真题

题目:本程序的功能是:查找四位整数,它的9倍正好等于n的反序数。程序界面参见下图。 1() n , k 1 = "结果是:" & n = 1000 2400 k = 9 * n (n) = k = n & "" & k 1 = 1 & & n (n ) i , k i = 1 此处原题有错,不应该有这句话 k = n 10 = & (k) n = n /10 n > 0 =

题目:本程序的功能是:随机生成一个有n个元素的数组(n由函数输入),找出其中的最大元素并将它删除,再输出删除后的数组。 1 a() , n 1() i n = ("请输入数组个数", , 10) a(n) i = 1 n a(i) = ( * 100) + 1 1 = 1 & (a(i)) i (a) i = 1 n 2 = 2 & (a(i)) i (a() ) , , i = a(1): = 1 i = 2 n a(i) > = a(i): = i i (a, ) (a() , k ) i i = k + 1 (a) a(i) = a(i + 1) i a((a) - 1)

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

二级C语言上机编程题技巧 一、技巧的原理 首先使用这个技巧必须了解上机编程题的评分原理。以上机题的第5套编程题为例。二级C语言的上机试题是让我们自己编写某个小程序的子程序来实现题目中的功能。那么考官是怎么样来检查我们编的程序是否正确呢?根据编程题下面这段程序我们就可以看出: 在考生文件夹下存在一个名为in.dat的文件。首先以只读的方式打开in.dat文件,以只写方式打开out.dat文件,若out.dat不存在则自动新建该文件。然后使用fscanf 语句将其中的数据输入到变量a中,再将a当作实参调用我们需要编写的程序。将结果用fprintf语句输入到out.dat文件中。其中.dat为这个文件的扩展名(扩展名有可能被隐藏)。

所以考官不会直接检查我们的程序,只要检查out.dat里的数据是否正确就可以判断我们编的子程序是否正确。因此程序编写题,我们可以只通过修改out.dat里面的答案而不去编写程序就可以拿到满分。 二、使用技巧的条件 当然不是所有的编程题我们都能使用这个技巧的(不过90%的编程题都可以用这个方法)。使用这个技巧必须具备两个条件: 1、编程题是通过我上面讲的方法来检验,说白了就是我们的考生文件夹下面 含有in.dat文件。 2、编程题需要实现的功能我们编程者可以自己想出来程序完成的答案。例如 本题:

它让我们实现实型数据保留两位小数,并对第三位进行四舍五入。那么这个功能我们若知道任一个实数都可以自己计算出结果,那么我们才能将正确答案写在out.dat文件里面。若某程序让你编写子程序实现求取圆周率并精确到小数点后10位这个功能,那么我们就无法背出那么长的数字,因此也没有办法知道结果。那么这种技巧就不能使用。 三、步骤 确定了这个技巧可以使用后,我们就可以开始操作了。一般分为以下几步: 1、建立out.dat文件 上面可以看到我们的考生文件夹中是没有out.dat这个文件的。所以我们需要自己新建。最好的方法就是打开编程题直接编译、链接、执行。这样将程序执行一遍后我们的考生文件夹里就自动生成了我们需要的out.dat文件。(注意:这里生成了out.dat 文件后就不要再运行我们的程序了,因为每运行一次程序就会将程序生成的答案写入out.dat文件中,这样即算我们改成了正确答案,你如果再次运行程序,就会将我们修改的正确结果覆盖掉。) 2、修改答案

高中英语短文改错答题技巧总结

高中英语短文改错答题 技巧总结 Company number:【WTUT-WT88Y-W8BBGB-BWYTT-19998】

高中英语短文改错技巧总结 短文改错口诀: 动词形,名词数; 注意形和副; 非谓动词细辨别; 习惯用法要记住; 句子成分多分析; 逻辑错误须关注。 一. 动词形 主要包括两类错误:动词的时态和语态错误,以及主、谓不一致的错误。例如: My favorite sport are football. (is) Now my picture and prize is hanging in the library. (are) 上述两例分别属于时态错误和主、谓不一致错误。找出此类错误的关键是树立牢固的时态概念,注意短文内容发生或存在的时间,保持时间概念的一致性。 二. 名词数 指名词单、复数形式的用法错误。常表现为将名词复数写成单数。例如: …so that I’ll get good marks in all my subject. (subjects) 三. 区分形和副 及区分形容词和副词在句子中的作用和具体用法。这也是高考短文改错的常考点。例如: I’m sure we’ll have a wonderfully time together. (wonderful) Unfortunate, there are too many people in my family. (Unfortunately)

需要注意的是,形容词多用来做定、表、补语等,而副词只能在句子中作状语,修饰动词、形容词、副词或整个句子。第一例中的wonderful作定语修饰time,第二句的Unfortunately作状语修饰整个句子。 四. 非谓动词细辨别 这是考查最多的错误形式之一。主要有分词和动名词类错误,也包括不定式类错误。例如: …in my spare time, but now I am interesting in football. (interested) Play football not only makes us grow up tall and strong but also … (playing) My parents love me… and will do all they can ∧make sure… (to) 上述二、三例分别是动名词作主语,和不定式作目的状语。一般的,现在分词有主动态和进行时的含义,而过去分词具有被动态和完成时的含义,不定式有将来时态的含义。 五. 习惯用法要记住 主要考查习惯搭配方面的基础知识。这也是历年高考的常考点,其错误表现形式主要有三种:多词、少词和搭配错误。例如: It was very kind for them to meet me at the railway station and… (of) We must keep in mind that we play for the team instead ∧ ourselves. (of) 六. 句子成分多分析 不同的句子成分要用不同的词类;不同的语景要选择不同的词语。这些都有待我们对句子结构和句子成分作细致的分析,才能找出用词不当的错误。例如: They ∧eager to know everything about China and… (were) I live in Beijing, where is the capital of China. (which) 第一例漏掉了谓语动词were,这是受害于习惯的影响而导致的错误;第二例则是词类与它在句子中的成分不相符,where是副词,不能作主语。 七. 逻辑错误须关注 与句子的上、下文不一致,甚至相矛盾,属于逻辑性错误。如称谓上的张冠李戴,人名、地名、时间、方位等方面的错误,常是这类错误的考查对象。例如:

齐齐哈尔大学C语言题库 程序改错(部分)

1.【程序改错】 题目:在一个一维整型数组中找出其中最大的数及其下标。 程序中共有4条错误语句,请改正错误。 #define N 10 /**********FOUND**********/ float fun(int *a,int *b,int n) int fun(int *a,int *b,int n) { int *c,max=*a; for(c=a+1;cmax) { max=*c; /**********FOUND**********/ b=c-a;} *b=c-a;} return max; } main() { int a[N],i,max,p=0; printf("please enter 10 integers:\n"); for(i=0;i

计算机二级C语言上机题库复习小抄(最新校正,精美排版)

计算机二级C语言上机题库复习小抄 (最新校正,精美排版) 第一套 1.程序填空 程序通过定义学生结构体数组,存储了若干个学生的学号、姓名和三门课的成绩。函数fun 的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大排序)。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 第一处struct student t; 第二处for(i=0;i0) 2程序修改 给定程序MODI1.C中函数fun的功能是:在p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向上顺序移动。 /**found**/ q=p+i; /**found**/ while(q>p) 3程序设计 学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写了函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。 int fun(STREC *a,STREC *b,int l,int h) {int i,j=0; for(i=0;i=1&&a[i].s<=h) b[j++]=a[i]; return j; } 第二套 1.程序填空 给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序连接。函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。 第一处free(q); 第二处q=p->next; 第三处q=q->next; 2. 程序修改 给定程序MODI1.C中函数fun的功能是:用选择法对数组中的n各元素按从小到大的顺序进行排序。 /**found**/ p=j; /**found**/ p=i; 3. 程序设计 请编写一个fun函数,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。 void fun(int m,int *a,int *n) { int i; *n=0; for(i=7;i<=m;i++) if((i%7==0)||(i%11==0)) a[(*n)++]=i; } 第三套 1. 程序填空 函数fun的功能是:逆置数组元素是的值。例如:若a所指数组中的数据依次为:1、2、3、4、5、6、7、8、9,则逆置后依次为:9、8、7、6、5、4、3、2、1。形参n给出数组中数组中数据的个数。 第一处for(i=0;idata==ch)return n; 第三处k=fun(head,ch); 2. 程序修改 给定程序MODI1.C中函数fun的功能是:删除p所指字符串的所有空白字符(包括制表符、回车符及换行符)。输入字符串时用‘#’结束输入。 /**found**/ for(i=0,t=0;p[i];i++) /**found**/ c[t]=?\0?; 3. 程序设计 请编写一个函数fun,将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。 void fun(char *ss) { int i; for(i=1;i=?a?&&ss[i]<=?z?) ss[i]-=32; } } 第五套 1. 程序填空 给定程序中,函数fun的功能是:计算下式前n项的和作为函数值返回。例如:当形参n的值为10 的时,函数返回:9.6125588。 第一处s=0; 第二处for(i=1;i<=n;i++) 第三处s=s+(2.0*i-1)*(2.0*i+1)/(t*t); 2. 程序修改 给定程序MODI1.C中函数fun的功能是:统计substr所指字符串在str所指字符串中出现伯次数。 /**found**/ for(i=0;str[i];i++) /**found**/ if(substr[k+1]==?\0?) 3. 程序设计 请编写一个函数fun,它的功能是:根据以下公式求JI的值(要求满足精度0.0005,即某项小于0.0005时停止送代):程序运行后,如果输入精度为0.0005,则程序输出为 3.14…。 double fun(double eps) { double s=1,t=1./3; int n=1; while(t>=eps) {s+=t;n++;t=t*n/(2.0*n+1) ;} return(s*2.0); } 第六套 1. 程序填空 给定程序中,函数fun的功能是:将形参s所指定字符串中所有的字母字符顺序前移,其他字母顺序后移,处理后字符串的首地址作为函数值返回。 第一处t[j]=s[i];j++; 第二处for(i=0;iscore[i]+=1; 第三处return a; 2. 程序修改 给定程序MODI1.C中函数fun的功能是:从N个字符串中找出最长的那个串,并将其地址作为函数值返回。各字符串在主函数中输入,并放在一个字符串数组中。 /**found**/ char *fun(char (*sq)[M]) /**found**/ return sp; 1

相关主题
文本预览
相关文档 最新文档