100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 程序设计教程用c 语言编程 程序设计教程:用C/C++语言编程

程序设计教程用c 语言编程 程序设计教程:用C/C++语言编程

时间:2018-12-15 04:31:39

相关推荐

程序设计教程用c  语言编程 程序设计教程:用C/C++语言编程

图书简介

本教材在作者20多年C/C++语言教学,特别是项目开发的基础上,站在初学者的角度,在注重基础知识学习的同时,以培养学生良好的编程规范意识和编程思想为重点精心编写,例程丰富,层次感强,非常适合作为学习C/C++语言的课程教材,本书可作为高等学校电类、信息类以及相关专业的本科教材,也可作为C语言的参考手册,自学使用。

章节目录

目录

前言

教学建议

第1章概论1

1.1C语言的入门知识1

1.1.1计算机中的数据1

1.1.2二进制编码系统3

1.1.3微型计算机硬件的基本组成4

1.1.4计算机系统的层次结构5

1.2C语言的发展及特点8

1.2.1C语言的发展过程8

1.2.2C语言的特点9

1.3C语言概览10

1.3.1C语言程序的书写格式10

1.3.2C语言程序的结构特点12

1.4C语言的基本语法单位13

1.4.1标识符14

1.4.2关键字14

1.4.3分隔符15

1.5简单的输入/输出15

1.5.1格式化输入/输出函数15

1.5.2字符输入/输出函数17

1.6运行C程序的一般步骤17

本章小结18

习题118

第2章数据类型、运算符和表达式19

2.1数据类型19

2.2常量19

2.2.1整型常量19

2.2.2浮点型常量20

2.2.3字符型常量21

2.2.4字符串常量22

2.2.5符号常量23

2.3变量23

2.3.1整型变量24

2.3.2浮点型变量24

2.3.3字符变量25

2.3.4指针变量26

2.4运算符和表达式26

2.4.1表达式26

2.4.2算术运算符与算术表达式27

2.4.3关系运算符与关系表达式28

2.4.4逻辑运算符与逻辑表达式28

2.4.5自增和自减运算29

2.4.6赋值运算符与赋值表达式30

2.4.7条件运算符与条件表达式31

2.4.8逗号运算符与逗号表达式31

2.5位运算31

2.5.1按位与运算符“&”32

2.5.2按位或运算符“|”33

2.5.3按位异或运算符“^”33

2.5.4二进制左移运算符“<

2.5.5二进制右移运算符“>>”34

2.5.6按位取反运算符“~”34

2.6各类数值型数据间的混合运算35

2.6.1自动类型转换35

2.6.2运算符的优先级36

2.7输入/输出的进一步讨论37

2.7.1格式化输出函数printf38

2.7.2格式输入函数scanf39

本章小结41

习题241

第3章程序和流程控制45

3.1C语言程序的版式及语句45

3.1.1C语言程序的版式45

3.1.2C语言的语句47

3.2结构化程序设计和流程控制48

3.2.1结构化程序设计48

3.2.2C语言的流程控制语句和辅助控制语句48

3.3if语句49

3.3.1if语句的标准形式49

3.3.2条件分支嵌套50

3.4switch多分支选择语句52

3.5循环控制55

3.5.1while语句55

3.5.2for语句56

3.5.3do-while语句58

3.5.4从一重循环到多重循环58

3.6辅助控制语句61

3.6.1break语句61

3.6.2continue语句62

3.6.3goto 语句和标号64

3.7典型程序编写方法举例64

本章小结74

习题375

第4章函数77

4.1C语言程序结构及模块化设计77

4.1.1结构化软件及其优越性77

4.1.2C语言程序的结构79

4.2C语言函数的定义、原型和调用79

4.2.1函数的定义79

4.2.2函数的调用81

4.2.3参数数目可变的函数82

4.3变量的存储类型83

4.3.1概述83

4.3.2自动型变量84

4.3.3寄存器型变量87

4.3.4外部参照型变量88

4.3.5静态型变量91

4.4函数间的数据传递94

4.4.1使用函数参数在函数间传递数据94

4.4.2使用返回值传递数据97

4.4.3使用全局变量传递数据98

4.5递归函数99

本章小结101

习题4101

第5章数组105

5.1数组的定义和应用105

5.1.1一维数组的定义和应用105

5.1.2二维数组的定义和应用107

5.2数组在函数间的传递 110

5.2.1数组元素在函数间的传递110

5.2.2数组在函数间的传递110

5.3程序设计举例112

本章小结118

习题5119

第6章指针120

6.1基本概念120

6.1.1指针变量的引入120

6.1.2指针变量的定义与初始化121

6.1.3指针的使用123

6.2指针运算125

6.2.1指针的算术运算125

6.2.2指针的关系运算128

6.2.3指针的赋值运算128

6.3指针与数组131

6.3.1一维数组与指针131

6.3.2多维数组与指针137

6.4指针数组与多级指针142

6.4.1指针数组142

6.4.2多级指针145

6.5指针与函数150

6.5.1返回指针的函数150

6.5.2指向函数的指针153

6.6综合应用158

本章小结162

习题6164

第7章字符串167

7.1字符串的基本概念167

7.1.1字符167

7.1.2字符串168

7.1.3字符数组与字符指针168

7.2字符串的相关库函数及其使用172

7.2.1字符串输入输出函数173

7.2.2字符串转换函数173

7.2.3字符串处理函数174

7.2.4字符串比较函数177

7.2.5其他函数178

7.3单个字符串的处理180

7.4多个字符串的处理183

7.5带参数的main函数186

7.6综合举例188

本章小结196

习题7196

第8章结构和联合202

8.1结构及结构变量202

8.1.1结构的定义202

8.1.2结构变量的定义203

8.1.3结构变量的使用形式和初始化204

8.2结构数组与结构指针206

8.2.1结构数组206

8.2.2结构指针208

8.3结构在函数间的数据传递212

8.4位字段结构217

8.5联合218

8.6类型定义语句typedef221

8.6.1用typedef语句定义新类型名221

8.6.2新类型名的应用222

8.7枚举类型224

8.7.1枚举类型的定义和枚举变量的说明224

8.7.2枚举类型的应用225

8.8综合应用226

8.8.1链表226

8.8.2其他应用举例239

本章小结241

习题8241

第9章C语言中的文件与图形247

9.1文件的基本概念247

9.1.1文本文件与二进制文件247

9.1.2缓冲型文件系统247

9.2文件类型指针248

9.3文件操作与相关函数248

9.3.1文件打开函数fopen ( )248

9.3.2文件关闭函数fclose( )250

9.3.3数据块读/写函数fread( )和fwrite( )250

9.3.4格式化读/写函数fscanf( )和fprintf( )251

9.3.5读/写字符函数fgetc( )和fputc( )251

9.3.6读/写字符串函数fgets( )和fputs()251

9.3.7rewind函数252

9.3.8fseek函数252

9.3.9文件检测函数252

9.4文件函数应用综合举例253

9.5C语言图形程序设计基本概念255

9.6C语言中的图形函数255

9.6.1初始化图形系统函数initgraph255

9.6.2关闭图形系统函数closegraph256

9.6.3设置画笔当前颜色及屏幕背景色257

9.6.4画点及获取屏幕点的颜色257

9.6.5设置线型及画直线257

9.6.6画圆、椭圆、矩形及多边形258

9.6.7填充图形函数259

9.7图形方式下的文本常见操作函数260

9.7.1视口操作函数261

9.7.2图形方式下的文字输出261

9.7.3屏幕图形的保存和恢复262

9.8C语言图形操作综合应用举例263

本章小结264

习题9265

第10章编译预处理268

10.1宏定义268

10.1.1不带参数的宏268

10.1.2带参数的宏269

10.1.3使用宏定义时应注意的问题270

10.2文件包含271

10.3条件编译272

10.4其他编译预处理274

10.4.1#error274

10.4.2# pragma275

10.4.3#line275

本章小结276

习题10277

第11章从C到C++279

11.1对象的思想279

11.1.1从面向过程到面向对象279

11.1.2类的说明280

11.1.3C程序与C++程序对比281

11.2从C到C++的过渡282

11.2.1C++的I/O283

11.2.2const和volatile访问修饰符283

11.2.3引用286

11.2.4作用域分辨符290

11.2.5重载290

11.2.6内联函数292

11.3OOP设计思路294

11.3.1面向对象程序设计的特征294

11.3.2类设计示例295

11.3.3类与结构体的区别297

本章小结298

习题11298

第12章类与对象300

12.1类的实例化—对象300

12.2类的构造函数和析构函数301

12.2.1构造函数301

12.2.2重载构造函数和缺省构造函数302

12.2.3析构函数304

12.3new和delete306

12.4this指针308

12.5拷贝构造函数310

12.5.1缺省拷贝构造函数311

12.5.2自定义拷贝构造函数312

12.6运算符重载314

12.7类的特殊成员317

12.7.1const成员317

12.7.2静态成员321

12.8对象成员324

12.9对象数组与对象指针326

12.9.1对象与数组326

12.9.2对象与指针327

12.10友元329

12.10.1友元函数330

12.10.2友元类332

本章小结333

习题12334

第13章继承与多态335

13.1继承的实现方式335

13.1.1公有继承335

13.1.2私有继承336

13.1.3保护继承337

13.1.4访问控制相关分析338

13.2子类的构造函数顺序339

13.3多继承342

13.3.1多继承的概念342

13.3.2多继承的构造函数342

13.3.3多继承的二义性问题344

13.4多态的实现方式346

13.4.1虚函数的声明347

13.4.2虚函数在派生类中的重新定义347

13.4.3基类的析构函数是虚的351

13.5虚函数表352

13.6重载、隐藏和覆盖的区别355

本章小结357

习题13357

附录AASCII码表362

附录BC语言中的关键字363

附录CC语言中的常用库函数364

参考文献369

前言C语言已经成为全球程序员的公共语言,具有功能丰富、表达力强、使用灵活方便、应用面广、目标效率高及可移植性好等特点;既具有高级语言的优点,又具有低级语言的许多特点。因此,C语言在系统软件和应用软件的开发中得到了广泛的应用。

现在,我国高等学校的理工科专业都开设了C语言课程,并将之作为第一门计算机语言课程,有的甚至开设了C++课程,因此,我们认为作为高校的第一门计算机语言课程,由于其开课时间大多在一年级,在C语言的教学中应注意教学内容的循序渐进,特别要注意对学生编程思想和编程规范意识的培养,走好第一步;在此基础上,根据课时安排,适当扩充C语言的内容,讲授一些C++的基础知识。,我们出版了《标准C语言程序设计及应用》,该书受到了广大读者的好评,如视角新颖、概念清楚、贴近实际应用、注意规范等,被国内多所高校相继在教学中采用。为了适应当前高校计算机教育的发展和教学改革的需要,我们总结多年教学经验,编写了本教材。本教材的特点体现在如下几个方面。

1)充分考虑到初学者的特点,整个教材采取了循序渐进、逐层推进的编写方式,如先介绍数据和表达式,再介绍简单程序设计及流程控制。

2)考虑到函数是C语言程序设计的核心和重点,较早地引入函数对学生加深C语言模块化的理解和应用是有帮助的,因此将“函数”这一章放在讲述简单程序设计和流程控制后,在“函数”这一章,主要介绍函数的基础部分,随后在讲述数组、指针、字符串及结构体等内容时再将函数不断深入。

3)重视学生的编程思想和编程规范意识的培养。在本书中,不论是一个简单的程序(一个函数,几条语句),还是相对复杂的程序,都充分体现了编程思想并力求做到编程(书写和编程设计)规范。

4)字符串是一类特殊的数据类型,在C语言的教学中有特殊的地方,学生最初对其理解起来会较为困难,这也是教学的难点之一。深刻体会字符串对学习指针和函数有很大的帮助,这一部分内容相对独立,所以本书将字符串单独作为一章,以利于学生的学习。

5)建立在C语言语法和基本结构之上的C++近年来得到了很好的发展和应用,为了使读者对C及C++有全面的了解,专门增加了3章,即第11章、第12章和第13章,第11章介绍了C和C++应用场合的区别,如何从C快速过渡到C++,第12章和第13章则主要介绍C++的基础,包括继承与多态方面的知识,供读者选用。

6)我们认为,学习计算机语言的最终目的是能够亲自动手编程,所以在教材中非常注意引导学生如何进行程序设计,包括简单的程序设计和复杂的程序设计。另外,在教材中我们还精选了大量例题,这些例题实用性强,都经过了上机验证。

在撰写本书的过程中,既参考了国内外多种教材,也融入了作者多年在华中科技大学自动化学院及电子与信息学院从事教学和科研的实践经验及体会,同时还吸收了同行专家学者们的建议。

本书由周纯杰教授、何顶新副教授、周凯波副教授和彭刚副教授进行整体规划,周纯杰教授完成统稿工作,其中第1章、第2章、第9章和第10章由周凯波副教授撰写,第3章和第5章由何顶新副教授撰写,第11章由张惕远讲师和彭刚副教授撰写,第12章由张惕远讲师撰写,第13章由彭刚副教授撰写,第4章、第6章、第7章、第8章和本书的其余部分由周纯杰教授撰写。

本书的出版得到了华中科技大学自动化学院及教务处的领导和同事们的关心与支持,机械工业出版社的有关同志为其出版也付出了辛勤的劳动,硕士研究生胡博文对资料的整理和程序的验证进行了有效的工作,另外硕士研究生彭源、张婷、汤晓庆、常昊、刘博、樊旭、姚干、徐高峰、邹育桃、曾玲也进行了部分资料整理和程序验证工作。在此一并表示感谢!由于作者水平有限,书中疏漏或错误之处恳请广大读者批评指正。

编者12月于华中科技大学

图书评论

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。