文档库 最新最全的文档下载
当前位置:文档库 › 2012-3-8二级c内部资料(上)

2012-3-8二级c内部资料(上)

2012-3-8二级c内部资料(上)
2012-3-8二级c内部资料(上)

51PASS 考证通2012 年3 月全国二级

公共基础

内部教程

(2012 年3 月打印版)

当前版本:2012-03-08

最新版本下载:https://www.wendangku.net/doc/1710366893.html,/

目录

第1 章算法与数据结构 ...........................................................................................- 5 -Point1:算法的基本概念................................................................................- 5 -出题趋势.....................................................................................................- 5 -

真题分析.....................................................................................................- 5 -Point2:数据结构的定义................................................................................- 7 -出题趋势.....................................................................................................- 7 -

真题分析.....................................................................................................- 7 -Point3:线性表、线性链表和循环链表.......................................................- 8 -出题趋势.....................................................................................................- 8 -

真题分析.....................................................................................................- 8 -Point4:栈、队列和循环队列......................................................................- 10 -出题趋势...................................................................................................- 10 -

真题分析...................................................................................................- 10 -Point5:线性链表、双向链表与循环链表.................................................- 15 -出题趋势...................................................................................................- 15 -

真题分析...................................................................................................- 15 -Point6:二叉树...............................................................................................- 17 -出题趋势...................................................................................................- 17 -

真题分析...................................................................................................- 18 -Point7:基本排序与查找的算法..................................................................- 23 -出题趋势...................................................................................................- 23 -

真题分析...................................................................................................- 24 -模拟测验....................................................................................................................- 27 -基础概念的测验...............................................................................................- 27 -数据结构的测验...............................................................................................- 29 -第3 章程序设计基础.............................................................................................- 31 -Point1:程序设计方法与风格......................................................................- 31 -出题趋势...................................................................................................- 31 -

真题分析...................................................................................................- 32 -Point2:结构化程序设计..............................................................................- 32 -出题趋势...................................................................................................- 32 -

真题分析...................................................................................................- 33 -Point3:面向对象的程序设计方法.............................................................- 34 -出题趋势...................................................................................................- 34 -

真题分析...................................................................................................- 35 -第4 章软件工程基础.............................................................................................- 36 -Point1:软件工程基本概念..........................................................................- 36 -出题趋势...................................................................................................- 36 -

真题分析...................................................................................................- 37 -Point2:软件定义阶段..................................................................................- 39 -出题趋势...................................................................................................- 39 -

真题分析...................................................................................................- 40 -Point3:软件设计阶段..................................................................................- 41 -出题趋势...................................................................................................- 41 -

真题分析...................................................................................................- 42 -Point4:软件测试...........................................................................................- 47 -出题趋势...................................................................................................- 47 -

真题分析...................................................................................................- 48 -Point5:程序的调试......................................................................................- 51 -出题趋势...................................................................................................- 51 -

真题分析...................................................................................................- 51 -第5 章数据库设计基础 .........................................................................................- 53 -Point1:数据库的基本概念..........................................................................- 53 -出题趋势...................................................................................................- 53 -

真题分析...................................................................................................- 55 -Point2:数据模型...........................................................................................- 59 -出题趋势...................................................................................................- 59 -

真题分析...................................................................................................- 60 -Point3:关系代数...........................................................................................- 64 -出题趋势...................................................................................................- 64 -

真题分析...................................................................................................- 65 -Point4:数据库设计与管理..........................................................................- 68 -出题趋势...................................................................................................- 68 -

真题分析...................................................................................................- 69 -

模拟测验....................................................................................................................- 71 -软件工程与数据库的测验 ..............................................................................- 71 -

第 1 章算法与数据结构Point1:算法的基本概念

出题趋势

考试日期出题次数05-4

1

05-9

1

06-9

1

07-3

1

08-4

1

09-9

1

10-3

1

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

(1) 算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。程序也可以作为算法的一种描述,但程序通常还要考虑程序运行时的环境限制等。

(2) 算法,是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。

2、算法的基本特征:

1212(1) 可行性,例如 10 +1-10 的问题

(2) 确定性,算法中每一步骤都必须有明确定义,不允许有模棱两可的解释,不允许有多义性;例在特殊情况时,数学公式是正确的,但计算机就是无法操作。

(3) 有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义。例如 1/3 的无理数问题。

(4) 拥有足够的情报。所有的各种可能情况都要考虑到。

3、一个算法的优劣将影响到算法乃至程序的效率。算法分析的目的在于选择合适算法和改进算法。一个算法的评价主要从时间复杂度和空间复杂度来考虑。

(1) 算法的时间复杂度是指执行算法所需要的计算工作量,可以执行算法的过程中所需要的基本运算的执行次数来度量。分析算法工作量的方法有:平均性态分析、最坏情况分析。

(2) 算法的空间复杂度是指执行这个算法所需要的内存空间。主要包括:算法程序所占的空间;输入的初始数据所占的空间;算法执行过程中所需要的额外空间。

真题分析

【真题1】算法的有穷性是指________。(2008 年 4 月)

A) B) C) D)算法程序的长度是有限的

算法只能被有限的用户使用

算法程序的运行时间是有限的

算法程序所处理的数据量是有限的

解析:算法的有穷性,是指算法必须能在有限的时间内做完,即算法必须能在执行有限个步骤之后终止。

答案:C 疑难解答→ https://www.wendangku.net/doc/1710366893.html,/gokznx

【真题2】问题处理方案的正确而完整的描述称为__【5】__。(2005 年 4 月)解析:算法是问题处理方案正确而完整的描述。

答案:算法疑难解答→ https://www.wendangku.net/doc/1710366893.html,/nagzqi

【真题3】算法的空间复杂度是指________。(2009 年 9 月)

A) B) C) D)算法程序中的语句或指令条数

算法在执行过程中所需要的临时工作单元数

算法在执行过程中所需要的计算机内部存储空间算法所处理的数据量

解析:算法的空间复杂度是指执行这个算法所需要的计算机内部存储空间(简称内存空间)。

答案:C 疑难解答→ https://www.wendangku.net/doc/1710366893.html,/cokzwj

【真题4】下列叙述中正确的是________。(2007 年 3 月)

A) B) C) D)数据的逻辑结构与存储结构是一一对应的

算法的时间复杂度与空间复杂度一定相关

算法的效率只与问题的规模有关,而与数据的存储结构无关算法的时间复杂度是指执行算法所需要的计算工作量

解析:算法的时间复杂度是指执行算法所需要的计算工作量。算法的工作量用算法所执行的基本运算次数来度量,而算法所执行的基本运算次数是问题规模的函数;算法的空间复杂度一般是指执行这个算法所需要的内存空间。算法的时间复杂度与空间复杂度并不相关。数据的逻辑结构就是数据元素之间的逻辑关系,它是从逻辑上描述数据元素之间的关系,是独立于计算机的;数据的存储结构是研究数据元素和数据元素之间的关系如何在计算机中表示,它们并非一一对应。算法的执行效率不仅与问题的规模有关,还与数据的存储结构有

关。

答案:D 疑难解答→ https://www.wendangku.net/doc/1710366893.html,/vxuzya

【真题5】下列叙述中正确的是________。(2006 年 9 月)

A) B) C) D)一个算法的时间复杂度大,则其空间复杂度必定小三种说法都不对

一个算法的空间复杂度大,则其时间复杂度也必定大一个算法的空间复杂度大,则其时间复杂度必定小

解析:1、时间复杂度是指一个算法执行时间的相对度量;空间复杂度是指算

法在运行过程中临时占用所需存储空间大小的度量。

2、人们都希望选择一个既省存储空间、又节省执行时间的算法。然而,有时为

了加快算法的运行速度,不得不增加空间开销;有时为了能有效地存储算法和

数据,又不得不牺牲运行时间。时间和空间的效率往往是一对矛盾,很难做到

两全。但是,这不适用于所有的情况,也就是说时间复杂度和空间复杂度之间

虽然经常矛盾,但是二者不存在必然的联系。

答案:B 疑难解答→ https://www.wendangku.net/doc/1710366893.html,/xlvzui

【真题6】算法复杂度主要包括时间复杂度和__【2】__复杂度。(2005 年 9 月)

解析:算法的复杂度主要包括时间复杂度和空间复杂度。所谓算法的时间复杂度,是指执行算法所需要的计算工作量。一个算法的空间复杂度,一般是指执行这个算法所需要的内存空间规模。

答案:空间疑难解答→ https://www.wendangku.net/doc/1710366893.html,/wawzyc

【真题7】算法的时间复杂度是指________。(2010 年 3 月)

A) B) C) D)算法程序中的语句或指令条数

算法在执行过程中所需要的基本运算次数算法的执行时间

算法所处理的数据量

解析:算法复杂度包括时间复杂度和空间复杂度,是衡量一个算法好坏的度量。算法的时间复杂度主要是基本运算次数。

答案:B 疑难解答→ https://www.wendangku.net/doc/1710366893.html,/rwpzsh

Point2:数据结构的定义

出题趋势

考试日期出题次数07-9

1

09-9

1

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

(1) 数据结构研究以下三个方面的问题:

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

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

③ 对各种数据结构进行的运算。

研究以上问题的主要目的是为了提高数据处理的效率(一是提高数据处理的速度,二是节省数据处理过程所占的空间。)

(2) 数据的逻辑结构反映数据元素之间的逻辑关系,即前、后件关系,分为线性结构(线性表、栈和队列)和非线性结构(树和图)。包含:

① 表示数据元素的信息;

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

(3) 数据的存储结构,是指数据逻辑结构在计算机存储空间中的存放形式,也称数据的物理结构。一般来说,一种数据逻辑结构根据需要可以表示成多种存储结构,常用的数据的存储结构有顺序、链接、索引等。

2、数据的逻辑结构与数据的存储结构不一定相同。一般来说,一种数据的逻辑结构根据需要可以表示成多种存储结构。常见的存储结构有顺序、链接、索引等。采用不同的存储结构,数据处理的效率是不相同的。

真题分析

【真题1】下列数据结构中,属于非线性结构的是________。(2009 年 9 月)

A) 二叉树

B) 带链栈

C) 循环队列

D) 带链队列

解析:线性结构,是最简单最常用的一种数据结构。线性结构的特点是结构中的元素之间满足线性关系,按这个关系可以把所有元素排成一个线性序列,

如:线性表、串、栈和队列都属于线性结构。而非线性结构是指在该类结构中至少存在一个数据元素,它具有两个或者两个以上的前件或后件,如树和二叉树等。

答案:A 疑难解答→ https://www.wendangku.net/doc/1710366893.html,/ljbzjv

【真题2】下列叙述正确的是________。(2007 年 9 月)

A) B) C) D)程序执行的效率只取决于所处理的数据量以上三种说法都不对

程序执行的效率与数据的存储结构密切相关程序执行的效率只取决于程序的控制结构

解析:影响程序执行效率的因素有很多,如数据的存储结构、程序处理的数据量、程序的算法等。顺序存储结构和链式存储结构在数据插入和删除操作上的效率就存在差别,其中,链式存储结构的效率要高一些。

答案:C 疑难解答→ https://www.wendangku.net/doc/1710366893.html,/rpgzrj

Point3:线性表、线性链表和循环链表

出题趋势

考试日期出题次数06-4

1

06-9

1

09-3

1

10-9

1

1、如果在一个数据结构中一个数据元素都没有,则称为空的数据结构。根据数据结构中各数据元素之间的前后件关系的复杂程度,分为线性结构与非线性结构。

2、如果一个非空的数据结构满足下列两个条件:①有且只有一个根结点;②每一个结点最多有一个前件,也最多有一个后件,则称该数据结构为线性结构。线性表是一个典型的线性结构。常见的有:线性表,栈,队列,循环队列和线性链表等。

3、不满足线性结构条件的数据结构,就是非线性结构。常见的有:数组、广义表、树、二叉树和图都是非线性结构。

4、在计算机内,线性表的存储结构有两种:顺序存储(称为线性表)和链式存储(线性链表)。线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构。

真题分析

【真题1】下列叙述中正确的是________。(2009 年 3 月)

A) 循环队列是非线性结构

B) 有序线性表既可以采用顺序存储结构,也可以采用链式存储结构

C) 栈是“先进先出”的线性表

D) 队列是“先进后出”的线性表

解析:主要考查了栈、队列、循环队列的概念,栈是“先进后出”的线性表,队列是“先进先出”的线性表。根据数据结构中各数据元素之间的前后件关系的复杂程度,一般将数据结构分为两大类型:线性结构与非线性结构。循环队列也是

线性结构。有序线性表既可以采用顺序存储结构,又可以采用链式存储结构。

答案:B 疑难解答→ https://www.wendangku.net/doc/1710366893.html,/qzuzeq

【真题2】数据结构分为线性结构和非线性结构,带链的队列属于__【5】__结构。(2006 年 9 月)

解析:数据结构分为线性结构和非线性结构,其中队列属于线性结构。队列有

两种存储结构,一种是顺序存储结构,称为顺序队列;另一种是链式存储结

构,称为带链队列。题目中所说的带链的队列就是指带链队列。无论队列采取

哪种存储结构,其本质还是队列,仍属于一种线性结构。因此,本题的正确答

案是线性结构。

答案:线性疑难解答→ https://www.wendangku.net/doc/1710366893.html,/uzhzcz

【真题3】下列叙述中正确的是________。(2006 年 4 月)

A) B) C) D)双向链表是非线性结构

只有根结点的二叉树是线性结构线性链表是线性表的链式存储结构栈与队列是非线性结构

解析:线性链表是线性表的链式存储结构。栈与队列是特殊的线性表,它们也是线性结构;双向链表是线性表的链式存储结构,其对应的逻辑结构也是线性结构,而不是非线性结构;二叉树是非线性结构,而不是线性结构。一个非空的数据结构如果满足下列两个条件:

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

(2)每一个结点最多有一个前件,也最多有一个后件,则称之为线性结构。

答案:C 疑难解答→ https://www.wendangku.net/doc/1710366893.html,/ggwzkf

【真题4】下列叙述中正确的是________。(2010 年 9 月)

A) B) C) D)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构上述三种说法都不对

线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构

解析:可以从存储密度的角度,比较链式存储结构和顺序存储结构的存储空间,所谓存储密度是指结点数据本身所占的存储量除以结点结构所占的存储总量所得的值。这个值越大,存储空间利用率越高。顺序表是静态分配的,其存储密度为1;而链式存储是动态分配的,其存储密度小于1。

答案:D 疑难解答→ https://www.wendangku.net/doc/1710366893.html,/pcuzjo

Point4:栈、队列和循环队列出题趋势

考试日期

出题次数05-

4

1

05-

9

1

06-

4

1

06-

9

1

07-

3

1

07-

9

1

08-

4

2

08-

9

2

09-

3

2

09-

9

2

10-

3

2

10-

9

2

1、栈(Stack)又称堆栈。

(1) 栈是一种运算受限的线性表,其限制是仅允许在表的一端进行插入和删除运算。人们把此端称为栈顶,栈顶的第一个元素被称为栈顶元素,相对地,把另一端称为栈底。向一个栈插入新元素又称为进栈或入栈,它是把该元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称为出栈或退栈,它是把栈顶元素删除掉,使其下面的相邻元素成为新的栈顶元素。

(2) 由于栈的插入和删除运算仅在栈顶一端进行,后进栈的元素必定先出栈,所以又把栈称为后进先出表(Last In First Out,简称 LIFO);先进栈的元素必定后出栈,所以又把栈称为先进后出表(First In Last Out,简称 FILO)。

2、队列(Queue)简称队。

(1) 队列也是一种运算受限的线性表,其限制是仅允许在表的一端进行插入操作,而在表的另一端进行删除操作。我们把允许插入的一端称作队尾(rear),允许删除的一端称作队首(front)。

(2) 向队列中插入新元素称为进队或入队,新元素进队后就成为新的队尾元素;从队列中删除队首元素称为离队或出队,该元素离队后,其后继元素就成为新的队首元素。

(3) 由于队列的插入和删除操作分别是在各自的一端进行的,每个元素必然按照进队的次序离队,所以又把队列称为先进先出表(First In First Out,简称 FIFO)。

3、循环队列。就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用,其实质还是顺序存储结构。

真题分析

【真题1】对于循环队列,下列叙述中正确的是________。(2009 年 9 月)

A) B) C) D)队头指针一定小于队尾指针

队头指针可以大于队尾指针,也可以小于队尾指针队头指针是固定不变的

队头指针一定大于队尾指针

解析:循环队列中,由于入队时尾指针向前追赶头指针;出队时头指针向前追

赶尾指针。所以队头指针可以大于队尾指针,也可以小于队尾指针。

答案:B 疑难解答→ https://www.wendangku.net/doc/1710366893.html,/ioszwd

【真题2】下列叙述中正确的是________。(2008 年 9 月)

A) 在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况

B) 循环队列中元素的个数是由队头指针和队尾指针共同决定

C) 循环队列有队头和队尾两个指针,因此循环队列是非线性结构

D) 在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况

解析:循环队列中元素的个数是由队头指针和队尾指针共同决定的,元素的动

态变化也是通过队头指针和队尾指针来反映的。

答案:B 疑难解答→ https://www.wendangku.net/doc/1710366893.html,/pbszpv

【真题3】设某循环队列的容量为50,头指针front=5(指向队头元素),尾指针rear=29(指向队尾元素),则该循环队列中共有__【3】__个元素。(2008 年 4月)

解析:在循环队列中因为头指针指向的是队头元素的前一个位置,所以是从第

6 个位置开始有数据元素,即计算从6 到29 之间有多少个元素,所以队列中的

数据元素的个数为:29-6+1 = 29-5 = 24。

答案:24 疑难解答→ https://www.wendangku.net/doc/1710366893.html,/lqkzic

【真题4】线性表的存储结构主要分为顺序存储结构和链式存储结构。队列是一种

特殊的线性表,循环队列是队列的__【3】__ 存储结构。(2007 年 9 月)

解析:队列的顺序存储结构一般采用循环队列的形式。所谓循环队列,就是将

队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队

列循环使用,其实质还是顺序存储结构。

答案:顺序疑难解答→ https://www.wendangku.net/doc/1710366893.html,/eudzzf

【真题5】下列对队列的叙述正确的是________。(2007 年 3 月)

A) B) C) D)队列在队尾删除数据

队列按“先进先出”原则组织数据队列属于非线性表

队列按“先进后出”原则组织数据

解析:队列(queue)是指允许在一端进行插入、而在另一端进行删除的线性

表。允许插入的一端称为队尾;允许删除的一端称为队头。在队列这种数据结

构中,最先插入的元素将最先能够被删除;反之,最后插入的元素将最后才能

被删除。因此,队列又称“先进先出”或“后进后出”的线性表。

答案:B 疑难解答→ https://www.wendangku.net/doc/1710366893.html,/hpxzmx

【真题6】一个队列的初始状态为空。现将元素A,B,C,D,E,F,5,4,3,2,1 依次入队,然后再依次退队,则元素退队的顺序为__【1】__。(2010 年 3 月)解析:对于队列来讲,是先进先出。

答案:A,B,C,D,E,F,5,4,3,2,1 疑难解答→ https://www.wendangku.net/doc/1710366893.html,/ihnzfo

【真题7】设某循环队列的容量为50,如果头指针front=45(指向队头元素的前一位置),尾指针rear=10(指向队尾元素),则该循环队列中共有__【2】__个元素。(2010 年 3 月)

解析:这次头指针在尾指针之后,因为是循环队列,所以应该是从46 到50,

再从 1 到10 构成了这个队列。

答案:15 疑难解答→ https://www.wendangku.net/doc/1710366893.html,/kxhzjq

【真题8】下列数据结构中,能够按照“先进后出”原则存取数据的是

________。(2009 年 9 月)

A) B) C) D)队列

二叉树循环队列栈

解析:由于栈的插入和删除运算仅在栈顶一端进行,后进栈的元素必定先出

栈,所以栈被称为后进先出表(Last In First Out,简称LIFO);先进栈的元素

必定后出栈,所以又把栈称为先进后出表(First In Last Out,简称FILO)。

答案:D 疑难解答→ https://www.wendangku.net/doc/1710366893.html,/zapzqg

【真题9】假设用一个长度为50 的数组(数组元素的下标从0 到49 作为栈的存储空间,栈底指针bottom 指向栈底元素,栈顶指针top 指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有__【1】__个元素。(2009 年 3 月)

解析:栈底指针到栈顶指针就是当前栈中的所有元素的个数。(注意,此处最容

易错误的算成19)

答案:20 疑难解答→ https://www.wendangku.net/doc/1710366893.html,/wdszvg

【真题10】支持子程序调用的数据结构是________。(2009 年 3 月)

A) B) C) D)队列二叉树栈

解析:这个部分的知识超过了教材的范围,但考试也考到过。下面的解析很多

同学反应不能理解,建议大家记住答案就可以了。

栈是一种限定在一端进行插入与删除的线性表。在主函数调用子函数时,要

首先保存主函数当前的状态,然后转去执行子函数,把子函数的运行结果返回

到主函数调用子函数时的位置,主函数再接着往下执行,这种过程符合栈的特

点。所以一般采用栈式存储方式。

答案:C 疑难解答→ https://www.wendangku.net/doc/1710366893.html,/teszhv

【真题11】一个栈的初始状态为空,现将元素1、2、3、4、5、A、B、C、D、E 依次入栈,然后再依次出栈,则元素出栈的顺序是________。(2008 年 9 月)

A) B) C) D)ABCDE12345 54321EDCBA 12345ABCDE EDCBA54321

解析:栈是按照“先进后出”或“后进先出”的原则组织数据的。所以出栈顺序是EDCBA54321。

答案:D 疑难解答→ https://www.wendangku.net/doc/1710366893.html,/qqczvj

【真题12】下列关于栈的叙述正确的是________。(2008 年 4 月)

A) B) C) D)只能在栈底插入数据

不能删除数据

栈按“先进先出”组织数据栈按“先进后出”组织数据

解析:栈是限定在顶端进行数据插入和删除的线性表,允许进行插入和删除元

素的一端称为栈顶,另一端称为栈底。栈是按照“先进后出”的原则组织数据的。

答案:D 疑难解答→ https://www.wendangku.net/doc/1710366893.html,/czbzkh

【真题13】按“先进后出”原则组织数据的数据结构是__【4】__ 。(2006 年 9月)

解析:栈和队列是两种特殊的线性表,其特殊性在于对它们的操作只能在表的

端点进行。栈中的数据按照后进先出的原则进行组织,而队列中的数据是按照

先进先出的原则进行组织。

答案:栈疑难解答→ https://www.wendangku.net/doc/1710366893.html,/ggszkb

【真题14】按照“后进先出”原则组织数据的数据结构是________。(2006 年 4月)

A) B) C) D)双向链表二叉树队列

解析:“后进先出”表示最后被插入的元素最先能被删除。“后进先出”表示最后

被插入的元素最先能被删除。

1、队列是指允许在一端进行插入、而在另一端进行删除的线性表,在队列这种

数据结构中,最先插入的元素将最先能够被删除,反之,最后插入的元素将最

后才能被删除,队列又称为“先进先出”的线性表,它体现了“先来先服务”的原则;

2、栈顶元素总是最后被插入的元素,从而也是最先能被删除的元素,栈底元素

总是最先被插入的元素,从而也是最后才能被删除的元素。队列和栈都属于线

性表,它们具有顺序存储的特点,所以才有“先进先出”和“后进先出”的数据组织方式。

3、双向链表使用链式存储方式,二叉树也通常采用链式存储方式,它们的存储

数据的空间可以是不连续的,各个数据结点的存储顺序与数据元素之间的逻辑关系可以不一致。

答案:D 疑难解答→ https://www.wendangku.net/doc/1710366893.html,/ztyzwu

【真题15】下列关于栈的描述正确的是________。(2005 年 9 月)

A) B) C) D)栈是特殊的线性表,只能在一端插入或删除元素

栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素在栈中只能插入元素而不能删除元素

在栈中只能删除元素而不能插入元素

解析:栈是一种特殊的线性表,其插入与删除运算都只在线性表的一端进行。

答案:A 疑难解答→ https://www.wendangku.net/doc/1710366893.html,/khhzsg

【真题16】下列关于栈的描述中错误的是________。(2005 年 4 月)

A) B) C) D)栈具有记忆作用

对栈的插入与删除操作中,不需要改变栈底指针栈是先进后出的线性表

栈只能顺序存储

解析:本题考核栈的基本概念,我们可以通过排除法来确定本题的答案。

1、栈是限定在一端进行插入与删除的线性表,栈顶元素总是最后被插入的元

素,从而也是最先能被删除的元素。

2、栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素,即栈是

按照“先进后出”或“后进先出”的原则组织数据的,这便是栈的记忆作用。

3、对栈进行插入和删除操作时,栈顶位置是动态变化的,栈底指针不变。

答案:D 疑难解答→https://www.wendangku.net/doc/1710366893.html,/bjnzda

【真题17】下列叙述中正确的是________。(2010 年 9 月)

A) B) C) D)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化上述三种说法都不对

在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化

在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化

解析:栈是限定仅在一端进行插入和删除操作的线性表。允许插入和删除的一

端叫做栈顶,另一端叫做栈底,因此栈中元素随栈顶指针的变化而动态变化,

而栈底指针不变。

答案:A 疑难解答→ https://www.wendangku.net/doc/1710366893.html,/neuzde

【真题18】一个栈的初始状态为空。首先将元素5,4,3,2,1 依次入栈,然后退栈一次,再将元素A,B,C,D 依次入栈,之后将所有元素全部退栈,则所有元素退栈(包括中间退栈的元素)的顺序为__【1】__。(2010 年 9 月)

解析:本题主要考查栈的出入操作。栈是一种先进后出的数据结构。题目告诉

我们将5,4,3,2,1 依次入栈,然后退栈一次,很显然这时退栈的是1,接

着将A,B,C,D 入栈,然后全部退栈,其栈中各元素的退栈顺序是DCBA2345。所以最后出栈的顺序应该是1DCBA2345。

答案:1DCBA2345 疑难解答→ https://www.wendangku.net/doc/1710366893.html,/kxnzji Point5:线性链表、双向链表与循环链表

出题趋势

考试日期出题次数05-4

2

05-9

2

07-9

1

08-9

1

1、数据结构中,每个数据存储在一个存储单元中,这个存储单元称为结点。在链式存储方式中,要求每个结点由两部分组成:—部分用于存放数据元素值,称为数据域;另一部分用于存放指针,称为指针域。其中指针用于指向该结点的前一个或后一个结点(即前件或后件)。

2、线性链表:线性表的链式存储结构,称为线性链表。

(1) 对于大的线性表,特别是元素变化频繁的线性表不宜采用顺序存储结构,而要用链

式存储结构。

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

结点。

(3) 结点由两部分组成:(1)用于存储数据元素值,称为数据域;(2)用于存放指针,称

为指针域,用于指向前一个或后一个结点。

(4) 在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序

与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。

(5) 链式存储方式既可用于表示线性结构,也可用于表示非线性结构。

(6) 线性链表,HEAD 称为头指针,HEAD=NULL(或 0)称为空表。

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

3、双向链表:两指针:左指针(Llink)指向前件结点,右指针(Rlink)指向后件结点。

4、循环链表的两个特点:

(1) 增加了一个表头结点。

(2) 最后一个结点的指针域不是空,而是指向表头结点。

真题分析

【真题1】下列叙述中正确的是________。(2008 年 9 月)

A) 顺序存储结构能存储有序表,链式存储结构不能存储有序表

B) 链式存储结构比顺序存储结构节省存储空间

C) 顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是

连续的

D) 顺序存储结构只针对线性结构,链式存储结构只针对非线性结构

解析:顺序存储方式主要用于线性的数据结构,它把逻辑上相邻的数据元素存

储在物理上相邻的存储单元里,结点之间的关系由存储单元的邻接关系来体

现。而链式存储结构的存储空间不一定是连续的。

链式结构的结点由两部分组成,一部分是数据信息,另一部分是地址域,因

此在存储空间上要多于顺序存储所占用的空间。

答案:C 疑难解答→ https://www.wendangku.net/doc/1710366893.html,/rdnzkd

【真题2】下列叙述中正确的是________。(2007 年 9 月)

A) 程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理

线性结构

B) 三种说法都不对

C) 数据的逻辑结构与存储结构必定是一一对应的

D) 由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定

是线性结构

解析:数据的逻辑结构是指反映数据元素之间逻辑关系的数据结构。数据的逻

辑结构在计算机存储空间中的存放形式称为数据的存储结构(也称数据的物理结

构)。一般来说,一种数据的逻辑结构根据需要可以表示成多种存储结构,常用

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

答案:B 疑难解答→ https://www.wendangku.net/doc/1710366893.html,/kjczov

【真题3】下列叙述中正确的是________。(2005 年 9 月)

A) 一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处

理的效率

B) 一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理

的效率

C) 一个逻辑数据结构只能有一种存储结构

D) 数据的逻辑结构属于线性结构,存储结构属于非线性结构

解析:一般来说,一种数据的逻辑结构根据需要可以表示成多种存储结构,常

用的存储结构有顺序、链接、索引等存储结构。而采用不同的存储结构,其数

据处理的效率是不同的。

答案:B 疑难解答→ https://www.wendangku.net/doc/1710366893.html,/jemzya

【真题4】数据结构分为逻辑结构和存储结构,循环队列属于__【5】__结构。(2005 年 9 月)

解析:数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构(也

称数据的物理结构)。所谓循环队列,就是将队列存储空间的最后一个位置绕到

第一个位置,形成逻辑上的环状空间,供队列循环使用。可知,循环队列应当

是存储结构。

答案:存储疑难解答→ https://www.wendangku.net/doc/1710366893.html,/qobzem

【真题5】数据的存储结构是指________。(2005 年 4 月)

A) 数据在计算机中的顺序存储方式

B) 数据的逻辑结构在计算机中的表示

C) 存储在外存中的数据

D) 数据所占的存储空间量

解析:数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构,也称数据的物理结构。

答案:B 疑难解答→ https://www.wendangku.net/doc/1710366893.html,/slizkz

【真题6】下列对于线性链表的描述中正确的是________。(2005 年 4 月)

A) B) C) D)存储空间必须连续,且前件元素一定存储在后件元素的前面

存储空间必须连续,且各元素的存储顺序是任意的

存储空间不一定是连续,且各元素的存储顺序是任意的

存储空间不一定是连续,且前件元素一定存储在后件元素的前面

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

答案:C 疑难解答→ https://www.wendangku.net/doc/1710366893.html,/vuizeg

Point6:二叉树

出题趋势

考试日期

出题次数05-

4

1

05-

9

1

06-

4

2

06-

9

1

07-

3

3

07-

9

2

08-

4

1

08-

9

1

09-

3

1

09-

9

1

10-

3

1

10-

9

1

1、树

树是一种简单的非线性结构,所有元素之间具有明显的层次特性。

在树结构中,每一个结点只有一个前件,称为父结点,没有前件的结点只有一个,称

为树的根结点,简称树的根。每一个结点可以有多个后件,称为该结点的子结点。没有后件的结点称为叶子结点。

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

为树的度。树的最大层次称为树的深度。

2、二叉树:度为 2 的树就是二叉树。

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

3、二叉树的性质

i-1(1) 在二叉树中,第 i 层的结点总数不超过 2 (i ≥ 1)。

h-1(2) 深度为 h 的二叉树总计最多有 2 个结点(h≥1),最少有 h 个结点。

(3) 对于任意一棵二叉树,如果其叶子结点数为 N0,而度数为 2 的结点总数为 N2,则N0=N2+1,即叶子数总比度为 2 的节点数多 1。

(4) 具有 n 个结点的完全二叉树的深度为 int(log2n)+1。

(5) 有 N 个结点的完全二叉树各结点如果用顺序方式存储,则结点之间有如下关系:

若 k 为结点编号,则如果 k <> 1,则其父结点的编号为 k/2;

如果 2 x k <= N,则其左孩子(即左子树的根结点)的编号为 2k;若 2 x k > N,则无左孩子; 如果 2 x k + 1 <= N,则其右孩子的结点编号为 2k+1;若 2k+1>N,则无右孩子。

3、完全二叉树和满二叉树

(1) 完全二叉树:只有最下面的两层结点度小于 2,并且最下面一层的结点都集中在该层最左边的若干位置的二叉树;

(2) 满二叉树:除了叶子结点外每一个结点都有左右子女且叶子结点都处在最低层的二叉树。

4、遍历是对树的一种最基本的运算。所谓遍历二叉树,就是按一定的规则和顺序走遍二叉树的所有结点,使每一个结点都被访问一次,而且只被访问一次。由于二叉树是非线性结构,因此,树的遍历实质上是将二叉树的各个结点转换成为一个线性序列来表示。设 L、D、R 分别表示遍历左子树、访问根结点和遍历右子树,则对一棵二叉树的遍历有三种情况:DLR(称为先根次序遍历,简称前序遍历),LDR(称为中根次序遍历,简称中序遍历),LRD(称为后根次序遍历,简称后序遍历)。

(1) 前序遍历:访问根;按先序遍历左子树;按先序遍历右子树。

(2) 中序遍历:按中序遍历左予树;访问根;按中序遍历右子树。

(3) 后序遍历:按后序遍历左予树;按后序遍历右子树;访问根。

真题分析

【真题1】某二叉树有 5 个度为 2 的结点,则该二叉树中的叶子结点数是

________。(2009 年 3 月)

A) B) C) D)6 4 10 8

解析:根据二叉树的性质,在任意二叉树中,度为0 的结点(即叶子结点)总是

比度为 2 的结点多一个。

答案:A 疑难解答→ https://www.wendangku.net/doc/1710366893.html,/couzkg

【真题2】深度为 5 的满二叉树有__【2】__个叶子节点。(2008 年 4 月)解析:在二叉树中,深度为N 的满二叉树的叶子结点数目为:2(N-1)。

答案:16 疑难解答→ https://www.wendangku.net/doc/1710366893.html,/etlzim

【真题3】一棵二叉树中共有70 个叶子节点与80 个度为 1 的结点,则该二叉树总结点数为________。(2007 年 9 月)

A) 229

B) 231

C) 219

D) 221

解析:在二叉树中,叶子结点个数为n0,则度为 2 的结点数n2 = n0-1。本题中叶子结点的个数为70,所以度为 2 的结点个数为69,因而总结点数=叶子结点数+度为 1 的结点数+度为 2 的结点数=70+80+69=219。

答案:C 疑难解答→ https://www.wendangku.net/doc/1710366893.html,/irkzpg

【真题4】某二叉树中有n 个度为 2 的结点,则该二叉树中的叶子结点数为________。(2007 年 3 月)

A) B) C) D)2n n/2 n+l n-1

解析:在任意一棵二叉树中,度为0 的结点(即叶子结点)总是比度为 2 的结点多一个。所以该二叉树的叶子结点数等于n+1。

答案:C 疑难解答→ https://www.wendangku.net/doc/1710366893.html,/ljqzom

【真题5】在深度为7 的满二叉树中,度为 2 的结点个数为__【1】__。(2007年 3 月)

解析:一棵深度为7 的满二叉树,其结点个数为27-1=127,又因为叶子结点个数N0 和度为 2 的结点个数N2 的关系是N0 = N2+1,所以总结点数是

N0+N2 = 2N2+1=127,所以度为2 的结点个数等于63。

答案:63 疑难解答→ https://www.wendangku.net/doc/1710366893.html,/hldzsy

【真题6】在深度为7 的满二叉树中,叶子结点的个数为________。(2006 年 4月)

A) B) C) D)64 63 32 31

解析:在二叉树的第k 层上,最多有2(k-1) (k≥1)个结点。对于满二叉树来

说,每一层上的结点数都达到最大值,即在满二叉树的第k 层上有2(k-1)个结点。因此,在深度为7 的满二叉树中,所有叶子结点在第7 层上,即其结点数为2(k-1) = 2(7-1) = 26 = 64。

答案:A 疑难解答→ https://www.wendangku.net/doc/1710366893.html,/tyjzit

【真题7】一棵二叉树第六层(根结点为第一层)的结点数最多为__【4】__个。(2005 年 9 月)

解析:二叉树的一个性质是,在二叉树的第k 层上,最多有2(k-1)(k>=1)个节点。由此,2(6-1) = 25 = 32。所以答案为32。

答案:32 疑难解答→ https://www.wendangku.net/doc/1710366893.html,/txszyi

【真题8】某二叉树中度为 2 的结点有18 个,则该二叉树中有__【1】__个叶子结点。(2005 年 4 月)

解析:二叉树具有如下性质:在任意一棵二叉树中,度为0 的结点(即叶子结点)总是比度为 2 的结点多一个。根据题意,度为 2 的节点为18 个,那么,叶子结点就是19 个。

答案:19 疑难解答→ https://www.wendangku.net/doc/1710366893.html,/mbqzzs

【真题9】下列二叉树进行中序遍历的结果是__【1】__。

(2008 年 9 月)

解析:中序遍历是指先遍历左子树,然后访问根结点,最后遍历右子树;并

且,在遍历左、右子树时,仍然先遍历左子树,然后访问根结点,最后遍历右

子树。所以中序遍历的结果是DBXEAYFZC。

答案:DBXEAYFZC 疑难解答→ https://www.wendangku.net/doc/1710366893.html,/vewzdc

【真题10】对下列二叉树进行中序遍历的结果是__【4】__。

(2007 年 9 月)

全国计算机等级考试二级C语言真题

2009年3月二级C语言笔试真题((1)—(10)每小题2分,(11)—(50)每题1分,共60分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。 (1)下列叙述中正确的是 A)栈是“先进先出”的线性表 B)队列是“先进先出”的线性表 C)循环队列是非线性结构 D)有序性表既可以采用顺序存储结构,也可以采用链式存储结构 (2)支持子程序调用的数据结构是 A)栈B)树C)队列D)二叉树 (3)某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是 A)10B)8C)6D)4 (4)下列排序方法中,最坏情况下比较次数最少的是 A)冒泡排序 B)简单选择排序 C)直接插入排序 D)堆排序 (5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是 A)编译软件 B)操作系统 C)教务管理系统 D)汇编程序 (6)下面叙述中错误的是 A)软件测试的目的是发现错误并改正错误 B)对被调试的程序进行“错误定位”是程序调试的必要步骤 C)程序调试通常也称为Debug D)软件测试应严格执行测试计划,排除测试的随意性 (7)耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是 A)提高耦合性降低内聚性有利于提高模块的独立性 B)降低耦合性提高内聚性有利于提高模块的独立性

C)耦合性是指一个模块内部各个元素间彼此结合的紧密程度D)内聚性是指模块间互相连接的紧密程度 (8)数据库应用系统中的核心问题是 A)数据库设计 B)数据库系统设计 C)数据库维护 D)数据库管理员培训 (9)有两个关系R,S如下: 由关系R通过运算得到关系S,则所使用的运算为 A)选择B)投影C)插入D)连接 (10)将E-R图转换为关系模式时,实体和联系都可以表示为A)属性B)键C)关系D)域 (11)以下选项中合法的标识符是 A)1-1B)1—1C)-11D)1-- (12)若函数中有定义语句:intk;,则 A)系统将自动给k赋初值0 B)这时k中值无定义 C)系统将自动给k赋初值-1 D)这时k中无任何值 (13)以下选项中,能用作数据常量的是 A)o115B)0118C))115L (14)设有定义:intx=2;,以下表达式中,值不为6的是A)x*=x+1 B)x++,2*x C)x*=(1+x)

浙江省计算机二级c语言上机考试真题版

浙江省二级c语言上机考试真题 介绍:浙江省二级c语言考试分为笔试和上机考试两块.取笔试和上机中分数较低的那个作为计算机二级的最终成绩,最后证书上按档次划分等级,其中60-79及格,80-89良好,90-100优秀。 笔试部分分两块,一块是24道选择题(六道程序题,每题中间有四个空,每空有四个选项供选择),浙江省的计算机笔试选择题不考概念性内容,所以大家不用费心,另一块是程序编写,手写两个完整程序,一道循环数组(结合),一道是函数或指针。 上机部分分两块,一块是计算机基本操作,即从access,ppt,excel,outlook,word,网页制作,文件夹操作中随机选择四道,另一块是编程,编程题可以打开编程软件c-free来做,编程中共五道题,一道改错,两道填空,最后两道是编写程序。 (一)程序改错: 1,10个数求最大最小值

该程序中“/***** N ***** /”的下一行中有错误, 请改正(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:运行时输入10个数,然后分别输出其中的最大值、最小值。#include void main() { float x,max,min; int i; /******** 1 *******/ for(i=0;i<=10;i++) { scanf("%f",&x); /******* 2 ********/ if(i=1) { max=x;min=x;} if(x>max) max=x; if(x } printf("%f,%f\n",max,min); } ?#include ?int main() ?{ float x,max,min; int i; ?/******** 1 *******/

计算机二级c语言历年真题及答案

计算机二级c语言历年真题及答案【篇一:国家计算机二级c语言历年真题及答案】 class=txt>c语言程序设计 (考试时间90分钟,满分100分) 一、选择题((1)—(10)、(21)—(40)每题2分,(11)—(20)每题1分,共70分) (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) 可封装 d) 自顶向下

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)阅读以下程序

03年浙江省计算机等级考二级(C语言)

2003年秋浙江省高校非计算机专业学生 计算机等级考试试卷(二级C) 说明:⑴考生应将试题一至试题三的答案涂在答题卡上,将第四、五题的答案填写在答卷上,否则作无效处理; ⑵请将你的准考证号的后四位填写在答卷右下角的指定位置内; ⑶考试时间为120分钟。 试题一、计算机基础题(本题共15分) (一)单选题(每小题1分,共10分) (1)计算机网络最突出的优点是(1)。 A、运算速度快 B、精度高 C、共享硬件、软件和数据资源 D、内存容量大 (2)在微型计算机的设备中,访问速度最快的是(2)。 A、软盘 B、硬盘 C、内存储器 D、CD-ROM (3)操作系统的主要功能是(3)。 A、对计算机系统的所有资源进行控制与管理 B、实现多用户及分布式处理 C、扩充计算机的功能 D、对硬件资源进行分配、控制、调度和回收 (4)Internet与WWW的关系是(4)。 A、都是因特网,只是名称不同 B、Internet就是WWW C、Internet与WWW完全没有关系 D、WWW是Internet上的一个应用(5)在Windows 98环境下,下面关于附件中应用程序的说法,(5)是不正确的。 A、写字板可以编辑文本文件 B、写字板的缺省扩展名为.DOC C、计算器中的计算结果,可以粘贴到文档文件中 D、记事本中设置的显示字体,将保存在文本文件中,当使用Word读入该文件时, 仍具有所设置的字体 (6)在Word编辑文本时,将文档中所有的“memory”都改成“存储器”,最快捷的方法是采用(6)操作。 A、中英文转换 B、替换 C、改写 D、翻译 (7)以下几种关于消除计算机病毒的说法中,正确的是(7)。 A、专门的杀毒软件并非总是有效的 B、删除所有带毒文件能消除所有病毒 C、对感染上病毒的软盘,格式化既能消除病毒,又能使数据不受破坏 D、要一劳永逸地使计算机不感染病毒,最好的方法是装上防病毒卡 (8)实现汉字字形表示的方法,一般可分为(8)两大类。

C语言二级考试试题及答案

1.若i,j和k都是int型变量,则表达式(i=4,j=16,k=32,i=j)的值为 A. 4 B. 16 C. 32 D. 52 2.若有函数内部说明:int a[3][4];则数组a中各元素 A. 可在程序的运行阶段得到初值0 B. 可在程序的编译阶段得到初值0 C. 不能得到确定的初值 D. 可在程序的编译或运行阶段得到初值0 3.一个C语言程序是由 A. 一个主程序和若干子程序组成 B. 函数组成 C. 若干过程组成 D. 若干子程序组成 4.若有说明 int a[2][4];则a数组元素的非法引用是 A. a[0][2*1] B. a[1][3] C. a[4-3][0] D. a[0][4] 5.阅读下面程序,则执行后的输出结果是___。 #include "stdio.h" main() {int x,y,z; x=1;y=2;z=3; if(x>y)if(x>z)printf("%d",x); else printf("%d",y); printf("%d\n",z); } A. 0 B. 1 C. 2 D. 3 6.下面程序的输出结果为 main() { int a,b;b=(a=3*5,a*4,a*5); printf("%d",b ;} A. 60 B. 75 C. 65 D. 无确定值 7.下列选项中不是结构化程序基本结构的是 A. 顺序结构 B. 跳转分支结构 C. 选择结构 D. 循环结构 8.所有C函数的结构都包括的三部分是 A. 语句、花括号和函数体 B. 函数名、语句和函数体 C. 函数名、形式参数和函数体 D. 形式参数、语句和函数体 9.设int a=5,b=6,表达式(--b==6)?++a:--b的值是___ A. 5 B. 6 C. 7 D. 4 10.下列叙述中不是C语言的特点的是______。 A. 简洁、紧凑,使用方便、灵活,易于学习和应用 B. C语言是面向对象的程序设计语言 C. C语言允许直接对位、字节和地址进行操作 D. C语言数据类型丰富、生成的目标代码质量高 11.下列关于C语言注释的叙述中错误的是______。 A. 以“/*”开头并以“*/”结尾的字符串为C语言的注释符 B. 注释可出现在程序中的任何位置,用来向用户提示或解释程序的意义 C. 程序编译时,不对注释作任何处理 D. 程序编译时,需要对注释进行处理 12.s1和s2已正确定义并分别指向两个字符串。 若要求:当s1所指串大于s2所指串时,执行语句S;则以下选项中正确的是 A. if(s1>s2)S; B. if(strcmp (s1,s2))S; C. if(strcmp(s2,s1)>0) S; D. if(strcmp (s1,s2)>0)S; 13.设i,j,k均为int型变量,则执行完下面的for语句后,k的值为___ 。 for(i=0, j=10; j>=i; i++, j--) k=i+j; A. 10 B. 20 C. 8 D. 0 14.已知:int c[3][4];则对数组元素引用正确的是 A. c[1][4] B. c[1.5][0] C. c[1+0][0]

新版计算机二级C语言测试题及答案解析

计算机二级C语言测试题及答案解析计算机二级C语言测试题及答案解析 C语言的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,下面给大家整理了计算机二级C语言测试题及答案,欢迎阅读! 计算机二级C语言测试题及答案解析 1.(A )是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从 C 开始执行。 A、程序中第一条可执行语句 B、程序中第一个函数 C、程序中的main函数 D、包含文件中的第一个函数 3、以下说法中正确的是( C )。

A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是( B ) 。 A、 C程序的工作过程是编辑、编译、连接、运行 B、 C语言不区分大小写。 C、 C程序的三种基本结构是顺序、选择、循环 D、C程序从main函数开始执行 5.下列正确的标识符是(C )。 A、-a1 B、a[i] C、a2_i D、int t 5~8题为相同类型题 考点:标识符的命名规则 只能由字母、数字、下划线构成

数字不能作为标识符的开头 关键字不能作为标识符 选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int 为关键字,不满足(3) 6.下列C语言用户标识符中合法的是(B )。 A、3ax B、x C、case D、-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是( C )。 A、 %x B、a+b C、a123 D、123 选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)

浙江计算机二级考试(C语言)上机试题

二级考试(C语言)上机试题1.三个数比较大小。 #include void swap(______1______) //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(______2______) //a>b swap(&a,&b); printf("%d,%d,%d",a,b,c); } 2.表达式求和。 #include #include void main() { FILE *fp; float n=1,t=1,pi=0; int i; // 从以下开始答题 i=1; while(fabs(t)>=1e-6) { pi=pi+t; i=-i; n=n+2; t=i/n; } fp=fopen("Design1.dat","w"); fprintf(fp,"%.6f",4*pi); fclose(fp); } 运行结果:3.141594 3.字母后移循环输出。

#include void main() { char c; c=getchar(); if(______1______) // c>='a' && c<'v' c=c+5; else if (c>='v' && c<='z') ______2______ // c=c-21; putchar(c); } 4.求满足条件的数。 #include #include void main() { float y=1.05; int n=1; FILE *p; // 以下开始做答 while(!(pow(y,n)<1e6 && pow(y,n+1)>1e6)) n++; p=fopen("Design2.dat","w"); fprintf(p,"%d,%.0f",n,pow(1.05,n)); fclose(p); } 运行结果:283,992137 5.求满足条件的数。 #include void main() { int m=0,t=1,n; while( _____ 1 ________); // (scanf("%d",&n),n<=0) while(!(t<=n&&t*2>=n)){ _____ 2 _____ // t=t*2; m++; } printf("%d\n",m); } 6.求平面点间的最短距离。

历年全国计算机二级C语言试题库完整

. . . . 参考 50道C 语言知识题 1.以下叙述中正确的是 A)用C 程序实现的算法必须要有输入和输出操作 B)用C 程序实现的算法可以没有输出但必须要有输入 C)用C 程序实现的算法可以没有输入但必须要有输出 D)用C 程序实现的算法可以既没有输入也没有输出 2.下列可用于C 语言用户标识符的一组是 A)void,define,WORDB)a3_3,_123,Car C)For,-abc,IFCaseD)2a,DO,sizeof 3.以下选项中可作为C 语言合法常量的是 A)-80B)-080C)-8e1.0D)-80.0e 4.若有语句:char*line[5];,以下叙述中正确的是 A)定义line 是一个数组,每个数组元素是一个基类型为char 为指针变量 B)定义line 是一个指针变量,该变量可以指向一个长度为5的字符型数组 C)定义line 是一个指针数组,语句中的*号称为间址运算符 D)定义line 是一个指向字符型函数的指针 5.以下定义语句中正确的是 A)inta=b=0;B)charA=65+1,b=′b′; 6.有以下程序段 charch;intk; ch=′a′; k=12; printf("%c,%d,",ch,ch,k);printf("k=%d\n",k); 已知字符a 的ASCII 码值为97,则执行上述程序段后输出结果是 A)因变量类型与格式描述符的类型不匹配输出无定值 B)输出项与格式描述符个数不符,输出为零值或不定值 C)a,97,12k=12 D)a,97,k=12 7.有以下程序 main() {inti,s=1; for(i=1;i<50;i++) if(!(i%5)&&!(i%3))s+=i; printf("%d\n",s);} 程序的输出结果是 A)409B)277C)1D)91 8.当变量c 的值不为2、4、6时,值也为"真"的表达式是 A)(c==2)||(c==4)||(c==6) B)(c>=2&&c<=6)||(c!=3)||(c!=5) C)(c>=2&&c<=6)&&!(c%2) D)(c>=2&&c<=6)&&(c%2!=1) 9.若变量已正确定义,有以下程序段

浙江省计算机二级C语言历年试卷

浙江省计算机二级C语言历年试卷

一、程序填空 (1)找Armstrong(水仙花)数:371=3*3*3+7*7*7+1*1*1 b=i_x0010_0/10;

a*a*a+b*b*b+c*c*c = = i (2)输入1个整数后,输出该数的位数。(例:输入3214则输出4,输入-23156则输出5)。 n!=0 n=n/10 (3)求输入的整数各位数字之和,如输入234则输出9,输入-312则输出6。if (n<0) n=-n; s+=n_x0010_; (4)调用函数f,将一个整数首尾倒置。例如:若程序输入12345,则输出54321;若程序输入-34567,则输出-76543。 return -y ; m=m/10 ; (5)调用函数f,从字符串中删除所有的数字字符。 strcpy else

(6)调用find函数在输入的字符串中查找是否出现the这个单词。如果查到返回出现的次数,如果未找到返回0。 j=0; j<3; j++ j>=3

(7)输入的一个小写字母,将字母循环后移5个位置后输出。例如:a变成f,w 变成b。 c>='a'&&c<='u' c=(c-'a'+5)&+'a'; (8)将字符串s中所有的字符'c'删除。s[i] != '\0' j++; (9)对x=1,2,……,10,求 f(x)=x*x-5*x+sin(x)的最大值。max=f(1); if (f(x)>max) max=f(x); (10)输入三个整数,按由小到大的顺序输出这三个数。 int *pa, int *pb if ( a>b ) (11)调用函数f,去除数组中的负数,输入数组x[7],输出结果为:1 3 4 6

浙江省高校计算机等级考试大纲(二级 C语言程序设计大纲

二级C程序设计考试大纲 基本要求 1.掌握C语言的基本知识,包括C语言的功能和语法;2.基本具备C语言程序设计能力,能熟练地阅读、理解和编写简短的C程序; 3.掌握一种C语言的编译和编程环境,能熟练地调试程序;4.熟练掌握结构化程序设计的方法; 5.掌握程序设计中常用的基本算法。 考试范围 一、数据的定义 1.基本类型(整型,实型,字符型) (1)常量 各种表示形式的整数、实数和字符(串)常量,符号常量 的定义和使用,包括整数的十进制、八进制和十六进制 的表示形式、长整型常量的表示形式,实数的浮点表示 法和科学记数法,字符的转义序列,常用符号常量的含 义(如NULL、EOF等); (2)变量 变量的定义和初始化。

2.构造类型 (1)数组 一维和二维数组的定义和初始化,数组元素的引用,包括一维字符数组和字符串,二维字符数组和字符串数组。 (2)结构 结构类型的定义,结构变量的定义和初始化,结构变量成员的引用。 3.指针 (1)指针和地址的概念; (2)指针变量的定义和初始化; (3)通过指针引用指向实体。 4.构造类型和指针类型的混合定义及应用 (1)指针、数组和地址间的关系; (2)指针数组; (3)结构数组; (4)结构指针; (5)结构中含指针或数组; (6)指向指针的指针(即二级指针)。 5.空类型的定义和使用 6.变量的存储类别、作用域和生存期 (1)变量的存储类别,包括auto自动型、static静

态型、extern外部参照型; (2)全局变量和局部变量,包括自动局部变量和静态局 部变量、全局变量和静态全局变量、外部变量。 二、运算及流程控制 1.基本运算 运算符的功能,运算符的优先级、结合性和目数,隐式类型转换和强制类型转换。 2.表达式 各类表达式的组成规则和计算过程。 3.语句 (1)表达式语句、空语句、复合语句; (2)简单控制语句(break、continue、return); (3)选择控制语句(if、switch); (4)重复控制语句(for、while、do—while)。 三、程序结构和函数 1.程序结构 main函数与其他函数之间的关系,包括标准库函数和自定义函数。 2.函数的定义 (1)函数定义的ANSI C格式;

全国计算机等级考试二级C语言真题2013年3月

全国计算机等级考试二级C语言真题2013年3月 (总分40, 做题时间90分钟) 一、选择题 1. 程序流程图中带有箭头的线段表示的是______。 A 图元关系 B 数据流 C 控制流 D 调用关系 答案:C [解析] 在数据流图中,用标有名字的箭头表示数据流。在程序流程图中,用标有名字的箭头表示控制流。所以选择C。 2. 结构化程序设计的基本原则不包括______。 A 多态性 B 自顶向下 C 模块化 D 逐步求精 答案:A [解析] 结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句,所以选择A。 3. 软件设计中模块划分应遵循的准则是______。 A 低内聚低耦合 B 高内聚低耦合

C 低内聚高耦合 D 高内聚高耦合 答案:B [解析] 软件设计中模块划分应遵循的准则是高内聚低偶合、模块大小规模适当、模块的依赖关系适当等。模块的划分应遵循一定的要求,以保证模块划分合理,并进一步保证以此为依据开发出的软件系统可靠性强,易于理解和维护。模块之间的耦合应尽可能的低,模块的内聚度应尽可能的高。 4. 在软件开发中,需求分析阶段产生的主要文档是______。 A 可行性分析报告 B 软件需求规格说明书 C 概要设计说明书 D 集成测试计划 答案:B [解析] A错误,可行性分析阶段产生可行性分析报告。C错误,概要设计说明书是总体设计阶段产生的文档。D错误,集成测试计划是在概要设计阶段编写的文档。B正确,需求规格说明书是后续工作如设计、编码等需要的重要参考文档。 5. 算法的有穷性是指______。 A 算法程序的运行时间是有限的 B 算法程序所处理的数据量是有限的 C 算法程序的长度是有限的 D 算法只能被有限的用户使用

2008--2010浙江省二级C语言考试真题__史杨杨

2008年春浙江省高校 计算机等级考试试卷(二级C) 试题1(每小题3分,共12分) 【程序说明】 输入一个整数n(n>=2),输入菲波那契序列的前n项,每行输出6个数,菲波那序列:1,1,2,3,5,8,13,……,数列的前两个数都是1,从第三项开始,每个数是前两个数之和。 运行示例: Enter n:10 1 1 2 3 5 8 13 21 34 55 #include main() {int count,i,n,x1,x2,x; printf("Enter n:"); scanf("%d",&n); x1=x2=1; printf("%6d%6d",x1,x2); (1); for(i=1;i<=n-2;i++) { (2); printf("%6d",x); count++; if( (3))printf("\n"); x1=x2; (4); } } 【供选择的答案】 (1)A、count=2 B、count=0 C、count=1 D、count=-1 答案:A (2) A、x=x1-x2 B、x=x1+x2 C、x=x1 D、x=2 答案:B (3) A、count/6==0 B、count%6!=0 C、count%6==0 D、count/6!=0 答案:C (4) A、x=x1+x2 B、x2=x1 C、x=x2 D、x2=x 答案:D 试题2(每小题3分,共12分) 【程序说明】 输入2个正数m和n(1<=m

浙江省计算机二级C语言历年试卷

浙江省计算机二级C语言历年试卷. 一、程序填空 (1)找Armstrong(水仙花)数:371=3*3*3+7*7*7+1*1*1

b=i_x0010_0/10; a*a*a+b*b*b+c*c*c = = i (2)输入1个整数后,输出该数的位数。(例:输入3214则输出4,输入-23156则输出5)。 n!=0

n=n/10 (3)求输入的整数各位数字之和,如输入234则输出9,输入-312则输出6。 if (n<0) n=-n; s+=n_x0010_; (4)调用函数f,将一个整数首尾倒置。例如:若程序输入12345,则输出54321;若程序输入-34567,则输出-76543。return -y ; m=m/10 ; (5)调用函数f,从字符串中删除所有的数字字符。 strcpy else (6)调用find函数在输入的字符串中查找是否出现瑜敨这个单词。如果查到返回出现的次数,如果未找到返回0。

j=0; j<3; j++ j>=3 (7)输入的一个小写字母,将字母循环后移5个位置后输出。例如:慜变成晜,睜变成扜。 c>='a'&&c<='u'

c=(c-'a'+5)&+'a'; (8)将字符串s中所有的字符'c'删除。 s[i] != '\0' j++; (9)对x=1,2,……,10,求 f(x)=x*x-5*x+sin(x)的最大值。 max=f(1); if (f(x)>max) max=f(x); (10)输入三个整数,按由小到大的顺序输出这三个数。 int *pa, int *pb if ( a>b ) (11)调用函数f,去除数组中的负数,输入数6 4 3 1 ,输出结果为:x[7]组. *m = *m-1; f (x, &n) ; (12)调用函数f计算代数多项式

浙江省计算机二级C语言上机题库

第二部份C程序设计上机操作题 (2) 一、数列求和 (2) 二、最大公约数、最小公倍数 (7) 三、排序算法 (7) 四、数组 (9) 五、求整数n的各位数字及各数字之和 (12) 六、平面上各点之间的距离 (14) 七、数制转换 (17) 八、字符串处理 (19) 九、最大值与最小值 (25) 十、斐波那契(Fibonacci)数列 (28) 十一、水仙花、完数、回文数与亲密数 (29) 十二、方程求根 (31) 十三、回文数、因子、质因子、素数 (34) 十三、其他算法 (35)

第二部份C程序设计上机操作题 一、数列求和 1、程序调试题 试题一 该程序功能:输入x和正数eps,计算多项式1-x+x*x/2!-x*x*x/3!+...的和直到末项的绝对值小于eps为止。 #include #include void main() { float x,eps,s=1,t=1,i=1; scanf("%f%f",&x,&eps); do { /***** 1 *****/ t=-t*x/++i; //++i--→i++ s+=t; /***** 2 *****/ } while(fabs(t)= printf("%f\n",s); } 试题二 该程序功能:运行时若输入a、n分别为3、6,则输出下列表达式的值: 3+33+333+3333+33333+333333 #include void main() { int i,a,n; long t=0; /********* 1 *******/ s=0; //s=0--→long s=0 scanf("%d%d",&a,&n); for(i=1;i<=n;i++) { /******* 2 ******/ t=t*10+i; //i-→1 s=s+t; } s=s*a; printf("%ld\n",s); } 2、程序填空题 试题一 程序功能:调用函数f计算代数多项式1.1+2.2*x+3.3*x*x+4.4*x*x*x+5.5*x*x*x*x当x=1.7时的值。

计算机二级C语言考试编程题题库

计算机c语言编程题库 1、求100之内自然数中最大的能被17整除的数。 void main() { int i; for(i=100;i>0;i--) if(i%17==0)break; printf("%d\n",i); } 2、已知a,b,c都是1位整数,求当三位整数abc、cba的和为1333时a、b、c的值。 void main() { int a,b,c; for(a=1;a<=9;a++) { for(b=0;b<=9;b++) { for(c=1;c<=9;c++) if(a*100+b*10+c+c*100+b*10+a==1333) printf("%d,%d,%d\n",a,b,c); } } } 3、计算并输出200-400之间不能被3整除的整数的和。 void main() { int i,sum=0; for(i=200;i<=400;i++) if(i%3!=0) sum=sum+i; printf("%d\n",sum); } 4、从键盘输入10个数,统计非负数的个数,并计算非负数的和。 void main() { int i,n=0,sum=0; int a[10]; printf(“请输入10个数:”);

for(i=0;i<10;i++) scanf(“%d”,&a[i]); for(i=0;i<10;i++) if(a[i]>=0) { sum=sum+a[i]; n++;} printf("非负个数是%d,sum=%d\n",n,sum); } 5、求100之内自然数中偶数之和。 void main() { int i,sum=0; for(i=0;i<=100;i++) if(i%2==0) sum=sum+i; printf("sum=%d\n",sum); } 6、输入5个数,求和并输出。要求编写求和的函数。 void main() { int b(int x[],int n); int sum=0; int a[5]; int i; printf("请输入5个数:"); for(i=0;i<5;i++) scanf("%d",&a[i]); sum=b(a,5); printf("sum=%d\n",sum); } int b(int x[],int n) { int i,sum=0; for(i=0;i<5;i++) sum=sum+x[i]; return sum; } 7、编程计算1*2*3+3*4*5+5*6*7+...+99*100*101的值。 void main() { int i,sum=0; for(i=1;i<=99;i=i+2) sum=sum+i*(i+1)*(i+2); printf("%d\n",sum); } 8、编写程序,将用户输入的字符串中所有的字符a用*代替,然后输出。void main()

浙江省计算机二级C语言历年试卷

一、程序填空 (1)找Armstrong(水仙花)数:371=3*3*3+7*7*7+1*1*1 b=i%100/10; a*a*a+b*b*b+c*c*c = = i (2)输入1个整数后,输出该数的位数。(例:输入3214则输出4,输入-23156则输出5)。 n!=0 n=n/10 (3)求输入的整数各位数字之和,如输入234则输出9,输入-312则输出6。 if (n<0) n=-n; s+=n%10; (4)调用函数f,将一个整数首尾倒置。例如:若程序输入12345,则输出54321;若程序输入-34567,则输出-76543。 return -y ; m=m/10 ; (5)调用函数f,从字符串中删除所有的数字字符。 strcpy else (6)调用find函数在输入的字符串中查找是否出现"the"这个单词。如果查到返回出现的次数,如果未找到返回0。 j=0; j<3; j++ j>=3

(7)输入的一个小写字母,将字母循环后移5个位置后输出。例如:"a"变成"f","w"变成"b"。 c>='a'&&c<='u' c=(c-'a'+5)%26+'a'; (8)将字符串s中所有的字符'c'删除。 s[i] != '\0' j++; (9)对x=1,2,……,10,求f(x)=x*x-5*x+sin(x)的最大值。 max=f(1); if (f(x)>max) max=f(x); (10)输入三个整数,按由小到大的顺序输出这三个数。 int *pa, int *pb if ( a>b ) (11)调用函数f,去除数组中的负数,输入数组x[7],输出结果为:1 3 4 6 *m = *m-1; f (x, &n) ; (12)调用函数f计算代数多项式1.1+2.2*x+3.3*x*x+4.4*x*x*x+5.5*x*x*x*x当x=1.7时的值。 float x, float *a, int n return y; (13)分别统计字符串中英文字母、数字、和其他字符出现的次数。

全国计算机等级考试二级C语言程序设计

全国计算机等级考试二级C语言程序设计 一、选择题((1)~(10)、(21)~(40)每题2分,(11)~(20)每题2分,共70分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。 (1)下列选项中不符合良好程序设计风格的是 A)源程序要文档化B)数据说明的次序要规范化 C)避免滥用goto语句 D)模块设计要保证高耦合、高内聚 (2)从工程管理角度,软件设计一般分为两步完成,它们是 A)概要设计与详细设计B)数据设计与接口设计 C)软件结构设计与数据设计D)过程设计与数据设计 (3)下列选项中不属于软件生命周期开发阶段任务的是 A)软件测试B)概要设计C)软件维护D)详细设计 (4)在数据库系统中,用户所见的数据模式为 A)概念模式B)外模式C)内模式D)物理模式 (5)数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和 A)编码设计B)测试阶段C)运行阶段D)物理设计 (6)设有如下三个关系表 下列操作中正确的是

A)T=R∩S B)T=R∪S C)T=R×S D)T=R/S (7)下列叙述中正确的是 A)一个算法的空间复杂度大,则其时间复杂度也必定大 B)一个算法的空间复杂度大,则其时间复杂度必定小 C)一个算法的时间复杂度大,则其空间复杂度必定小 D)上述三种说法都不对 (8)在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为A)63 B)64 C)6 D)7 (9)数据库技术的根本目标是要解决数据的 A)存储问题B)共享问题C)安全问题D)保护问题 (10)对下列二叉树 进行中序遍历的结果是 A)ACBDFEG B)ACBDFGE C)ABDCGEF D)FCADBEG (11)下列叙述中错误的是 A)一个C语言程序只能实现一种算法 B)C程序可以由多个程序文件组成 C)C程序可以由一个或多个函数组成 D)一个C函数可以单独作为一个C程序文件存在 (12)下列叙述中正确的是 A)每个C程序文件中都必须要有一个main()函数 B)在C程序中main()函数的位置是固定的 C)C程序中所有函数之间都可以相互调用,与函数所在位置无关

浙江省计算机二级c语言上机考试真题(三)程序编写

(三)程序编写 1,求3元方程解 设计程序:统计满足条件x*x+y*y+z*z==2000的所有解的个数,并将统计结果以格式"%d"输出。说明:若a、b、c是1个解,则a、c、b也是1个解,等等。*/ #include "stdio.h" int main() { int x,y,z,k=0; /* * 考生在这里添加代码 */ return 0; } ?#include ?int main() ?{ ?int x,y,z,k=0; ?for(x=0;x<=50;x++) ? { ? for(y=0;y<=50;y++) ? { ? for(z=0;z<=50;z++) ? { ? if(x*x+y*y+z*z==2000) ? {k++;} ? } ? } ? } ?printf("%d",k); ?} 2,求距离和 设计程序:x[i],y[i]分别表示平面上一个点的坐标,求下列10个点与点(1.0,1.0)的距离 的总和,并将结果以格式"%.6f"输出。

#include #include "math.h" int main() { int i; float x[10]={-1.5,2.1,6.3,3.2,-0.7,7.0,5.1,3.2,4.5,7.6}; float y[10]={3.5,7.6,8.1,4.5,6.0,1.1,1.2,2.1,3.3,4.4}; float s=0.0; /* * 考生在这里添加代码 */ return 0; } ?#include ?#include ?int main() ?{ int i; ? float x[10]={-1.5,2.1,6.3,3.2,-0.7,7.0,5.1,3.2,4.5,7.6}; ? float y[10]={3.5,7.6,8.1,4.5,6.0,1.1,1.2,2.1,3.3,4.4}; ? float s=0.000004; ? float sx,sy; ? for(i=0;i<10;i++) ? { ? sx=(x[i]-1.0)*(x[i]-1.0); ? sy=(y[i]-1.0)*(y[i]-1.0); ? s+=sqrt(sx+sy); ? } ? printf("%.6f",s); ? return 0; ?} 3,字符权重 设计程序:在正整数中找出1个最小的、被3、5、7、9除余数分别为1、 3、5、7的数,将该数以格式"%d"输出。 #include "stdio.h" #include "math.h" int main()

浙江省计算机二级等级考试大纲(C语言)

浙江省计算机等级考试(二级C语言)考试大纲基本要求 1. 熟练掌握C 语言的基本知识; 2. 具备基本的C程序设计能力,能熟练地阅读、理解和编制简短的C程序; 3. 了解面向对象程序设计的基本概念。 基本内容 一、数据的定义 数据的定义包括数据类型和存储类别。 1、基本类型 基本类型指整型、实型和字符型。 (1) 常量 熟练掌握各种表示形式的整数、实数、和字符(串)常量,符号常量的定义和使用。 包括整数的十进制、八进制和十六进制的表示形式、长整型常量的表示形式,实数的浮点表示法和科学记数法,字符的转义序列,常用符号常量的含义(如NULL、EOF等) (2) 变量 熟练掌握变量的定义和初始化。 2、构造类型 构造类型包括数组和结构。 (1) 数组 熟练掌握一维和二维数组的定义和初始化,数组元素的引用。 包括一维字符数组和字符串,二维字符数组和字符串数组。 (2) 结构 熟练掌握结构类型的定义,结构变量的定义和初始化,结构变量成员的引用。 3、指针 (1) 熟练掌握指针和地址的概念 (2) 熟练掌握指针变量的定义和初始化 (3) 熟练掌握通过指针引用指向实体 4、构造类型和指针类型的混合定义及应用 (1) 熟练掌握指针、数组和地址间的关系 (2) 熟练掌握指针数组 (3) 熟练掌握结构数组 (4) 熟练掌握结构指针 (5) 掌握结构中含指针或数组 (6) 掌握嵌套结构 (7) 掌握指向指针的指针(二级)

(8) 单向链表 掌握单向链表的建立和遍历 了解插入和删除单向链表中的一个节点 5、空类型 掌握空类型的定义和使用 6、变量的存储类别、作用域和生存期 (1) 掌握变量的存储类别 auto 自动型、static 静态型、extern 外部参照型 (2) 掌握全局变量和局部变量 注意区分:自动局部变量和静态局部变量、全局变量和静态全局变量、外部变量 二、运算及流程控制 1、基本运算 熟练掌握运算符的功能 熟练掌握运算符的优先级、结合性和目数 熟练掌握隐式类型转换和强制类型转换 2、表达式 熟练掌握各类表达式的组成规则和计算过程 3、语句 (1) 熟练掌握表达式语句、空语句、复合语句; (2) 熟练掌握简单控制语句(break、continue、return); (3) 熟练掌握选择控制语句(if、switch) (4) 熟练掌握重复控制语句(for、while、do—while); 三、程序结构和函数 1、程序结构 熟练掌握main函数与其他函数之间的关系 包括标准库函数和自定义函数 2、函数的定义 (1) 熟练掌握函数定义的ANSI C格式 (2) 熟练掌握函数的参数(形式参数和实在参数)及参数传递 包括指针作为函数的参数 (3) 熟练掌握函数的返回值 包括指针作为函数的返回值 3、函数的调用 (1) 函数调用的一般格式 熟练掌握通过函数名调用函数,了解通过函数指针调用函数

相关文档
相关文档 最新文档