二级C语言上机考试改错题总结_第1页
二级C语言上机考试改错题总结_第2页
二级C语言上机考试改错题总结_第3页
二级C语言上机考试改错题总结_第4页
二级C语言上机考试改错题总结_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、二级c语言提升机考试评审问题总结本人多年的研究显示,全国计算机等级考试的二级c语言中,很多考生登机考试都有很大的问题。 在此,我希望能和大家分享在教育中总结出二级c语言考题库的经验,对我们考生的考试有帮助,顺利合格后,再总结出修改高级考试问题的方法,修改问题的错误主要分为以下几类一、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后的变量或公式是否正确这些错误必须根据问题的意义来分析,并分析返回的变量或表达式的值和类型。

3、如果错误的行包含指针变量,且该变量名称前面没有指针运算符,则通常会添加指针运算符4 .代入句如果错误的行是赋值语句,请检查赋值是否正确,并检查赋值运算符是否正确。5 .定义句如果错误行是定义语句,请注意以下事项1 )首先,分析变量类型名是否成对2 )分析给变量的初始值是否正确3 )如果以上不是,就看有没有定义某个变量,或者没有大括号6 .公式错误问题:如果要将整数1除以错误行中的某个表达式或变量,则必须将整数1更改为1.0。如果变量或表达式是整数,则只能进行强制类型转换。七、字符串类问题如果错误行中有字符串的末端,请特别注意末端是否正确。 但是,必须区分清楚的文字o和数字0。八、函数的第一级问

4、题:如果错误行是函数的开头,请注意以下事项1 )首先,看一下行的末尾是否有分号,如果有的话,删除分号的正中间有分号的话,就变成逗号。2 )形参与实参类型不一致的问题如果实际参数是地址或数组名或指针变量名,对应的波形参数一定是指针或数组如果实际参数是二维阵列名,对应的波形参数必须是指针阵列或二维阵列使用后面的波形参数时,如果有指针运算符,则该波形参数比为指针类型形状参数为二维阵列或指向m个要素的指针变量时,其二维长度必须与main阵列的第二个长度相同。3 )函数类型不匹配的问题函数没有return语句时,函数的类型为void函数中有return语句时,函数的类型必须与rerun以后的变量类型一致

5、请记住,调用函数的类型与main的函数的类型相匹配9 .语法错误的问题:1 )句子中缺少分号。 错误编号的句子没有以分号结束时,加分号2 )变量名称不一致。 c语言区分大小写,如果错误的行有大写,则会更改为小写10 .逻辑错误问题:这个问题类型主要是公式的错误,所占的问题量多,而且我们没有统一的问题方法,所以需要具体分析我们的具体问题。11 .写错的问题:请特别注意我们评论的部分。 评论以/*开始,*/结束,所以没有多馀的东西。 有的只有/*和*/而已。 注意:“/*注释部分*/*/”错误!二次公共基础知识总结第一章数据结构和算法1.1算法算法:指问题解决方案的正确、完整的描述。算法不等于程序

6、,计算机的方法也不相等。 程序的编制不能比算法的设计更好.算法的基本特征:一组严格定义计算顺序的规则,每个规则有效、明确,此顺序以有限的次数结束。 其特征如下:(1)可行性(2)确定性、算法的步骤必须明确定义,不允许模糊解释,不允许多义性(3)有贫困性,算法必须在有限的时间内完成。 也就是说,可以在执行了有限的步骤之后结束。 包含合理执行时间的意义(4)有充分的信息。算法的基本要素:一是数据对象的运算和操作;二是算法的控制结构。指令系统:计算机系统能执行的所有指令的集合。基本运算包括算术运算、逻辑运算、关系运算、数据传输等。算法的控制结构:序列结构、选择结构、循环结构。算法的基本设计方法:枚举

7、法、归纳法、递归、半递归技术。算法的复杂性:算法的时间复杂性和算法的空间复杂性。算法时间的复杂性是执行算法所需的计算量,并测定算法时间的效率。算法空间的复杂性是执行该算法所需的存储器空间。1.2数据结构的基本概念数据结构研究的三个方面:(1)数据集合中各数据元素间固有的逻辑关系,即数据的逻辑结构(2)在处理数据时,各数据要素在计算机中的存储关系、即数据的存储结构(3)对各种数据结构的运算。数据结构是指相互关联的数据元素的集合。数据的逻辑结构如下(1)表示数据要素的信息(2)表示各数据要素间的上下文关系。数据的存储结构包括顺序、链接、索引等。线性结构条件:(1)只有一个根节点(2)每个节点前件最

8、大,后件也最大。非线性结构:不满足线性结构条件的数据结构。1.3线性表及其顺序记忆结构线性表包含一系列数据元素,数据元素的位置仅取决于自己的编号,元素之间的相对位置是线性的。在复杂的线性表中,把由几个数据要素构成的数据要素称为记录,把由多个记录构成的线性表称为文件。非空线性表的结构特征:(1)而且只有一个根节点a1,没有前件(2)只有一个终端节点an,没有后件(3)除根节点和终端节点以外,其他所有节点都只有一个前件,只有一个后件。 节点数n被称为线性表的长度,n=0时被称为空表。线性表的顺序记忆结构有两个基本特征(1)线性表中所有元素所占的记忆空间是连续的(2)线性表中的各数据要素以逻辑顺序存

9、储在存储空间中。ai的存储地址是ADR(ai)=ADR(a1) (i-1)k,ADR(a1 )是第一要素的地址,k是各要素占据的字节数。顺序表的运算:插入、删除。 (详情请参阅第14-16页)1.4堆栈和队列堆栈是对一端限制插入和删除的线性表,将允许插入和删除的一端称为堆栈顶部,将不允许插入和删除的另一端称为堆栈底部。堆栈根据“先进后进”(FILO )或“后进先出”(LIFO )组织数据,堆栈具有记忆作用。 堆栈顶部的位置用top表示,堆栈底部用bottom表示。堆栈的基本运算: (1)插入要素称为堆栈运算(2)删除要素称为堆栈运算(3)读入堆栈顶部要素,通过将堆栈顶部要素分配给指定的变量,指

10、针不变。队列是一个线性表,允许在一端(队列的末尾)插入,在另一端(队列的开头)删除。 Rear指针指向列的末尾,front指针指向列的开头。队列是“先进先出”(FIFO )或“先进先出”(LILO )线性表。队列运算包括(1)入队运算:从队列的末尾插入要素(2)取消运算:从队列中删除要素。循环队列: s=0表示队列是空闲的,s=1,前端=rear表示队列已满。1.5线性连接仪表数据结构的各节点对应于一个存储单元,将该存储单元称为存储节点,简称为节点。(1)用于存储数据元素的值,由于节点存储(2)指针,称为指针域,因此节点被用于指向前一节点或后一节点。在链式存储结构中,用于存储数据结构的存储空间

11、可以是不连续的,并且每个数据节点的存储顺序与数据元素之间的逻辑关系可以不一致,并且数据元素之间的逻辑关系由指针域来决定。链存储方法可以表示线性结构,也可以表示非线性结构。线性链表,HEAD称为开头指针,HEAD=NULL (或0 )称为空表,两个指针:左指针(link )指向前件节点,右指针(Rlink )指向后件节点。线性链表的基本运算:检索、插入、删除。1.6树和二叉树树是简单的非线性结构,在所有要素之间都有明显的层次特性。在树结构中,每个节点只有一个前件,称为父节点,没有前件的节点只有一个,称为树的根节点,称为树的根。 每个节点可以有多个后缀,其被称为该节点的子节点。 没有后件的节点称为

12、叶节点。在树结构中,一个节点具有的后件的数量称为该节点的度,在所有节点中最大的度称为树的度。 树的最大水平称为树的深度。二叉树的特征: (1)非空二叉树只有一个根节点(2)每个节点最多有两个子树,分别称为该节点的左子树和右子树。二叉树的基本性质:(1)二叉树的第k层最大有2k-1(k1 )个节点(2)深度为m的二叉树最大有2m-1个节点(3)度为0的节点(即,叶的节点)总是比度为2的节点多一个(4)具有n个节点的二叉树,其深度至少为log2n 1,其中log2n表示取log2n的整数部分(5)具有n个节点的完全二叉树的深度为log2n 1(6)假设完全二叉树中有n个节点。 从根节点,按层次顺序

13、(每层从左到右)以自然数1、2、n对节点编号时(k=1、.n ),得出以下结论如果k=1,则该节点是根节点,如果没有父节点k-1,则该节点的父节点编号为INT(k/2 )如果2kn,则编号为k的节点的左子节点编号不是2k,否则该节点中也没有左子节点(也没有右子节点)如果2k 1n,则编号为k的节点的右子节点编号为2k 1,否则此节点没有右子节点。满二叉树是指除最后一层以外,各层的所有节点都有两个子节点,k层有2k-1个节点深度m的满二叉树中有2m-1个节点。完全二叉树是指除了最后一层以外,各层的节点数达到最大值,最后一层中右侧的节点缺少几个。二叉树的记忆结构采用连锁的记忆结构,满二叉树和完全二

14、叉树可以按层顺序记忆。二叉树扫描:(1)依次遍历(DLR ),首先访问根节点,然后遍历左侧子树,最后遍历右侧子树(2)中间正向扫描(LDR )首先扫描左侧子树,访问根节点,最后扫描右侧子树(3)后向遍历(LRD )首先遍历左子树,然后遍历右子树,最后访问根节点。1.7检索技术顺序检索的使用情况:(1)线性表是无序表(2)线性链表采用链式记忆结构。二分法检索只适用于顺序记忆的顺序表,对于长度为n的顺序表,最坏的情况下需要比较log2n次,顺序检索需要比较n次。1.8排序技术排序是将无序序列按值不是降序的顺序进行组织的顺序。交换等级排序法: (1)冒泡排序法,需要比较的次数是n(n-1)/2; (

15、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 .限制模块化go

16、to语句的使用。结构化过程的基本结构和特征:(1)顺序结构:简单编程,最基本、最常用的结构(2)选择结构:也称为分支结构,包括简单选择和多分支选择结构,根据条件,可以判断应该选择哪个分支,来执行对应的语句序列(3)循环配置:可以基于所给出的条件来确定是否需要重复执行相同的段。2.3面向对象的编程面向对象编程:以60年代末挪威奥斯陆大学和挪威计算机中心开发的SIMULA语言为标志。面向对象的方法的优点:(1)与人的习惯想法一致(2)稳定性好(3)再利用性好(4)大型软件产品的开发很容易(5)维护性好。对象是面向对象的方法中最基本的概念,可以用来代表客观世界的所有实体,对象是实体的抽象。面向对象编

17、程方法的对象,是用于在系统中记述客观东西的实体,是构成系统的基本单位,由表示其静态特征的属性和其可执行的一系列操作构成。属性是对象中包含的信息,描述对象执行的功能,操作也称为方法和服务。对象的基本特征:(1)标志的唯一性(2)分类性(3)多态性(4)封装性(5)模块独立性好。类是具有共同属性和共同方法的对象的集合。 因此,类是对象的抽象,而对象是对应类的实例。消息是在一个实例和另一个实例之间传递的信息。(1)包括接收消息的对象的名称的(2)也称为消息标识符、消息名称的(3)零个或多个参数;所谓继承,就是能直接获得现有的性质和特征,没有必要重复定义它们。继承分为单继承和多继承。 单继承是指一个类只允许一个父类,多继承

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论