登入帳戶  | 訂單查詢  | 購物車/收銀台(0) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入   新用戶註冊
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2024年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / 物流,時效:出貨後2-4日

2025年02月出版新書

2025年01月出版新書

2024年12月出版新書

2024年11月出版新書

2024年10月出版新書

2024年09月出版新書

2024年08月出版新書

2024年07月出版新書

2024年06月出版新書

2024年05月出版新書

2024年04月出版新書

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

『簡體書』高效微控制器C语言编程 [美]马克·卢瓦

書城自編碼: 4077232
分類: 簡體書→大陸圖書→計算機/網絡程序設計
作者: [美]马克·卢瓦
國際書號(ISBN): 9787111769989
出版社: 机械工业出版社
出版日期: 2025-02-01

頁數/字數: /
書度/開本: 16开 釘裝: 平装

售價:NT$ 505

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
制造独角兽:初创公司如何指数式增长
《 制造独角兽:初创公司如何指数式增长 》

售價:NT$ 403.0
绿色黄金 : 茶叶、帝国与工业化
《 绿色黄金 : 茶叶、帝国与工业化 》

售價:NT$ 352.0
中医急重症学(第2版)
《 中医急重症学(第2版) 》

售價:NT$ 352.0
青春期的二次成长:给青少年恰如其分的爱和支持
《 青春期的二次成长:给青少年恰如其分的爱和支持 》

售價:NT$ 305.0
盐与唐帝国
《 盐与唐帝国 》

售價:NT$ 602.0
悍妇女巫和她的故事(第一本以女巫为主角的故事集!)
《 悍妇女巫和她的故事(第一本以女巫为主角的故事集!) 》

售價:NT$ 352.0
图形引擎开发入门:基于Python语言
《 图形引擎开发入门:基于Python语言 》

售價:NT$ 704.0
重访五四新文化:思想与观念(跟随杰出学者的脚步,走进五四思想的丰富世界)
《 重访五四新文化:思想与观念(跟随杰出学者的脚步,走进五四思想的丰富世界) 》

售價:NT$ 469.0

編輯推薦:
对于希望使用最小微控制器或从较大微控制器中获得最高性能的制造商来说,C语言仍然是最佳选择。本书为所有从事微控制器编程的人提供了扎实的C语言基础知识。你将探索C语言让开发人员和制造商从微小设备中获得巨大成果的多种方法。作者Marc Loy将向你展示如何从零开始编写整洁、可维护的C代码。C和C 仍然广泛用于编写设备驱动程序或操作系统的底层代码。通过了解C语言的语法和特性,你将获得持久的计算机语言素养,这将帮助你更轻松地掌握新语言和新风格。
內容簡介:
本书向你展示如何从零开始编写简洁、可维护的C代码。首先简要介绍C语言的历史和建立开发环境的步骤。然后介绍C语言的语句,包括分支和循环语句,并对变量及其作用域进行深入探讨。之后展示C语言的数组、结构,并讲解如何查找和使用常用的代码片段。第8-11章介绍C语言在Arduino中的应用,涵盖设置Arduino开发环境、代码编写技巧等,还通过完整的Arduino项目尝试使用多种电子外设,包括传感器、按钮和LCD显示器。最后会尝试快速完成一个物联网项目,并提出一些总结。
關於作者:
Marc Loy 在20世纪80年代开始学习6808汇编语言,在学校的HERO 1上编写程序,并对编程产生了浓厚兴趣。他曾在Sun Microsystems开发软件,并提供有关Java、Unix和网络方面的培训课程,向广大受众传授知识。从那以后,他一直在为更多的人提供培训。如今,他主要从事技术和媒体方面的咨询和写作。他还对创客产生了浓厚兴趣,并正在探索嵌入式电子和可穿戴设备领域。
目錄
目录
前言1
第1章 C语言基础7
1.1 优势和劣势7
1.2 入门8
1.2.1 所需工具8
1.2.2 创建 C 语言“Hello, World”17
1.2.3 编译代码20
1.2.4 运行代码20
1.3 下一步22
第2章 存储和状态23
2.1 C语言中的语句23
2.1.1 分隔符24
2.1.2 语句流24
2.2 变量和类型25
2.2.1 获取用户输入25
2.2.2 字符串和字符28
2.2.3 数字30
2.2.4 变量名称32
2.2.5 变量赋值33
2.3 printf()和scanf()34
2.3.1 printf() 格式35
2.3.2 格式化输出36
2.3.3 scanf()和输入解析38
2.4 运算符和表达式39
2.4.1 算术运算符40
2.4.2 执行顺序41
2.4.3 类型转换42
2.5 下一步44
第3章 控制流45
3.1 布尔值45
3.1.1 比较运算符46
3.1.2 逻辑运算符47
3.2 分支49
3.2.1 if 语句49
3.2.2 switch 语句56
3.3 三元运算符和条件赋值60
3.4 循环语句62
3.4.1 for 语句62
3.4.2 while 语句66
3.4.3 do/while 变式67
3.5 嵌套68
3.5.1 嵌套循环和表格70
3.5.2 变量作用域71
3.6 练习73
3.7 下一步75
第4章 位和(许多)字节76
4.1 用数组存储多个元素76
4.1.1 创建和操作数组76
4.1.2 回顾字符串82
4.1.3 多维数组83
4.1.4 访问多维数组中的元素84
4.2 存储位85
4.2.1 二进制、八进制、十六进制86
4.2.2 C 语言中的八进制和十六进制字面量87
4.2.3 八进制和十六进制数值的输入与输出88
4.2.4 位运算符90
4.3 混合位和字节91
4.4 转换答案95
4.5 下一步95
第5章 函数96
5.1 熟悉的函数96
5.2 函数流96
5.3 简单函数97
5.4 向函数发送信息99
5.4.1 传递简单类型100
5.4.2 将字符串传递给函数100
5.4.3 多种类型102
5.4.4 从函数退出102
5.5 返回信息103
5.5.1 使用返回值104
5.5.2 忽略返回值105
5.6 嵌套调用和递归105
5.7 变量作用域109
5.8 main() 函数113
5.8.1 返回值和 main()113
5.8.2 命令行参数和 main()114
5.9 下一步116
第6章 指针和引用117
6.1 C 语言中的地址117
6.1.1 NULL 值和指针错误119
6.1.2 数组120
6.1.3 局部变量和栈121
6.1.4 全局变量和堆123
6.2 指针算术123
6.3 数组指针125
6.4 函数和指针126
6.5 用数组管理内存127
6.5.1 使用 malloc() 分配内存127
6.5.2 使用free()释放内存128
6.6 C结构体129
6.6.1 定义结构体129
6.6.2 分配和访问结构体成员130
6.6.3 结构体指针131
6.6.4 函数和结构体132
6.7 指针语法回顾133
6.8 下一步135
第7章 库137
7.1 C标准库138
7.1.1 stdio.h138
7.1.2 stdlib.h138
7.1.3 string.h142
7.1.4 math.h144
7.1.5 time.h146
7.1.6 ctype.h147
7.2 组合起来148
7.2.1 填充字符串148
7.2.2 寻找我们的兴趣所向149
7.3 寻找新的库150
7.4 下一步151
第8章 在Arduino中的C语言152
8.1 Arduino IDE(Windows、macOS、Linux)152
8.1.1 在 Windows 上安装153
8.1.2 在 macOS上安装154
8.1.3 在Linux上安装155
8.2 你的第一个 Arduino 项目155
8.2.1 选择板子156
8.2.2 LED157
8.2.3 外部 LED 升级160
8.3 Arduino 库162
8.3.1 管理库162
8.3.2 使用 Arduino 库163
8.4 Arduino 草图和 C 164
8.4.1 C 对象和变量166
8.4.2 更多关于对象的实践167
8.4.3 C 注意事项169
8.4.4 操作对象的作业170
8.5 下一步171
第9章 小型系统172
9.1 Arduino 环境172
9.1.1 特有命名值173
9.1.2 特殊类型174
9.1.3 “内置”函数175
9.1.4 试用 Arduino 的这些特性176
9.2 微控制器输入/输出179
9.2.1 传感器和模拟输入179
9.2.2 串行监视器180
9.2.3 这里热吗181
9.2.4 分段式数码管182
9.2.5 按钮和数字输入184
9.2.6 到底有多热185
9.3 Arduino 的内存管理187
9.3.1 闪存(PROGMEM)188
9.3.2 SRAM190
9.3.3 EEPROM191
9.3.4 保存选择192
9.4 中断195
9.4.1 中断服务例程196
9.4.2 中断驱动编程196
9.5 练习198
9.6 下一步199
第10章 更快的代码201
10.1 配置201
10.2 浮点数与整数计算203
10.2.1 浮点计算替代方案203
10.2.2 整数计算与无计算205
10.2.3 查找表206
10.2.4 更近一步206
10.3 2 的幂的幂208
10.4 循环优化209
10.4.1 展开循环,快乐且高效209
10.4.2 递归与迭代210
10.5 字符串与字符数组211
10.6 我们的最终方案212
10.7 下一步213
第11章 自定义库214
11.1 创建自己的库214
11.1.1 预处理器指令216
11.1.2 预处理器宏217
11.1.3 自定义类型定义218
11.1.4 我们的小车项目219
11.2 多文件项目222
11.2.1 代码(.ino)文件222
11.2.2 头文件225
11.3 导入自定义库227
11.3.1 通信支持227
11.3.2 改装我们的小车227
11.3.3 创建控制器229
11.3.4 创建库229
11.3.5 更新小车项目235
11.3.6 控制它237
11.3.7 开车吧238
11.3.8 文档和分发238
11.4 下一步240
第12章 更进一步241
12.1 中高级课题241
12.1.1 物联网和 Arduino242
12.1.2 Arduino 源代码246
12.2 其他微控制器246
12.3 C/C 的行业生态247
12.4 未来展望247
附录A 硬件和软件249
附录B printf()格式指定符详情253
內容試閱
前言

在一个新的 JavaScript 框架几乎每天都在涌现的世界里,为什么要深入研究像 C 这样古 老而基础的语言呢?首先,如果你希望跟上所有这些框架的潮流,你可能希望掌握一些 提供许多“现代”语言基础的技术。你是否在像 TIOBE 这样的网站上查看过流行的编程 语言,并发现 C 语言一直居于榜首?也许你对高级的显卡很感兴趣,想看看驱动它们的 软件是如何工作的。或者你正在探索更新且更小巧的小玩意儿,比如 Arduino,并听说 C 语言是上手这项工作的正确工具。
不管是什么原因,你能阅读本书真是太好了。C 是一门基础语言,了解其语法和特点将 使你具备非常持久的计算机语言素养,从而可以更轻松地掌握新的语言和风格。在编写 设备驱动程序或操作系统的底层代码时,C 语言(及其衍生语言 C )仍然被广泛使用。 而物联网正为资源有限的微控制器注入新的活力,C 语言非常适合在这些微型计算环境 中充分发挥作用。
虽然本书专注于为有限运算能力的小型机器编写简洁、严密的代码,但我仍将从计算机 编程的基础知识入手,介绍适用于任何地方的 C 语言的各种规则和模式。
如何使用本书
本书旨在介绍适用于上述任何情况的良好 C 语言编程的所有基础知识。我将介绍控制 结构、运算符、函数和 C 语言语法的其他元素,并举例说明可将编译程序的大小减少 几个字节的替代模式,还将把 Arduino 环境作为精简 C 代码的绝佳应用。为了更好地学 习 Arduino 部分,你应该具备一些构建简单电路以及使用LED 和电阻器等元件的基本 经验。
以下是各章的主要内容。
第 1 章简要介绍 C 语言的历史和设置开发环境的步骤。
第 2 章介绍 C 语言的语句,包括基本 I/O 、变量和运算符。
第 3 章介绍分支语句和循环语句,并对变量及其作用域进行深入探讨。
第 4 章介绍数据存储,展示 C 语言在数组中操作单个比特和存储大量大型数据的功能。 第 5 章介绍如何将代码分成易于管理的小块。
第 6 章介绍如何创建更复杂的数据结构,如何将这些结构传递给函数,以及如何从函数 返回这些结构。
第 7 章介绍如何查找和使用常用的代码片段,帮助你完成常见任务或复杂任务。 第 8 章介绍如何设置 Arduino 开发环境,并让一些 LED 灯闪烁。
第 9 章通过完整的 Arduino 项目,介绍多种电子外设(包括传感器、按钮和 LCD)的 使用。
第 10 章介绍一些专门用于帮助小型处理器充分利用资源的代码编写技巧。
第 11 章通过介绍编写与 Arduino IDE 兼容的友好且文档齐全的库的技巧和窍门,进一步 提高你的 C 语言库技能。
第 12 章是最后一章,在继续提高精益编码技能的过程中,你可以尝试快速完成一个物 联网项目,并提出一些下一步尝试的想法。
附录包括我所使用的硬件和软件的链接,以及下载和配置书中所示的 C 和 Arduino 示例 的信息。
排版约定
本书中使用以下排版约定:
斜体(Italic)
表示新的术语、URL 、电子邮件地址、文件名和文件扩展名。
等宽字体(Constant width)
用于程序清单,以及段落中的程序元素,例如变量名、函数名、数据库、数据类型、 环境变量、语句以及关键字。
等宽粗体(Constant width bold)
表示应由用户直接输入的命令或其他文本。
等宽斜体(Constant width italic)
表示应由用户提供的值或由上下文确定的值替换的文本。

示例代码
本书中的许多代码示例都非常简洁,手写输入往往会让你受益匪浅。但这并不总是有趣 的,有时你想从已知的工作副本开始,然后修改内容。你可以从 GitHub 上获取所有示 例的源代码,网址是 https://github.com/l0y/smallerc。附录 A 提供了关于下载代码和设置 文件以便在开发环境中使用的详细说明。
这里的代码是为了帮助你更好地理解本书的内容。通常,可以在程序或文档中使用本书 中的代码,而不需要联系 O’Reilly 获得许可,除非需要大段地复制代码。例如,使用 本书中所提供的几个代码片段来编写一个程序不需要得到我们的许可,但销售或发布 O’Reilly 的示例代码则需要获得许可。引用本书的示例代码来回答问题也不需要许可, 将本书中的很大一部分示例代码放到自己的产品文档中则需要获得许可。
非常欢迎读者使用本书中的代码,希望(但不强制)注明出处。注明出处时包含书名、 作者、出版社和 ISBN,例如:
Smaller C:Lean Code for Small Machines,作者 Marc Loy,由 O’Reilly 出版,书号 978- 1-098-10033-9。
如果读者觉得对示例代码的使用超出了上面所给出的许可范围,欢迎通过 permissions@ oreilly.com 联系我们。
致谢
我要感谢 Amelia Blevins 在本书出版过程中的辛勤工作。她不仅拥有出色的项目管理技 能,而且还通过巧妙的建议提高了我的写作能力。同时感谢 Amanda Quinn 和 Suzanne McQuade 在项目初期的帮助,以及 Danny Elfanbaum 提供的出色技术支持。O’Reilly 整个团队是无与伦比的。
本书的技术审校人员提供了广泛的专业知识和宝贵的反馈。Tony Crawford 优化了我关 于 C 代码的讨论,我衷心推荐你阅读他的著作 C in a Nutshell 。Alex Faber 在多个平台 上运行了本书的每个示例,并确保我牢记新程序员的需求。Eric Van Hoose 使我的写作 更加清晰,并帮助我梳理了整本书的层次结构。Chaim Krause 在最后一刻加入,指出了 一些需要补充的内容。
感谢我的丈夫 Ron 对书稿的润色和全面支持。Reg Dyck 也对我提供了不可或缺的鼓励。 如果你真的想学好一个课题,那就向 Reg 和 Ron 这样的朋友和家人解释它吧。这两位先 生对编程或电子学并不感兴趣,但他们友好的提问帮助我在许多困难的课题上找到了想 要表达的核心观点。

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 台灣用户 | 香港/海外用户
megBook.com.tw
Copyright (C) 2013 - 2025 (香港)大書城有限公司 All Rights Reserved.