当前位置:文档之家› (完整版)计算机二级C语言公共基础

(完整版)计算机二级C语言公共基础

(完整版)计算机二级C语言公共基础
(完整版)计算机二级C语言公共基础

第一章数据结构与算法

1.算法的复杂度包括时间复杂度和空间复杂度。两者之间没有必然的联系。时间复杂度是指执行算法所

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

算法的时间复杂度是指______。(C)

A. 执行算法程序所需要的时间

B. 算法程序的长度

C. 算法执行过程中所需要的基本运算次数

D. 算法程序中的指令条数

在计算机中,算法是指______。(C)

A. 查询方法

B. 加工方法

C. 解题方案的准确而完整的描述

D. 排序方法

2.数据:数据是客观事物的符号表示。对于计算机而言,数据是能输入到计算机中并被计算机程序识别和

处理的符号总称,如文档,声音,视频等。

数据元素:简称元素,是数据的基本单位。

数据结构:是相互之间存在一种或多种关系的数据元素的集合。

数据的逻辑结构:是对数据的逻辑关系的描述,它有两个元素,一个是数据元素的集合,常记为D,二十D上的关系,他反应了数据元素之间的前后间关系,通常记为R

3.常用的存储结构有:顺序,链接,索引等存储结构。

4.线性存储具有两个基本特征:1,线性表中所有元素所占的存储空间是连续的,2线性表中所有元素在

存储空间中式按逻辑顺序依次排列的。

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

A. 顺序存取的存储结构、顺序存取的存储结构

B. 随机存取的存储结构、顺序存取的存储结构

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

D. 任意存取的存储结构、任意存取的存储结构

用链表表示线性表的优点是______。(A)

A. 便于插入和删除操作

B. 数据元素的物理顺序与逻辑顺序相同

C. 花费的存储空间较顺序存储少

D. 便于随机存取

5.栈只允许在栈顶插入和删除,是一种后进先出或者先进后出的线性表,栈还有记忆功能。入栈栈顶指

针加一,退栈栈顶指针减一,读栈栈顶指针不变。

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

A. ABCED

B. DBCEA

C. CDABE

D. DCBEA

6.队列只允许在表的队尾进行插入,队头进行删除。是先进先出,后进后出的线性表。入队只需在队尾

指针加一。

7.树是一种重要的非线性结构,是n个结点的有限集。

用树形结构来表示实体之间联系的模型称为______。(B)

A. 关系模型

B. 层次模型

C. 网状模型

D. 数据模型

8.完全二叉树除了最后一层外,每一层的结点均达到最大值。

设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为______。(B)

A. 349

B. 350

C. 255

D. 351

在深度为5的满二叉树中,叶子结点的个数为______。(C) (注意区分度和深度)

A. 32

B. 31

C. 16

D. 15

9.所谓二叉树的遍历,就是遵循某种规则,对二叉树的各个结点进行访问,但每个结点只被访问一次。

按照遍历规则的不同,二叉树的遍历通常有三种:前序遍历(根左右),中序遍历(左根右),后序遍历(左右根)。

10.对于长度为m的有序线性表,在最坏的情况下,折半查找只要log2m次,而顺序查找要m次。

11.假设初始序列长度为n,在最坏的情况下,冒泡排序要经过n-1趟排序,需要比较的次数为n(n-1)/2

12.冒泡排序,简单选择排序,简单排序时间复杂度均为n(n-1)/2,快速排序为n(n+1)/2

对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为______。(B)

A. N+1

B. N

C. (N+1)/2

D. N/2

第二章程序设计基础

1. 计算机语言大体上分为机器语言,汇编语言和高级语言。只有用机器语言编写的程序才能被计算机直接

执行,而其他的任何编写的程序则需要通过中间编译过程。

2. 就程序设计方法和技术的发展而言主要经过了结构化程序设计和面向对象的程序设计阶段。

结构化程序设计主要强调的是______。(B)

A. 程序的规模

B. 程序的易读性

C. 程序的执行效率

D. 程序的可移植性

3. 当今主导的程序设计风格可以归结为“清晰第一,效率第二”。

4. 注释一般分为序言性注释和功能性注释两种。

5. 结构化程序设计是指仅使用三种基本的控制结构实现程序的设计方法,它们是顺序结构,选择结构和循

环结构。

下面描述中,符合结构化程序设计风格的是______。(A)

A. 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑

B. 模块只有一个入口,可以有多个出口

C. 注重提高程序的执行效率

D. 不使用goto语句

6. 对象是系统中用来描述客观事物的一个实体,是构成系统的一个基本单位。一个对象由一组属性和对这

些属性进行操作的一组方法组成。面对对象=对象+类+继承+通信

下面概念中,不属于面向对象方法的是______。(D)

A. 对象

B. 继承

C. 类

D. 过程调用

下面对对象概念描述错误的是______。(A)

A. 任何对象都必须有继承性

B. 对象是属性和方法的封装体

C. 对象间的通讯靠消息传递

D. 操作是对象的动态性属性

程序流程图(PFD)中的箭头代表的是______。(B)

A. 数据流

B. 控制流

C. 调用关系

D. 组成关系

7. 对象具有以下基本特征:标识唯一性,分类性,多态性,封装性,模块独立性。

8. 面向对象的优点:与人类习惯的思维方法一致,稳定性好,可重用性好,易于开发大型产品,可维护性

面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是______。(C)

A. 模拟现实世界中不同事物之间的联系

B. 强调模拟现实世界中的算法而不强调概念

C. 使用现实世界的概念抽象地思考问题从而自然地解决问题

D. 鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考

在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送______。(D)

A. 调用语句

B. 命令

C. 口令

D. 消息

第三章软件工程基础

1.计算机软件的定义:程序,数据及相关文档的完整集合。

2.软件工程包括三要素:方法,工具和过程。

下面不属于软件工程的3个要素的是______。(D)

A. 工具

B. 过程

C. 方法

D. 环境

3.软件开发方法学,开发过程,开发工具和软件工程环境,其主体内容是软件开发方法学。

4.软件生命周期定义为软件定义,软件开发,软件运行维护三个时期。

需求分析阶段的任务是确定______。(D)

A. 软件开发方法

B. 软件开发工具

C. 软件开发费用

D. 软件系统功能

在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是______。(D)

A. 概要设计

B. 详细设计

C. 可行性分析

D. 需求分析

在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是______。(B)

A. 可行性分析

B. 需求分析

C. 详细设计

D. 程序编码

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

A. 控制流(应为数据流)

B. 加工

C. 数据存储

D. 源和潭

软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书以及______。

(B)

A. 阶段性报告

B. 需求评审

C. 总结

D. 都不正确

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

设计是确定系统的物理模型

软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指______。(B)

A. 模块间的关系

B. 系统结构部件转换成软件的过程描述

C. 软件层次结构

D. 软件开发过程

在结构化方法中,软件功能分解属于下列软件开发中的阶段是______。(C)

A. 详细设计

B. 需求分析

C. 总体设计

D. 编程调试

6.软件设计从技术观点上来看分为:软件的结构设计,数据设计,接口设计,过程设计从工程管理的角

度来看,软件设计分为概要设计和详细设计

下面不属于软件设计原则的是______。(C) (还有一条模块独立性)

A. 抽象

B. 模块化

C. 自底向上

D. 信息隐蔽

在软件开发中,下面任务不属于设计阶段的是______。(D)

A. 数据结构设计

B. 给出系统模块结构

C. 定义模块算法

D. 定义需求并建立系统模型

7.软件设计过程中可以通过模块的封装性来实现信息隐蔽。

8.度量软件的模块独立性一般采用耦合性和内聚性两个定性的指标。

9.高质量软件应做到低耦合,高内聚

信息隐蔽的概念与下述哪一种概念直接相关______。(B)

A. 软件结构定义

B. 模块独立性

C. 模块类型划分

D. 模拟耦合度

10.描述程序处理过程的工具成为详细设计工具。常见的详细设计工具有:图形工具,表格工具,语言工

具等。

11.软件测试的目的是找到软件的错误。

12.软件测试的方法可以分为:静态测试和动态测试

13.动态测试又可以分为黑盒测试和白盒测试

14.软件测试一般按四个步骤进行:单元测试,集成测试,验收测试,系统测试。

15.程序调试任务是诊断和改正程序中的错误。软件测试贯穿于整个软件的生命周期,调试主要用于开发

阶段

软件调试的目的是______。(B)

A. 发现错误

B. 改正错误

C. 改善软件的性能

D. 挖掘软件的潜能

16.软件调试可以分为静态调试和动态调试。

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

A. 强行排错法

B. 集成测试法

C. 回溯法

D. 原因排除法

17.软件可维护性是指维护人员为纠正软件的错误或缺陷以及满足新的要求而理解,修改和改进软件的难

易程度。

18.进行软件维护分为以下三个步骤:分析和理解系统,修改系统,重新验证。

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

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

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

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

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

第四章数据库设计基础

1.数据库管理经历了三个阶段:人工管理阶段,文件系统阶段和数据库系统阶段

2.数据是描述现实世界中各种具体事物或抽象概念的可存储并具有明确意义的信息。

数据处理的最小单位是______。(C)

A. 数据

B. 数据元素

C. 数据项

D. 数据结构

3.数据库是长期储存在计算机内,有组织,可大量共享的数据集合。

4.数据库体系结构分为三级,外部级,概念级,内部级。

数据库系统的核心是______。(B)

A. 数据模型

B. 数据库管理系统

C. 软件工具

D. 数据库

下列叙述中正确的是______。(C)

A. 数据库是一个独立的系统,不需要操作系统的支持

B. 数据库设计是指设计数据库管理系统(应为整个数据库系统)

C. 数据库技术的根本目标是要解决数据共享的问题

D. 数据库系统中,数据的物理结构必须与逻辑结构一致

下列模式中,能够给出数据库物理存储结构与物理存取方法的是______。(A)

A. 内模式

B. 外模式

C. 概念模式

D. 逻辑模式

下述关于数据库系统的叙述中正确的是______。(A)

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

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

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

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

关系表中的每一横行称为一个______。(A)

A. 元组

B. 字段

C. 属性

D. 码

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

A. 概念设计和逻辑设计

B. 模式设计和内模式设计

C. 内模式设计和物理设计

D. 结构特性设计和行为特性设计

关系数据库管理系统能实现的专门关系运算包括______。(B)

A. 排序、索引、统计

B. 选择、投影、连接

C. 关联、更新、排序

D. 显示、打印、制表

数据的存储结构是指______。(B)

A. 数据所占的存储空间量

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

C. 数据在计算机中的顺序存储方式

D. 存储在外存中的数据

下列工具中属于需求分析常用工具的是______。(D)

A. PAD

B. PFD

C. N-S

D. DFD

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

A. PAD图

B. N-S图

C. 结构图

D. 数据流图

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

A. 树结构

B. 网结构

C. 线性表

D. 二维表

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

A. 属性

B. 关系

C. 键

D. 域

数据库概念设计的过程中,视图设计一般有三种设计次序,以下各项中不对的是______。(D)

A. 自顶向下

B. 由底向上

C. 由内向外

D. 由整体到局部

视图设计一般有3种设计次序,下列不属于视图设计的是______。(B)

A. 自顶向下

B. 由外向内

C. 由内向外

D. 自底向上

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

A. 数据无冗余

B. 数据可共享

C. 专门的数据管理软件

D. 特定的数据模型

数据的逻辑结构在计算机存储空间中的存放形式称为数据的______。

答:模式#逻辑模式#概念模式

如果一个工人可管理多个设施,而一个设施只被一个工人管理,则实体"工人"与实体"设备"之间存在______联系。

答:一对多#1:N#1:n

关系数据库管理系统能实现的专门关系运算包括选择、连接和______。

答:投影

结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、______和限制使用goto语句。

答:模块化

软件的调试方法主要有:强行排错法、______和原因排除法。

答:回溯法

数据库系统的三级模式分别为______模式、内部级模式与外部级模式。

答:概念#概念级

数据字典是各类数据描述的集合,它通常包括5个部分,即数据项、数据结构、数据流、______和处理过程。

答:数据存储

设一棵完全二叉树共有500个结点,则在该二叉树中有______个叶子结点。

答:250

在最坏情况下,冒泡排序的时间复杂度为______。

答:n(n-1)/2#n*(n-1)/2#O(n(n-1)/2)#O(n*(n-1)/2)

面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个______。

答:实体

软件的需求分析阶段的工作,可以概括为四个方面:______、需求分析、编写需求规格说明书和需求评审。

答:需求获取

______是数据库应用的核心。

答:数据库设计

数据结构包括数据的______结构和数据的存储结构。

答:逻辑

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

答:软件开发

与结构化需求分析方法相对应的是______方法。

答:结构化设计

数据库设计分为以下6个设计阶段:需求分析阶段、______、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。

答:概念设计阶段#数据库概念设计阶段

测试的目的是暴露错误,评价程序的可靠性;而______的目的是发现错误的位置并改正错误。

答:调试

数据库管理系统常见的数据模型有层次模型、网状模型和______三种。

答:关系模型

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

答:参照完整性

数据模型按不同的应用层次分为三种类型,它们是______数据模型、逻辑数据模型和物理数据模型。

答:概念

在面向对象方法中,信息隐蔽是通过对象的______性来实现的。

答:封装

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

答:数据库管理系统#DBMS

关系模型的数据操纵即是建立在关系上的数据操纵,一般有______、增加、删除和修改四种操作。

答:查询

实现算法所需的存储单元多少和算法的工作量大小分别称为算法的______。

答:空间复杂度和时间复杂度

数据结构包括数据的逻辑结构、数据的______以及对数据的操作运算。

答:存储结构

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

面向对象的模型中,最基本的概念是对象和______。

答:类

算法的基本特征是可行性、确定性、______和拥有足够的情报。

答:有穷性

C语言入门手册

●C语言入门手册 ●这里不是教你什么知识,而是给你澄清一些资料,只给对编程一窍不通的或 者刚入门的人看。如果你尚未学习或者才学习不够一天,一定要看这手册,这份手册已经讲述的知识,我们不会在版面给予回答,此手册我会尽量保持准确,但如有不正确,请指正,我也会不断更新此手册 ●Q:什么是C? ●A:一门面向过程的计算机语言,发明至今已经差不多有三十年历史,由于 它相对其他高级语言高效,运行效率又比较接近低级语言,所以至今仍得到广泛的引用,无论你用windows还是linux,你现在看到东西的底层都是用C 写的,而大部分的网络协议都是用C实现的,画面最漂亮的游戏用C实现的,工业控制程序也是用C实现的。C不是万能,也不是垃圾,只是一门某些方面适用,某些方面不适用的语言 ●Q:什么是C++? ●A:一门面向对象的计算机语言,发明至今已经有二十多年了。由于面向对 象编程对程序架构有较好的帮助,因为比较适合构建大型的系统(当然,学术界对此存在争论),但无论如何,C++由于和C一样接近底层,而且又面向对象,所以也得到广泛的使用。C++不是万能,也不是垃圾,只是一门某些方面适用,某些方面不适用的语言,不要向某一个笨蛋一样认为c + 类== c++ ●Q:TC,VC,BC,BCB是什么?有什么区别?谁好? ●A:它们都是开发C/C++的开发环境,是软件。它们是不同时期由不同公司 发行的软件Turbo C ,Borland公司在八十年代末期发行的C语言的开发环境Turbo C++,Borland公司在八十年代末九十年代初发行的C++语言的开发环境Visual C++,Microsoft公司在九十年代至今发行的C/C++开发环境Borland C++,Borland公司在九十年代中发行的C/C++开发环境Borlan C++ Builder,Borland公司在九十年代后期至今开发的C/C++开发环境,与其他开发环境不用的是它属于快速应用程序开发(RAD),可以让你不写代码就能建立程序,当然它的运行效率见仁见智没有什么是万能的,不同场合用不同的东西而且C/C++还有很多开发环境,譬如gcc,watcom C++,Dev C/C++ ●Q:什么语言/开发环境最好? ●A:没有最好,只有最适用某方面 ●Q:需要什么基础才能学C/C++ ●A:至少学过幼儿园语文,小学英语,小学数学才能学,所以先确定你拥有 小学学历,然后就能学了至于学习C++前是否需要学C,C++的发明者认为不用,但见仁见智 ●Q:如何更有效的学习C/C++? ●A:不断的看书+实践,先把书上的练习题做完再说,务必记住不要钻牛角尖, 很多初学者经常犯这样的错误,不要盲目的提出问题,现在看来是问题其实在以后的实践和学习中都会慢慢理解的,任何东西都需要一个过程。万万不可浮躁。 ●Q:TC能开发windows软件吗? ●A:不能,因为不同系统,生成的程序格式不同 ●Q:要多久才能成为高手? ●A:当你不再问这个问题的时候,总是会有比你技术高的人,也许你在你生 活的环境中没有,的确可以说你在这个小范围是高手,但是再在别的地方一定会有比你厉害的人只是你没有接触到而已 ●Q:学C/C++有什么用? ●A:先想想你为了什么而学,想不到就不要学 ●Q:学完C/C++又能怎样 ●A:没怎样,学是为了使用服务的,只证明你会一门语言,但不等于你会开 发软件。就像学外语,为的是跟外国人交际,但如果你不懂交际,即使精通英语,法语,日语,朝鲜语,阿拉伯语,西班牙语……还是不会跟人交际。 你应该继续学习软件开发的知识,包括数据结构,算法,软件工程等等,还有要提高数学水平,譬如微积分,离散数学,矩阵,概率,统计,数值分析。 ●Q:我有很多不懂,怎么办? ●A:查帮助,搜索引擎。最著名的帮助文档叫MSDN,我们主要使用其光盘发 行版,D版可以从电脑城买,正版可以去微软订购,如果没有光盘可以去https://www.doczj.com/doc/8b13946627.html,查询。 ●二、开始学习了 ●Q:我在TC看到缺少cos.obj的提示,为什么?

国家二级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)一个算法的空间复杂度大,则其时间复杂度也必定大

2017全国计算机等级考试二级C语言知识点超全整(打印版)

全国计算机等级考试

目录 第一部分公共基础知识 第1章算法与数据结构 (1) 考点1 算法 (1) 考点2 数据结构 (1) 考点3 线性表及其顺序存储结构 (1) 考点4 栈和队列 (1) 考点5 线性链表 (2) 考点6 树与二叉树 (2) 考点7 查找技术 (3) 考点8 排序技术 (3) 第2章程序设计基础 (4) 考点1 程序设计方法与风格 (4) 考点2 结构化程序设计 (5) 考点3 面向对象的程序设计 (5) 第3章软件工程基础 (5) 考点1 软件工程基本概念 (5) 考点2 软件分析方法 (6) 考点3 结构化设计方法 (7) 考点4 软件测试 (8) 考点5 程序的调试 (9) 第4章数据库设计基础 (9) 考点1 数据库系统的基本概念 (9) 考点2 数据库系统的基本概念 (10) 考点3 关系代数 (12) 考点4 数据库设计与管理 (12) 第二部分二级C 语言 第1章程序设计基本概念 (14) 考点1 程序设计 (14) 考点2C程序的结构和格式 (14) 考点3 常量和变量 (14) 考点4 算术表达式 (15) 考点5 赋值表达式 (16) 考点6 自加、自减和逗号运算 (16) 第2章顺序结构 (17) 考点1 字符型常量与变量 (17) 考点2putchar与getchar 函数 (17) 考点3printf函数 (17) 考点4scanf函数 (18) 考点5 位运算的含义和应用 (18) 第3章选择结构 (19) 考点1 关系运算符和关系表达式 (19) 考点2 逻辑运算符和逻辑表达式 (19) 考点3 if语句及其构成的选择结构 (19) 考点4switch语句与break语句 (20) 第4章循环结构 (20) 考点1while循环结构 (20) 考点2do-while循环结构 (21) 考点3for循环结构 (21) 考点4 嵌套循环语句 (21) 第5 章函数 (21) 考点1 库函数 (21) 考点2 函数的调用 (22) 考点3 参数传递 (22) 考点4 函数的递归调用 (23) 考点5 局部、全局变量和存储分类 (23) 第6章地址与指针 (23) 考点1 变量的地址和指针 (23) 考点2 指针变量的操作 (24) 考点3 函数之间地址的传递 (24) 第7 章数组 (24) 考点1 一维数组的定义及元素的引用.. 24 考点2 函数对一维数组及元素的引用.. 25 考点3 二维数组的定义 (25) 考点4 二维数组和指针 (25) 考点5 二维数组名和指针数组作为实参 (26) 第8 章字符串 (26) 考点1 用一维字符数组存放字符串 (26) 考点2 使指针指向字符串 (26) 考点3 字符串的输入和输出 (26) 考点4 字符串数组 (27) 考点5 用于字符串处理的函数 (27) 第9章编译预处理和动态存储分配 (27) 考点1 编译预处理 (27) 考点2 宏替换 (27) 考点3 文件包含处理 (28) 考点4 动态存储分配 (28) 第10 章结构体、共用体和用户定义类型28 考点1 结构体 (28) 考点2 共用体 (29) 考点3 用户定义类型 (29) 第11 章文件 (29) 考点1 文件指针 (29) 考点2 文件的读写 (30)

计算机二级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语言公共基础知识(免费的)

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

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

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语言公共基础知识

计算机公共基础部分知识归纳 第一章数据结构与算法 算法---是一组严谨地定义运算顺序的规则 算法的基本要素---一是对数据对象的运算和操作,二是算法的控制结构 算法设计基本方法---列举法、归纳法、递推、递归、减半递推 算法的复杂度---包括时间复杂度和空间复杂度 时间复杂度---执行算法所需的计算工作量 空间复杂度---执行算法所需的内存空间 数据结构---相互有关联的数据元素的集合。如春、夏、秋、冬;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语言从入门到精通所需的7本书

C语言从入门到精通所需的7本书 作者:王霸羔子 1.C primer plus C primer plus作为一本被人推崇备至的c入门经典,C primer plus绝非浪得虚名。应该算得上C教材里最好的入门书了。 在知识广度上,很少有书能匹及。它能为你系统学习c提供一个良好的平台。作者对c 的见解精辟。在娓娓叙述的同时,作者辅以大量程序以分析。它让我对C有了更加系统的全新认识。决非国人所写的那些公理化的教条说教,我觉得作者把自己的心血全部吐露。书很厚,近700页,却不没有让我觉得任何的烦琐。甚至是兴趣盎然。我把上面所有的课后题目都做了。 最为重要的是,看完这本书后,我再也不觉得c很高深枯燥无味了。如果你问我,你最大收获是什么。我会告诉你,兴趣! 2.The C programming language

拿到这本薄薄的书,很多人开始怀疑,C语言是这么几百页能讲清楚的么。看完这本书,我想答案已经很明了,却真的让人感到震憾。什么是好书?无法删减的书才是真正的好书。 K&R的书一如C语言的设计理念:简单而高效里面的习题建议都认真做一遍,而且是在linux下用vi来做,用makefile来编译,用shell脚本来进行测试,本来第八章的题就是和linux 相关的计算机的大学生们不应只会在WINDOWS下用VC来编程,而都应该在linux环境下进行程序设计,因为linux本身就是为开发者准备的操作系统。 3. C和指针 这本书最大的特点就是和指针结合在一起进行讲解,通过一些经典的C例题对所学的知识进行巩固,对指针的基础和深入的探讨,有助于初学者更好的理解C语言,还有明白C 的存储机制。我之前买了《C语言详解》和《C Primer Plus》结合这本书一起学习,可以说是完美的,希望每个热爱C语言的人能够拥有这本书。 我在这里推荐给所有想学好C语言的朋友! 4.C专家编程

全国计算机二级C语言_公共基础120题详解版

公共基础知识120题详解篇 (1) 下面叙述正确的是______。 A. 算法的执行效率与数据的存储结构无关 B. 算法的空间复杂度是指算法程序中指令(或语句)的条数 C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止 D. 以上三种描述都不对 (1) [答案]C [考点]程序设计基础 [评析] 时间复杂度:在运行算法时所耗费的时间为f(n)(即n的函数)。 空间复杂度:实现算法所占用的空间为g(n)(也为n的函数)。 A应为有关。 (2) 以下数据结构中不属于线性数据结构的是______。 A. 队列 B. 线性表 C. 二叉树 D. 栈 (2) [答案]C [考点]数据结构与算法 [评析] 一棵二叉树的一个结点下面可以有2个子结点,故不是线性结构(通俗地理解,看是否能排成条直线)。 A是先进先出的线性表;B是宏观概念,包括顺序表、链表、堆栈、队列…;D 是先进后出的线性表 (3) 在一棵二叉树上第5层的结点数最多是______。 A. 8 B. 16

C. 32 D. 15 (3) [答案]B [考点]数据结构与算法 [评析]依次从上到下,可得出: 第1层结点数为1; 第2层结点数为2*1=2; 第3层结点数为2*2=4; 第n层结点数为2的n-1次幂,如图所示 (4) 下面描述中,符合结构化程序设计风格的是______。 A. 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑 B. 模块只有一个入口,可以有多个出口 C. 注重提高程序的执行效率 D. 不使用goto语句 (4) [答案]A [考点]程序设计基础 [评析] B没这规定,模块之间的可以通过多个接口来耦合 C结构化程序设计提倡程序的可读性(可理解性),超过程序执行效率的要求D结构化程序设计限制goto语句的使用,因为goto语句的功能可以用三种基本的控制结构来代替,但也不是绝对不能用,只是限制使用(少用)。 (5) 下面概念中,不属于面向对象方法的是______。 A. 对象 B. 继承 C. 类 D. 过程调用

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

` 第1章数据结构与算法 §1.1 算法的复杂度 1. 算法的基本概念 ①.算法:即解题方案的准确而完整的描述【注意:算法不等于程序,也不等于计算方法,通常,程序的编制不可能优于算法的设计】 ②.利用计算机算法为计算机解题的过程实际上是在实施某种算法。 (1)算法的基本特征 算法一般具有4个基本特征:可行性、确定性、有穷性(包括精度要求确定的计算过程和合理的执行时间的含义)、拥有足够的情报。 (2)算法的基本要素 ①.对数据对象的运算和操作 计算机算法就是计算机能处理的操作所组成的指令序列。通常,计算机可以执行的基本操作是以指令的形式描述的,一个计算机系统能执行的所有指令的集合称为该计算机系统的指令系统。其中基本的运算和操作包括:算术运算、逻辑运算、关系运算、数据传输(赋值、输入、输出等)。 ②.控制结构:算法中各操作之间的执行顺序称为算法的控制结构。 ⅰ.描述算法的工具通常有:传统流程图、N—S结构化流程图、算法描述语言。 ⅱ.一个算法的3种基本控制结构:顺序结构、选择结构、循环结构。 (3)算法基本设计方法 算法基本设计方法:列举法、归纳法、递推(逐成分解)、递归、减半递推技术、回溯法。 2. 算法复杂度 算法复杂度包括时间复杂度和空间复杂度。注意两者的区别,不要混淆,见表1-1 §1.2 数据结构 1.2.1 逻辑结构和存储结构 1. 数据结构的基本概念 (1)数据结构:指相互有关联的数据元素的集合。 (2)数据处理:指对数据集合中的各元素以各种方式进行运算,包括插入、删除、查找、更改等运算、也包括对数据元素进行分析。 (3)数据结构研究的3个方面 ①.数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构; ②.在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构; ③.对各种数据结构进行的运算。 2. 数据的逻辑结构 数据的逻辑结构是对数据元素之间的逻辑关系的描述,它可以用一个数据元素的集合和定义在此集合中的若干关系来表示。数据的逻辑结构有两个要素:一是数据元素的集合,通常记为D;二是D上的关系,它反映了数据元素之间的前后件关系,通常记为R。一个数据结构可以表示成:B=(D,R) 其中,B表示数据结构。为了反映D中各数据元素之间的前后件关系,一般用二元组来表示。在数据处理领域中,通常把数据元素之间的这种固有的关系简单地用前后件关系(或直接前驱或直接后继关系)来描述。例如,假设a 与b是D中的;两个数据,则二元组(a,b)表示a是b的前件,b是a的后件 例如,如果把一年四季看作一个数据结构,则可表示成:B =(D,R)

全国计算机等级考试二级C语言考点(完整版)

C语言二级考点(完整版) 第一章…… C语言基础知识 第二章……顺序结构 第三章……选择结构 第四章. ……循环结构 第五章……函数 第六章……指针 第七章……数组与指针 第八章……数组与函数 第九章……字符串 第十章……结构体与共用体 第十一章……文件 第一章C语言基础知识 考点1. C语言程序的结构认识 本节通过一个简单的c程序例子,介绍c语言的基本构成、格式、以及良好的书写风格,使读者对c语言有个初步认识。 例1 计算两个整数之和的c程序: #include main() { int a,b,sum; /*定义变量a,b,sum为整型变量*/ a=20; /*把整数20赋值给整型变量a*/ b=15; /*把整数15赋值给整型变量b*/ sum=a+b; /*把两个数之和赋值给整型变量sum*/ printf("a=%d,b=%d,sum=%d\n",a,b,sum); /*把计算结果输出到显示屏上*/ } 重点说明: 1、任何一个c语言程序都必须包括以下格式: main() { } 这是c语言的基本结构,任何一个程序都必须包含这个机构。括号内可以不写任何内容,那么该程序将不执行任何结果。 2、main()----在c语言中称之为“主函数”,一个c程序有且仅有一个main函数,任何一个c程序总是从main函数开始执行,main函数后面的一对圆括号不能省略。 3、被大括号{ }括起来的内容称为main函数的函数体,这部分内容就是计算机要执行的内容。 4、在{ }里面每一句话后面都有一个分号(;),在c语言中,我们把以一个分号结尾的一句话叫做一个c语言的语句,分号是语句结束的标志。 5、printf(“a=%d,b=%d,sum=%d\n”,a,b,sum); ----通过执行这条c语言系统提供给我们直接使用的屏幕输出函数,用户即可看到运行结果,本程序运行后,将在显示器上显示如下结果: a=20,b=15,sum=35 6、#include 注意:(1)以#号开头(2)不以分号结尾

全国计算机二级C语言_公共基础120题详解版

公共基础知识120题详解篇 (1)下面叙述正确的是______。 A。算法的执行效率与数据的存储结构无关 B. 算法的空间复杂度是指算法程序中指令(或语句)的条数 C.算法的有穷性是指算法必须能在执行有限个步骤之后终止D。以上三种描述都不对 (1)[答案]C [考点]程序设计基础?[评析]时间复杂度:在运行算法时所耗费的时间为f(n)(即n的函数)。空间复杂度:实现算法所占用的空间为g(n)(也为n的函数).A应为有关。 (2)以下数据结构中不属于线性数据结构的是______。?A。队列 B. 线性表 C. 二叉树 D。栈 (2)[答案]C [考点]数据结构与算法?[评析]一棵二叉树的一个结点下面可以有2个子结点,故不是线性结构(通俗地理解,看是否能排成条直线).A是先进先出的线性表;B是宏观概念,包括顺序表、链表、堆栈、队列;D是先进后出的线性表 (3)在一棵二叉树上第5层的结点数最多是______. A. 8 B. 16 C. 32 D. 15?(3)[答案]B [考点]数据结构与算法?[评析]依次从上到下,可得出:第1层结点数为1;第2层结点数为2*1=2;第3层结点数为2*2=4;第n层结点数为2的n—1次幂。 (4) 下面描述中,符合结构化程序设计风格的是______。 A。使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑?B。模块只有一个入口,可以有多个出口 C.注重提高程序的执行效率 D.不使用goto语句?(4)[答案]A [考点]程序设计基础?[评析]B没这规定,模块之间的可以通过多个接口来耦合;C结构化程序设计提倡程序的可读性(可理解性),超过程序执行效率的要求;D结构化程序设计限制goto语句的使用,因为goto语句的功能可以用三种基本的控制结构来代替,但也不是绝对不能用,只是限制使用(少用).?(5) 下面概念中,不属于面向对象方法的是______。 A. 对象 B。继承C. 类 D。过程调用?(5)[答案]D [考点]软件工程基础 [评析]面向对象=对象+类+继承+通过消息的通信;对象:一组属性及其上的操作的封装体;类:一组有相同属性和操作的对象的集合;继承:一个类为另一个类上的扩充的方式,子类继承父类,主要目的是代码复用;消息:对象间通信的手段。D是结构化程序设计或过程式(函数式)语言中的,一般的面向对象程序设计语言兼容这种方式,但不是其特征,故最佳选项为D (6) 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是______.?A.可行性分析 B。

全国计算机二级考试C语言(最全复习资料)

二级公共基础知识作为必考内容出现,出题形式为选择题前10道,占考试总分的10%。 考试其它比重: 1、C语言程序的结构占总分1% 2、数据类型及其运算占总分4% 3、选择结构程序设计占比分的3% 4、循环结构占比分的5% 5、数组的定义和引用占比分的5% 6、函数占比分的5% 7、编译预处理占比分1% 8、指针占比分的5% 9、结构体占比分的3% 10、位运算占比分的2% 11、文件操作占比分的2% 考试方式 上机考试,时长120分钟 单选题40分(含公共基础10分),操作题60分(包括程序填空题、程序修改题、程序设计题) 第一部分 C语言知识复习资料 第一章C语言基本知识(90分) 【考点1】C程序 用C语言编写的程序称为C语言源程序,源程序文件的后缀名为“.c”。源程序经编译后生成后缀名为“.obj”的目标文件,再把目标文件与各种库函数连接起来,生成“.exe”可执行文件。C语言有三种基本结构:顺序结构、选择结构、循环结构。

【考点2】main函数 又称主函数,是C程序的入口。main后面跟一对小括号和一对花括号,花括号括起来的部分称为main 函数的函数体。一个C程序从main函数开始执行,到main函数体执行完结束,而不论main函数在整个程序中的位置如何。每一个程序有且仅有一个main函数,其他函数都是为main函数服务的。 【考点3】存储形式 计算机在电脑中保存数据是采用二进制形式,由0或1构成的二进制称为位(bit),八个位构成一个字节(Byte),1个Byte=8个bit。二进制、八进制、十六进制转化为十进制采用乘法,十进制转化为二进制、八进制、十六进制采用除法。数据的存放位置就是它的地址。 【考点4】注释 是对程序的说明,可出现在程序中任意合适的地方,注释从“/*”开始到最近一个“*/”结束,其间任何内容都不会被计算机执行,注释不可以嵌套。 【考点5】书写格式 每条语句的后面必须有一个分号,分号是语句的一部分。一行内可写多条语句,一个语句可写在多行上。 【考点6】标识符 是标识名字的有效字符序列,可以理解为C程序中的单词。 标识符的命名规则是: (1)标识符只能由字母、数字和下划线组成,字母区分大小写。 (2)标识符的第一个字符必须是字母或下划线,不能为数字。 C语言标识符分如下3类 (1)关键字。它们在程序中有固定的含义,不能另作他用。如int、for、switch等。 (2)预定义标识符。预先定义并具有特定含义的标识符。如define、include等。 (3)用户标识符。用户根据需要定义的标识符,符合命名规则且不与关键字相同。 【考点7】常量与变量 常量是指在程序运行过程中,其值不能改变的量。常量分为整型常量、实型常量、字符常量、字符串常量、符号常量5种。在程序运行过程中其值可以改变的量称为变量。C语言中没有字符串变量。存放字符串使用字符数组。 【考点8】整型数据 整型常量有十进制、八进制、十六进制三种表示形式,没有二进制形式。八进制整型常量加前导数字0,十六进制常量加前导0X,八进制常量中不会出现8。 整型变量可分为基本整型(int)、短整型(short)、长整型(long)、和无符号整型(unsigned)。一个基本整型占4个字节。其它类型的整型占用字节数和取值范围详见教材第9页。 【考点9】实型数据 实型数据有两种表示形式:小数形式和指数形式。掌握判定指数形式合法性。 口诀:E前E后必有数,E后必须为整数。 实型变量分为单精度型(float)和双精度型(double),单精度型占四个字节。 【考点10】算术运算 算术运算符一共有+、—、*、/、%这五个。求余运算要求运算对象只能为整型,除法运算符两边运算对象都为整型时,运算结果也为整型即舍掉小数部分。 【考点11】强制类型转换 将一个运算对象转换成指定类型,格式为(类型名)表达式,注意小括号位置。 【考点12】赋值 赋值运算符为“=”,不同于关系等于“= =”。赋值表达式格式为:变量名=表达式,赋值运算符左边必须为变量,赋值运算是把赋值运算符右边表达式的值赋给左边变量。

C语言公共基础知识

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

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

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

C语言程序的结构认识 用一个简单的c程序例子,介绍c语言的基本构成、格式、以及良好的书写风格,使小伙伴对c语言有个初步认识。 例1:计算两个整数之和的c程序: #include main() { int a,b,sum; /*定义变量a,b,sum为整型变量*/ a=20; /*把整数20赋值给整型变量a*/ b=15; /*把整数15赋值给整型变量b*/ sum=a+b; /*把两个数之和赋值给整型变量sum*/ printf(“a=%d,b=%d,sum=%d\n”,a,b,sum); /*把计算结果输出到显示屏上*/ } 重点说明: 1、任何一个c语言程序都必须包括以下格式: main() { } 这是c语言的基本结构,任何一个程序都必须包含这个结构。括号内可以不写任何内容,那么该程序将不执行任何结果。 2、main()----在c语言中称之为“主函数”,一个c程序有且仅有一个main函数,任何一个c 程序总是从main函数开始执行,main函数后面的一对圆括号不能省略。 3、被大括号{ }括起来的内容称为main函数的函数体,这部分内容就是计算机要执行的内容。 4、在{ }里面每一句话后面都有一个分号(;),在c语言中,我们把以一个分号结尾的一句话叫做一个c语言的语句,分号是语句结束的标志。 5、printf(“a=%d,b=%d,sum=%d\n”,a,b,sum); ----通过执行这条c语言系统提供给我们直接使用的屏幕输出函数,用户即可看到运行结果,本程序运行后,将在显示器上显示如下结果: a=20,b=15,sum=35 6、#include 注意:(1)以#号开头(2)不以分号结尾这一行没有分号,所以不是语句,在c语言中称之为命令行,或者叫做“预编译处理命令”。 7、程序中以/*开头并且以*/结尾的部分表示程序的注释部分,注释可以添加在程序的任何位置,为了提高程序的可读性而添加,但计算机在执行主函数内容时完全忽略注释部分,换

c语言学习知识公共基础知识

公共基础知识总结 第一章数据结构与算法 1.1 算法 1.2 数据结构的基本基本概念 (1 (2 线性结构条件: (1)有且只有一个根结点; (2)每一个结点最多有一个前件,也最多有一个后件。 非线性结构:不满足线性结构条件的数据结构。 1.3 线性表及其顺序存储结构 线性表的顺序存储结构具有以下两个基本特点: (1)线性表中所有元素的所占的存储空间是连续的; (2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。 1.4 栈和队列 1、先进后出 FILO; 1、支持子程序调用; 2、具有记忆功能; 3、可以不用顺序存放数据; 4、只能够在top首部进行操作,bottom是绝对不动的; 5、栈的存放数据的个数为 num = (bottom – top)+1; 1、Rear指针指向队尾,front指针指向队头。 3、先进先出FIFO,或者是后进后出LILO 2、循环队列里面的个数计算方法: A、rear > front 的时候, num = rear – front; B、rear < front 的时候, num = rear + n – front; 1.5 线性链表 在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。 链式存储方式即可用于表示线性结构,也可用于表示非线性结构。 1.6 树与二叉树 在树结构中,一个结点所拥有的后件的个数称为该结点的度,所有结点中最大的度称为树的度。树的最大层次称为树的深度。 子树。 二叉树的基本性质:必考的题目

(1)在二叉树的第k层上,最多有2k-1(k≥1)个结点; (2)深度为m的二叉树最多有2m-1个结点; (3)度为0的结点(即叶子结点)总是比度为2的结点多一个; (4)二叉树中 n = n0 +n1 +n2 每一层上的所有结点有两个子结点,则k层上有2k-1个结点深度为m的满二叉树有2m-1个结点。 二叉树的遍历:(一般画个图要你把顺序写出来) 1.7 查找技术 顺序查找的使用情况: 长度为n的线性表,找出一个数据,最差的情况为比较n 次。 长度为n的线性表,找出一个最大数据,最差的情况为比较n-1 次。 二分查找:对于长度为n的有序线性表,最坏情况只需比较 1.8 排序技术 排序是指将一个无序序列整理成按值非递减顺序排列的有序序列。 交换类排序法:(1 (2。 插入类排序法:(1 (2 选择类排序法:(1)简单选择排序法, (2)堆排序法,最坏情况需要 第二章程序设计基础 2.1 程序设计设计方法和风格 程序设计方法有两种,结构化程序设计和面向对象程序设计。 2.2 结构化程序设计 结构化程序设计方法的四条原则是:考试重点都要背下来 1.自顶向下; 2. 逐步求精; 3.模块化; 4.限制使用goto语句。 注意,这四个特点中,最重要的是模块化。 结构化程序的基本结构和特点:顺序结构\选择结构\循环结构 2.3 面向对象的程序设计 面向对象的程序设计:以对象为核心。 面向对象具备哪些基本概念: 对象、类和实例、消息、继承、多态性、 面向对象的程序设计方法中的对象是系统中用来描述客观事物的一个实体,是构成系统的一个基本单位,由一组表示其静态特征的属性和它可执行的一组操作组成。

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