《苹果开发之C程序设计 原书第2版》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:(美)马克著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2015
  • ISBN:9787111494171
  • 页数:352 页
图书介绍:本书是初学者学习针对OS X和iOS的官方编程语言——C和Objective-C的完整参考手册。本书共14章,第1章介绍本书通篇使用的软件工具,第2章介绍编程的基础知识,第3章讲述C语言的语句和函数,第4章讨论C语言的变量和运算符,第5章阐述如何调试程序,第6章介绍程序的流程控制,第7章讲解指数和参数,第8章介绍更多其他的数据类型,第9章讨论命令行的相关内容,第10章讲述如何设计自定义数据结构,第11章介绍文件的使用方法,第12章讨论如何处理错误,第13章讲解更高级的主体,比如类型强制转换、联合、递归、排序、集合等,第14章展望Ojective-C的未来。

第1章 获取工具 1

1.1 安装Xcode 1

1.2 Xcode的价格 2

1.3 何为注册开发者 3

1.4 获取项目 3

1.5 使用Xcode 3

1.5.1 新建Xcode项目 5

1.5.2 工作空间窗口 6

1.5.3 运行项目 7

1.6 继续前进 8

第2章 编程基础 9

2.1 编程 9

2.1.1 C语言的其他替代者 9

2.1.2 Objective-C、C#、C++及Java怎么样呢 10

2.2 对于Mac或者iOS设备来说最佳编程语言是什么 10

2.3 编程过程 11

2.3.1 源代码 11

2.3.2 编译源代码 13

2.3.3 构建应用程序 14

2.4 接下来的内容 14

第3章 C语言基础:语句与函数 15

3.1 C语句 15

3.2 C函数 15

3.2.1 定义函数 16

3.2.2 语法错误与算法 17

3.2.3 调用函数 18

3.3 一个程序,两个函数 20

3.3.1 Hello2项目 20

3.3.2 Hello2源代码 22

3.3.3 运行Hello2 23

3.4 重复三次 24

3.5 产生一些错误 25

3.5.1 修复问题 26

3.5.2 再探细节 27

3.5.3 C是区分大小写的 27

3.6 探究Xcode自带的手册 29

3.7 接下来的内容 30

第4章 C语言基础:变量与运算符 32

4.1 变量简介 32

4.1.1 使用变量 33

4.1.2 变量名 34

4.1.3 类型的大小 35

4.1.4 字节与位 35

4.1.5 从1字节到2字节 37

4.2 运算符 37

4.2.1 +、-、++与--运算符 38

4.2.2 +=与-=运算符 39

4.2.3 *、/、%、*=、/=与%=运算符 40

4.3 使用圆括号 41

4.4 运算符优先级 42

4.5 示例程序 43

4.5.1 打开Operator.xcodeproj 43

4.5.2 分析Operator源代码 44

4.5.3 打开Postfix.xcode 47

4.5.4 分析Postfix源代码 47

4.6 修剪代码 49

4.6.1 源代码间距 49

4.6.2 代码注释 51

4.6.3 花括号之争 52

4.7 接下来的内容 53

第5章 调试 55

5.1 何为调试器 55

5.2 控制执行 56

5.2.1 设置断点 57

5.2.2 跳过语句 59

5.2.3 单步执行函数 59

5.2.4 跳出函数 62

5.2.5 全速前进 63

5.3 查看变量 64

5.4 调试器怎么像座冰山一样 66

5.5 接下来的内容 67

第6章 控制程序的流程 68

6.1 流程控制 68

6.2 表达式 69

6.2.1 结果为真的表达式 70

6.2.2 比较运算符 71

6.2.3 逻辑运算符 71

6.2.4 Truth Tester.xcodeproj 74

6.3 复合表达式 74

6.4 语句 75

6.4.1 花括号 76

6.4.2 应该将分号放置在何处 77

6.4.3 两个常见陷阱 78

6.5 while语句 81

6.6 for语句 83

6.7 do语句 87

6.8 switch语句 88

6.8.1 不带语句的case 90

6.8.2 毁誉参半的穿越 91

6.8.3 switch总结 91

6.9 循环中的break 92

6.10 continue语句 92

6.11 IsOdd.xcodeproj 93

6.12 NextPrime.xcodeproj 95

6.13 接下来的内容 98

第7章 指针与参数 100

7.1 何为指针 100

7.1.1 为何要使用指针 101

7.1.2 图书馆示例小结 102

7.2 指针基础 103

7.2.1 变量地址 103

7.2.2 &运算符 104

7.2.3 声明指针变量 104

7.2.4 *运算符 105

7.3 函数参数 109

7.3.1 变量的作用域 109

7.3.2 函数参数的工作原理 110

7.3.3 参数是临时的 111

7.3.4 实参与形参的区别 112

7.4 函数返回值 113

7.4.1 printf()返回一个值 114

7.4.2 多条return语句 114

7.4.3 什么都不返回 115

7.5 整合 116

7.5.1 将指针作为形参 116

7.5.2 Factor.xcodeproj 117

7.6 关于指针的一些说明 119

7.6.1 按值传递与按引用传递 119

7.6.2 NULL指针值 119

7.6.3 指针的阴暗面 120

7.7 全局与静态变量 121

7.7.1 全局变量 121

7.7.2 向程序添加全局变量 123

7.7.3 静态变量 124

7.7.4 接下来的内容 125

第8章 更多数据类型 127

8.1 int之外的数据类型 127

8.1.1 FloatSizer 128

8.1.2 整型类型 133

8.1.3 IntSizer.xcodeproj 135

8.1.4 int的优缺点 136

8.2 最佳整型类型 139

8.2.1 语义类型 140

8.2.2 精确宽度类型 140

8.2.3 整型与浮点型 141

8.3 使用字符 141

8.3.1 ASCII字符集 142

8.3.2 ASCII.xcodeproj 142

8.3.3 分析ASCII源代码 145

8.4 数组 146

8.4.1 为何使用数组 147

8.4.2 Dice.xcode 147

8.4.3 分析Dice源代码 148

8.4.4 要小心 151

8.5 #define指令 151

8.5.1 在代码中使用#define 153

8.5.2 分析预处理器 154

8.5.3 使用#define指令的好处 155

8.5.4 类似于函数的#define宏 156

8.6 文本字符串 157

8.6.1 内存中的文本字符串 157

8.6.2 FullName.xcodeproj 158

8.6.3 Overflow.xcodeproj 161

8.7 接下来的内容 163

第9章 命令行 165

9.1 命令行基础 165

9.1.1 命令参数 167

9.1.2 命令进阶 168

9.1.3 shell命令来自何处 169

9.2 创建命令行工具 170

9.2.1 命令参数与main() 171

9.2.2 SeeArgs.xcodeproj 171

9.3 部署程序 173

9.4 使用路径 176

9.4.1 当前目录与相对路径 176

9.4.2 特殊目录名 178

9.4.3 主目录名 179

9.5 安装命令行工具 179

9.5.1 创建私有的bin目录 180

9.5.2 安装工具 181

9.5.3 配置PATH变量 181

9.6 字符输入 182

9.6.1 管道 182

9.6.2 重定向 183

9.6.3 Namer.xcodeproj 186

9.7 指针运算 191

9.7.1 指针比较 191

9.7.2 指针加法 191

9.7.3 指针减法 193

9.8 WordCount.xcodeproj 194

9.8.1 分析WordCount源代码 195

9.8.2 在Shell中测试WordCount 201

9.9 RomanNumeral.xcodeproj 203

9.9.1 main() 204

9.9.2 NumberToRomanNumeral() 204

9.10 关于命令行界面的总结 208

9.11 接下来的内容 209

第10章 设计自定义数据结构 210

10.1 打包数据 210

10.2 模型A:3个数组 210

10.3 模型B:结构化方式 217

10.4 将结构体作为参数传递 222

10.5 ParamAddress.xcodeproj 224

10.6 结构体数组 225

10.7 分配自己的内存 226

10.7.1 使用malloc() 227

10.7.2 free() 229

10.7.3 追踪地址 229

10.8 使用链表 230

10.8.1 为何使用链表 230

10.8.2 创建链表 230

10.9 DVDTracker.xcodeproj 231

10.10 接下来的内容 239

第11章 使用文件 240

11.1 何为数据文件 240

11.2 文件基础 241

11.2.1 理解文件名 241

11.2.2 打开与关闭文件 242

11.3 读取文件 243

11.4 PrintFile.xcodeproj 245

11.5 写入文件 248

11.6 其他文件操纵方法 260

11.6.1 更新模式 260

11.6.2 随机文件访问 261

11.6.3 使用随机访问函数 261

11.6.4 DinoEdit.xcodeproj 262

11.6.5 文本与数据文件 268

11.6.6 处理端的问题 269

11.7 改进RomanNumeral 270

11.7.1 分析RomanNumeral.xcodeproj 271

11.7.2 测试RomanNumeral 274

11.8 文件系统对象 276

11.9 接下来的内容 277

第12章 错误处理 278

12.1 墨菲定律 278

12.2 规则#1:永远不要假设 279

12.2.1 关于变量的假设 280

12.2.2 检查范围 281

12.2.3 容忍所有可能值 282

12.2.4 对假设进行断言 283

12.3 规则#2:保持警觉 285

12.3.1 关注返回值 285

12.3.2 errno 286

12.4 规则#3:制订逃生计划 288

12.4.1 紧跟成功 288

12.4.2 提前返回 290

12.4.3 忽略之前的失败 291

12.4.4 过滤错误 293

12.4.5 尽早退出 294

12.4.6 跳过 295

12.5 规则#4:预测问题 298

12.6 规则#5:适当选取 299

12.7 接下来的内容 300

第13章 高阶主题 301

13.1 类型转换 301

13.1.1 转换规则 302

13.1.2 转换警告 304

13.2 强制类型转换 304

13.3 const修饰符 307

13.4 创建自定义类型 308

13.4.1 struct typedef 309

13.4.2 前向引用 309

13.5 枚举类型 310

13.6 联合体 312

13.7 递归 314

13.7.1 迭代 315

13.7.2 递归 315

13.8 函数指针 318

13.9 其余运算符 319

13.10 深入探索标准库 321

13.10.1 使用标准库进行排序 322

13.10.2 Core Foundation中的集合 327

13.11 接下来的内容 333

第14章 未来展望 335

14.1 Mac用户界面 335

14.1.1 学习Objective-C 336

14.1.2 Cocoa与Cocoa Touch 336

14.2 了解一些OS X代码 337

14.3 iOS应用速览 339

14.4 Objective-C速览 340

14.5 继续前行 343

附录 练习答案 344