苹果开发之C程序设计-(原书第2版)
本书特色
[
《苹果开发之c程序设计(原书第2版)》是经典畅销书的全新升级版,全面且深入地讲解mac环境下c编程的各项知识,是从零开始系统学习c编程的首选!书中既详细讲解c语言的基础编程知识和技巧,又涵盖xcode的使用方法,并且针对*新的c标准做了更新,包含大量实用的代码示例。
《苹果开发之c程序设计(原书第2版)》共14章:第1章介绍本书通篇使用的软件工具;第2章介绍编程的基础知识;第3章讲述c语言的语句和函数;第4章讨论c语言的变量和运算符;第5章阐述如何调试程序;第6章介绍程序的流程控制;第7章讲解指针和参数;第8章介绍更多其他的数据类型;第9章讨论命令行的相关内容;第10章讲述如何设计自定义数据结构;第11章介绍文件的使用方法;第12章讨论如何处理错误;第13章讲解更高级的主题,比如强制类型转换、联合、递归、排序、集合等;第14章展望objective-c的未来。
《苹果开发之c程序设计(原书第2版)》的**版曾经影响了整整一代程序员,两位作者也都是经验丰富的专家,对于初学者来说完全不需要具备任何编程知识,只需从第1章开始逐章阅读即可。首先从基础知识开始,然后在mac专家的指引下,采取小步前进的方式来学习c程序设计的精髓,从*为基础的工具的使用、变量的定义到复杂的指针、结构体、创建命令行工具等,书中都有深入且广泛的介绍。
《苹果开发之c程序设计(原书第2版)》是一本绝佳的c语言程序设计教程,不仅有准确的理论讲解,还穿插了大量实用的代码示例,没有任何编程经验的读者在学习完本书后将会对c语言有着全新的感悟和认识。
通过阅读《苹果开发之c程序设计(原书第2版)》,你将会从中学习到:
编写与编译原生c程序
通过变量与运算符探究强大的数学表达式
使用指针与参数增强程序
通过流程控制来控制程序的走向
设计自定义数据结构
创建自己的命令行工具
保存程序数据并再次读取回来
程序出现问题时处理错误
]
内容简介
[
经典畅销书全新升级,全面且深入地讲解mac环境下c编程的各项知识,是从零开始系统学习c编程的首选
既详细讲解c语言的基础编程知识和技巧,又涵盖xcode的使用方法,并且针对*新的c标准做了更新,包含大量实用的代码示例。
]
作者简介
[
David Mark,是一位经验丰富的Mac开发者与作者,曾编写过大量关于Mac与iOS开发的图书,包括《Beginning iPhone 4 Development》、《More iPhone 3 Development》、《Learn C on the Mac》和《Ultimate Mac Programming》等。David还是iOS与Android开发工作室MartianCraft的联合创始人。
James Bucanek ,在过去30多年一直从事编程与微处理器系统的开发工作。他在众多计算机硬件与软件方面具有非常丰富的经验,从嵌入式消费品到工业机器人。他的开发项目包括面向Apple II的首个局域网、分布式空调控制系统、钢琴教学系统、数字示波器、硅片沉积装置,以及针对中小学教育的协作式写作工具。James目前主要关注OS X与iOS软件开发,在这个领域中,他可以将自己深厚的UNIX知识与面向对象语言编程经验凝结到优雅的设计中。
]
目录
译者序作者简介技术审校者简介前言致谢第1章 获取工具 11.1 安装xcode 11.2 xcode的价格 21.3 何为注册开发者 31.4 获取项目 31.5 使用xcode 31.5.1 新建xcode项目 51.5.2 工作空间窗口 61.5.3 运行项目 71.6 继续前进 8第2章 编程基础 92.1 编程 92.1.1 c语言的其他替代者 92.1.2 objective-c、c#、c++及java怎么样呢 102.2 对于mac或者ios设备来说*佳编程语言是什么 102.3 编程过程 112.3.1 源代码 112.3.2 编译源代码 132.3.3 构建应用程序 142.4 接下来的内容 14第3章 c语言基础:语句与函数 153.1 c语句 153.2 c函数 153.2.1 定义函数 163.2.2 语法错误与算法 173.2.3 调用函数 183.3 一个程序,两个函数 203.3.1 hello2项目 203.3.2 hello2源代码 223.3.3 运行hello2 233.4 重复三次 243.5 产生一些错误 253.5.1 修复问题 263.5.2 再探细节 273.5.3 c是区分大小写的 273.6 探究xcode自带的手册 293.7 接下来的内容 30第4章 c语言基础:变量与运算符 324.1 变量简介 324.1.1 使用变量 334.1.2 变量名 344.1.3 类型的大小 354.1.4 字节与位 354.1.5 从1字节到2字节 374.2 运算符 374.2.1 +、-、++与–运算符 384.2.2 +=与-=运算符 394.2.3 *、/、%、*=、/=与%=运算符 404.3 使用圆括号 414.4 运算符优先级 424.5 示例程序 434.5.1 打开operator.xcodeproj 434.5.2 分析operator源代码 444.5.3 打开postfix.xcode 474.5.4 分析postfix源代码 474.6 修剪代码 494.6.1 源代码间距 494.6.2 代码注释 514.6.3 花括号之争 524.7 接下来的内容 53第5章 调试 555.1 何为调试器 555.2 控制执行 565.2.1 设置断点 575.2.2 跳过语句 595.2.3 单步执行函数 595.2.4 跳出函数 625.2.5 全速前进 635.3 查看变量 645.4 调试器怎么像座冰山一样 665.5 接下来的内容 67第6章 控制程序的流程 686.1 流程控制 686.2 表达式 696.2.1 结果为真的表达式 706.2.2 比较运算符 716.2.3 逻辑运算符 716.2.4 truthtester.xcodeproj 746.3 复合表达式 746.4 语句 756.4.1 花括号 766.4.2 应该将分号放置在何处 776.4.3 两个常见陷阱 786.5 while语句 816.6 for语句 836.7 do语句 876.8 switch语句 886.8.1 不带语句的case 906.8.2 毁誉参半的穿越 916.8.3 switch总结 916.9 循环中的break 926.10 continue语句 926.11 isodd.xcodeproj 936.12 nextprime.xcodeproj 956.13 接下来的内容 98第7章 指针与参数 1007.1 何为指针 1007.1.1 为何要使用指针 1017.1.2 图书馆示例小结 1027.2 指针基础 1037.2.1 变量地址 1037.2.2 &运算符 1047.2.3 声明指针变量 1047.2.4 *运算符 1057.3 函数参数 1097.3.1 变量的作用域 1097.3.2 函数参数的工作原理 1107.3.3 参数是临时的 1117.3.4 实参与形参的区别 1127.4 函数返回值 1137.4.1 printf()返回一个值 1147.4.2 多条return语句 1147.4.3 什么都不返回 1157.5 整合 1167.5.1 将指针作为形参 1167.5.2 factor.xcodeproj 1177.6 关于指针的一些说明 1197.6.1 按值传递与按引用传递 1197.6.2 null指针值 1197.6.3 指针的阴暗面 1207.7 全局与静态变量 1217.7.1 全局变量 1217.7.2 向程序添加全局变量 1237.7.3 静态变量 1247.7.4 接下来的内容 125第8章 更多数据类型 1278.1 int之外的数据类型 1278.1.1 floatsizer 1288.1.2 整型类型 1338.1.3 intsizer.xcodeproj 1358.1.4 int的优缺点 1368.2 *佳整型类型 1398.2.1 语义类型 1408.2.2 精确宽度类型 1408.2.3 整型与浮点型 1418.3 使用字符 1418.3.1 ascii字符集 1428.3.2 ascii.xcodeproj 1428.3.3 分析ascii源代码 1458.4 数组 1468.4.1 为何使用数组 1478.4.2 dice.xcode 1478.4.3 分析dice源代码 1488.4.4 要小心 1518.5 #define指令 1518.5.1 在代码中使用#define 1538.5.2 分析预处理器 1548.5.3 使用#define指令的好处 1558.5.4 类似于函数的#define宏 1568.6 文本字符串 1578.6.1 内存中的文本字符串 1578.6.2 fullname.xcodeproj 1588.6.3 overflow.xcodeproj 1618.7 接下来的内容 163第9章 命令行 1659.1 命令行基础 1659.1.1 命令参数 1679.1.2 命令进阶 1689.1.3 shell命令来自何处 1699.2 创建命令行工具 1709.2.1 命令参数与main() 1719.2.2 seeargs.xcodeproj 1719.3 部署程序 1739.4 使用路径 1769.4.1 当前目录与相对路径 1769.4.2 特殊目录名 1789.4.3 主目录名 1799.5 安装命令行工具 1799.5.1 创建私有的bin目录 1809.5.2 安装工具 1819.5.3 配置path变量 1819.6 字符输入 1829.6.1 管道 1829.6.2 重定向 1839.6.3 namer.xcodeproj 1869.7 指针运算 1919.7.1 指针比较 1919.7.2 指针加法 1919.7.3 指针减法 1939.8 wordcount.xcodeproj 1949.8.1 分析wordcount源代码 1959.8.2 在shell中测试wordcount 2019.9 romannumeral.xcodeproj 2039.9.1 main() 2049.9.2 numbertoromannumeral() 2049.10 关于命令行界面的总结 2089.11 接下来的内容 209第10章 设计自定义数据结构 21010.1 打包数据 21010.2 模型a:3个数组 21010.3 模型b:结构化方式 21710.4 将结构体作为参数传递 22210.5 paramaddress.xcodeproj 22410.6 结构体数组 22510.7 分配自己的内存 22610.7.1 使用malloc() 22710.7.2 free() 22910.7.3 追踪地址 22910.8 使用链表 23010.8.1 为何使用链表 23010.8.2 创建链表 23010.9 dvdtracker.xcodeproj 23110.10 接下来的内容 239第11章 使用文件 24011.1 何为数据文件 24011.2 文件基础 24111.2.1 理解文件名 24111.2.2 打开与关闭文件 24211.3 读取文件 24311.4 printfile.xcodeproj 24511.5 写入文件 24811.6 其他文件操纵方法 26011.6.1 更新模式 26011.6.2 随机文件访问 26111.6.3 使用随机访问函数 26111.6.4 dinoedit.xcodeproj 26211.6.5 文本与数据文件 26811.6.6 处理端的问题 26911.7 改进romannumeral 27011.7.1 分析romannumeral.xcodeproj 27111.7.2 测试romannumeral 27411.8 文件系统对象 27611.9 接下来的内容 277第12章 错误处理 27812.1 墨菲定律 27812.2 规则#1:永远不要假设 27912.2.1 关于变量的假设 28012.2.2 检查范围 28112.2.3 容忍所有可能值 28212.2.4 对假设进行断言 28312.3 规则#2:保持警觉 28512.3.1 关注返回值 28512.3.2 errno 28612.4 规则#3:制订逃生计划 28812.4.1 紧跟成功 28812.4.2 提前返回 29012.4.3 忽略之前的失败 29112.4.4 过滤错误 29312.4.5 尽早退出 29412.4.6 跳过 29512.5 规则#4:预测问题 29812.6 规则#5:适当选取 29912.7 接下来的内容 300第13章 高阶主题 30113.1 类型转换 30113.1.1 转换规则 30213.1.2 转换警告 30413.2 强制类型转换 30413.3 const修饰符 30713.4 创建自定义类型 30813.4.1 struct typedef 30913.4.2 前向引用 30913.5 枚举类型 31013.6 联合体 31213.7 递归 31413.7.1 迭代 31513.7.2 递归 31513.8 函数指针 31813.9 其余运算符 31913.10 深入探索标准库 32113.10.1 使用标准库进行排序 32213.10.2 core foundation中的集合 32713.11 接下来的内容 333第14章 未来展望 33514.1 mac用户界面 33514.1.1 学习objective-c 33614.1.2 cocoa与cocoa touch 33614.2 了解一些os x代码 33714.3 ios应用速览 33914.4 objective-c速览 34014.5 继续前行 343附录 练习答案 344
封面
书名:苹果开发之C程序设计-(原书第2版)
作者:马克
页数:347
定价:¥79.0
出版社:机械工业出版社
出版日期:2015-04-01
ISBN:9787111494171
PDF电子书大小:106MB 高清扫描完整版
本文标题:《苹果开发之C程序设计-(原书第2版)》PDF下载
资源仅供学习参考,禁止用于商业用途,请在下载后24小时内删除!