种豆资源网

当前位置:首页 > 百科 > 百科综合 / 正文

C语言入门经典(第5版)

(2019-07-22 20:40:03) 百科综合
C语言入门经典(第5版)

C语言入门经典(第5版)

《C语言入门经典(第5版)》是2013年清华大学出版社出版的图书,作者是[美] Ivor Horton。

基本介绍

  • 书名:C语言入门经典(第5版)
  • 作者:[美] Ivor Horton
  • 译者:杨浩 
  • ISBN:9787302343417
  • 定价:69.80元
  • 出版社:清华大学出版社
  • 出版时间:2013.11.01

内容简介

第五版是全新推出的最新版本,主要是为新手推出的堪比神界的修真秘籍,看成是c语言界的修炼秘籍,融合了作者多年的编程经验,给人一种深入浅出的感觉,很适合初学者。 读过本之后可以感受到C语言的侧重点在于实践,从实践出发,提供了乾货,让读者明白如何在实际编程中去运用,在每章最后都会有一节来让读者自己製作一个稍大些的程式,通过"问题-分析-解决方案"的方式逐步引导读者实际地运用本章方法去编程,体验编程的乐趣和成就感,对实践技能的提高有很大帮助。
C语言是每一位程式设计师都应该掌握的基础语言。C语言是微软.NET编程中使用的C#语言的基础;C语言是iPhone、iPad和其他苹果设备编程中使用的Objective-C语言的基础;C语言是在很多环境中(包括GNU项目)被广泛使用的C++语言的基础。C语言也是Linux作业系统及其很多功能的基础。学习C语言可以给编程职业生涯提供牢固的基础,也有助于更好地理解更为现代的语言(如Java)。
《C语言入门经典(第5版)》主要介绍最基础的计算机语言之一——C语言。
本书从最基础的内容开始,步步深入讲解作为一位称职的C语言程式设计师应该具备的知识和技能。

编辑推荐

◆阐述C语言的核心特徵,例如循环和分支
◆如何使用指针和指令动态管理记忆体
◆如何使用头档案和函式模组化代码
◆程式如何通过键盘、显示器和数据档案读写数据
◆如何通过预处理命令在编译时最佳化代码
◆如何使用结构有效地管理输入数据
本书完整地介绍了一个C应用程式的开发过程,这样你在阅读过程中可以结合实际的套用场景提高编程技能。书中的样例提供了实验的基础,可以通过修改其中的部分代码来对比前后程式运行的结果。后面的练习题用来测试对新知识、新技能的掌握情况,如果需要练习题答案,可以网上下载。
阅读完本书,你应该有能力和信心开发自己的C应用程式,并且具备在大型项目中套用C语言思想的技能。第5版详细介绍了C语言的最新国际标準,并且修订涵盖了语言编译器新支持的C11功能。

图书目录

第1章C语言编程 1
1.1C语言 1
1.2标準库 2
1.3学习C 2
1.4创建C程式 2
1.4.1编辑 2
1.4.2编译 3
1.4.3连结 4
1.4.4执行 4
1.5创建第一个程式 5
1.6编辑第一个程式 5
1.7处理错误 6
1.8剖析一个简单的程式 7
1.8.1注释 7
1.8.2预处理指令 8
1.8.3定义main()函式 9
1.8.4关键字 10
1.8.5函式体 10
1.8.6输出信息 11
1.8.7参数 11
1.8.8控制符 11
1.8.9三字母序列 13
1.9预处理器 14
1.10用C语言开发程式 14
1.10.1了解问题 14
1.10.2详细设计 15
1.10.3实施 15
1.10.4测试 15
1.11函式及模组化编程 16
1.12常见错误 19
1.13要点 19
1.14小结 20
1.15习题 20
第2章编程初步 21
2.1计算机的记忆体 21
2.2什幺是变数 23
2.3存储整数的变数 24
2.3.1变数的使用 28
2.3.2变数的初始化 29
2.4变数与记忆体 36
2.4.1带符号的整数类型 36
2.4.2无符号的整数类型 37
2.4.3指定整数常量 37
2.5使用浮点数 39
2.6浮点数变数 41
2.6.1使用浮点数完成除法运算 42
2.6.2控制输出中的小数位数 43
2.6.3控制输出的栏位宽度 43
2.7较複杂的表达式 44
2.8定义命名常量 46
2.8.1极限值 49
2.8.2sizeof运算符 51
2.9选择正确的类型 52
2.10强制类型转换 55
2.10.1自动转换类型 56
2.10.2隐式类型转换的规则 56
2.10.3赋值语句中的隐式类型转换 57
2.11再谈数值数据类型 58
2.11.1字元类型 58
2.11.2字元的输入输出 59
2.11.3枚举 62
2.11.4存储布尔值的变数 64
2.12赋值操作的op=形式 65
2.13数学函式 66
2.14设计一个程式 67
2.14.1问题 68
2.14.2分析 68
2.14.3解决方案 70
2.15小结 73
2.16练习 74
第3章条件判断 75
3.1判断过程 75
3.1.1算术比较 75
3.1.2基本的if语句 76
3.1.3扩展if语句:if-else 79
3.1.4在if语句中使用代码块 82
3.1.5嵌套的if语句 83
3.1.6测试字元 85
3.1.7逻辑运算符 88
3.1.8条件运算符 91
3.1.9运算符的优先权 94
3.2多项选择问题 98
3.2.1给多项选择使用else-if语句 98
3.2.2switch语句 99
3.2.3goto语句 107
3.3按位运算符 108
3.3.1按位运算符的op=用法 110
3.3.2使用按位运算符 111
3.4设计程式 114
3.4.1问题 114
3.4.2分析 114
3.4.3解决方案 114
3.5小结 118
3.6练习 118
第4章 循环 119
4.1 循环 119
4.2 递增和递减运算符 120
4.3 for循环 120
4.4 for循环的一般语法 124
4.5 再谈递增和递减运算符 125
4.5.1 递增运算符 125
4.5.2 递增运算符的前置和后置形式 125
4.5.3 递减运算符 126
4.6 再论for循环 127
4.6.1 修改for循环变数 129
4.6.2 没有参数的for循环 129
4.6.3 循环内的break语句 130
4.6.4 使用for循环限制输入 132
4.6.5 生成伪随机整数 135
4.6.6 再谈循环控制选项 137
4.6.7 浮点类型的循环控制变数 137
4.7 while循环 138
4.8 嵌套循环 140
4.9 嵌套循环和goto语句 146
4.10 do-while循环 147
4.11 continue语句 149
4.12 设计程式 150
4.12.1 问题 150
4.12.2 分析 150
4.12.3 解决方案 151
4.13 小结 162
4.14 习题 163
第5章 数组 165
5.1 数组简介 165
5.1.1 不用数组的程式 165
5.1.2 什幺是数组 167
5.1.3 使用数组 168
5.2 定址运算符 171
5.3 数组和地址 173
5.4 数组的初始化 174
5.5 确定数组的大小 175
5.6 多维数组 176
5.7 多维数组的初始化 178
5.8 变长数组 184
5.9 设计一个程式 186
5.9.1 问题 186
5.9.2 分析 186
5.9.3 解决方案 187
5.10 小结 193
5.11 习题 193
第6章 字元串和文本的套用 195
6.1 什幺是字元串 195
6.2 存储字元串的变数 197
6.3 字元串操作 202
6.3.1 检查对C11的支持 202
6.3.2 确定字元串的长度 203
6.3.3 複製字元串 204
6.3.4 连线字元串 204
6.3.5 比较字元串 208
6.3.6 搜寻字元串 211
6.3.7 单元化字元串 215
6.3.8 将换行符读入字元串 219
6.4 分析和转换字元串 221
6.4.1 转换字元的大小写形式 223
6.4.2 将字元串转换成数值 225
6.5 设计一个程式 227
6.5.1 问题 227
6.5.2 分析 227
6.5.3 解决方案 228
6.6 小结 233
6.7 习题 233
第7章指针 235
7.1指针初探 235
7.1.1声明指针 236
7.1.2通过指针访问值 237
7.1.3使用指针 240
7.1.4指向常量的指针 244
7.1.5常量指针 244
7.1.6指针的命名 245
7.2数组和指针 245
7.3多维数组 248
7.3.1多维数组和指针 252
7.3.2访问数组元素 253
7.4记忆体的使用 256
7.4.1动态记忆体分配:malloc()函式 256
7.4.2释放动态分配的记忆体 257
7.4.3用calloc()函式分配记忆体 261
7.4.4扩展动态分配的记忆体 262
7.5使用指针处理字元串 265
7.5.1使用指针数组 266
7.5.2指针和数组记号 272
7.6设计程式 276
7.6.1问题 276
7.6.2分析 277
7.6.3解决方案 277
7.7小结 284
7.8习题 285
第8章编程的结构 287
8.1程式的结构 287
8.1.1变数的作用域和生存期 288
8.1.2变数的作用域和函式 291
8.2函式 291
8.2.1定义函式 291
8.2.2return语句 294
8.3按值传递机制 299
8.4函式原型 300
8.5指针用作参数和返回值 301
8.5.1常量参数 302
8.5.2返回指针的风险 307
8.6小结 310
8.7习题 310
第9章函式再探 313
9.1函式指针 313
9.1.1声明函式指针 313
9.1.2通过函式指针调用函式 314
9.1.3函式指针的数组 316
9.1.4作为变元的函式指针 319
9.2函式中的变数 321
9.2.1静态变数:函式内部的追蹤 321
9.2.2在函式之间共享变数 323
9.3调用自己的函式:递归 325
9.4变元个数可变的函式 328
9.4.1複製va_list 331
9.4.2长度可变的变元列表的基本规则 331
9.5main()函式 332
9.6结束程式 333
9.6.1abort()函式 333
9.6.2exit()和atexit()函式 333
9.6.3_Exit()函式 334
9.6.4quick_exit()和at_quick_exit()函式 334
9.7提高性能 335
9.7.1内联声明函式 335
9.7.2使用restrict关键字 335
9.7.3_Noreturn函式限定符 336
9.8设计程式 336
9.8.1问题 336
9.8.2分析 337
9.8.3解决方案 338
9.9小结 351
9.10习题 352
第10章基本输入和输出操作 353
10.1输入和输出流 353
10.2标準流 354
10.3键盘输入 354
10.3.1格式化键盘输入 355
10.3.2输入格式控制字元串 355
10.3.3输入格式字元串中的字元 360
10.3.4输入浮点数的各种变化 362
10.3.5读取十六进制和八进制值 363
10.3.6用scanf_s()读取字元 364
10.3.7从键盘上输入字元串 366
10.3.8单个字元的键盘输入 367
10.4萤幕输出 372
10.4.1使用printf_s()的格式化输出 372
10.4.2转义序列 375
10.4.3整数输出 375
10.4.4输出浮点数 378
10.4.5字元输出 379
10.5其他输出函式 380
10.5.1萤幕的非格式化输出 381
10.5.2数组的格式化输出 381
10.5.3数组的格式化输入 382
10.6小结 382
10.7习题 383
第11章结构化数据 385
11.1数据结构:使用struct 385
11.1.1定义结构类型和结构变数 387
11.1.2访问结构成员 388
11.1.3未命名的结构 390
11.1.4结构数组 391
11.1.5表达式中的结构成员 393
11.1.6结构指针 393
11.1.7为结构动态分配记忆体 394
11.2再探结构成员 397
11.2.1将一个结构作为另一个结构的成员 397
11.2.2声明结构中的结构 398
11.2.3将结构指针用作结构成员 399
11.2.4双向鍊表 403
11.2.5结构中的位栏位 406
11.3结构与函式 407
11.3.1结构作为函式的变元 407
11.3.2结构指针作为函式变元 408
11.3.3作为函式返回值的结构 409
11.3.4二叉树 414
11.4共享记忆体 421
11.5设计程式 425
11.5.1问题 425
11.5.2分析 426
11.5.3解决方案 426
11.6小结 438
11.7习题 438
第12章处理档案 441
12.1档案的概念 441
12.1.1档案中的位置 442
12.1.2档案流 442
12.2档案访问 442
12.2.1打开档案 443
12.2.2快取档案操作 445
12.2.3档案重命名 446
12.2.4关闭档案 447
12.2.5删除档案 447
12.3写入文本档案 448
12.4读取文本档案 449
12.5在文本档案中读写字元串 452
12.6格式化档案的输入输出 456
12.6.1格式化档案输出 456
12.6.2格式化档案输入 457
12.7错误处理 459
12.8再探文本档案操作模式 460
12.9freopen_s()函式 461
12.10二进制档案的输入输出 462
12.10.1以二进制模式打开档案 462
12.10.2写入二进制档案 463
12.10.3读取二进制档案 464
12.11在档案中移动 469
12.11.1档案定位操作 469
12.11.2找出我们在档案中的位置 470
12.11.3在档案中设定位置 471
12.12使用临时档案 477
12.12.1创建临时档案 477
12.12.2创建唯一的档案名称 478
12.13更新二进制档案 479
12.13.1修改档案的内容 484
12.13.2从键盘输入创建记录 485
12.13.3将记录写入档案 486
12.13.4从档案中读取记录 486
12.13.5写入档案 487
12.13.6列出档案内容 488
12.13.7更新已有的档案内容 489
12.14档案打开模式小结 495
12.15设计程式 496
12.15.1问题 496
12.15.2分析 496
12.15.3解决方案 496
12.16小结 501
12.17习题 501
第13章支持功能 503
13.1预处理 503
13.1.1在程式中包含头档案 503
13.1.2定义自己的头档案 504
13.1.3管理多个源档案 504
13.1.4外部变数 505
13.1.5静态函式 505
13.1.6替换程式原始码 506
13.2宏 507
13.2.1看起来像函式的宏 507
13.2.2字元串作为宏参数 509
13.2.3在宏展开式中结合两个变元 510
13.3多行上的预处理器指令 510
13.3.1预处理器逻辑指令 511
13.3.2条件编译 511
13.3.3测试多个条件 512
13.3.4取消定义的标识符 512
13.3.5测试标识符的指定值的指令 512
13.3.6多项选择 513
13.3.7标準预处理宏 514
13.4调试方法 515
13.4.1集成的调试器 515
13.4.2调试阶段的预处理器 515
13.4.3断言 519
13.5日期和时间函式 521
13.5.1获取时间值 522
13.5.2获取日期 525
13.5.3确定某一天是星期几 529
13.6小结 531
13.7习题 531
第14章高级专用主题 533
14.1使用国际字元集 533
14.1.1理解Unicode 533
14.1.2设定区域 534
14.1.3宽字元类型wchar_t 535
14.1.4宽字元串的操作 537
14.1.5宽字元的档案流操作 540
14.1.6存储Unicode字元的固定大小类型 541
14.2用于可移植性的专用整数类型 545
14.2.1固定宽度的整型 545
14.2.2最小宽度的整型 545
14.2.3最大宽度的整型 546
14.3複数类型 546
14.3.1複数基础 546
14.3.2複数类型和操作 547
14.4用执行绪编程 550
14.4.1创建执行绪 550
14.4.2退出执行绪 551
14.4.3把一个执行绪连线到另一个执行绪上 552
14.4.4挂起执行绪 555
14.4.5管理执行绪对数据的访问 555
14.5小结 561
附录A计算机中的数学知识 563
附录BASCII字元代码定义 571
附录CC语言中的保留字 575
附录D输入输出格式说明符 577
附录E标準库头档案 583

标 签

搜索
随机推荐

Powered By 种豆资源网||