手把手教你学C语言pdf下载pdf下载

手把手教你学C语言百度网盘pdf下载

作者:
简介:本篇主要提供手把手教你学C语言pdf下载
出版社:机械工业出版社自营官方旗舰店
出版时间:2016-11
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

内容简介

  本书是学习C语言的入门书籍,内容非常全面,包含C语言基础知识、流程控制、数组、函数、指针、字符串、结构体、链表、文件操作、栈和队列、自定义头文件、多文件编译、Linux下C文件的编译和链接、链接库等知识点。本书并不单纯讲解理论,还配有大量的程序,每个知识点都结合程序解讲。这样读者理解起来更加容易,也能够在遇到实际问题时进行编程。
  本书主要针对学习C语言的初学者,即使完全没有编程基础,也能够通过阅读本书快速掌握C语言的核心知识。

目录

第1章 为什么要学习C语言?1
1.1 C的起源和发展1
1.1.1 计算机语言发展的三个阶段1
1.1.2 语言运行速度的比较3
1.1.3 C语言的演变过程3
1.2 C的特点5
1.2.1 C语言的优点5
1.2.2 C语言的缺点6
1.3 C的应用领域7
1.4 C的重要性8
1.5 本章总结9
第2章 怎样学习C语言?10
2.1 学习C语言的心得10
2.2 学习C语言的目标12
2.3 常见问题答疑13
2.3.1 学习Java为什么建议先学C语言?13
2.3.2 没学过计算机专业课程能够学懂C语言吗?14
2.3.3 英语和数学不好能学好C语言吗?14
2.4 本章总结16
第3章 Microsoft Visual C++ 6.0的使用17
3.1 为什么要学习VC++6.0?17
3.2 如何创建编程文件?17
3.3 写一个最简单的程序22
3.4 要养成时刻按Ctrl+S保存的习惯25
3.5 编译-链接-执行25
3.6 怎样运行第二个程序?28
3.7 点编译-链接-执行时保存路径下的文件夹有什么变化?30
3.8 如何编写多文件程序?31
3.9 如何用VC++6.0调试程序?38
3.10 本章总结40
第4章 C语言认知,先给大家写一个程序42
第5章 预备知识47
5.1 CPU、内存条、硬盘、显卡、主板、显示器之间的关系47
5.1.1 电影是如何运行起来的?47
5.1.2 CPU为什么不能直接操作硬盘却能直接操作内存?47
5.1.3 内存条的速度为什么比硬盘的速度快?47
5.1.4 为什么不把内存条造的跟硬盘一样大?48
5.1.5 CPU是如何操作内存的?48
5.1.6 主板的作用49
5.2 HelloWorld程序是如何运行起来的?49
5.3 字节50
5.3.1 什么是字节?50
5.3.2 字节换算50
5.3.3 字节总结51
5.4 进制51
5.4.1 什么是进制?51
5.4.2 进制转换口算法53
5.4.3 进制转换公式法54
5.4.4 人类为什么最习惯用十进制?57
5.4.5 计算机为什么用的是二进制?58
5.4.6 进制总结58
5.5 数据类型59
5.5.1 数据类型的分类59
5.5.2 基本数据类型及其所占的字节数61
5.6 常量63
5.6.1 整型常量64
5.6.2 浮点型常量64
5.6.3 字符型常量66
5.7 常量是以什么样的二进制代码存储在计算机中的?67
5.8 补码67
5.8.1 原码和反码68
5.8.2 补码的两个核心内容68
5.8.3 int型变量所能存储的范围70
5.8.4 int型变量和char型变量是如何进行相互赋值的?72
5.9 什么是ASCII码?73
5.10 变量74
5.10.1 如何定义变量?74
5.10.2 变量的本质77
5.10.3 为什么要使用变量?78
5.10.4 变量的命名规则78
5.10.5 变量为什么必须要初始化?80
5.10.6 变量总结83
5.11 各类型数据之间的混合运算84
5.12 代码规范化86
5.12.1 代码如何写才能写规范?86
5.12.2 代码规范化的好处86
5.12.3 代码规范化的七大原则87
5.12.4 代码规范化总结91
5.13 本章总结91
第6章 printf的用法92
6.1 printf的格式93
6.2 输出控制符95
6.3 %x、%X、%#x、%#X的区别95
6.4 如何输出“%d”、“\”和“双引号”?96
6.5 本章总结97
第7章 scanf的用法98
7.1 scanf的用法98
7.2 使用scanf注意事项101
7.2.1 参数的个数一定要对应101
7.2.2 输入的数据类型一定要和所需要的数据类型一致102
7.2.3 使用scanf之前使用printf提示输入105
7.3 本章总结105
第8章 运算符和表达式107
8.1 算术运算符107
8.2 关系运算符109
8.3 逻辑运算符109
8.4 赋值运算符113
8.5 运算符的优先级114
8.6 本章总结115
第9章 选择结构程序设计117
9.1 流程控制117
9.1.1 什么是流程控制?117
9.1.2 流程控制的分类117
9.2 选择的定义和分类118
9.3 if语句118
9.3.1 if最简单的用法118
9.3.2 if的范围问题120
9.3.3 if...else...的用法122
9.3.4 if...else if...else...的用法124
9.3.5 if 举例--求分数的等级125
9.3.6 if 举例--三个整数从小到大排序130
9.3.7 if的常见问题解析132
9.4 switch语句136
9.5 本章总结138
第10章 循环控制140
10.1 循环的定义和分类140
10.2 for循环140
10.2.1 for语句的格式140
10.2.2 自增和自减144
10.2.3 练习:编程输出1!+2!+3!+……+n!的和145
10.2.4 for和if的嵌套使用146
10.2.5 强制类型转换149
10.2.6 浮点数的存储所带来的问题155
10.2.7 多个for循环的嵌套使用159
10.2.8 for循环嵌套编程练习162
10.3 while循环173
10.3.1 while的执行顺序173
10.3.2 while和for的比较174
10.3.3 如何看懂一个程序——“试数”176
10.3.4 do...while180
10.3.5 break和continue185
10.4 清空输入缓冲区187
10.4.1 输入缓冲区187
10.4.2 %d和%c读取缓冲区的差别189
10.4.3 用scanf吸收回车191
10.4.4 getchar()192
10.4.5 fflush(stdin)196
10.5 本章总结198
第11章 数组200
11.1 一维数组的使用200
11.1.1一维数组的定义200
11.1.2 一维数组的初始化201
11.1.3 一维数组元素的引用204
11.1.4 如何将数组a赋给数组b?205
11.1.5 如何编程获取数组的长度?206
11.1.6 练习208
11.1.7 宏定义:#define211
11.1.8 一维数组总结214
11.2 数组倒置算法214
11.3 数组查找算法217
11.3.1 顺序查找217
11.3.2 折半查找218
11.4 数组插入、删除算法221
11.4.1 插入算法221
11.4.2 删除算法222
11.5 数组

前言/序言

  当你拿起本书翻到这一页时,不管最后买与不买,都要对你说声谢谢,相遇就是缘分。
  为什么要写这本书
  本书是我人生中写的第一本书,基于我学习C语言的笔记。我从大学本科的时候开始学习C语言,每每学到新的知识或有心得体会时便记下来,就同写日记一样。就这样断断续续一直持续到硕士研究生阶段,那时差不多写了7万多字。我会将自己的笔记分享给很多想学C语言的师弟师妹。在学习的过程中他们发现,我的笔记比其他C语言书籍都更易于理解,讲得通俗易懂,风趣幽默。虽然当时只有7万多字,内容有限,但他们都认为“绝对是入门的好书”。所以我的“前期读者”以及专业导师都希望我能出版这些笔记。但我觉得还不够好,内容还不够充实,也怕误人子弟,浪费读者时间,毕竟当时水平有限。但这却在我心里埋下了一颗想要写一本好书的种子。
  硕士研究生毕业后我应聘到上海起策教育科技公司工作,而我教授的第一门课就是C语言。从此我正式开始了与C语言全天候、长时期的亲密接触,也正式开启了我要将这本书写好的历程。在工作中,我有很多心得体会,或跟同事交流,或得益于很多前辈的教导。于是通过不断地补充,原先的7万多字变为现在的34万多字。在这个过程中我不断地对它精雕细琢,就像培养一个优秀的孩子一样,只希望能展现给大家一份优秀的作品。现在我觉得时机到了,可以让它为更多想学好C语言的读者做贡献了。
  本书内容
  本书是学习C语言的入门书籍,所以一开始对C语言的铺垫很充分,循序渐进,目的是让大家对C语言不再陌生,轻松愉快地学习。本书的内容对于入门来说是非常全面的,包括C语言基础知识、流程控制、数组、函数、指针、字符串、结构体、链表、文件操作等主流知识。这几个知识点是学习C语言的主要框架,对于不同的C语言书籍,区别就在于讲得是否详细,是否能让每位读者都掌握。本书中这几个知识点都讲得非常详细、透彻,是经过无数学弟学妹检验过的,也期待着读者的检验。除此之外,本书还增加了很多在工作中需要用到的其他知识,如栈和队列、自定义头文件、多文件编译、Linux下C文件的编译和链接、链接库等。
  本书特色
  因为本书基于我的学习笔记,所以本书更多的是以初学者的角度编写的,而且后来一直延续了这种风格,抛开“高大上”、生涩的专业术语,用词通俗易懂。
  因为本书的很多内容是我在参加工作之后总结的,所以都是根据实际工作的需要整理而成。摒弃了脱离实际工作、过时的、不用的、“变态”的用法,大大减轻了读者学习的压力,除去了学习道路上的“杂草”,铺设了一条更好走的捷径。
  此外,本书并不是单纯地讲理论,而是配有大量的程序。每个知识点都是配合程序讲解的,这样理解起来就更加容易。而且本书没有那种单独的、无答案的课后练习题,所有的练习都直接以程序的形式写在书中,读者在学习的时候直接练习那些程序即可,而且每个程序都是经过编译可以直接运行的。此外本书不会提供电子版的代码,因为学习C语言必须要多动手、多“敲”代码,所以我希望读者自己动手。
  最后真切地希望本书能成为你编程路上的重要伙伴,为你的成长打下深厚的编程功底。“虽然我可能不是最好的,但我绝对是最用心的。”
  限于作者水平有限,书中难免存在不当或疏漏之处,恳请读者批评指正,并多提出宝贵意见。希望在你的帮助下本书一步步接近完美,谢谢!
  吴明杰
  2016年9月