C语言王者归来

C语言王者归来"

作者:洪锦魁
ISBN:9787302631491
定价:¥129
字数:千字
页数:
出版时间:2023.09.01
开本:
版次:1-1
装帧:
出版社:清华大学出版社
简介

《C语言王者归来》详细讲解了C语言的相关知识,从基本概念开始,逐步讲解程序流程控制、循环、字符串、指针、函数、结构、文件输入与输出,以及完整的大型项目设计。同时本书还进一步讲解了数据结构的基础知识,如串行、堆栈、队列与二叉树,奠定读者未来学习算法的基础。本书最后一章则是介绍 C++ 与 C 语言的差异,由此可以帮助读者学习面向对象的程序开发方法。

前言

1991年,笔者还在美国读计算机博士时,出版了一本在UNIX环境撰写的C语言图书,随后基于PC环境编写了Turbo C、Borland C、Visual C、C++、电玩游戏设计中的C 语言等相关图书。本书则是将过去笔者撰写C语言的经验与目前科技发展趋势结合,进行重新诠释。

这是一本完整讲解C语言的教材,从最基本的C语言概念讲起,逐步讲解程序流程控制、循环、字符串、指针、函数、结构、文件输入与输出,以及完整的大型项目设计。同时本书还进一步讲解了数据结构的基础知识,如串行、堆栈、队列与二叉树,奠定读者未来学习算法的基础。本书最后一章则是介绍C++与C语言的差异,由此可以帮助读者学习面向对象的程序开发方法。

为了让读者可以彻底了解C语言,本书使用大量图例讲解语法运作过程与内存间的关系,特别在读者不易理解的指针、串行、堆栈、二叉树章节,更是全程记录每个环节内存的变化。整本书用460多个活泼、生动、实用的程序实例辅助解说。每章附带的是非题、选择题、填充题等习题可以加深读者对重点知识的理解,程序实操题则可以加强读者的程序设计技能,实现举一反三。所有习题答案可在最后扫码下载。本书也讲解了丰富的函数,读者可以了解系统资源,加快未来的工作效率。通过本书内容,读者可以彻底理解下列C语言的相关知识。

..C语言的输入与输出。

..C语言解数学方程式。

..程序流程控制与循环设计。

..基础数学与统计知识。

..排序的内涵。

..递归函数设计。

..斐波那契(Fibonacci)数列的产生。

..C语言的前端处理器。

..计算机内存地址及指针。

..将struct应用到平面坐标系统、时间系统。

..将enum应用在结账系统、薪资计算系统。

..字符串加密。

..文件管理。

..C语言低阶应用 —— 处理位运算。

..建立项目执行大型程序设计。

..基础数据结构。

..C++与C语言的差异。

笔者编写过许多计算机图书,本书沿袭笔者图书的特色,程序实例丰富,相信读者只要遵循本书内容,必定可以在短时间内精通C语言,奠定学习进阶计算机知识的基础。本书虽力求完美,但错误难免,尚祈读者不吝指正。

洪锦魁

目录

第1章 C语言基本概念

1-1 C语言的价值.....................................2

1-2 C 语言的特色....................................2

1-3 C语言开发过程.................................3

1-4 规划程序...........................................5

1-5 程序除错...........................................6

1-6 程序的名称........................................7

1-7 C语言程序结构分析...........................8

1-8 C语言程序实例ch1_3.c的解说..........9

1-8-1 程序的行号....................................9

1-8-2 程序的批注....................................9

1-8-3 引用头文件....................................9

1-8-4 主程序int main( )声明 ...............12

1-8-5 程序的内容..................................12

1-8-6 变量的声明..................................12

1-8-7 程序实例ch1_3.c的解说 ...........13

1-9 习题...............................................13

第2章 C语言数据处理的概念

2-1 变量名称的使用................................16

2-1-1 认识C语言的变量 .....................16

2-1-2 认识不需事先声明变量的

 程序语言 ......................................17

2-2 变量的声明......................................17

2-3 基本数据形态...................................18

2-3-1 整数 .............................................18

2-3-2 字符 .............................................21

2-3-3 浮点数 .........................................22

2-3-4 sizeof( )函数 ...............................23

2-3-5 字符串数据形态 ..........................24

2-4 常数的表达方式................................24

2-4-1 整数常数 ............................................................24

2-4-2 浮点常数 ............................................................26

2-4-3 字符常数 ............................................................26

2-4-4 字符串常数 .......................................................27

2-4-5 一次设定多个变量值 ...................................27

2-5 程序设计的专有名词.........................28

2-5-1 程序代码 ............................................................28

2-5-2 表达式 ..................................................................28

2-5-3 运算符与操作数 .............................................28

2-5-4 操作数也可以是一个表达式 ...................29

2-5-5 指定运算符 .......................................................29

2-5-6 单元运算符 .......................................................29

2-5-7 二元运算符 .......................................................29

2-5-8 三元运算符 .......................................................30

2-6 算术运算.........................................30

2-6-1 基础算术运算符号 ......................30

2-6-2 负号运算 .....................................32

2-6-3 否运算 .........................................32

2-6-4 运算优先级..................................32

2-6-5 程序代码指令太长的处理 ..........33

2-7 数据形态的转换................................33

2-7-1 基础数据形态的转换 ..................34

2-7-2 整数和字符混合使用 .................35

2-7-3 学生买球鞋..................................36

2-8 C 语言的特殊表达式.........................36

2-8-1 递增和递减表达式 ......................36

2-8-2 设定的特殊表达式 ......................38

2-9 专题实操:圆面积/圆周长/圆周率.....39

2-9-1 圆面积与周长的计算 ..................39

2-9-2 计算圆周率..................................39

2-10 习题.............................................40

第3章 基本的输入与输出

第4章 简易数学函数的使用

第5章 程序的流程控制

第6章.程序的循环设计

6-1 for循环........................................111

6-1-1 单层for循环 ..............................111

6-1-2 for语句应用到无限循环 ...........114

6-1-3 双层或多层for循环 ..................114

6-1-4 for循环指标递减设计 ...............117

6-2 while循环.....................................117

6-2-1 单层while循环 ..........................117

6-2-2 while语句应用到无限循环 ......120

6-2-3 双层或多层while循环 .............120

6-3 do … while循环............................122

6-3-1 单层do … while循环 ...............122

6-3-2 do … while语句的无限循环 ....124

6-3-3 双层或多层do … while循环 ...124

6-4 循环的选择....................................125

6-5 break语句....................................125

6-6 continue语句...............................126

6-7 随机数函数....................................128

6-7-1 rand( )函数 ................................128

6-7-2 srand( )函数 ..............................128

6-7-3 time( )函数 ................................129

6-7-4 建立某区间的随机数 ................130

6-7-5 建立0~1的随机浮点数 ........130

6-8 休息函数.......................................131

6-8-1 sleep( )函数 ..............................131

6-8-2 usleep( )函数.............................131

6-9 专题实操:计算成绩/圆周率/最大公

 约数/国王的麦粒...........................131

6-9-1 计算平均成绩和不及格人数 ....131

6-9-2 猜数字游戏................................132

6-9-3 利用辗转相除法求最大

 公约数 .......................................133

6-9-4 计算圆周率................................133

6-9-5 鸡兔同笼:使用循环计算 ........134

6-9-6 国王的麦粒 .............................135

6-9-7 离开无限循环与程序结束

 Ctrl + C组合键 .........................135

6-9-8 银行账号冻结 ............................136

6-9-9 自由落体 ...................................136

6-10 习题...........................................137

第7章 数组

7-1 一维数组.......................................145

7-1-1 基础概念 ...................................145

7-1-2 认识数组的残值 ........................146

7-1-3 C语言不做数组边界的检查 .....146

7-1-4 一维数组的初值设定 ................147

7-1-5 计算数组所占的内存空间和

 数组长度 ...................................148

7-1-6 读取一维数组的输入 ................149

7-1-7 自行设计数组边界检查程序 ....150

7-1-8 一维数组的实例应用 ................150

7-2 二维数组.......................................151

7-2-1 基础概念 ...................................151

7-2-2 二维数组的初值设定 ................152

7-2-3 读取二维数组的输入 ................153

7-2-4 二维数组的实例应用 ................154

7-2-5 二维数组的应用解说 ................154

7-3 更高维的数组.................................155

7-3-1 基础概念 ...................................155

7-3-2 三维或更高维数组的应用解说 ...157

7-4 排序.............................................157

7-4-1 排序的概念与应用 ....................157

7-4-2 排序实操 ...................................158

7-5 专题实操:斐波那契数列/魔术方块....161

7-5-1 斐波那契数列 ............................161

7-5-2 二维数组乘法 ............................162

7-5-3 4 ×4魔术方块 ..........................162

7-5-4 奇数矩阵魔术方块 ....................163

7-5-5 基础统计 ...................................165

7-6 习题.............................................166

第8章 字符串彻底剖析

8-1 由字符组成的一维数组....................173

8-2 比较字符数组和字符串....................173

8-3 完整解说字符串的输出与输入...........176

8-3-1 标准字符串的输出 ....................176

8-3-2 标准字符串的输入 ....................176

8-4 gets( )函数和puts( )函数..............177

8-4-1 gets( )函数 ................................178

8-4-2 puts( )函数 ................................178

8-5 C语言的字符串处理的函数..............179

8-5-1 strcat( )函数 ..............................180

8-5-2 strcmp( )函数 ............................180

8-5-3 strcpy( )函数 .............................181

8-5-4 strlen( )函数 ..............................181

第9章 函数的应用

第10章 C语言前端处理器

第11章 指针

11-1 认识地址.....................................250

11-2 认识指针.....................................252

11-3 使用指针变量...............................252

11-3-1 声明指针变量 ..........................252

11-3-2 从认识到精通“&”和“*”

 运算符 ......................................253

11-3-3 指针变量的地址 ......................254

11-3-4 指针变量的长度 ......................256

11-3-5 简单指针实例 ..........................256

11-3-6 指针常发生的错误:指针

 没有指向地址 ..........................260

11-3-7 用指针读取输入数据 ..............262

11-3-8 指针的运算 ..............................263

11-3-9 指针数据形态不可变更 ..........264

11-3-10 再谈指针声明方式 ................265

11-3-11 空指针NULL .....................266

11-4 指针与一维数组............................266

11-4-1 认识数组名和数组的地址 ......266

11-4-2 数组名不是指针常数的

 场合 .........................................267

11-4-3 数组索引与数组名 ..................268

11-4-4 数组名就是一个指针 ..............269

11-4-5 定义和使用数组指针变量 ......270

11-4-6 移动指针读取输入数组数据...271

11-4-7 使用指针读取和加总数组

 元素 .........................................272

11-5 指针与二维数组............................273

11-5-1 认识二维数组的元素地址 ......273

11-5-2 二维数组名是一个指针 ..........275

11-5-3 建立指针遍历二维数组 ..........275

11-5-4 双重指针 ..................................276

11-5-5 双重指针与二维数组 ..............277

11-6 将指针应用在字符串.....................279

11-6-1 认识与建立字符指针 ..............279

11-6-2 字符指针 ..................................280

11-6-3 将指针指向字符串 ..................281

11-7 指针与字符串数组.........................282

11-7-1 字符串数组 ..............................282

11-7-2 二维的字符串数组 ..................283

11-7-3 字符串内容的更改与指针

 内容的更改 ..............................283

11-7-4 声明空字符串 ..........................284

11-8 专题实操:4×4魔术方块/奇数魔术

 方块...........................................285

11-8-1 使用指针执行数组元素相加...285

11-8-2 使用双重指针输出二维

 数组“洪” ................................285

11-8-3 使用指针设计4×4魔术方块 ...286

11-9 习题...........................................287

第12章 指针与函数

第13章 结构struct数据形态

第14章 union、enum和typedef

第15章 测试符号与符号转换函数

第16章 文件的输入与输出

16-1 文件的输入与输出........................352

16-2 认识文本文件与二进制文件............352

16-3 有缓冲区的输入与输出函数............353

16-3-1 fopen( )函数 ............................353

16-3-2 fclose( )函数 ...........................355

16-3-3 putc( )函数 ..............................355

16-3-4 getc( )函数 ..............................356

16-3-5 fprintf( )函数...........................357

16-3-6 fscanf( )函数 ...........................358

16-3-7 feof( )函数 ..............................358

16-3-8 ferror( )函数 ............................359

16-4 有缓冲区的输入与输出应用在二进制

 文件...........................................360

16-4-1 fwrite( )函数 ...........................360

16-4-2 fread( )函数.............................360

16-4-3 fseek( )函数 ............................361

16-4-4 rewind( )函数 ..........................362

16-4-5 输出数据到二进制文件 ..........362

16-4-6 读取二进制文件数据 ..............363

16-5 C 语言默认的文件指针..................363

16-6 无缓冲区的输入与输出..................364

16-6-1 open( )函数 .............................365

16-6-2 close( )函数.............................366

16-6-3 read( )函数 ..............................367

16-6-4 creat( )函数 .............................367

16-6-5 write( )函数.............................368

16-7 无缓冲区的输入与输出应用在二进制

 文件 ..........................................368

16-8 专题实操:随机读取二进制文件

 数据/字符串加密.........................370

16-8-1 随机读取数据的应用 ..............370

16-8-2 lseek( )函数.............................371

16-8-3 字符串加密 ..............................373

16-9 习题...........................................373

第17章 文件与文件夹的管理

17-1 文件的删除..................................377

17-1-1 remove( )函数 .........................377

17-1-2 unlink( )函数 ...........................377

17-2 文件名的更改...............................378

17-3 文件长度计算...............................378

17-4 子文件夹的建立............................379

17-5 删除子文件夹...............................379

17-6 获得目前文件夹路径.....................380

17-7 习题...........................................380

第18章 数据转换函数

18-1 atof( )函数..................................383

18-2 atoi( )函数..................................383

18-3 atol( )函数..................................384

18-4 gcvt( )函数.................................385

18-5 itoa( )函数..................................385

18-6 ltoa( )函数..................................386

18-7 习题...........................................387

第19章 基本位运算

19-1 二进制系统..................................389

19-1-1 十进制转二进制 ......................389

19-1-2 二进制转十进制 ......................389

19-2 位运算基础概念............................390

19-3 & 运算符.....................................391

19-4 | 运算符......................................392

19-5 ^ 运算符......................................393

19-6 ~ 运算符.....................................394

19-7 << 运算符...................................394

19-8 >> 运算符...................................395

19-9 位字段........................................396

19-10 习题.........................................398

第20章 建立项目:适用大型程序

20-1 程序项目的缘由............................401

20-2 基础程序实操...............................401

20-3 模块化程序..................................402

20-4 建立项目与执行............................403

20-5 增加功能的项目............................405

20-6 不同文件的全局变量与extern........406

20-7 习题...........................................407

第21章 基本链表结构

第22章 栈与队列

第23章 二叉树

第24章 C语言迈向C++之路

作者简介

编辑推荐

"《C语言王者归来》语言生动,图片及程序案例丰富,同时附有习题,便于读者巩固重点知识。

本书适合所有对C语言感兴趣的读者阅读,也可以作为院校和培训机构相关专业的教材。"

作者寄语

电子资料

www.luweidong.cn

下一个