第一章 计算机基础知识7C 版

本文由用户“LeonTown”分享发布 更新时间:2021-04-16 02:21:39 举报文档

以下为《第一章 计算机基础知识7C 版》的无排版文字预览,完整格式请下载

下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

目 录

青少年信息学奥林匹克竞赛情况简介 5

第一章 计算机基础知识 7

1.1 计算机的基本常识 7

1.1.1 计算机的产生与发展 7

1.1.2 计算机系统及工作原理 7

1.1.3 计算机中有关数及编码的知识 8

1.1.4 原码、反码与补码 10

1.1.5 逻辑运算 10

1.2 操作系统 11

1.2.1 DOS(Disk Operating System)的组成 11

1.2.2 DOS的文件和目录 11

1.2.3 DOS命令 12

1.2.4 Windows简介 12

1.3 计算机网络常识 13

1.3.1 网络基础知识 13

1.3.2 Internet简介 14

1.4 计算机信息安全基础知识 16

1.4.1 计算机的网络安全 16

1.4.2 计算机病毒 17

1.4.3 病毒的分类 17

第2章C++编程简介 19

2.1 机器语言、汇编语言和高级语言 19

2.2 C语言与C++的历史 20

2.3 C++标准库 20

2.4 结构化编程 21

2.5 简单程序 22

2.6 简单程序:两个整数相加 25

2.7 算术运算 27

2.8 判断:相等与关系运算符 29

2.9 新型头文件与名字空间 31

第3章 C++输入/输出流 33

3.1 简介 33

3.2 流 33

3.2.1 iostream类库的头文件 34

3.2.2 输入/输出流类和对象 34

3.3 输出流 35

3.3.1 流插入运算符 35

3.3.2 连续使用流插入/流读取运算符 37

3.3.3 输出char*类型的变量 37

3.3.4 用成员函数put输出字符和put函数的连续调 38

3. 4 输入流 39

3.4.1 流读取运算符 39

3.4.2 成员函数get和getline 41

3.5 成员函数read、gcount和write的无格式输入/输出 44

3.6 流操纵算子 45

3.6.1 整数流的基数:流操纵算子dec、oct、hex和setbase 45

3.6.2 设置浮点数精度(precision、setprecision) 46

3.6.3 设置域宽(setw、width) 47

3.6.4 用户自定义的流操纵算子 48

3.7 流格式状态 49

3.7.1 格式状态标志 50

3.7.2 尾数零和十进制小数点(ios::showpoint) 50

3.7.3 对齐(ios::left、ios::right、ios::internal) 51

3.7.4 设置填充字符(fill、setfill) 53

3.7.5 整数流的基数:(ios::dec、ios::oct、ios::hex、ios::showbase) 54

3.7.6 浮点数和科学记数法(ios::scientific、ios::fixed) 55

3.7.7 大/小写控制(ios::upercase) 56

3.7.8 设置及清除格式标志(flags、setiosflags、resetosflags) 57

3.8 流错误状态 58

第4章 文件处理 61

4.1 简介 61

4.2 文件和流 61

4.3 建立并写入文件 61

4.4 读取文件中的数据 65

4.5 更新访问文件 67

第5章 C++的字符串流 68

5.1 流的继承关系 68

5.2 字串流的输入操作 68

5.3 字串流的输出操作 69

5.4 字串流在数据类型转换中的应用 70

5.5 输入/输出的状态标志 71

第6章 控制结构 74

6.1 简介 74

6.2 算法 74

6.3 控制结构 74

6.4 if选择结构 75

6.5 if/else选择结构 76

6.6 while重复结构 78

6.7 构造算法:实例研究1(计数器控制重复) 78

6.8 构造算法与自上而下逐步完善:实例研究2(标记控制重复) 80

6.9 构造算法与自上而下逐步完善:实例研究3(嵌套控制结构) 85

6.10 赋值运算符 88

6.11 自增和自减运算符 88

6.12 计数器控制循环的要点 91

6.13 for重复结构 92

6.14 for结构使用举例 94

6.15 switch多项选择结构 97

6.16 do/while重复结构 101

6.17 break和continue语句 102

6.18 逻辑运算符 104

6.19 混淆相等(==)与赋值(=)运算符 105

6.20 结构化编程小结 106

第7章 函数 108

7.1 简介 108

7.2 数学函数库 108

7.3 函数 109

7.4 函数定义 109

7.5 头文件 112

7.6 作用域规则 113

7.7 递归 116

7.8 使用递归举例,Fibonacci数列 118

7.9 递归与迭代 120

7.10 带空参数表的函数 121

7.11 内联函数 122

7.12 函数重载 123

第8章 数组 125

8.1 简介 125

8.2 数组 125

8.3 声明数组 126

8.4 使用数组的举例 126

8.5 将数组传递给函数 137

8.6 排序数组 141

8.7 查找数组:线性查找与折半查找 142

8.8 多维数组 147

第9章 指针与字符串 153

9.1 简介 153

9.2 指针变量的声明与初始化 153

9.3 指针运算符 154

9.4 按引用调用函数 156

9.5 指针与常量限定符 158

9.6 按引用调用的冒泡排序 163

9.7 指针表达式与指针算法 167

9.8 指针与数组的关系 169

9.9 指针数组 173

9.10 函数指针 173

9.11 字符与字符串处理简介 177

9.11.1 字符与字符串基础 177

9.11.2 字符串处理库的字符串操作函数 179

第10章 信息学奥赛中的常用算法 185

10.1 算法简介 185

10.2 枚举算法 187

10.3 回溯算法 191

10.4 递归算法 193

10.5 递推算法 196

10.6 分治算法 200

10.7 贪心算法 202

10.8 搜索算法一(深度优先) 205

10.9 搜索算法二(广度优先) 209

10.10 动态规划法 212

10.11 高精度计算 215

附 录 228

ASCII表 228

青少年信息学奥林匹克竞赛情况简介

 

?? 信息学奥林匹克竞赛是一项旨在推动计算机普及的学科竞赛活动,重在培养学生能力,使得有潜质有才华的学生在竞赛活动中锻炼和发展。近年来,信息学竞赛活动组织逐步趋于规范和完善,基本上形成了“地级市——省(直辖市)——全国——国际”四级相互接轨的竞赛网络。现把有关赛事情况简介如下:

全国青少年信息学(计算机)奥林匹克分区联赛:

?? 在举办1995年NOI活动之前,为了扩大普及的面,并考虑到多数省、直辖市、自治区已开.经展了多年省级竞赛,举办了首届全国青少年信息学(计算机)奥林匹克分区联赛。考虑到不同年级学生的知识层次,也为了鼓励更多的学生积极参与,竞赛设提高组、普及组,并分初、复赛进行,这样可以形成一个梯队,确保每年的竞赛活动有比较广泛扎实的基础。

  从1995年起,至2001年共举办了七届全国青少年信息学奥林匹克分区联赛,每年举办一次(下半年十月左右),有选手个人奖项(省、国家级)、选手等级证书、优秀参赛学校奖项。

XX省青少年信息学(计算机)奥林匹克复决赛(简称AHOI):

?? 省级信息学奥赛是一个水平较高的、有较大影响力的学科竞赛。由各市组织代表队参赛,参赛名额实行动态分配制度,每年举办一次(上半年五月左右)。从1984年起XX省奥林匹克竞赛活动得到了蓬勃发展。奖项有个人一、二、三等奖,女选手第一、二、三名,奖励学校团体总分1-8名、市团体总分1-8名。

全国青少年信息学(计算机)奥林匹克竞赛(简称NOI):

?? 由中国算机学会主办的、并与国际信息学奥林匹克接轨的一项全国性青少年学科竞赛活动。1984年举办首届全国计算机竞赛。由各省市组织参赛,每年举办一次。奖项有个人一、二、三等奖,女选手第一、二、三名,各省队团体总分名次排队。

国际青少年信息学(计算机)奥林匹克竞赛(简称IOI):

?? 每年举办一次,由各参赛国家组队参赛。

全国青少年信息学(计算机)奥林匹克分区联赛竞赛大纲

一、初赛内容与要求:(#表示普及组不涉及,以下同)

计 基

算 本

机 常

的 识

* 诞生与发展      *特点    *在现代社会中的应用

* 计算机系统的基本组成

* 计算机的工作原理#       *计算机中的数的表示

* 计算机信息安全基础知识     *计算机网络



计 基

算 本

机 操

的 作

* MS DOS与Windows的使用基础

* 常用输入/输出设备的种类、功能、使用

* 汉字输入/输出方法

* 常用计算机屏示信息



程

程序的表示

* 自然语言的描述

* PASCAL或BASIC语言





数据结构的类型

* 简单数据的类型

* 构造类型:数组、字符串

* 了解基本数据结构(线性表、队列与栈)





程序设计

* 结构化程序的基本概念

* 阅读理解程序的基本能力

* 具有完成下列过程的能力:

现实世界(指知识范畴的问题)

—>信息世界(表达解法)

—>计算机世界(将解法用计算机能实现的数据结构和算法描述出来)





基本算法处理

* 简单搜索 ? * 字串处理

* 排序 ????? * 查找

* 统计 ????? * 分类 ??? * 合并

* 简单的回溯算法

* 简单的递归算法





二、复赛内容与要求:

在初赛的内容上增加以下内容(2008年修改稿):

计算机

软 件

*操作系统的使用知识

*编程语言的使用





*结构类型中的记录类型

*指针类型

*文件(提高组必须会使用文本文件输入)

*链表

*树

*图#



程

*程序设计能力

*设计测试数据的能力

*运行时间和占用空间的估算能力#





*排列组合的应用

*进一步加深回溯算法、递归算法

*分治法

*搜索算法:宽度、深度优先算法

*表达式处理:计算、展开、化简等#

*动态规划#





三、初赛试题类型:注:试题语言两者选一

  (程序设计语言: FREE PASCAL、C、C++)

  *判断 *填空 *完善程序 *读程序写运行结果 *问答

四、推荐读物:

*分区联赛辅导丛书 *学生计算机世界报及少年电世界杂志

第一章 计算机基础知识

1.1 计算机的基本常识

1.1.1 计算机的产生与发展

计算机的产生是20世纪最重要的科学技术大事件之一。世界上的第一台计算机(ENIAC)于1946年诞生在美国宾夕法尼亚大学,到目前为止,计算机的发展大致经历了四代:

①?????? 第一代电子管计算机,始于1946年,结构上以CPU为中心,使用计算机语言,速度慢,存储量小,主要用于数值计算;

②?????? 第二代晶体管计算机,始于1958年,结构上以存储器为中心,使用高级语言,应用范围扩大到数据处理和工业控制;

③?????? 第三代中小规模集成电路计算机,始于1964年,结构上仍以存储器为中心,增加了多种外部设备,软件得到了一定的发展,文字图象处理功能加强;

④?????? 第四代大规模和超大规模集成电路计算机,始于1971年,应用更广泛,很多核心部件可集成在一个或多个芯片上,从而出现了微型计算机。

我国从1956年开始电子计算机的科研和教学工作,1983年研制成功1亿/秒运算速度的“银河”巨型计算机,1992年11月研制成功10亿/秒运算速度的“银河II”巨型计算机,1997年研制了每秒130亿运算速度的“银河III”巨型计算机。

目前计算机的发展向微型化和巨型化、多媒体化和网络化方向发展。计算机的通信产业已经成为新型的高科技产业。计算机网络的出现,改变了人们的工作方式、学习方式、思维方式和生活方式。

?? ??????

1.1.2 计算机系统及工作原理

1.计算机的系统组成

计算机系统由软件和硬件两部分组成。硬件即构成计算机的电子元器件;软件即程序和有关文档资料。

(1)? 计算机的主要硬件

输入设备:键盘、鼠标、扫描仪等。

输出设备:显示器、打印机、绘图仪等。

中央处理器(CPU):包括控制器和运算器运算器,可以进行算术运算和逻辑运算;控制器是计算机的指挥系统,它的操作过程是取指令——分析指令——执行指令。

存储器:具有记忆功能的物理器件,用于存储信息。存储器分为内存和外存

?①内存是半导体存储器(主存):

它分为只读存储器(ROM)和随机存储器(RAM)和高速缓冲存储器(Cache);

?ROM:只能读,不能用普通方法写入,通常由厂家生产时写入,写入后数据不容易丢失,也可以用特殊方法(如紫外线擦除(EPROM)或电擦除(EEPROM_)存储器);

?RAM:可读可写,断电后内容全部丢失;

?Cache:因为CPU读写RAM的时间需要等待,为了减少等待时间,在RAM和CPU间需要设置高速缓存Cache,断电后其内容丢失。

? ②外存:磁性存储器——软盘和硬盘;光电存储器——光盘,它们可以作为永久存器; ??

?③存储器的两个重要技术指标:存取速度和存储容量。内存的存取速度最快(与CPU速 度相匹配),软盘存取速度最慢。存储容量是指存储的信息量,它用字节(Byte)作为基本单位,

1字节用8位二进制数表示,1KB=1024B,1MB=1024KB,lGB=1024MB

(2)计算机的软件

计算机的软件主要分为系统软件和应用软件两类:

? ①系统软件:为了使用和管理计算机的软件,主要有操作系统软件如,WINDOWS 95/98/ 2000/NT4.0、DOS 6.0、UNIX等;WINDOWS 95/98/2000/NT4.0是多任务可视化图形 界面,而DOS是字符命令形式的单任务的操作系统。

? ②应用软件:为了某个应用目的而编写的软件,主要有辅助教学软件(CAI)、辅助设计软件(CAD)、文 字处理软件、工具软件以及其他的应用软件。

2.计算机的工作原理

到目前为止,电子计算机的工作原理均采用冯.若依曼的存储程序方式,即把程序存储在计算机内,由计算机自动存取指令(计算机可执行的命令=操作码+操作数)并执行它。工作原理图如下:



 

1.1.3 计算机中有关数及编码的知识

1.计算机是智能化的电器设备

计算机就其本身来说是一个电器设备,为了能够快速存储、处理、传递信息,其内部采用了大量的电子元件,在这些电子元件中,电路的通和断、电压高低,这两种状态最容易实现,也最稳定、也最容易实现对电路本身的控制。我们将计算机所能表示这样的状态,用0,1来表示、即用二进制数表示计算机内部的所有运算和操作。

2.二进制数的运算法则

二进制数运算非常简单,计算机很容易实现,其主要法则是:

0+0=0 0+1=1 1+0=1 1+1=0?? 0*0=0 0*1=0 1*0=0 1*1=1

由于运算简单,电器元件容易实现,所以计算机内部都用二进制编码进行数据的传送和计算。

3.十进制与二进制、八进制、十六进制数之间的相互转换

(1)数的进制与基数

计数的进制不同,则它们的基数也不相同,如表1-1所示。

进制

基数

特点



二进制

0 ,1

逢二进一



八进制

0,1,2,3,4,5,6,7

逢八进一



十六进制

0,1,2,...,9,A,B,C,D,E,F

逢十六进一



(2)数的权

不同进制的数,基数不同,每位上代表的值的大小(权)也不相同。

如:(219)10=2*102+1*101+9*100

?? (11010)2=1*24+1*23+0*22+1*21+1*20

??? (273)8=2*82+7*81+3*80

???? (27AF)16=2*163+7*162+10*161+15*160

?(3)十进制数转换任意进制

?? 1) 将十进制整数除以所定的进制数,取余逆序。

? (39)10=(100111)2??????????????????????? (245)10=(365)8?



?? 2)将十进制小数的小数部分乘以进制数取整,作为转换后的小数部分,直到为零或精确到小数点后几位。

如:(0.35)10=(0.01011)2??????? (0.125)10=(0.001)2

(4)任意进制的数转换十进制

按权值展开:

如:(219)10=2*102+1*101+9*100

?? (11010)2=1*24+1*23+0*22+1*21+1*20=26

??? (273)8=2*82+7*81+3*80=187

???? (7AF)16=7*162+10*161+15*160=1867

4.定点数与浮点数

定点数是指数据中的小数点位置固定不变。由于它受到字长范围的限制,所能表示的数的范围有限,计算结果容易溢出。

浮点数的形式可写成:N=M*2E(其中M代表尾数,E代表阶码)其形式如下:

阶码

尾数(包括符号位)



5.ASCII编码

由于计算机是电器设备,计算机内部用二进制数,这样对于从外部输入给计算机的所有信息必须用二进制数表示,并且对于各种命令、字符等都需要转换二进制数,这样就牵涉到信息符号转换成二进制数所采用的编码的问题,国际上统一用美国标准信息编码(ASCII)它可用7位二进制数表示,存储时用一个字节,它的最高位为0。因此基本的ASCII字符集有128个如:

0-9:48-57:***-...

A-Z:65-90 :***-...

a-z:97-122:***-...

6.汉字编码与汉字输入法

(1)机内码

ASCII码不能表示汉字,因此要有汉字信息交换码,我国国家标准是gb2312,它也被称作国际码。它由两个字节组成,两个字节的最高位都为1。 gb2312共收纳6763个汉字,其中,一级汉字(常用字)3755个按汉字拼音字母顺序排列,二级汉字3008个按部首笔画次序排列。

(2)汉字输入码(外码)

目前,汉字输入法主要有键盘输入、文字识别和语音识别。键盘输入法是当前汉字输入的主要方法。它大体可以分为:

?? 流水码:如区位码、电报码、通信密码,优点重码律少,缺点难于记忆;

?? 音码:以汉语拼音为基准输入汉字,优点是容易掌握,但重码律高;

?? 形码:根据汉字的字型进行编码,优点重码少,但不容易掌握;

?? 音形码:将音码和形码结合起来,能减少重码律同时提高汉字输入速度。

(3)汉字字模

供计算机输出汉字(显示和打印)用的二进制信息叫汉字字形信息也称字模。通用汉字字模点阵 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。

161

71

113

q



62

32

50

2

162

72

114

r



63

33

51

3

163

73

115

s



64

34

52

4

164

74

116

t



65

35

53

5

165

75

117

u



66

36

54

6

166

76

118

v



67

37

55

7

167

77

119

w



70

38

56

8

170

78

120

x



71

39

57

9

171

79

121

y



72

3a

58

:

172

7a

122

z



73

3b

59

;

173

7b

123

{



74

3c

60

<

174

7c

124

|



75

3d

61

=

175

7d

125

}



76

3e

62

>

176

7e

126

~



77

3f

63

?

177

7f

127

del





[文章尾部最后500字内容到此结束,中间部分内容请查看底下的图片预览]请点击下方选择您需要的文档下载。

  1. 函数的单调性教学设计
  2. 方程的根与函数的零点教学反思
  3. 2020届高考数学(理)二轮复习专题检测(11)计数原理
  4. 高考生物基础知识回扣(必修一)
  5. 模块综合评价(一)
  6. lesson03-01 Java类基础知识--Java类结构
  7. 第1章 计算机基础知识
  8. 小学期末质量分析
  9. 一次函数的图象性质复习教学反思
  10. 高考数学阅卷分享
  11. NITA012考试培训重点和注意事项
  12. 【人教版】2015年秋数学九上:22.2《二次函数与一元二次方程》ppt课件(11张PPT)
  13. 知识库优化记录表
  14. 高等数学(下)知识点总结
  15. 班级:小组:姓名:课题
  16. 函数奇偶性课件
  17. 教学反思:函数的单调性
  18. 高中数学必修一《集合与函数概念》教学设计与反思
  19. 2.1.2指数函数及其性质教学设计
  20. 高二下学期总复习--导数篇

以上为《第一章 计算机基础知识7C 版》的无排版文字预览,完整格式请下载

下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

图片预览