登入帳戶  | 訂單查詢  | 購物車/收銀台(0) | 在線留言板  | 付款方式  | 運費計算  | 聯絡我們  | 幫助中心 |  加入書簽
會員登入   新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類瀏覽雜誌 臺灣用戶
品種:超過100萬種各類書籍/音像和精品,正品正價,放心網購,悭钱省心 服務:香港台灣澳門海外 送貨:速遞郵局服務站

新書上架簡體書 繁體書
暢銷書架簡體書 繁體書
好書推介簡體書 繁體書

11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書
五月出版:大陸書 台灣書
四月出版:大陸書 台灣書
三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書
12月出版:大陸書 台灣書
11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書

『簡體書』C语言学习指南:从规范编程到专业级开发

書城自編碼: 3762520
分類:簡體書→大陸圖書→計算機/網絡程序設計
作者: [美]杰夫·苏哈伊[Jeff Szuhay]著
國際書號(ISBN): 9787111706021
出版社: 机械工业出版社
出版日期: 2022-06-01

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

售價:HK$ 171.4

我要買

share:

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


新書推薦:
艺术家之路 塑造插画风格
《 艺术家之路 塑造插画风格 》

售價:HK$ 166.8
古乐钩沉(中国音乐学院60周年校庆中青年学者文集)
《 古乐钩沉(中国音乐学院60周年校庆中青年学者文集) 》

售價:HK$ 132.2
我和抑郁症的3000天
《 我和抑郁症的3000天 》

售價:HK$ 66.1
与骸骨交谈:我希望每一个真相都被发现
《 与骸骨交谈:我希望每一个真相都被发现 》

售價:HK$ 76.2
人体使用手册3:自愈力的逻辑(全面解读身体面对疾病时的反应逻辑,学习更多有效的系列家庭按摩)
《 人体使用手册3:自愈力的逻辑(全面解读身体面对疾病时的反应逻辑,学习更多有效的系列家庭按摩) 》

售價:HK$ 61.6
素描简史:从文艺复兴到现代艺术
《 素描简史:从文艺复兴到现代艺术 》

售價:HK$ 436.8
智慧宫丛书028·神工智能 诸神与古代世界的神奇造物
《 智慧宫丛书028·神工智能 诸神与古代世界的神奇造物 》

售價:HK$ 87.4
街头健身训练指南
《 街头健身训练指南 》

售價:HK$ 266.6

 

建議一齊購買:

+

HK$ 113.3
《零基础学C++(全彩版)》
+

HK$ 115.2
《Go语言实战》
+

HK$ 115.2
《JavaScript设计模式与开发实践》
+

HK$ 160.8
《C++并发编程实战(第2版)》
+

HK$ 163.4
《深度探索C++对象模型》
+

HK$ 114.8
《PHP从入门到精通(第6版)》
編輯推薦:
C语言是一种功能强大的通用编程语言,很适合刚接触编程的人学习。本书会告诉你如何用C语言编写计算机程序并开发软件。有经验的程序员也可以通过本书来熟悉C语言。  本书会讲解基本的编程概念并演示如何在C语言中运用这些概念。在阅读本书的过程中,你会看到如何利用这些概念来组织程序的结构,并编写出可以运行的C程序。有一些范例会演示函数、数据类型以及条件语句的用法,另一些则会演示循环、迭代、数组、指针与字符串的用法。这些范例会让你逐渐了解如何在代码中添加注释、如何测试并验证程序的结果是否正确、如何使用基本的输入与输出机制,以及如何编写完整的应用程序。  读完本书,你将掌握基本的C语言编程技能。你可以把这些知识运用到其他编程语言中,并以此为基础,继续提升自己的编程水平。学完本书,你将:●掌握基本的编程概念,并学习用C语言来实现这些概念。●编写可运行、清晰易懂的程序。●在已经写好的程序上故意制造问题,并学习如何调试有问题的代码。●养成良好的编程习惯,厘清编程思路。●了解与大型项目有关的通用编程理念。●学习如何使用构建块搭建复杂且功能丰富的大型程序。●学习使用C语言标准库中的函数来编写程序,并了解这样做的
內容簡介:
本书将C语言中的知识由浅入深地安排成五个部分进行讲解,通过大量简明易懂的范例来演示C语言中的概念。第1部分介绍与C语言的语法及程序结构有关的基础概念。第2部分介绍C语言的数据类型。第3部分讲解如何用各种方式分配及释放内存。第4部分介绍与读取数据(输入数据)及写入数据(输出数据)有关的各种话题。第5部分详细解释如何创建并管理含有多份文件的程序项目。
目錄
译者序前言作者简介审校者简介第一部分 C语言的基础知识第1章 运行Hello, World!程序21.1 技术要求21.2 编写第一个C语言程序31.3 了解程序开发流程41.3.1 编辑51.3.2 编译61.3.3 运行91.3.4 验证101.3.5 重复101.4 创建、录入并保存第一个C语言程序121.5 编译第一个C语言程序131.6 运行第一个C语言程序141.7 添加注释141.7.1 怎样写好注释151.7.2 给Hello, world!程序添加注释171.8 学着在代码上做实验181.9 小结19第2章 了解程序的结构212.1 技术要求212.2 语句与代码块222.2.1 在语句与代码块中试验各种转义序列232.2.2 了解分隔符的用法252.2.3 了解空白的用法272.2.4 了解C语言的各种语句302.3 了解C语言的函数322.4 了解如何定义函数322.4.1 了解函数的标识符332.4.2 了解函数的语句块352.4.3 了解函数的返回值352.4.4 通过函数的参数传递数值372.5 执行顺序422.6 了解如何声明函数432.7 小结46第3章 基本的数据类型473.1 技术要求473.2 了解数据类型483.3 字节与数据块513.4 如何在C语言代码中表示整数523.4.1 如何在C语言代码中表示正整数与负整数533.4.2 如何在C语言代码中采用大小不同的数据块来表示整数533.5 如何在C语言中表示小数553.6 如何在C语言中表示单个字符553.7 如何在C语言中表示布尔值563.8 如何在C语言中查询各种数据类型的大小573.8.1 sizeof()运算符573.8.2 各种数据类型的取值范围593.9 小结60第4章 使用变量并为变量赋值614.1 技术要求624.2 选用合适的类型来表示数据值624.3 学习变量的用法624.3.1 给变量命名634.3.2 显式地指定变量类型644.3.3 显式地指定变量类型并初始化654.4 学习常量的用法664.4.1 字面常量664.4.2 用预处理指令定义常量值684.4.3 显式地定义某种类型的常量694.4.4 给常量命名694.5 把类型适当的值赋给变量704.5.1 通过赋值语句显式地赋值714.5.2 通过给函数传递参数来赋值714.5.3 通过return语句来赋值734.6 小结74第5章 运算符与表达式755.1 技术要求765.2 表达式与运算符765.3 在数字值上执行运算785.4 类型转换835.4.1 隐式类型转换835.4.2 显式类型转换875.5 字符型数据支持的操作885.6 逻辑运算符与关系运算符895.7 位运算符925.8 条件运算符945.9 序列运算符955.10 复合赋值运算符965.11 在一条表达式中给多个变量赋值975.12 增量运算符975.13 运算符之间的优先次序以及括号的用法995.14 小结100第6章 用条件语句控制程序流1026.1 技术要求1036.2 了解各种条件表达式1036.3 if() ... else ...语句1046.4 switch() ...语句1076.5 多个if() ... else ...语句1116.6 嵌套的if() ... else ...语句1146.7 小结117第7章 循环与迭代1197.1 技术要求1197.2 重复执行代码1207.3 蛮力法实现重复执行代码1227.4 while () ...循环语句1247.5 for() ...循环语句1277.6 do ... while()循环语句1297.7 如何把一种循环改写成另一种循环1317.8 善用goto语句以实现无条件跳转1327.9 用break与continue语句来控制循环1367.10 无限循环1397.11 小结140第8章 创建并使用枚举值1418.1 技术要求1418.2 枚举值1428.2.1 定义枚举类型与枚举值1438.2.2 使用枚举值1458.3 用switch()...语句判断枚举变量的取值1488.4 小结152第二部分 复杂的数据类型第9章 创建并使用结构体1549.1 技术要求1559.2 结构体1559.2.1 声明结构体1569.2.2 初始化结构体并访问其中的字段1609.3 用函数操作结构体1619.4 包含其他结构体的结构体1639.4.1 用函数初始化结构体1659.4.2 复用某个函数以打印大结构体中的多个小结构体1669.5 从结构体入手理解面向对象编程1699.6 小结170第10章 用typedef创建自定义数据类型17110.1 技术要求17110.2 用typedef给固有类型起别名17210.3 用typedef简化枚举类型的用法17410.4 用typedef简化结构体类型的用法17610.5 typedef的其他用法17910.6 几个有用的编译器选项17910.7 把自定义类型及typedef说明符放在头文件中18010.8 小结183第11章 数组18511.1 技术要求18511.2 声明并初始化数组18611.3 访问数组中的元素18911.4 通过循环来操作数组19211.5 使用函数来操作数
內容試閱
学习编程就是学习如何用计算机解决问题。这是一个漫长而艰难的过程,充满了波折,但同时也会带来各种回报。刚开始学的时候,如果能编写程序并得出正确的结果,那么你会觉得小有收获;在继续学习的过程中,如果你发现自己竟然能解决以前不敢想象的大问题,那么你会觉得收获颇丰。学习编程首先要从学习一门编程语言开始。本书想做的主要就是帮大家学会C语言。学习一门编程语言首先要学习它的语法,必须记住重要的关键字、标点以及基本的程序结构,并理解它们的含义。本书所用的教学方式是告诉你一套工具、方法及操作手段,尽量降低你在学习过程中所遇问题的难度。书里的每个程序都是完整的,而且是采用新式的 C 语言语法编写的,同时笔者还会告诉你这个程序应该输出什么样的结果。学习编程还有一个特殊的困难,即其中的变数太多。这里所说的“变数太多”意指编程的每个方面都会随时发生变化,而且以后会持续改变。计算机的硬件与操作系统会根据新的用法与需求而演进,计算机的编程语言也会演进,它需要克服旧版的缺陷,并提供新的特性,以解决新的问题。编程语言的用法会随着编程语言本身而发生改变。我们想把计算机放在不同的场景中使用,于是就必须让计算机能够解决新场景中的新问题。最后,使用计算机与计算机编程语言的用户及开发者自然也会变。编程语言的用法改变会让开发者用新的方式思考问题,而问题与问题的解法发生变化则会促使我们考虑可否进一步扩大编程语言的适用范围,这又推动了编程语言的下一轮发展。这个循环会一直持续下去。C语言最早是由 Dennis Ritchie(丹尼斯·里奇,1941—2011)在20世纪70年代初开发的,但目前的C语言跟那时相比已经发生了很大变化。刚开始,C是一个特别简单但功能特别强大的语言,用来开发贝尔实验室的早期UNIX操作系统。那种C语言不是给初学编程的人使用的,它要求开发者必须先掌握高深的知识与编程技巧,然后才能用C写出健壮而稳定的程序。后来,C语言的编译器变得越来越普及,而设计编译器的人也花了很大功夫来限制那些有可能引发危险的语言特性。第一个符合 ANSI 标准的C语言(即ANSI C)是在 1989 年确定的。这个版本在 1999 年做了大幅修订,修订后的C语言叫作 C99,它添加了一些重要的特性,并澄清了C语言中的许多行为。后来,C语言又经过两次修订,这两次所得到的版本分别叫作C11和C18,它们都在前一版的基础上增加了少量内容,并修正了语言内部的一些问题。目前的C语言要比早期版本更规范、更复杂,但与早期版本一样,它仍然是一门强大、高效,而且适用范围很广的语言。本书努力采用C99、C11与C18规范所定义的语法和概念来讲授C语言,并确保其中的每个程序都能在C11规范下编译并运行。以后,C18规范肯定会比现在更加流行,笔者希望,到时我们能用C18规范来顺利地编译并运行书中的程序。就算不考虑刚才说的那些变数,我们也必须不断学习。读完本书之后,你应该能确定自己使用 C 语言的方式,在用C语言解决了许多问题之后,你又会发现新的东西,也就是说,你会发现,自己原来并不知道,C语言还有这样一些特性、用法以及局限。学编程实际上学的不单是编程本身,而是学习如何通过编写程序去解决问题,因此,这是一个“学习如何学习”的过程。在阅读本书的过程中,你还会懂得一些跟C语言没有直接关系的编程概念,笔者会讲解一套通用的开发流程,而且会编写一款纸牌程序来演示如何运用这套流程。你可能对纸牌程序不感兴趣,但你应该关注的重点是这款程序是用怎样的一套流程来开发的。笔者在运用这套开发流程的时候会展示基本的实验与验证手法。读者对象笔者构思本书时,是想写给两类人看,一类是没学过任何编程语言的新手,另一类是虽然用过其他编程语言,但并没有接触过C语言的开发者。这两种人的需求差别很大。对于纯粹的编程新手来说,笔者需要为他们详细讲解C语言的一些重要概念和编程方式,帮助他们成为熟练的 C 语言开发者。为此,笔者会细化每个概念,并通过实际的程序来演示。编程新手只需要熟悉计算机的基本操作就可以直接阅读本书,不需要提前具备其他专业知识。对于用过其他编程语言的人来说,笔者想要在本书中完整展示C语言的语法以及一些常见的编程习惯。如果你是这类读者,那么只需要略读一下笔者解释概念的那部分内容,你应该把重点放在源代码上面。无论你是哪类读者,都可以通过本书展示的这80多款程序,了解C语言的语法与编程风格—这种编程风格以及其中所采用的编程习惯在C语言中很常见,但在其他语言中则不一定会遇见。笔者会把在近40年的编程工作中所积累的实践经验,详细分享给大家。本书内容第一部分主要介绍与C语言的语法及程序结构有关的基础概念。第1章介绍程序的开发流程,以及本书后续章节所要用到的工具。我们会用这些工具来建立、构建并运行第一个C语言程序,也就是“Hello, world!”程序。笔者还会介绍怎样给代码添加注释,以及如何用代码做实验。第2章介绍语句和块,还会解释函数定义、函数声明以及函数原型的概念。笔者会演示如何调用函数,并告诉大家函数执行的顺序。语句、块与函数决定了 C 程序的结构。第3章解释C语言如何运用数据类型,以各种方式来表示值。每种数据类型都有大小与取值范围,C 语言会据此解读某个值的含义。第4章介绍变量与常量,这两种量都用来容纳值。要想让变量具备某个值,我们必须给它赋值,笔者会介绍各种赋值方式。第5章介绍运算,笔者会告诉大家与各种数据类型有关的运算,以及如何通过这样的运算来操作该类型的值。第6章介绍流程控制语句,该语句会根据某个表达式的结果来决定是执行其中一组语句,还是执行另一组语句。第7章介绍各种循环语句。笔者还会演示怎样正确使用goto,以及怎样避免滥用goto。另外,笔者还会介绍一些其他的控制循环与迭代的方法。第8章解释命名常量与枚举,并说明它们的用法。第二部分针对第一部分所讲的基础(或固有)数据类型进行扩展延伸,帮助大家理解更复杂的数据类型。第9章讲解怎样用一组变量来制作结构体(structure),以表示复杂的对象。笔者会介绍可以在结构体上执行的操作,以及结构体与面向对象编程(Object-Oriented Programming,OOP)之间的关系。第10章介绍如何给enum与struct关键字所声明出的枚举及结构体重命名,还会讲解编译器的选项及头文件。第11章演示如何定义、初始化并访问简单的数组。笔者会讲解怎样使用循环遍历数组,还会演示如何通过函数来操作数组。第12章会把数组从一维(也叫单维)推广到二维、三维乃至任意维度。笔者会演示如何用循环与函数来声明、初始化并访问这样的多维数组。第13章介绍直接寻址和通过指针间接寻址这两种寻址方式之间的区别。笔者会告诉大家如何理解“指针”这一概念,还会演示怎样在函数中使用指针,以及怎样使用指向结构体的指针。第14章讲解指针与数组之间的相似之处与区别。第15章介绍ASCII字符集与C字符串。C 字符串是一种带有两项特殊属性的数组。我们会开发一款程序,把 ASCII 字符集用表格的形式打印出来。笔者还会介绍 C 语言标准库中与字符串有关的操作。第16章在结构体与数组等概念的基础上创建各种复杂的数据结构并综合运用。笔者会开发一款完整的扑克程序,并在此过程中演示每一种复杂的结构体。大家可以通过本章相当透彻地了解什么叫作有步骤的迭代式程序开发。第三部分讲解如何用各种方式分配及释放(也叫解除分配)内存。第17章介绍自动存储类与动态存储类的概念及区别,还对比了内部存储类与外部存储类这两种存储方式。笔者会演示如何用static关键字声明静态变量。第18章介绍如何进行动态内存分配,以及如何对这样分配的内存执行各种操作。笔者会演示一款动态链表程序,还会介绍其他一些动态分配的结构体。第四部分介绍与读取数据(也就是输入数据)及写入数据(也就是输出数据)有关的各种话题。第19章详细介绍printf()函数的各种格式说明符,笔者会讲解与每一种固有的数据类型相对应的说明符,包括带符号的整数、不带符号的整数、单精度浮点数、双精度浮点数、字符串以及字符。第20章演示怎样利用main()函数的argc与argv参数,来获取用户在执行本程序时通过命令行界面所输入的内容。第21章演示如何用scanf()函数读取输入流中的值。笔者会告诉大家,printf()与scanf()所使用的格式说明符虽然相似,但实际上有很大区别。我们还会谈到内部数据转换以及无格式的(或者说,未经格式化的)输入与输出。第22章主要谈概念。笔者会讲解文件的基本概念,并演示怎样在程序中开启和关闭文件,以及如何让用户通过命令行界面来指定有待操作的文件名。第23章演示怎样通过getopt()函数获取用户在命令行界面所指定的各种选项(也叫开关)。笔者会扩充早前的范例程序,让它能够读取输入文件中所包含的名字,并通过链表给这些名字排序,然后将排序结果写入文件。第五部分详细解释如何创建并管理含有多个文件的程序项目(即多文件的程序)。第24章以第16章中创建的程序作示例,告诉大家怎样把程序代码合理地拆分到多个源文件中,让每个源文件所包含的函数都跟该文件所要操作的结构体相符。笔者还会介绍怎样高效而安全地使用预处理器。第25章从不同的方面讲解作用域这一概念,并解释其与单文件的程序和多文件的程序有何关系。笔者会详细描述变量的作用域及函数的作用域。最后,笔者会提出一些建议,告诉大家在看完本书之后,如何继续学习 C 语言乃至一般的程序开发知识。附录中包含许多参考资料,即C语言关键字、运算符优先级、某些常用GCC与CLang 选项、ASCII 字符集、Bstrlib库用法、Unicode 概论以及对C语言标准库中各头文件所做的介绍。怎样充分利用这书为了学习书中的内容,你需要准备一款简单的文本编辑器、一个终端机或控制台程序,以及一款编译器。笔者会在第1章描述这三样工具,并告诉你如何下载与使用它们。下面的表格列出了本书对编程工具所做的技术要求。操作系统费用下载网址Linux/UNIX文本编辑器(选择下列四种之一)Nano免费 https://www.nano-editor.org/download.phpVim或vi<操作系统内置> N/AGEdit<操作系统内置> https://wiki.gnome.org/Apps/GeditEmacs免费 https://www.gnu.org/software/emacs/download.html编译器 (安装方式依照具体的 Linux/UNIX版本来定)GCC<操作系统内置> https://gcc.gnu.org/install/(请参考表格后面的说明,以了解如何在某些 Linux 系统里面安装 GCC)终端Terminal<操作系统内置> N/AmacOS文本编辑器(选择下列三种之一)Vim或vi<操作系统内置> N/Aemacs免费 https://www.gnu.org/software/emacs/download.htmlBbedit免费 https://www.barebones.com/products/bbedit/编译器Clang<操作系统内置>终端terminal.app<操作系统内置> N/AWindows文本编辑器(选择下列三种之一)Notepad(记事本)<操作系统内置> N/ANotepad++免费 https://notepad-plus-plus.org/downloads/emacs免费 https://www.gnu.org/software/emacs/download.html编译器Cygwin免费 http://www.cygwin.comMinGW免费 http://mingw-w64.org终端Console<操作系统内置> N/A要想在Linux操作系统中安装GCC,你需要执行这样的命令:如果你使用的是基于 RPM 的 Linux 系统,例如 RedHat、Fedora或CentOS等,那么请打开 Terminal 窗口(终端窗口或终端机窗口),并执行下列命令:如果你使用的是 Debian Linux,那么请打开Terminal窗口,并执行下列命令:为了判断自己是否正确安装了GCC或Clang,请在Terminal窗口中执行下列命令: 无论你看的是本书电子版还是纸质版,笔者都建议你亲手把代码敲一遍。手工输入完代码之后,你再去跟GitHub网站上面的代码库进行对比(稍后会给出本书的代码库地址)。这样做可以减少因复制和粘贴而引发的代码错误。如果你是编程新手,那么准备好开发工具之后,还必须了解如何阅读编程方面的书籍。在读此类书籍时,你应该采用如下方法:1.通读全章,大致了解本章所要展示的概念。2.将本章再读一遍,这次阅读时,每遇到一个程序,就把该程序的代码打出来,然后运行,以确保自己所看到的结果跟书中讲的相同。如果没有得到应有的结果,那就试着弄清楚自己的程序跟书中的程序有什么区别(找到区别之后,修改程序让它得出与本书相符的结果)。编程与数学类似,都必须做练习,只有这样才能学会编程。只观察代码是学不会编程的,你必须亲自编写代码才行。3.用心记住本章所提到的关键字和语法。这可以大幅提升学习速度。4.精准地思考。编程语言对语法要求相当严格,这是尤其需要注意的。你必须仔细地考虑问题,有时为了解决某个问题,你需要费尽心思才能想出正确的步骤。5.将本章提到的概念与范例程序复习一遍,把不懂的地方记下来。如果你以前用过别的编程语言,那么在初学 C 语言时笔者还是强烈建议你能够先把每章的正文和其中的范例程序略读一遍。然后,再把程序代码录入自己的计算机,并确保程序的运行结果正确无误。这样能够帮助你迅速掌握 C 语言的语法及编程习惯。在阅读编程方面的书籍时,你必须先了解所读的书属于哪一类,只有这样,你才能用最合适的办法来阅读。我们见到的计算机编程书籍一般有以下几类:概念书(讲述编程概念的书籍):这一类书籍会从底层概念与设计理念的角度来讲述。Kernighan 与 Ritchie 所写的The C Programming Language(《C 程序设计语言》)就属于此类。教科书(教材):这一类书籍通常会把编程语言的每个主要方面都讲到,有时还会讲解得极其详细,而且通常包含许多代码片段。Paul Deitel与Harvey Deitel写的书,以及K. N. King写的C Programming: A Modern Approach(《C语言程序设计:现代方法》)就属于此类。这些书籍通常用在正式的编程课中。参考书:这一类书籍会详细描述语法规则。Harbison与Steele写的C: A Reference Manual(《C 语言参考手册》)就属于此类。“菜谱书”(教程):这一类书籍会给出具体的解决方案,告诉你怎样用某种语言来解决某些问题。Perry 写的Advanced C Programming by Example、Van Der Linden 写的Expert C Programming: Deep Secrets(《C 专家编程》)以及Sedgewick写的Algorithms in C(《算法:C 语言实现》)就属于此类。专题书:这一类书籍深入研究编程语言的某个或某些方面。Reek 写的Pointers in C(《C和指针》)就属于此类。实践书:这一类书籍会告诉你怎样用某种语言(例如 C 语言)解决一般的编程问题。Hanson 写的C Interfaces and Implementations(《C 语言接口与实现》)与 Klemens 写的21st Century C: C Tips from the New School(《C 程序设计新思维》)就属于此类。每一类书籍的读法都不同。比方说,概念书可能只读一遍就好,但参考书则应该

 

 

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