C语言入门经典(第6版)
- ISBN:9787302590262
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:600
- 出版时间:2021-11-01
- 条形码:9787302590262 ; 978-7-302-59026-2
本书特色
目前市面上关于 C 语言学习的图书很多,本书以深入浅出的方法介绍 C 语言中抽象的语法和 算法,非常适合初学者编程入门学习。同时,本书知识结构清晰,内容详细,也可作为有经验的 程序员的枕边书,随时可以查阅解惑。在 IT 领域,我想大多数程序员精英都读过 Ivor Horton 的 图书,本书作者 Ivor Horton 是世界著名的计算机图书作家,帮助无数程序员步入编程的殿堂。时 间推移、日月更替,作为 C 语言入门的经典图书,《C 语言入门经典》已历经多次版本迭代,译 者翻译的是《C 语言入门经典》的第 6 版。 科技的进步使人们的生活变得更加丰富多彩,但是编程的学习却是比较枯燥的,因此也有很 多编程初学者“无疾而终”。此处译者想给编程初学者几个小小的建议,希望对读者的编程学习生 涯有所帮助。 1. 兴趣是*好的老师,但大部分学习者对编程的学习可能一开始并没有很大的兴趣。那就需 要体会编程带来的成就感,例如成功地执行了一个程序,成功地找到了一个 bug,都会让人感觉 很有成就,需要享受这种编程带来的成就感。 2. 遇到问题时不要轻言放弃,可以先尝试自己找出问题进行分析。如果不行,就网页搜索看 看有没有解决方案,还是不行,可以询问认识的朋友。一般经历这几个过
内容简介
主要内容: 介绍C编程语言; 使用C语言编程,开启编程之旅; 使用循环、数组、字符串、文本、指针、函数、VO等使用字符串和文本编写应用程序代码; 程序的有效结构; 处理数据、文件、工具等
目录
目 录
第1章 C语言编程 1
1.1 C语言 1
1.2 标准库 2
1.3 学习C语言 2
1.4 创建C程序 2
1.4.1 编辑 2
1.4.2 编译 3
1.4.3 链接 3
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 关键字 9
1.8.5 函数体 9
1.8.6 输出信息 11
1.8.7 参数 11
1.8.8 控制符 11
1.8.9 三字母序列 13
1.9 预处理器 13
1.10 用C语言开发程序 14
1.10.1 了解问题 14
1.10.2 详细设计 14
1.10.3 实施 15
1.10.4 测试 15
1.11 函数及模块化编程 15
1.12 常见错误 18
1.13 要点 19
1.14 小结 19
1.15 习题 19
第2章 编程初步 21
2.1 计算机的内存 21
2.2 什么是变量 23
2.3 存储整数的变量 24
2.3.1 变量的使用 28
2.3.2 变量的初始化 30
2.4 变量与内存 35
2.4.1 带符号的整数类型 36
2.4.2 无符号的整数类型 36
2.4.3 指定整数常量 37
2.5 使用浮点数 39
2.6 浮点数变量 40
2.6.1 使用浮点数完成除法运算 41
2.6.2 控制输出中的小数位数 42
2.6.3 控制输出的字段宽度 42
2.7 较复杂的表达式 43
2.8 定义命名常量 46
2.8.1 极限值 48
2.8.2 sizeof运算符 50
2.9 选择正确的类型 51
2.10 强制类型转换 54
2.10.1 自动转换类型 55
2.10.2 隐式类型转换的规则 55
2.10.3 赋值语句中的隐式类型转换 56
2.11 再谈数值数据类型 57
2.11.1 字符类型 57
2.11.2 字符的输入输出 58
2.11.3 枚举 61
2.11.4 存储布尔值的变量 63
2.12 赋值操作的op=形式 64
2.13 数学函数 65
2.14 设计一个程序 66
2.14.1 问题 66
2.14.2 分析 66
2.14.3 解决方案 68
2.15 小结 72
2.16 练习 73
第9章 函数再探 313
9.1 函数指针 313
9.1.1 声明函数指针 313
9.1.2 通过函数指针调用函数 314
9.1.3 函数指针的数组 316
9.1.4 作为变元的函数指针 318
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.5 main()函数 332
9.6 结束程序 333
9.6.1 abort()函数 333
9.6.2 exit()和atexit()函数 334
9.6.3 _Exit()函数 334
9.6.4 quick_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 小结 352
9.10 习题 352
第10章 基本输入和输出操作 355
10.1 输入和输出流 355
10.2 标准流 356
10.3 键盘输入 356
10.3.1 格式化键盘输入 356
10.3.2 输入格式控制字符串 357
10.3.3 输入格式字符串中的字符 362
10.3.4 输入浮点数的各种变化 363
10.3.5 读取十六进制和八进制值 364
10.3.6 用scanf_s()读取字符 366
10.3.7 从键盘上输入字符串 367
10.3.8 单个字符的键盘输入 368
10.4 屏幕输出 373
10.4.1 使用printf_s()的格式化输出 373
10.4.2 转义序列 375
10.4.3 整数输出 376
10.4.4 输出浮点数 378
10.4.5 字符输出 379
10.5 其他输出函数 381
10.5.1 屏幕的非格式化输出 381
10.5.2 数组的格式化输出 382
10.5.3 数组的格式化输入 382
10.6 小结 383
10.7 习题 383
第11章 结构化数据 385
11.1 数据结构:使用struct 385
11.1.1 定义结构类型和结构变量 386
11.1.2 访问结构成员 387
11.1.3 未命名的结构 390
11.1.4 结构数组 390
11.1.5 表达式中的结构成员 393
11.1.6 结构指针 393
11.1.7 为结构动态分配内存 394
11.2 再探结构成员 396
11.2.1 将一个结构作为另一个结构的成员 396
11.2.2 声明结构中的结构 397
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 共享内存 422
11.5 设计程序 427
11.5.1 问题 427
11.5.2 分析 427
11.5.3 解决方案 427
11.6 小结 440
11.7 习题 440
第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 关闭文件 446
12.2.5 删除文件 447
12.3 写入文本文件 447
12.4 读取文本文件 448
12.5 在文本文件中读写字符串 451
12.6 格式化文件的输入输出 455
12.6.1 格式化文件输出 455
12.6.2 格式化文件输入 456
12.7 错误处理 458
12.8 再探文本文件操作模式 459
12.9 freopen_s()函数 460
12.10 二进制文件的输入输出 461
12.10.1 以二进制模式打开文件 462
12.10.2 写入二进制文件 462
12.10.3 读取二进制文件 463
12.11 在文件中移动 468
12.11.1 文件定位操作 469
12.11.2 找出文件中的当前位置 469
12.11.3 在文件中设定位置 470
12.12 使用临时文件 476
12.12.1 创建临时文件 476
12.12.2 创建唯一的文件名 477
12.13 更新二进制文件 478
12.13.1 修改文件的内容 483
12.13.2 从键盘输入创建记录 484
12.13.3 将记录写入文件 485
12.13.4 从文件中读取记录 486
12.13.5 写入文件 486
12.13.6 列出文件内容 487
12.13.7 更新已有的文件内容 488
12.14 文件打开模式小结 495
12.15 设计程序 495
12.15.1 问题 495
12.15.2 分析 495
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 外部变量 504
13.1.5 静态函数 505
13.1.6 替换程序源代码 505
13.2 宏 506
13.2.1 看起来像函数的宏 507
13.2.2 字符串作为宏参数 508
13.2.3 在宏展开式中结合两个
变元 509
13.3 多行上的预处理器指令 510
13.3.1 预处理器逻辑指令 510
13.3.2 条件编译 510
13.3.3 测试多个条件 511
13.3.4 取消定义的标识符 511
13.3.5 测试标识符的指定值的
指令 511
13.3.6 多项选择 512
13.3.7 标准预处理宏 513
13.3.8 通用宏 514
13.4 调试方法 515
13.4.1 集成的调试器 515
13.4.2 调试阶段的预处理器 515
13.4.3 断言 519
13.5 日期和时间函数 522
13.5.1 获取时间值 522
13.5.2 获取日期 525
13.5.3 确定某一天是星期几 529
13.6 小结 532
13.7 习题 532
第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 小结 562
附录A 计算机中的数学知识 563
附录B ASCII字符代码定义 571
附录C C语言中的保留字 575
附录D 输入输出格式说明符 577
附录E 标准库头文件 583
作者简介
German Gonzalez-Morris是一名C/C++、Java和开发不同应用程序容器的软件设计师/工程师,特别专注在WebLogic服务器方面的工作。他还从事开发不同的应用程序,包括JEE/Spring/Python。他的工作领域还包括OOP、Java/JEE、Python、设计模式、算法、Spring Core/MVC/Security和微服务。German曾在消息传递性能、RESTful API和事务系统方面工作过。 Ivor Horton是一家从事咨询业的自营职业者,撰写编程方面的教程。他在IBM工作多年。Ivor在IBM的工作包括在各种机器上用大多数语言(如汇编语言和高级语言)编程、实时编程以及设计和实现实时闭环工业控制系统。他在培训工程师和其他专家学习编程(Fortran、PL/1、APL等)方面有着丰富的经验。Ivor是机械、工艺和电子CAD系统、机械CAM系统和DNC/CNC系统方面的专家。
-
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
全图解零基础word excel ppt 应用教程
¥12.0¥48.0 -
机器学习
¥59.4¥108.0 -
深度学习的数学
¥43.5¥69.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥31.9¥65.0 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥77.4¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
UN NX 12.0多轴数控编程案例教程
¥25.8¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
Go 语言运维开发 : Kubernetes 项目实战
¥48.2¥79.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥84.5¥119.0