c语言公共基础知识归纳和十套题

c语言公共基础知识归纳和十套题
c语言公共基础知识归纳和十套题

第一部分公共基础部分知识归纳

第一章数据结构与算法

算法---是一组严谨地定义运算顺序的规则

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

算法设计基本方法---列举法、归纳法、递推、递归、减半递推

算法的复杂度---包括时间复杂度和空间复杂度

时间复杂度---执行算法所需的计算工作量

空间复杂度---执行算法所需的内存空间

数据结构---相互有关联的数据元素的集合.如春、夏、秋、冬;18、11、35、23、16...;父亲、

儿子、女儿等都是数据元素.

前件---数据元素之间的关系,如父亲是儿子和女儿的前件

后件---如儿子是父亲的后件

结构---指数据元素之间的前后件关系

数据的逻辑结构—是指反映数据元素之间逻辑关系,而与它们在计算机中的存储位置无关数据的存储结构(物理结构)---数据的逻辑结构在计算机存储空间中的存放形式,数据元素

在计算机存储空间的位置关系可能与逻辑关系不同.

根据数据结构中各数据元素之间前后件关系的复杂程度,可将数据结构分两类---线性结构与

非线性结构

线性结构(线性表)---满足下列两个条件(1)有且只有一个根结点(2)每一个结点最多有

一个前件和后件.则称该数据结构为线性结构,否则为非线

性结构.

线性表是最简单、最常用的一种数据结构,其数据元素之间的相对位置是线性的,其存储方

式为顺序存储的,如数组

栈---是限定在一端进行插入与删除的线性表,一端封闭,另一端开口,其操作原则是“先进

后出”,栈的运算有入栈、退栈、读栈顶元素

队列---是指在一端进行插入(称为队尾)而在另一端进行删除(称为队头)的线性表,其操

作规则是“先进先出”,其运算有入队和退队.

树---是一种简单的非线性结构,而且是层次结构,是倒立的大树,有根结点、父结点、子结

点、叶子结点.根结点在第一层,一个结点所拥有的后件的

个数称为该结点的度,所有结点中最大的度称为树的度,

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

二叉树---(1)非空二叉树只有一个根结点(2)每一个结点最多有两棵子树(左子树和右子

树),其存储结构为链式.

二叉树性质---(1)K层上最多有2(K-1)个结点(2)深度为m的二叉树最多有2m-1个结点(3)度为0的结点(叶子结点)比度为2的结点多一个(4)具有n个结点的

二叉树,其深度至少为[Log2n]+1,其中[Log2n]表示对Log2n

取整

满二叉树---除最后一层外,其余层的结点都有两个子结点

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

若干结点,叶子结点只可能在层次最大的两层上出现.满二

叉树是完全二叉树,而完全二叉树不是满二叉树.完全二叉

树有两个性质:(1)具有n个结点的完全二叉树的深度为

[Log2n]+1(2)

二叉树遍历---不重复地访问各个结点.分为前序遍历(DLR-根左右)、中序遍历(LDR-左根右)

和后序遍历(LRD-左右根)

查找技术---顺序查找——对于长度为n的有序线性表,查找时需要比较n次

二分法查找——对于长度为n的有序线性表,查找时需要比较log2n次排序技术---假设线性表的长度为n,则冒泡排序和简单插入排序的比较次数(时间复杂度)

为n(n-1)/2;希尔排序的比较次数为O(n1.5);简单选择排序的

比较次数为n(n-1)/2;堆排序的比较次数为O(nlog2n).

习题1

算法的时间复杂度是指(),算法的空间复杂度是指();

线性表、栈、队列、线性链表是(线性结构),树是(非线性结构);数据的存储结构是指();

队列是(先进先出),栈是(先进后出);

下列二叉树的遍历结果:前序遍历(ABDECF)、中序遍历(DBEAFC)、后续遍历(DEBFCA)

在深度为5的满二叉树中,叶子结点的个数为(16);设树T的度为4,其中度为1,2,3,4的结点的个数分别为4,2,1,1.则T中的叶子结点的个数为(8);对于长度为n的有序线性表,顺序查找次数为(n),二分法查找次数为(log2n);一棵完全二叉树共有700个结点,则在该二叉树中有(350)个叶子结点;一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后续遍历结果为(DEBFCA);冒泡排序的时间复杂度为(n(n-1)/2);在一个容量为15的循环队列中,若头指针front=6,尾指针rear=9,则该循环队列中共有(3)元素;

第二章程序设计基础

结构化程序设计的三种结构---是顺序、选择和循环

对象---表示客观世界的任何实体

类---是具有共同属性和方法的对象的集合

实例---任何一个对象都是其对应类的实例

消息---一个实例和另一个实例之间传递的信息

继承---是指直接获得已有的性质和特征,而不必重复定义它们.例如子类继承父类

结构化程序设计主要强调---程序的易读性

良好的程序设计风格是---程序应简单、清晰、可读性好

在面向对象方法中,一个对象请求另一个对象为其服务的方式是通过发送(消息)来实现的信息隐蔽的概念与(模块独立性)概念直接相关

(任何对象都具有继承性)这句话是错误的

注释分为(序言性注释)和(功能性注释)

在面向对象方法中,信息隐蔽是通过对象的(封装性)来实现的

类是一个支持集成的抽象数据类型,而对象是类的(实例)

在面向对象方法中,类之间共享属性和操作的机制称为(继承)

第三章软件工程基础

软件生命周期---软件产品从提出、实现、使用维护到停止使用退役的过程.分为软件定义、软件开发、软件运行维护三个阶段.

软件生命周期的主要活动阶段---可行性分析、需求分析、软件设计、软件实现、软件测试、

运行和维护.

常见的需求分析方法---(1)结构化分析方法---主要包括面向数据流的结构化分析方法SA;

面向数据结构的Jackson方法JSD;面向数据结构的结构化

数据系统开发方法DSSD.

(2)面向对象的分析方法OOA

结构化分析方法工具---(1)数据流图DFD,记住DFD图的几个符号:

(2)数据字典DD

(3)判定树

(4)判定表

程序结构图(SC),N-S图,问题分析图(PAD)

程序流程图(PFD)的几个符号:

软件测试---黑盒测试:功能测试

白盒测试:内部结构测试,穷举路径测试

习题3

在软件生命周期中,能准确地判断软件系统必须做什么和必须具备哪些功能的阶段是(需求

分析)

软件工程的3个要素(工具),(过程),(方法)

检查软件产品是否符合需求定义的过程称为(确认测试)

软件设计原则是(抽象)、(模块化)、(信息隐蔽)

需求分析常用的工具是(DFD)

在结构化方法中,软件功能分解属于(总体设计)阶段

软件测试的饿目的是(改正错误)

软件需求分析阶段可分为四个方面(需求获取)、(需求分析)、(编写需求格式说明)、(需

求评审)

软件是(程序)、(数据)、(文档)的集合

Jakson方法是一中面向(数据流)的结构化方法

软件工程研究的内容包括(软件开发技术)、(软件工程管理)

数据流图的类型有(交换型)、(事务型)

软件开发环境是全面支持软件开发全过程的(软件工具)集合

第四章数据库设计基础

数据库---DB;数据库管理系统---DBMS;数据库管理员---DBA;数据库系统---DBS;数据库应用系统---DBAS

数据模型所描述的内容分三个部分(数据结构)、(数据操作)、(数据约束)

逻辑数据模型分(层次模型)、(网状模型)、(关系模型)、(面向对象模型)

E-R模型---实体关系模型,主要由实体、属性、联系组成,联系分:1对1,1对多,多对多;

以二维表为基本结构所建立的模型称为关系模型,关系模型采用二维表来表示,简称表,由行和列组成,行称为元组或记录,列称为字段

主键---唯一标识一个记录的字段

外键---一个表的字段是其他表的主键

在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段、数据库系统阶段,其中数据独立性最高的阶段是(数据库系统)

数据库系统减少了(数据冗余);数据库系统的核心是(数据库管理系统)

用树型结构来表示实体间联系的模型称为(层次模型)

关系表中的每一行称为(元组)

关系数据库管理系统能实现的专门关系运算包括(选择)、(投影)、(连接)

在关系数据库中,用来表示实体之间联系的是(二维表)

数据库设计包括两方面的设计内容(概念设计)、(逻辑设计)

将E-R图转换到关系模式时,实体与联系都可以表示成(关系)

一个项目具有一个项目主管,一个项目主管可以管理多个项目,则实体“项目主管”与“项目”的联系属于(一对多)

数据独立性分为逻辑独立性和物理独立性,当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为(逻辑独立性)

数据库系统中实现各种数据管理功能的核心软件称为(数据库管理系统DBMS)

关系模型的完整性规则是对关系的某种约束条件,包括实体完整性、(参照完整性)和自定义完整性

下面是公共基础部分可以变化的题:

1 一棵二叉树,第K层上最多有2(k-1)个结点,深度为K的二叉树最多有2k-1个结点,如果是满二叉树呢?

例如: 在深度为5的满二叉树中,叶子结点的个数为(=2(5-1)=16)

2一棵二叉树共有70个叶子结点和80个度为1的结点,问这个二叉树的总结点是多少?

答:因为度为0的结点(叶子结点)比度为2的结点多一个,所以度为2的结点数是69,所以总结点=70+69+80=219个

3一棵完全二叉树共有700个结点,则在该二叉树中有(350)个叶子结点

解答:700/2=350

若把700改为675呢?(=675/2=337.5进行四舍五入=338)

4设树T的度为4,其中度为1,2,3,4的结点的个数分别为4,2,1,1.则T中的叶子结点的个数为(8)

解答:n0=(t-1)n t+(t-2)n(t-1)+...+1*n2+0*n1+1=3*1+2*1+1*2+0*4+1=8

5在一个容量为15的循环队列中,若头指针front=6,尾指针rear=9,则该循环队列中共有多少个元素?(3个)

解答:若头<尾,元素个数=尾-头

:若头>尾,元素个数=15+(尾-头)

6 设有

则R和S能进行交集(R nS)、并集(RuS)、差操作(R-S)

如果R和S的元不同的话,则R和S只能进行笛卡尔集(RXS)和自然连接

7 关于二叉树遍历问题:有两个题型,一是给出二叉树,求三种遍历结果;二是给出两种遍历,求第三种遍历结果.后者有点难度

三种遍历是:前序(根左右)、中序(左根右)和后序(左右根)

8 关于查找和排序问题:

查找技术---顺序查找——对于长度为n的有序线性表,查找时需要比较n次

二分法查找——对于长度为n的有序线性表,查找时需要比较log2n次

排序技术---假设线性表的长度为n,则冒泡排序和简单插入排序的比较次数(时间复杂度)

为n(n-1)/2;希尔排序的比较次数为O(n1.5);简单选择排序的

比较次数为n(n-1)/2;堆排序的比较次数为O(nlog2n).

9 关于出栈的问题:记住是先进后出

例1:栈底到顶依次存放A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈可能的序列是

ABCED DCBEA DBCEA CDABE

例2:如果进栈序列为e1,e2,e3,e4,则可能的出栈序列为:

e3,e1,e4,e2 e2,e4,e3,e1 e3,e4,e1,e2 任意顺序

10 关于E---R图

是实体属性和实体关系图,实体之间的关系有1:1 1:m m:n

第二部分全国计算机等级考试

二级公共考试训练

模拟试题一

一选择题(每小题2分)

在下列各题的A),B),C),D),4个选项中,只有1个选项是正确选项添涂在答题卡相应

位置上,答在试卷上不得分.

1.栈和队列的共同特点是( C ).

A)都是先进先出 B)都是先进后出

C)只允许在端点处插入和删除元素 C)没有共同点

2.已知二叉树后序编历序列是dabec,中续遍历序列是debac,它的前序编历序列是

( D ).

A)acbed B)decab C)deabc D)cebda3 3.链表不具有的特点是( B ).

A)不必事先估计存储空间 B)可随机访问任一元素

C)插入删除不需要的移动元素 D)所需空间与线性长度4.结构化程序设计的3种结构是( D ).

A)顺序结构、选择结构、转移结构 B)分支结构、等价结构、循环结构

C)多分支结构、赋值机构、等价结构 D)顺序结构、选择结构、循环结构

5.为了提高测试的效率.应该( D )

A)随即选取测试数据 B)取一切可能的输入数据作为测试数据 C)在完成编码以后指定软件的测试次数 D)集中对付那些错误的群集的程序 6.算法的时间复杂度是指( C )

A)执行算法程序所需要的时间 B)算法程序的长度

C)在完成编码以后指定软件的测试次数 D)算法程序中的指定条数

7.软件生命周期中花费用最多的阶段是( D )

A)详细设计 B)软件编码 C)软件测试 D)软件维护

8.数据库管理系统DBMS中用来定义模拟、内模式和外模式的语言为( C )

A)C B)Basic C)DDL D)DML

9.下列有关数据库的描述,正确的是( C )

A)数据库是一个DBF文件 B)数据库是一个关系

C)数据库是一个结构化的数据集合 D)数据库是一组文件

10.下列有关数据库的描述,正确的是( D )

A)数据处理是将信息转化为数据的过程

B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变

C)关系中的每一列称为元组,一个元组就是一个字节

D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的键字,则称其为本关系的外关键字

二、填空题(每空2分)

1 算法的基本特征是可行性、确定性、【有穷性】.

2在长度为n的有序线性表中进行二分查找.最坏的情况下,需要的比较次

数为【log2n】 .

3在面向对象的程序设计中.类描述的是具有相似性质的一组【对象】 .

4通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为

【软件生命周期】.

5数据库管理系统常见的数据模型有层次模型、网状模型和【关系模型】

3种.

模拟测试二

一.选择题(每小题2分)

在下列各题的A),B),C),D),4个选项中,只有1个选项是正确的,请将正确选项填涂在答题卡相应的位置上,答在试卷上不得分.

1.已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为( B )

A)GEDHFBCA B)DGEBHFCA C)ABCDEFGH D)ACBFEDHG

2.树是结点的集合,它的根结点的数目是( A )

A)有且只有1个B)1或多于1 C)0或1 D)至少2

3.如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是( B )

A)e3,e1,e4,e2 B)e2,e4,e3,e1 C)e3,e4,e1,e2 D )任意顺序

4.在设计程序时,应采纳的原则之一是( D )

A)不限制goto语句的使用B)减少或取消注解行

C)程序越短越好D)程序结构应有助于读者理解

5.程序设计语言的基本成分是数据成分,运算成分,控制成分和( D )

A)对象成分B)变量成分C)语句成分D)传输成分

6.下列叙述中,不属于软件需求规格说明书的作用的是( D )

A)便于用户,开发人员进行理解和交流

B)反映出用户问题的结构,可以作为软件开发工作的基础和依据

C)作为确认测试和验收的依据

D)便于开发人员进行需求分析

7.下列不属于软件工程3个要素的是( D )

A)工具B)过程C)方法D)环境

8.单个用户使用的数据视图描述称为( A )

A)外模式B)概念模式C)内模式D)储存模式

9.将E-R图转换到关系模式时,实体与联系都可以表示成( B )

A)属性B)关系C)键D)域

10.SQL语言又称为( C )

A)结构化定义语言B)结构化控制语言

C)结构化查询语言D)结构化操纵语言

二.填空题(每空2分)

请将每一个空的正确答案写在答题卡[11]~[15]序号的横线上,答在试卷上不得分.

1.数据结构分为逻辑结构与储存结构,线性链表属于[ 存储结构].

2.在面向对象方法中,类之间共享属性和操作的机制称为[ 继承].

3.耦合和内聚是评价模块独立性的两个主要标准,其中[ 内聚]反映了模块内个成分之间的联系.

4.一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体“项目”的联系属于[ 一对多 ]的联系

5.数据库设计分为以下6个设计阶段:需求分析阶段﹑[ 数据库概念设计阶段 ]﹑逻辑设计阶段﹑物理设计阶段﹑实施阶段﹑运行和维护阶段.

模拟测试三

1.选择题(每小题2分)

在下列各题的A),B),C),D)4个选项中,只有1个选项是正确的,请将正确选项填涂在答题卡的相应位置上,答在试卷上不得分.

1.算法的空间复杂度是指( D )

A)算法程序的长度B)算法程序中的指令条数

C)算法程序所占的存储空间D)执行过程中所需要的存储空间

2.用链表示线性表的优点是( C )

A)便于随机存取B)花费的存储空间较顺序储存少

C)便于插入和删除操作D)数据元素的物理顺序与逻辑顺序相同3.数据结构中,与所使用的计算机无关的是数据的( C )

A)存储结构B)物理结构C)逻辑结构D)物理和存储结构4.结构化程序设计主要强调的是( D )

A)程序的规模B)程序的效率

C)程序设计语言的先进性D)程序易读性

5.软件设计包括软件的结构﹑数据接口和过程设计,其中软件的过程设计是指( B )A)模块间的关系B)系统结构部件转换成软件的过程描述C)软件层次结构D)软件开发过程

6.检查软件产品是否符合需求定义的过程称为( A )

A)确认测试B)集成测试C)验证测试D)验收测试

7.数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符组成.下列图符名称标识的图符不属于数据流图合法图符的是( A )

A)控制流B)加工C)数据存储D)源和潭

8.应用数据库的主要目的是( C )

A)解决数据保密问题B)解决数据完整性问题

C)解决数据共享问题D)解决数据量大的问题

9.在数据库设计中,将E-R图转换成关系数据模型的过程属于( B )

A)需求分析阶段B)逻辑设计阶段C)概念设计阶段D)物理设计阶段10.在数据管理技术的发展过程中,经历了人工管理阶段﹑文件系统阶段和数据库系统阶段.其中数据独立性最高的阶段是( A )

A)数据库系统B)文件系统C)人工管理D)数据项管理

2.填空题(每空2分)

请将每一个空的正确答案写在答题卡[ 11]~[ 15 ]序号的横线上,答在试卷上不得分.

1. 数据的逻辑结构有线性结构和[ 非线性结构 ]两大类.

2. 顺序储方法是把逻辑上相邻的结点存储在物理位置和[ 相临 ]的存储单元中.

3. 一个类可以从直接或间接的祖先中继承所有属性和方法.采用这个方法提高了软件

的[ 可重用性 ].

4.软件工程研究的内容主要包括:[ 软件开发 ]技术和软件工程管理.

5.关系操作的特点是[ 逻辑数据模型 ]操作.

模拟测试四

1.选择题(每小题2分)

在下列各题的A),B),C),D)4个选项中,只有1个选项是正确的,请将正确选项填涂在答题卡的相应位置上,答在试卷上不得分.

1.在深度为5的满二叉树中,叶子结点的个数为( B )

A)32 B)31 C)16 D)15

2.若某二叉树的前序遍历是abdgcefh,中序遍历是dgbaechf,后序遍历的结点访问顺序是( D )

A)bdgcefha B)gdbecfha C)bdgaechf D)gdbehfca

3.一些重要的程序语言(如C语言和Pascal语言)允许过程的递归应用.而实现递归调用中的储存分配通常用( A )

A)栈 B)堆 C)数组 D)链表

4.软件工程的理论和技术性研究的内容主要包括软件开发技术和( B )

A)消除软件危机 B)软件工程管理

C)程序设计自动化 D)实现软件可重用

5.开发软件时对提高开发人员工作效率至关重要的是( B )

A)操作系统的资源管理功能 B)先进的软件开发工具而后环境

C)程序人员的数量 D)计算机的并行处理能力

6.在软件测试设计中,软件测试是主目的是( D )

A)实验性运行软件 B)证明软件正确

C)找出软件中全部错误 D)发现软件错误而执行程序

7.数据处理的最小单位是( C )

A)数据 B)数据元素 C)数据项 D)数据结构

8.索引属于( B )

A)模式 B)内模式 C)外模式 D)概念模式

9.下述关于数据库系统的叙述中正确的是( B )

A)数据库系统减少了数据冗余

B)数据库系统避免了一切冗余

C)数据库系统中的一致性是指数据类型一致

D)数据库系统比文件系统管理更多的数据

10.数据库系统的核心是( B )

A)数据库 B)数据库管理系统 C)模拟模型 D)软件工程二填空题(每空2分)

请将每一个空的正确答案写在答题卡[11]~[15]序号的横线上,答在试卷上不得分.

1.树形结构中,树根结点没有[ 前件 ].

2.Jackson结构化程序设计方法是英国的M.Jackson提出的,它是一种面向[ 12 ]的设计方法.

3.面向对象的模型中,最基本的概念是对象和[ 数据结构 ].

4.软件设计模块化的目的是[ 类 ].

5.数据模型按不同应用层次分成3种类型,它们是概念数据模型﹑[ 降低副杂性 ]和物理数据模型.

模拟测试五

一选择题(每小题2分)

在下列各题的A),B),C),D)4个选项中,只有1个选项是正确的,请将正确选项填涂在答题卡的相应位置上,答在试卷上不得分.

1.数据结构作为计算机的一门学科,主要研究数据的逻辑结构﹑对各种数据结构进行的运算以及( A )

A)数据的存储结构 B)计算方法 C)数据映象 D)逻辑存储

2.串的长度是( D )

A)串中不同字符的个数 B)串中不同字母的个数

C)串中所含字符的个数且字符个数大于零 D)串中所含字符的个数

3.在计算机中,算法是指( B )

A)加工方法 B)解题方案的准确而完整的描述

C)排序方法 D)查询方法

4.以下不属于对象的基本特征的是( C )

A)分类性 B)多态性 C)继承性 D)封装性

5.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作( B )

A)软件投机 B)软件危机 C)软件工程 D)软件产生

6.下面不属于软件设计原则的是( C )

A)抽象 B)模块化 C)自底向上 D)信息隐蔽

7.开发大型软件时,产生困难的根本原因是( A )

A)大系统的复杂性 C)人员知识不足

C)客观世界千边万化 D)时间紧﹑任务重

8下列QSL语句中,用于修改表结构的是( A )

A)ALTER B)CREATE C)UPDATE D)INSERT

9.数据库﹑数据库系统和数据库管理之间的关系是( B )

A)数据库包括数据库系统和数据库管理系统

B)数据库系统包括数据库和数据库管理系统

C)数据库管理系统包括数据库和数据库系统

D)三者没有明显的包含关系

10.关系模型允许定义3类数据约束,下列不属于数据约束的是( C )

A)实体完整性的约束 B)参照完整性的约束

C)域完整性的约束 D)用户自定义的完整性约束

二填空题(每空2分)

请将每一个空的正确答案写在答题卡[11]~[15]序号的横线上,答在试卷上不得分.

1.长度为n的顺序存储在线性表中,当在任何位置上插上一个元素概率都相等时,插入一个

元素所需移动元素的平均个数为[ n/2 ].

2.用树型结构表示实体类型及实体间联系的数据模型称为[ 层次模型 ].

3.类是一个支持集成的抽象数据类型,而对象是类的[ 实例 ].

4.数据流图的类型有[ 14 ]和事务型.

5.当数据的物理结构(存储结构﹑存取方式等)改变时,不影响数据库的逻辑结构,从而不

致引起应用程序的变化,这是指数据的[ 变换行 ].

模拟测试六

一.选择题(每小题2分)

在下列各题的A),B)C),D)4个选项中,只有1个选项是正确的,请将正确选项填涂在答题卡相应的位置上,答在试卷上不得分.

1.假设线性表的长度为n,则在最坏的情况下,冒泡排序需要的比较次数为( D )

A)log2n

2.算法分析的目的是( D )

A)找出数据结构的合理性 B)找出算法中输入和输出之间的关系

C)分析算法的易懂性和可靠性 D)分析算法的效率以求改进

3.线性表L=(a ),下列说法正确的是( D )

A)每个元素都有一个直接前件和直接后件

B)线性表中至少要有一个元素

C)表中诸元素的排列顺序必须是由小到大或由大到小

D)除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接

后件

4.在单链表中,增加头结点的目的是( A )

A)方便运算的实现 B)使单链表至少有一个结点

C)标识表中首结点的位置 D)说明单链表是线性表的链式存储实现

5.软件工程的出现是由于( C )

A)程序设计方法学的影响 B)软件产业化的需要

C)软件危机的出现 D)计算机的发展

6.软件开发离不开系统环境的支持,其中必要的测试数据属于( D )

A)硬件资源 B)通信资源 C)支持软件 D)辅助资源

7.在数据流图中,带有名字的箭头表示( D )

A)模块之间的调用关系 B)程序的组成成分

C)控制程序的执行顺序 D)数据的流向

8.分布式数据库系统不具有的特点是( D )

A)数据分布性和逻辑整体性 B)位置透明性和复制透明性

C)分布性 D)数据冗余

9.关系表中的每一横行称为一个( A )

A)元组 B)字段 C)属性 D)码

10.下列数据模型中,具有坚实理论基础的是( C )

A)层次模型 B)网状模型 C)关系模型 D)以上三个都是

二.填空题(每空2分)

请将每一空的正确答案写在答题卡[ 11 ]~[ 15 ]序号的横线上,答在试卷上不得分.

2.在算法正确的前提下,评价一个算法的两个标准是[ 时间复杂度和空间复杂度 ].

3.将代数式z= 转换成程序设计中的表达式为[ SQRT(x^2+y^2)/(a+b) ].

4.软件危机出现于20世纪60年代末,为了解决软件危机,人们提出了[ 软件工程学 ]的原

理来设计软件,这就是软件工程诞生的基础.

5.[ 数据模型 ]是数据库设计的核心.

6.在关系模型中,把数据看成一个二维表,每一个二维表称为一个[ 关系 ].

模拟测试七

一.选择题(每小题2分)

在下列各题的A),B)C),D)4个选项中,只有1个选项是正确的,请将正确选项填涂在答题卡相应的位置上,答在试卷上不得分

1.下列叙述中正确的是( A )

A)线性表是线性结构 B)栈与队列是非线性结构

C)线性链表是非线性结构 D)二叉树是线性结构

2.非空的循环单列表head的尾结点(由p所指向),满足( C )

A)p->next==NULL B)p==NULL C)p->next=head D)p=head

3.已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是( B )

A)堆排序 B)直接插入排序 C)快速排序 D)直接选择排序

4.对建立良好的程序设计风格,下面描述正确的是( A )

A)程序应简单﹑清晰﹑可读性好 B)符号名的命名只要符合语法

C)充分考虑程序的执行效率 D)程序的注释可有可无

5.下列不属于结构化分析常用工具的是( A )

A)数据流图 B)数据字典 C)判定树 D)PAD图

6.在软件生产过程中,需求信息的给出是( D )

A)程序员 B)项目管理者 C)软件分析设计人员 D)软件用户

7.下列工具中为需求分析常用的工具是( D )

A)PAD B)PFD C)N-S D)DFD

8.NULL是指( C )

A)0 B)空格 C)未知的值或无任何值 D)空字符串

9.数据库的故障恢复一般是由( C )

A)数据流图完成的 B)数据字典完成的

C)DBA完成的 D)PAD图完成的

10.下列说法中,不属于数据模型所描述的内容的是( C )

A)数据结构 B)数据操作 C)数据查询 D)数据约束

二.填空题(每空2分)

请将每一空的正确答案写在答题卡[ 11 ]~[ 15 ]序号的横线上,答在试卷上不得分.

1.冒泡排序法在最好的情况下的元素交换次数为[ 0 ].

2.在最坏的情况下,堆排序需要比较的次数为 [ O(log2n) ].

3.若串s=“MathTypes”,则其子串的数目是[ 46 ].

4.软件开发环境是全面支持软件开发全过程的[ 软件工具 ]集合.

5.关系数据库的关系演算语言是以[ 谓词演算 ]为基础的DML语言.

模拟测试八

一.选择题(每小题2分)

在下列各题的A),B)C),D)4个选项中,只有1个选项是正确的,请将正确选项填涂在答题卡相应的位置上,答在试卷上不得分.

1.循环链表的主要优点是( B )

C)不在需要头指针了

D)从表中任一结点出发都能访问到整个链表

E)在进行插入﹑删除运算时,能更好地保证链表不断开

F)已知某个结点的位置后,能够容易找到它的直接前件

2.栈底至栈顶依次存放元素A,B,C,D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是( B )

A)ABCDE B)DCBEA C)DBCEA D)CDABE

3.n个顶点的强连通图的边数至少有( C )

A)n-1 B)n(n-1) C)n D)n+1

4.在结构化程序设计思想提出之前,在程序设计中曾强调程序的效率,现在,在程序的效率相比,人们更重视程序的( C )

A)安全性 B)一致性 C)可理解性 D)合理性

5.模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准则是模块的( C )

A)抽象和信息隐蔽 B)局部化和封装化

C)内聚性和耦合性 D)激活机制和控制方法

6.软件开发的结构化生命周期方法将软件生命周期划分成( A )

A)定义﹑开发﹑运行维护 B)设计阶段﹑编程阶段﹑测试阶段

C)总体设计﹑详细设计﹑编程调试 D)需求分析﹑功能定义﹑系统设计

7.在软件工程中,白盒测试法可用于测试程序的内部结构,此方法将程序看作是( A )

A)路径的集合 B)循环的集合 C)目标的集合 D)地址的集合

8.在数据管理技术发展过程中,文件系统与数据库系统的主要区别是数据库系统具有( A )

A)特定的数据模型 B)数据无冗余

C)数据可共享 D)专门的数据管理软件

9.数据库设计包括两个方面的设计内容,它们是( A )

A)概念设计和逻辑设计 B)模式设计和内模式设计

C)内模式设计和物理设计 D)结构特性设计和行为特性设计

10.实体是信息世界中广泛使用的一个术语,它用于表示( C )

A)有生命的事物 B)无生命的事物 C)实际存在的事物 D)一切事物

二.填空题(每空2分)

1.常用的黑盒测试有等价分类法﹑[ 边值分析法 ]﹑因果图法和错误推测法4种.

2.测试的目的的暴露错误,评价程序的可靠性;而[ 调试 ]的目的是发现错误的位置并改正错误.

3.软件维护活动包括以下几类:改正性维护﹑适应性维护﹑[ 完善性 ]维护和预防性维护.

4.在面向对象的设计中,用来请求对象执行某一处理或回答某些信息的要求称为[ 消息 ].

5.关键字ASC和DESC分别表示[ 升序排列和降序排列 ]的含义.

模拟测试九

一.选择题(每小题2分)

1.最简单的交换排序方法是( D )

A)快速排序 B)选择排序 C)堆排序 D)冒泡排序

2.栈通常采用的两种存储结构是( A )

A)线性存储结构和链表存储结构

B)列方式和索引方式

C)表存储结构和数组

D)线行存储结构和非线性存储结构

3.线性表的顺序存储结构和线性表的链式存储结构分别是( B )

A)顺序存储的存储结构、顺序结构的存储结构

B)随机存储的存储结构、顺序存储的存储结构

C)随机存储的存储结构、随机存取的存储结构

D)任意存储的存储结构、任意存储的存储结构

4.完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例的方法是( A )

A)黑盒测试法 B)白盒测试法 C)错误推测法 D)安装测试法

5.在结构化设计方法中,生成的结构图(SC)中,带有箭头的连线表示( A )

A)模块之间的调用关系 B)程序的组成成分

C)控制程序的执行顺序 D)数据的流向

6.下列选项中,不属于模块间耦合的是( C )

A)数据耦合 B)同构耦合 C)异构耦合 D)公用耦合

7.一个关系中属性个数为1时,称此关系为( C )

A)对应关系 B)单一关系 C)一元关系 D)二元关系

8.为用户与数据库系统提供接口的语言是( C )

A)高级语言 B)数据描述语言(DDL) C)数据操纵语言(DML) D)汇编总汇9.相对于数据库系统,文件系统的主要缺陷有数据关联差、数据数据不一致性和( D ) A)可重用性差 B)安全性差 C)非持久性 D)冗余性

10.需求分析阶段的任务是确定( D )

A)软件开发方法 B)软件开发工具 C)软件开发费用 D)软件系统功能二.填空题(每空2分)

1.栈和队列通常采用的存储结构[ 链式存储和顺序存储 ].

2.在程序设计阶段应该采取[ 自顶向下 ]和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,进而用某种程序设计语言写成程序.

3.软件结构是以[ 模块 ]为基础而组成的一种控制层次结构.

4.数据库系统阶段的数据具有较高的独立性,数据独立性包括物理独立性和[ 逻辑独立性 ]两个含义.

5.数据库保护分为:安全性控制、[ 完整性控制 ]、并发性控制和数据的复制.

模拟测试十

一.选择题(每小题2分)

1.下列数据结构中,按先进后出原则组织数据的是( B )

A)线性链表 B)栈 C)循环链表 D)顺序表

2.具有3个结点的二叉树有( D )

A)2种形态 B)4种形态 C)7种形态 D)5种形态

3.设有如图所示二叉树:对此二叉树前序列遍历的结果为( B )

A)ZBTYCPXA B)ATBZXCYP C)ZBTACYXP D)ATBZXCPY

4.结构化程序设计主要强调的是( D )

A)程序的规模 B)程序的效率 C)程序设计语言的先进性 D)程序医读性5.程序的3种基本控制结构是( B )

A)过程、子过程和分程序 B)顺序、选择和循环

C)递归、堆栈和队列 D)调用、返回和转移

6.下列叙述中,不属于测试的特征的是( C )

A)测试的挑剔性 B)完全测试的不可能性 C)测试的可靠性 D)测试的经济性7.需求分析中开发人员要从用户那里了解( A )

A)软件做什么 B)用户使用界面 C)输入的信息 D)软件的规模8.下列关系模型中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是( B )

A)选择 B)连接 C)投影 D)并

9.下列叙述中,正确的是( C )

A)用E-R图能表示实体间一对一的联系、一对多的联系和多对多的联系

B)用E-R图只能表示实体集之间一对一的联系

C)用E-R图只能表示实体集之间一对多的联系

D)用E-R图表示的概念数据模型只能转换为关系数据模型

10.“年龄在18~25之间”这种约束是属于数据库当中的( C )

A)原子性措施 B)一致性措施 C)完整性措施 D)安全性措施二.填空题(每空2分)

1.排序是计算机程序设计中一种重要操作,常见的排序方法有插入排序、[ 交换排序 ]和选择排序等.

2.当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算.

这种情况称为[ 上溢 ].

3.[ 封装 ]是一种信息隐蔽技术,目的在于将对象的使用者和对象的设计者分开.

4.为了便于对照检查,测试用例应由输入数据和预期的[ 输出结果 ]两部分组成. 5.[ 关系运算 ]是从二维表列的方向进行的运算.

模拟测试十一

1.选择题(每小题2分)

1.根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分成( C )

A)动态结构和静态结构B)紧凑结构和非紧凑结构

C)线新性结构和非线性结构D)内部结构和外部结构

2.设一棵二叉树中有3个叶子结点,有8个度为1的接点,则该二叉树中总的接点数为( B )

A)12 B)13 C)14 D)15

3.在下列几种排序方法中,要求内存最大的是( D )

A)插入批排序B)选择排序C)快速排序D)归并排序

4.下列叙述中,不属于结构化程序设计方法的重要原则是( B )

A)自顶向下B)由底向上C)模板化D)限制使用goto语句

5.下列不属于软件调试技术的是( B )

A)强行排错法B)集成测试法C)回嗍法D)原因排除法

6.为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为( B )

A)PAD图B)N-S图C)结构图D)数据流图

7.软件复杂性1度量的参数包括( B )

A)效率B)规模C)完整性D)容错性

8.下列叙述中,不属于数据库系统的是( B )

A)数据库B)数据库管理系统C数据库管理员D)数据库应用系统

9.数据库系统的核心是( B )

A)数据库B)数据库管理系统C)数据模型D)软件工具

10.视图设计一般有3中设计次序,下列不属于视图设计的是( B )

A)自顶向下B)由外向内C)由内向外D)自底向上

3.填空题(每空2分)

请将每一个空的正确答案写在答题卡11___15的横线上,答在试卷不给分.

1.算法的工作量大小和实现算法所需的存储单元多少分别称为算法的[时间复杂度和空间复杂度].

2.数据结构包括数据的逻辑结构.数据的[ 存储结构]以及对数据的操作运算.

3.可以把具有相同属性的不同对象归类,称为[ 对象类].

4.软件工程包括3个要素,分别为方法.工具和[ 过程].

5.由关系数据库系统支持的完整性约束是指[ 实体完整性]和参照完整性.

模拟试题十二

一选择题(每小题2分)

1.由两个栈共享一个存储空间的好处是( B )

A)减少存取时间,降低下溢发生的机率B)节省存储空间,降低下溢发生的机率

C)减少存取时间,降低上溢发生的机率D)节省存储空间,降低下溢发生的机率

2.设有两个串p和q,求p和q中首次出现位置的运算称作( B )

A)连接B)模式匹配C)求子串D)求串长

3.n个顶点的连接图中边的条数至少为( C )

A)0 B)1 C)n-1 D)n

4.对象实现了数据和操作的结合,是指对数据和数据的操作进行( C )

A)结合B)隐藏C)封装D)抽象

5.下列叙述中,正确的是( D )

A)软件就是程序清单B)软件就是存放在计算机中的文件

C)软件应包括程序清单和运算结果D)软件包括程序和文档

6.软件设计中,有利于提高模式独立性的一个准则是( C )

A)低内聚低藕合B)低内聚高藕合

C)高内聚低藕合D)高内聚高藕合

7.软件生命周期中花费时间最多的阶段是( D )

A)详细设计B)而今编码C)软件测试D)软件维护

8.下列4项中说法不正确的是( C )

A)数据库减少了数据冗杂B)数据库中的数据可以共享

C)数据库避免了一切数据的重复D)数据库具有较高的数据的独立性

9.下列4项中,必需进行查询优化的是( A )

A)关系数据库B)网状数据库C)层次数据库D)非关系模型

10.最常用的一种基本数据模型是关系数据模型,它的表示应采用( D )

A)树B)网络C)图D)二维表

二.填空题(每空2分)

1. 当线系性表采用顺序存储时,其主要特点是[ 逻辑结构中相临的结点在存储结构中

仍相临].

2. 软件工程的出现是由于[ 软件危机的出现].

3. 单元测试又称模块测试,一般采用[ 白盒法]测试.

4. 数据库恢复

5. 是将数据库从[ 错误]恢复到某一已只的正确状态.

7. 数据的基本单位是[ 数据元素].

计算机二级C语言公共基础知识

计算机二级C语言公共基础知识手册 1.算法的时间复杂度是指执行算法所需要的计算工作量.算法的工作量由算法所执行的基本运算次数来度量,而算法所执行的基本运算次数是问题规模的函数. 2.算法的空间复杂度是指算法执行过程中所需要的存储空间,存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间. 3.一个算法通常由两种基本要素组成:一是对数据对象的运算和操作;而是算法的控制结构. 4算法设计基本方法主要包括有列举法、归纳法、递推、递归和减半递推技术. 5.数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构(也称数据的物理结构).、 6.数据处理是指对数据集合中的各元素以各种方式进行运算,包括插入、删除、查找、更改等运算,也包括对数据元素进行分析. 7.数据元素是指相互有关联的数据元素的集合. 8.前驱和后继关系是数据元素之间的一个基本关系,但前驱个后继关系所表示的实际意义随具体对象的不同而不同.一般说来,数据元素之间的任何关系都可以用前驱和后继关系来描述. 9.常用的存储结构有顺序链接、索引等存储结构.而采用不同的存储结构,其数据处理的效率是不同的.

10.在数据结构中,没有前驱的结点称为根结点;没有后继的结点称为终端结点(叶子结点);数据结构中除了根结点与终端结点外的其他结点一般称为内部结点. 11.在数据结构中,结点几结点的相互关系有线性结构和非线性结构. 12.线性结构(线性表):非空数据结构满足(1)有且只有一个根结点;(2)每个结点最多有一个前驱,也最多有一个后继. 在一个线性结构中插入或删除任何一个结点后还应该是线性结构,若删除或插入后不是线性结构,则该数据结构不能称为线性结构. 13.线性表是最简单、最常用的一种数据结构.有一组数据元素组成.在稍微复杂的线性表中,一个数据元素可以由若干个数据项组成,在这种情况下,常把数据元素称为记录,含有大量记录的线性表就称作文件. 14.非空线性表如与如下结构特征(1)有且只有一个根结点A1,它无前驱;(2)有且只有一个终端结点AI,它无后继;(3)除根结点与终端结点外,其他所有结点有且只有一个前驱,也只有一个后继.线性表中结点的个数N称为线性表的长度.当 N=0时,称其为空表. 15.在计算机中存放线性表,一种最简单的方法是顺序存储,也称顺序分配. 16.线性表的顺序存储结构具有以下两种基本特点:(1)线性表中所有元素所占的存储空间是连续的;(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的. 在线性表的存储结构中,其前后继两个元素在存 储空间中是紧邻的,且前驱元素一定存储在后继元素的前面. 17.假设线性表中第一个数据元素的存储地址是ADR(AI),每一个数据元素占K 个字节,则线性表中第I个元素AI在计算机存储空间中的存储地址是 ADR(AI)=ADR(A1)+(I-1)K.

C语言程序设计试题集与答案解析

一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10. 程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。

13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。 18. 由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19. 用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以 说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。 20.

国家二级C语言公共基础知识要点及历年真题

1算法 1.1 算法的基本概念 1.算法的概念(必记): 算法是指解题方案的准确而完整的描述。 分析:要用计算机实现某一任务时,先应设计出一整套解决问题的指导方案,然后具体实现。整套的指导方 案称之为算法,而具体的实现称之为程序。并且在设计指导方案时,可不用过多考虑到实现程序的具体细节(即可以一点点的理想化),但在程序实现时,必须受到具体环境的约束(现实不同于理想)。 结论:算法不等于程序,也不等于计算方法,程序的编制不可能优于算法的设计。 2.算法的基本特征(必记): a.可行性:由于算法总是在某个特定的计算工具上实现并执行的,因而受到计算工具的限制,所以在设计算法时,要考虑到设计的算法是否是可性的。 b.确定性:算法中的每一个步骤都必须是有明确定义的,不允许有模棱两可的解释,也不允许有多义性。 c.有穷性:算法必须能在有限的时间内做完,即算法必须能在执行有限个步骤之后终止。 d.拥有足够的情报:算法有相应的初始数据。 3.算法的基本要素: 一个算法通常由两个基本要素所组成:一是对数据对象的运算和操作,二是算法的控制结构。 基本运算和操作分为四类: a. 算术运算: (加、减、乘、除等运算) b. 逻辑运算: (与、或、非等运算) c. 关系运算: (大于、小于、等于、不等于等运算) d. 数据传输: (赋值、输入、输出等操作) 算法的控制结构: 算法中各操作之间的执行顺序称之为算法的控制结构。一个算法一般都可以用顺序、选择、循环三种基本控 制结构组合而成。 注意:一个计算机系统能执行的所有指令的集合,称为该计算机系统的指令系统。 4.算法设计基本方法: 列举法、归纳法、递推、递归、减半递推技术、回溯法。 1.2 算法的复杂度 (必记) 算法的复杂度主要包括时间复杂度和空间复杂度。 1.算法的时间复杂度: 是指执行算法所需要的计算工作量,是由算法所执行的基本运算次数来度量。 可用平均性态和最坏情况两种分析方法。其中平均性态分析是指用各种特定输入下的基本运算次数的加权平 均值来度量算法的工作量;而最坏情况分析是指在所有特定输入下的基本运算次数据的最大次数。 2.算法的空间复杂度: 一个算法的空间复杂度,是指执行这个算法所需要的内存空间。包含有三部分所组成:算法程序所占的空间 +输入的初始数据所占的存储空间+算法执行过程中所需要的额外空间。 历届的考题: 1、算法具有五个特性,以下选项中不属于算法特性的是(______) [2005.4] A)有穷性B)简洁性C)可行性D)确定性 2、问题处理方案的正确而完整的描述称为______。[2005.4] 3、下列叙述中正确的是________。[2006.9] A)一个算法的空间复杂度大,则其时间复杂度也必定大

c语言公共基础知识

二级公共基础知识总结 第一章数据结构与算法 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代表每个元素占的字节数。顺序表的运算:插入、删除。 (4)1.4 栈和队列栈是限定在一端进行插入与删除的线性表,允许

C语言程序设计试卷及答案

C语言程序设计试卷及 答案 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】

C语言程序设计 一、单项选择题(共15小题,每题4分,共60分) 1、下列有关C语言的叙述中错误的是()。 A)C语句必须以分号结束B)任何一个C程序中有且只有一个主函数 C)复合语句在语法上可被看作一条语句D)C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的是()。 A)MAINB)_HJC)2ongD)LINE1 3、以下能正确定义一维数组的是()。 A)inta[5]={0,1,2,3,4,5};B)inta[5]=”012345”; C)chara[]=”012345”;D)chara[5]={0,1,2,3,4,5}; 4、以下关于main()函数的说法,正确的是。 A)main()必须是程序的第一行B)main()可以有参数 C)一个程序可以有多个main()D)main()可以被用户自定义的函数调用 5、设charstr1[10]=“ABCDE”,str2[10]=“xyz”; 则执行语句printf(“%d”,strlen(strcpy(str1,str2)));后的输出结果是()。 A)9B)8C)5D)3 6、若用数组名作为函数调用的实参,则传递给形参的是()。 A)数组的首地址B)数组第一个元素的值C)数组中全部元素的值D)数组元素的个数 7、在C程序中,若未在函数定义时说明函数类型,则函数默认的类型为()。 A)void?B)double?C)int?D)char 8、下面不能正确进行字符串赋值操作的语句是()。

计算机二级c语言公共基础知识(免费的)

计算机二级C语言的二级共公基础知识教程 第一章数据结构与算法 1.1 算法 算法:是指解题方案的准确而完整的描述。 算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。 算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。特征包括: (1)可行性; (2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性; (3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义; (4)拥有足够的情报。 算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。 指令系统:一个计算机系统能执行的所有指令的集合。 基本运算和操作包括:算术运算、逻辑运算、关系运算、数据传输。 算法的控制结构:顺序结构、选择结构、循环结构。 算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。算法复杂度:算法时间复杂度和算法空间复杂度。 算法时间复杂度是指执行算法所需要的计算工作量。 算法空间复杂度是指执行这个算法所需要的内存空间。 1.2 数据结构的基本基本概念

数据结构研究的三个方面: (1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构; (3)对各种数据结构进行的运算。 数据结构是指相互有关联的数据元素的集合。 数据的逻辑结构包含: (1)表示数据元素的信息; (2)表示各数据元素之间的前后件关系。 数据的存储结构有顺序、链接、索引等。 线性结构条件: (1)有且只有一个根结点; (2)每一个结点最多有一个前件,也最多有一个后件。 非线性结构:不满足线性结构条件的数据结构。 1.3 线性表及其顺序存储结构 线性表由一组数据元素构成,数据元素的位臵只取决于自己的序号,元素之间的相对位臵是线性的。 在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。 非空线性表的结构特征: (1)且只有一个根结点a1,它无前件; (2)有且只有一个终端结点an,它无后件;

C语言题库(判断题部分)

1、用puts和gets函数只能输入或输出一个字符串。 答案:正确 知识点:知识点/判断题/C7数组/C73字符函数T 2、用puts和gets函数可以输入或输出多个字符串。 答案:错误 知识点:知识点/判断题/C7数组/C73字符函数T 3、用strcat(字符串1,字符串2)连接两个字符串函数时,字符串1的存储空间必须足够大。 答案:正确 知识点:知识点/判断题/C7数组/C73字符函数T 4、用strcat(字符串1,字符串2)连接两个字符串函数时,字符串1的存储空间没有限制。 答案:错误 知识点:知识点/判断题/C7数组/C73字符函数T 5、用strcat(字符串1,字符串2)连接两个字符串函数时,将字符串1后面的'\0'取消,只在新串的最后保留一个'\0'。 答案:正确 知识点:知识点/判断题/C7数组/C73字符函数T 6、使用strcpy(字符数组,字符串)函数时,字符数组长度必须足够大。 答案:正确 知识点:知识点/判断题/C7数组/C73字符函数T 7、使用strcpy(字符数组,字符串)函数时,字符数组长度没有限制。 答案:错误 知识点:知识点/判断题/C7数组/C73字符函数T 8、使用strcpy(字符数组,字符串)函数时,连同字符串后面的'\0'一起拷贝到字符数组中。 答案:正确 知识点:知识点/判断题/C7数组/C73字符函数T 9、使用strcpy(字符数组,字符串)函数时,字符串后面的'\0'并没有一起拷贝到字符数组中。 答案:错误 知识点:知识点/判断题/C7数组/C73字符函数T 10、字符数组定义后,不能用赋值语句将一字符串常量或字符数组直接赋给一个字符数组。 答案:正确 知识点:知识点/判断题/C7数组/C73字符函数T 11、字符数组定义后,可以用赋值语句将一字符串常量或字符数组直接赋给一个字符数组。 答案:错误 知识点:知识点/判断题/C7数组/C73字符函数T 12、比较两个字符串是否相等不能通过条件运算符"=="。 答案:正确 知识点:知识点/判断题/C7数组/C73字符函数T 13、如果在共用体中有若干个不同类型的成员,在每一瞬间只有一个成员起作用,实际上是最后一个存放成员起作用。 答案:正确 知识点:知识点/判断题/C9结构体类型与链表/C93共用体与结构体T 14、结构体的各个成员各自占用自己的存储单元,各有自己的地址,各个成员所占的存储单元的总和一般就是结构体的长度。

C语言程序设计期末考试试题(含答案)

C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是( ) 。 #include main(){ int x; float y; scanf("%3d%f",&x,&y); } A、12345 B、123 C、45 D、345 8、若有以下定义int a,b; float x,则正确的赋值语句是( ) A、a=1,b=2 B、b++; C、a=b=5 D、b=int(x); 9、以下程序的执行结果是( )

#include { int i=10,j=10; printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,9 10、巳知字母A的ASCII码是65,以下程序的执行结果是( ) #include main() { char c1='A',c2='Y'; printf("%d,%d\n",c1,c2); A、A,Y B、65,65 C、65,90 D、65,89 11、下列运算符中优先级最高的是( ) A、< B、十 C、% D、!= 12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。 A、’x’&&’y’ B、x<=y C、x||y+z&&y-z D、!((x<y)&&!z ||1) 13、判断char型变量cl是否为小写字母的正确表达式为( ) A、’a’<=c1<=f’z’ B、(c1>=a)&&(c1<=z) C、(‘a’>=c1) (‘z’<=c1) D、(c1>=’a’)&&(c1<=’z’) 14、字符串"a"在内存中占据的字节个数为( ) A、0 B、 1 C、 2 D、 3 15、下面有关for循环的正确描述是( ) A、for循环只能用于循环次数已经确定的情况 B、for循环是先执行循环体语句,后判定表达式 C、在for循环中,不能用break语句跳出循环体 D、for循环体语句中,可以包含多条语句,但要用花括号括起来 16、下面程序的运行结果是( ) #include main() {int num=0; while(num<=2) {num++; printf(“%d ,num); } } A、 1 B、 1 2 C、 1 2 3

计算机二级C语言公共基础知识

计算机公共基础部分知识归纳 第一章数据结构与算法 算法---是一组严谨地定义运算顺序的规则 算法的基本要素---一是对数据对象的运算和操作,二是算法的控制结构 算法设计基本方法---列举法、归纳法、递推、递归、减半递推 算法的复杂度---包括时间复杂度和空间复杂度 时间复杂度---执行算法所需的计算工作量 空间复杂度---执行算法所需的内存空间 数据结构---相互有关联的数据元素的集合。如春、夏、秋、冬;18、11、35、23、16。。。; 父亲、儿子、女儿等都是数据元素。 前件---数据元素之间的关系,如父亲是儿子和女儿的前件 后件---如儿子是父亲的后件 结构---指数据元素之间的前后件关系 数据的逻辑结构—是指反映数据元素之间逻辑关系,而与它们在计算机中的存储位置无关数据的存储结构(物理结构)---数据的逻辑结构在计算机存储空间中的存放形式,数据元素 在计算机存储空间的位置关系可能与逻辑关系不同。 根据数据结构中各数据元素之间前后件关系的复杂程度,可将数据结构分两类---线性结构与 非线性结构 线性结构(线性表)---满足下列两个条件(1)有且只有一个根结点(2)每一个结点最多有 一个前件和后件。则称该数据结构为线性结构,否则为非线 性结构。 线性表是最简单、最常用的一种数据结构,其数据元素之间的相对位置是线性的,其存储方 式为顺序存储的,如数组 栈---是限定在一端进行插入与删除的线性表,一端封闭,另一端开口,其操作原则是“先进 后出”,栈的运算有入栈、退栈、读栈顶元素 队列---是指在一端进行插入(称为队尾)而在另一端进行删除(称为队头)的线性表,其操 作规则是“先进先出”,其运算有入队和退队。 树---是一种简单的非线性结构,而且是层次结构,是倒立的大树,有根结点、父结点、子结 点、叶子结点。根结点在第一层,一个结点所拥有的后件的 个数称为该结点的度,所有结点中最大的度称为树的度, 树的最大层次称为树的深度。 二叉树---(1)非空二叉树只有一个根结点(2)每一个结点最多有两棵子树(左子树和右子 树),其存储结构为链式。 二叉树性质---(1)K层上最多有2(K-1)个结点(2)深度为m的二叉树最多有2m-1个结点(3)度为0的结点(叶子结点)比度为2的结点多一个(4)具有n个结点的 二叉树,其深度至少为[Log2n]+1,其中[Log2n]表示对Log2n 取整 满二叉树---除最后一层外,其余层的结点都有两个子结点 完全二叉树---除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的 若干结点,叶子结点只可能在层次最大的两层上出现。满二 叉树是完全二叉树,而完全二叉树不是满二叉树。完全二叉 树有两个性质:(1)具有n个结点的完全二叉树的深度为

C语言判断题题库

三、判断题(10 道小题,共10 分) 1、C 语言具有简洁明了的特点。(1 分)正确 2、预处理命令的前面必须加一个“#”号。(1 分) 正确 3、标准格式输入函数scanf()可以从键盘上接收不同数据类型的数据项。(1 分) 正确 4、在if 语句的三种形式中,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{} 括起来组成一个复合语句。( 1 分)正确 5、continue 不是结束本次循环,而是终止整个循环的执行。(1 分) 错误 6、在对数组全部元素赋初值时,不可以省略行数,但能省略列数( 1 分) 错误 7、. 函数的实参传递到形参有两种方式值传递和地址传递( 1 分) 正确 8、直接访问就是直接利用变量的地址进行存取直接访问( 1 分) 正确 9、共用体变量可以作结构体的成员,结构体变量也可以作共用体的成员。(1 分) 正确 10、文件指针和位置指针都是随着文件的读写操作在不断改变。(1 分) 错误 11、 C 语言标准格式输入函数scanf()的参数表中要使用变量的地址值。(1 分)正确 12 、浮点型常量的指数表示中,e 是可以省略的。(1 分)错误 13、任何表达式语句都是表达式加分号组成的。(1 分) 正确 14 、在switch 语句中,每一个的case 常量表达式的值可以相同。(1 分) 错误 15、do-while 循环的while 后的分号可以省略。(1 分)错误 16、用字符串方式赋值比用字符逐个赋值要多占一个字节,用于存放字符串结束标志'\0' 正确 17、C语言函数返回类型的默认定义类型是void (1分) 错误 18、可以用一个指针变量指向一个函数,然后通过该指针变量调用此函数( 1 分)正确 19、枚举类型中的元素都具有一个整型值。(1 分) 正确 20 、C 语言是一种具有某些低级语言特征的高级语言。(1 分) 正确 21、case 语句后如没有break ,顺序向下执行。(1 分)正确 22、do-while 循环至少要执行一次循环语句。(1 分)正确 23 、数组名能与其它变量名相同。数组名后是用方括号括起来的常量表达式,不能用圆括号。(1 分) 正确 24 、函数形参的存储单元是动态分配的(1 分)正确 25 、int (*p)[4] 它表示p 是一个指针数组,它包含4 个指针变量元素(1分)

C语言程序设计试题集及其答案

第一章基础知识 一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10. 程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。 13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。 18. 由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19. 用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以 说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。

全国计算机二级考试公共基础知识题库

全国计算机二级考试公共基础知识题库 习题一 (1) 在下列选项中,哪个不是一个算法一般应该具有的基本特征______。(C) A. 确定性 B. 可行性 C. 无穷性 D. 拥有足够的情报 (2) 希尔排序法属于哪一种类型的排序法______。(B) A. 交换类排序法 B. 插入类排序法 C. 选择类排序法 D. 建堆排序法 (3) 下列关于队列的叙述中正确的是______。(C) A. 在队列中只能插入数据 B. 在队列中只能删除数据 C. 队列是先进先出的线性表 D. 队列是先进后出的线性表 (4) 对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为______。(B) A. N+1 B. N C.(N+1)/2 D. N/2 (5) 信息隐蔽的概念与下述哪一种概念直接相关______。(B)

A. 软件结构定义 B. 模块独立性 C. 模块类型划分 D. 模拟耦合度 (6) 面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是______。(C) A. 模拟现实世界中不同事物之间的联系 B. 强调模拟现实世界中的算法而不强调概念 C. 使用现实世界的概念抽象地思考问题从而自然地解决问题 D. 鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考 (7) 在结构化方法中,软件功能分解属于下列软件开发中的阶段是______。(C) A. 详细设计 B. 需求分析 C. 总体设计 D. 编程调试 (8) 软件调试的目的是______。(B) A. 发现错误 B. 改正错误 C. 改善软件的性能 D. 挖掘软件的潜能 (9) 按条件f对关系R进行选择,其关系代数表达式为______。(C) A. R|X|R B. R|X|R C. бf(R)

C语言判断题

C语言判断题

判断题 1. (1 分) 每一个C语言程序都必须有一个main函数。 答案: Y 2. (1 分) C 语言程序的三种基本结构是顺序结构、选择结构和递归结构。 答案: N 3. (1 分) 在程序设计中,经常用选择(又称分支)、循环和函数3种控制结构。答案: N 4. (1 分) 用C语言编写的源程序必须经过编译连接后生存可执行程序,才能运行。答案: N 5. (1 分) C程序主函数中的一个变量可以被定义为两个或多个不同的类型。 考生选择: N 答案: N

6. (1 分) 在C源程序中,/*与*/之间的注释信息也被编译,但对程序运行运果不发生影响。 答案: N 7. (1 分) C程序是由函数构成的,每一个函数完成相对独立的功能。答案: Y 8. (1 分) 一个C语言程序中,有且只能有一个main函数。答案: Y 9. (1 分) c程序总是从程序的第一条语句开始执行 答案: N 10. (1 分) C语言标识符由字母、数字和下划线组成,其中第一个字符必须是字母。答案: N 11. (1 分) C语言规定:在一个源程序中,main函数的位置必须在最开始。答案: N

12. (1 分) C语言程序的基本单位是语句。答案: N 13. (1 分) 对于C程序中的逻辑错误,编译器是可以发现的。答案: N 14. (1 分) 一系列计算机指令的有序组合就构成了程序。答案: Y 15. (1 分) C 程序由函数所组成。 答案: Y 16. (1 分) 在C程序中,每行只能写一条语句。 答案: N 17. (1 分) c程序中能直接让机器执行的文件是编辑后的.c源文件。 答案: N

C语言程序设计试题与答案D

绝密★启用前学院 学年第二学期期末考试 级专业()《 C语言程序设计》试卷D 一、单项选择题(本大题共15小题,每小题2分,共30分) 1、以下正确的C语言自定义标识符是() A._la B.2a_ C.do D.a.12 2、在C语言中,错误 ..的常数表示是() A.0L B.-0x6aL C.′6′D.1.234E3.5 3、设int a,x=2;执行语句a=x>0?3*x:(x=10);后,变量x的值是() A.1 B.2 C.6 D.10 4、设有以下程序段: int x=2,y=2,z=0,a; a=++x||++y&&z++; printf(″%d,%d,%d\n″,x,y,z); 执行后输出的结果是() A.2,2,0 B.3,3,1 C.3,2,0 D.3,2,1 5、逗号表达式a=2*6,a*3,a+5的值是() A.12 B.17 C.36 D.41 6、设int a[2][3]={{1},{2,3}};,则元素a[1][0]的值是() A.0 B.1 C.2 D.3 7、C语言中,错误 ..的int类型的常数是() A.1E5 B.0 C.037 D.0xaf 8、在C语言中,′a′和″a″存储所占用的字节数分别是() A.1,1 B.1,2 C.2,1 D.2,2 9、设int x;,则以下语句中错误 ..的输入是() A.scanf (″%d″,x); B.scanf (″%d″,&x); C.scanf (″%o″,&x); D.scanf (″%x″,&x); 10、在C语言中,运算符″=″和″==″的功能分别是() A.关系运算和赋值运算B.赋值运算和关系运算 C.都是关系运算D.都是赋值运算 11、设int x[]={1,2,3,4,5},*p=x;,则值为3的表达式是() A.p+=2, *p++ B.p+=2, *++p C.p+=2, p++ D.p+=2, ++*p 12、设for(i=0, j=10; (j>0)&&(i<4); i++, j--);,该语句的循环次数是() A.0 B.3 C.4 D.无限 13、设函数定义如下: float f1 (float a, float b) { return (a+b); } 若有float x=1.1, y=2.2;,则以下语句中正确的函数调用是() A.printf (″%f″, f1(x)); B.printf (″%f″,f1(&x, y)); C.printf (″%f″,f1(*x,*y)); D.printf (″%f″,f1(x, y)); 14、若有说明:int i,j=7,*p=&i;则与i=j;等价的语句是()。 A. i=*p; B. *p=*&j; C. i=&j ; D. i=**p; 15、设char str1[10]=″ABCDE″,str2[10]=″XYZ″;则执行语句: printf(″%d″,strlen(strcpy(str1,str2))); 后的输出是()。 A. 3 B. 5 C. 8 D. 9 二、填空题(本大题共10小题,每小题2分,共20分) 16、一个C语言程序的基本组成单位是___________________。 17、求字符串的有效长度的系统函数名是___________________。 18、设float a [4][5];,则数组a中第一维下标的最大值是___________________。 19、设int a; float b; char c; long d; double e; , 则表达式a/c-b+d-e值的类型是 ______________。 20、设int a=2;,则执行a+=a*=15;后,变量a的值是__________。 21、一个C语言程序的执行起点是__________。 22、设double y[4][5];,则数组y中元素的个数是__________。 23、设int x=7,y=3,则表达式x%y+x/y的值是__________。 24、一个short型变量所占内存的字节数是____________________。

二级c公共基础知识及练习题库.doc

二级C公共基础知识及例题 1.1数据结构与算法 1丄1算法 1.算法的概念 (1)概念:算法是指一系列解决问题的清晰指令. (2)4个基本特征:可行性、确定性、有穷性、拥有足够的情报。 (3)两种基本要素:对数据对象的运算和操作、算法的控制结构(运算和操作时间顺序) (4)设计的基木方法:列举法、归纳法、递推法、递归法、减半递推技术和冋溯法。 2.算法的复杂度 (1)算法的时问复杂度:执行算法所需要的计算王作量。 (2)算法的空间复杂度:执行算法所需的内存空问。 1. 1. 2数据结构的基木概念 数据结构指相互有关联的的数据元素的集合,即数据的组织形式。其屮逻辑结构反映数据元素Z间逻辑关系;存储结构为数据的逻笹结构在计算机存储空间中的存放形式,有顺序存储、链式存储、索引存储和散列存储4种方式。数据结构按各种元素之间的前示件的关系的复杂度可划分为:(1)线性结构:有且只有一个根节点,且每个节点最多有一个直接前驱和一个直接后继的非空数据结构。 (2)非线性结构:不满足线性结构的数据结构。 1. 1. 3线性表及其顺序存储结构 1.线性表的基木概念 线性结构乂称线性表,线性表是最简单也是最常用的一种数据结构。 2.线性表的顺序存储结构 ?元素所占的存储空间必须连续。 ?元素在存储空间的位置是按逻辑顺序存放的。 3?线性表的插入运算 在第i个元索Z前插入一个新元素的步骤如下: 步骤一:把原来第n个节点至第i个节点依次往后移一个元索位置。 步骤二:把新节点放在第i个位置上。 步骤三:修正线性表的节点个数。 4.线性表的删除运算 删除第i个位置的元索的步骤如下: 步骤一:把第i个元索Z后的不包括第i个元素的n-i个元索依次前移一个位置; 步骤二:修正线性表的结点个数。 1. 1. 4栈和队列 1.栈及其基木运算 (1)基木概念:栈是一种特殊的线性表,其插入运算与删除运算都只在线性表的一端进行,也被称为“先进后出"表或,后进先出”表。 ?栈顶:允许插入与删除的一端。 ?栈底:栈顶的另一端。(不允许插入与删除的一端) ?空栈:栈屮没有元素的栈。 (2)特点。 ?栈顶元索是最示被插入和最早被删除的元索。 ?栈底元素是最早被插入和最后被删除的元素。 ?栈有记忆作用。

C语言 选择结构程序设计练习题

第四章选择结构程序设计 一、填空 1.在C语言中,表示逻辑“真”值用_________。 2.得到整型变量a的十位数字的表达式为_________。 3.表达式:(6>5>4)+(float)(3/2)的值是_________。 4.表达式:a=3,a-1‖--a,2*a的值是_________。(a是整型变量) 5.表达式:(a=2.5-2.0)+(int)2.0/3的值是_________。(a是整型变量)6.C语言编译系统在给出逻辑运算结果时,以数值_________代表“真”,以 _________代表“假”;但在判断一个量是否为“真”时,以_________代表“假”,以_________代表真。 7.当m=2,n=1,a=1,b=2,c=3时,执行完d=(m=a!=b)&&(n=b>c)后,n的值为_________,m的值为_________。 8.若有int x,y,z;且x=3,y=-4,z=5,则表达式:!(x>y)+(y!=z)||(x+y)&&(y-z)的值为_________。 二、编程: 1.企业发放的奖金根据利润提成。利润(i)低于或等于10万元时,奖金可提10%; 利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润i,求应发放奖金总数? 2.输入三个整数x,y,z,请把这三个数由小到大输出。 3.输入某年某月某日,判断这一天是这一年的第几天? 4.本程序演示从键盘输入x的值,计算并打印下列分段函数的值。 y=0(x<60) y=1(60<=x<70) y=2(70<=x<80) y=3(80<=x<90)

C语言公共基础知识

C语言公共基础知识标准化文件发布号:(9312-EUATWW-MWUB-WUNN-INNUL-DQQTY-

第一部分公共基础部分知识归纳 数据结构与算法 算法---是一组严谨地定义运算顺序的规则 算法的基本要素---一是对数据对象的运算和操作,二是算法的控制结构 算法设计基本方法---列举法、归纳法、递推、递归、减半递推 算法的复杂度---包括时间复杂度和空间复杂度 时间复杂度---执行算法所需的计算工作量 空间复杂度---执行算法所需的内存空间 数据结构---相互有关联的数据元素的集合。如春、夏、秋、冬;18、11、35、23、16。。。;父亲、儿子、女儿等都是数据元素。 前件---数据元素之间的关系,如父亲是儿子和女儿的前件 后件---如儿子是父亲的后件 结构---指数据元素之间的前后件关系 数据的逻辑结构—是指反映数据元素之间逻辑关系,而与它们在计算机中的存储位置无关 数据的存储结构(物理结构)---数据的逻辑结构在计算机存储空间中的存放形式,数据元素在计算机存储空间的位置关系可能与逻辑关系不同。 根据数据结构中各数据元素之间前后件关系的复杂程度,可将数据结构分两类---线性结构与非线性结构 线性结构(线性表)---满足下列两个条件(1)有且只有一个根结点(2)每一个结点最多有一个前件和后件。则称该数据结构为线性结构,否则为非线性结构。 线性表是最简单、最常用的一种数据结构,其数据元素之间的相对位置是线性的,其存储方式为顺序存储的,如数组 栈---是限定在一端进行插入与删除的线性表,一端封闭,另一端开口,其操作原则是“先进后出”,栈的运算有入栈、退栈、读栈顶元素 队列---是指在一端进行插入(称为队尾)而在另一端进行删除(称为队头)的线性表,其操作规则是“先进先出”,其运算有入队和退队。 树---是一种简单的非线性结构,而且是层次结构,是倒立的大树,有根结点、父结点、子结点、叶子结点。根结点在第一层,一个结点所拥有的后件的个数称为该结点的度,所有结点中最大的度称为树的度,树的最大层次称为树的深度。 二叉树---(1)非空二叉树只有一个根结点(2)每一个结点最多有两棵子树(左子树和右子树),其存储结构为链式。

C语言程序设计试题集及答案

单项选择题 (002) 阅读程序题 (018) 程序填空题 (039) 编写程序题 (070) 一、单项选择题 导读:单项选择题要求从给出的四个备选答案中,选出一个最符合题意的答案。本类习题主要检查对C语言基本概念的掌握情况,读者可根据学习进度选做部分习题。在完成习题的过程中,不但要选出正确的答案,而且要清楚不正确的选项错在何处,以加深对概念的理解。对于掌握不准的问题,应该通过上机实验来检验。 【1.1】以下不正确的C语言标识符是____。 A) int B) a_1_2 C) ab1exe D) _x 【1.2】以下是正确的C语言标识符是____。 A) #define B) _123C) %d D) \n

【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。 ??? A) print B) i\am C) Pxq D) str_l ??? _3d one_half My->book Cpp ??? oodbs tart$it line# pow ??? aBc 3pai His.age while 【1.4】下面各选项组中,均是C语言关键字的组是。 A) auto,enum,include B) switch,typedef,continue C) signed,union,scanf D) if,struct,type 【1.5】下列不属于C语言关键字的是。 A) default B) register C) enum D) external 【1.6】C语言程序从main()函数开始执行,所以这个函数要写在____。 A) 程序文件的开始B) 程序文件的最后 C) 它所调用的函数的前面D) 程序文件的任何位置 【1.7】下列关于C语言的叙述错误的是____ A) 大写字母和小写字母的意义相同 B) 不同类型的变量可以在一个表达式中 C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D) 同一个运算符号在不同的场合可以有不同的含义 【1.8】在C语言中,错误的int类型的常数是。 A) 32768 (超过了范围) B) 0 C) 037 D) 0xAF 【1.9】执行语句printf("%x",-1);屏幕显示____。 A) -1 B) 1 C) –ffff D) ffff 【1.10】已知long i=32768;执行语句printf("%d",i);屏幕显示____。 A) -1 B) -32768C) 1 D) 32768 【1.11】已知long i=65539; 执行语句printf("%d",i);屏幕显示____。 A) 65539 B) -3 C) 3D) 程序不能执行 【1.12】在C语言中,整数-8在内存中的存储形式是。 A) 1111 1111 1111 1000B) 1000 0000 0000 1000 C) 0000 0000 0000 1000 D) 1111 1111 1111 0111 【1.13】C语言中字符型(char)数据在内存中的存储形式是____。

相关文档
最新文档