欢迎光临
免费的PDF电子书下载网站

C语言学习笔记:从入门到实战 PDF下载

编辑推荐

精讲学习视频全程相伴,扫码即看;146个有趣实例及精彩分析娓娓道来

 ;

内容简介

 ;  ;  ; 本书以学习笔记的形式循序渐进地讲解了使用C语言的核心知识,并通过具体实例的实现过程讲解了各个知识点的使用方法和流程。全书简洁而不失其技术深度,内容丰富全面,针对每一个知识点均搭配典型案例讲解和视频;除此之外,本书易于阅读,以极简的文字介绍了复杂的案例,帮助读者扎实理解实践应用。

作者简介

 ;  ;  ;薛小龙,山东大学计算机硕士。现就职于浪潮云,从事互联网云服务器的架构和研发工作。精通Java、Python、C、C 语言,擅长大数据挖掘和数据分析工作。个人喜爱技术分享,曾经写作出版《开发从入门到精通》系列图书,且拥有对图书推广和营销方面的经验。

C语言学习笔记:从入门到实战 PDF下载

目录

第1 章 C 语言基础知识介绍

1.1 永不过时的C 语言 ............................................................................................1

1.1.1 品味C 语言这一坛老酒 ....................................................................................1

1.1.2 C 语言的发展史 .................................................................................................2

1.1.3 学习C 语言还有用吗 ........................................................................................2

1.2 认识第一段C 语言程序 ....................................................................................3

1.2.1 编写第一段C 语言程序 ....................................................................................3

实例1-1:第一段C 语言程序(定义变量并进行算数操作) ................................................. 3

1.2.2 分析C 语言程序的具体组成 ............................................................................4

1.3 如何学好C 语言 ................................................................................................6

第2 章 安装C 语言开发工具

2.1 一步到位的Visual Studio ..................................................................................7

2.1.1 安装Visual Studio 2017 .....................................................................................7

2.1.2 使用Visual Studio 2017 .....................................................................................9

实例2-1:使用Visual Studio 2017 运行一个C 程序 ................................................................ 9

2.2 使用DEV C 开发C 语言程序 ...................................................................12

2.2.1 安装DEV C ..................................................................................................12

2.2.2 使用DEV C 运行一个C 语言程序 ............................................................14

2.3 使用Turbo C 3.0 开发C 语言程序 ................................................................14

2.3.1 安装Turbo C 3.0 ...............................................................................................14

2.3.2 使用Turbo C 3.0 ...............................................................................................15

第3 章 C 语言语法基础

3.1 标识符和关键字 ..............................................................................................16

3.1.1 标识符 ...............................................................................................................16

3.1.2 关键字 ...............................................................................................................17

3.2 数据类型 ..........................................................................................................19

3.3 常量和变量 ......................................................................................................20

3.3.1 常量 ...................................................................................................................20

3.3.2 变量 ...................................................................................................................21

实例3-1:计算圆的周长和面积 ............................................................................................... 23

3.4 整型数据 ..........................................................................................................24

3.4.1 整型常量 ...........................................................................................................24

3.4.2 整型变量 ...........................................................................................................26

实例3-2:计算两个整型变量的和 ........................................................................................... 27

3.5 实型数据类型 ..................................................................................................28

3.5.1 实型常量 ...........................................................................................................28

3.5.2 实型变量 ...........................................................................................................29

实例3-3:对一个很大的数和一个很小的数进行加法运算 ................................................... 29

3.6 字符型数据 ......................................................................................................30

3.6.1 字符常量详解 ...................................................................................................30

实例3-4:通过转义字符输出指定的文本字符 ....................................................................... 31

3.6.2 字符串常量 .......................................................................................................32

实例3-5:我最喜欢的偶像是欧阳娜娜 ................................................................................... 32

3.6.3 字符变量 ...........................................................................................................33

实例3-6:将字符变量和整型变量进行相互赋值 ................................................................... 33

3.7 整型、实型和字符型数据之间的运算 ..........................................................34

3.7.1 强制转换 ...........................................................................................................34

实例3-7:将int 类型强制转换为double 类型 ........................................................................ 35

3.7.2 自动转换 ...........................................................................................................35

实例3-8:计算圆的大概面积和精确面积 ............................................................................... 36

第4 章 运算符和表达式

4.1 运算符和表达式介绍 ......................................................................................37

4.2 算术运算符和算术表达式 ..............................................................................38

4.2.1 算术运算符的分类 ...........................................................................................38

4.2.2 单目运算符 .......................................................................................................39

实例4-1:使用单目运算符实现基本的数学运算 ................................................................... 39

4.2.3 双目运算符 .......................................................................................................39

实例4-2:获取任意小于1000 的正整数的个位、十位、百位和千位的数字 ..................... 40

4.3 赋值运算符和赋值表达式 ..............................................................................40

4.3.1 基本的赋值运算符 ...........................................................................................41

4.3.2 复合赋值运算符 ...............................................................................................43

4.3.3 赋值表达式 .......................................................................................................43

实例4-3:实现基本的赋值表达式运算处理 ........................................................................... 43

4.4 关系运算符和关系表达式 ..............................................................................44

4.4.1 关系运算符 .......................................................................................................44

4.4.2 关系表达式 .......................................................................................................44

实例4-4:比较体重 ................................................................................................................... 45

4.5 逗号运算符和逗号表达式 ..............................................................................46

4.5.1 逗号运算符 .......................................................................................................46

4.5.2 逗号表达式 .......................................................................................................46

实例4-5:使用逗号运算符实现数学运算 ............................................................................... 47

4.6 逻辑运算符和逻辑表达式 ..............................................................................48

4.6.1 逻辑运算符 .......................................................................................................48

4.6.2 逻辑表达式 .......................................................................................................49

实例4-6:对变量进行逻辑运算处理,并输出运算后的结果 ............................................... 49

4.7 求字节数运算符sizeof ....................................................................................50

实例4-7:使用sizeof 运算符计算不同类型数据的字节大小 ................................................ 51

4.8 运算符的优先级 ..............................................................................................52

第5 章 数据的输入和输出

5.1 语句介绍 ..........................................................................................................54

5.1.1 C 语句简介 .......................................................................................................54

5.1.2 赋值语句 ...........................................................................................................56

5.2 C 语言内置的数据输入和输出函数 ...............................................................57

5.2.1 使用字符输出函数putchar ..............................................................................58

实例5-1:使用函数putchar 输出指定的字符 ......................................................................... 58

5.2.2 使用字符输入函数getchar .............................................................................59

实例5-2:使用getchar 函数获取在键盘中输入的内容.......................................................... 60

5.2.3 使用格式输出函数printf .................................................................................60

实例5-3:使用printf 函数输出不同格式变量a 和b 的数据 ................................................ 61

实例5-4:使用printf 格式字符输出指定格式的数据 ............................................................ 62

5.2.4 使用格式输入函数scanf ..................................................................................64

实例5-5:输出显示用户输入字符的ASCII 码和对应的大写字母 ....................................... 66

5.2.5 使用字符串输出函数puts ...............................................................................67

实例5-6:使用函数puts 输出指定的字符串 ........................................................................... 67

5.2.6 使用字符串输入函数gets ................................................................................68

实例5-7:输出显示用户的姓名和身高信息 ........................................................................... 68

第6 章 使用流程控制语句

6.1 顺序结构 ..........................................................................................................69

实例6-1:计算三角形的面积 ................................................................................................... 70

6.2 选择结构 ..........................................................................................................70

6.2.1 单分支结构语句 ...............................................................................................71

实例6-2:从大到小排列3 个数字 ........................................................................................... 71

6.2.2 双分支结构语句 ...............................................................................................72

实例6-3:判断用户输入内容的格式 ....................................................................................... 72

实例6-4:判断变量a 和b 的值是多少 ................................................................................... 74

6.2.3 使用多分支结构语句 .......................................................................................75

实例6-5:提示用户输入数字,然后将用户输入的数字输出。 ........................................... 77

6.2.4 条件运算符和条件表达式 ...............................................................................77

实例6-6:比较两个数字的大小并输出最大数 ....................................................................... 79

6.3 循环结构 ..........................................................................................................79

6.3.1 使用for 语句 ....................................................................................................79

实例6-7:计算某个整数的阶乘 ............................................................................................... 80

6.3.2 使用while 循环语句 ........................................................................................81

实例6-8:依次输出1*1、1*2…到1*20 的积 ........................................................................ 82

6.3.3 使用do-while 语句 ...........................................................................................83

实例6-9:猜数游戏 ................................................................................................................... 84

6.3.4 正确对待goto 语句 ..........................................................................................84

实例6-10:统计从键盘输入一行字符的个数 ......................................................................... 85

6.3.5 使用break 语句 ................................................................................................85

实例6-11:计算圆的面积 ......................................................................................................... 86

6.3.6 使用continue 语句 ...........................................................................................86

实例6-12:输出显示100 到200 之间的不能被3 整除的整数 ............................................. 87

6.3.7 死循环/ 退出程序 ............................................................................................87

第7 章 数组存储数据

7.1 使用一维数组 ..................................................................................................89

7.1.1 定义一维数组 ...................................................................................................89

7.1.2 引用即使用 .......................................................................................................90

实例7-1:输出数组内的各个元素值 ....................................................................................... 91

7.1.3 数组需要初始化 ...............................................................................................91

实例7-2:实现一个由小到大排列的冒泡程序 ....................................................................... 92

7.2 多维数组 ..........................................................................................................93

7.2.1 二维数组 ...........................................................................................................93

实例7-3:输出显示10 行杨辉三角 ......................................................................................... 95

7.2.2 使用多维数组 ...................................................................................................96

实例7-4:获取成绩最高分的球员编号 ................................................................................... 98

7.3 使用字符数组与字符串 ..................................................................................99

7.3.1 侃侃字符数组 ...................................................................................................99

7.3.2 字符串与字符数组 .........................................................................................100

7.3.3 字符数组的输入输出 .....................................................................................101

实例7-5:比较两个字符串的大小 ......................................................................................... 102

7.4 使用字符处理函数和字符串处理函数 ........................................................103

7.4.1 使用测试字符串长度函数strlen ...................................................................103

实例7-6:使用函数strlen 输出程序中数组字符串的长度 .................................................. 103

7.4.2 使用字符串大小写转换函数strupr 和strlwr ...............................................103

实例7-7:分别输出输入字符串的小写形式和大写形式 ..................................................... 103

7.4.3 使用字符串复制函数strcpy 和strncpy ........................................................104

实例7-8:复制用户输入的字符串 ......................................................................................... 104

7.4.4 使用字符串比较函数strcmp 和strncmp ......................................................105

实例7-9:比较用户输入的字符串 ......................................................................................... 106

7.4.5 使用字符串连接函数strcat 和strncat ...........................................................106

实例7-10:连接用户输入的字符串 ....................................................................................... 107

7.4.6 将字符串转换成数值的函数 .........................................................................108

实例7-11:将用户输入的字符串转换为数值类型的值 ....................................................... 108

7.4.7 使用字符检测函数 .........................................................................................109

实例7-12:判断字符串中各字符所占用的个数 ................................................................... 109

7.4.8 使用字符大小写转换函数tolower 和toupper ..............................................110

实例7-13:将字符串分别输出转换为大写形式和小写形式 ................................................111

第8 章 函数

8.1 函数基础知识介绍 ........................................................................................ 112

8.1.1 函数的分类 .....................................................................................................112

8.1.2 函数的定义 .....................................................................................................114

实例8-1:比较两个数字的大小 ..............................................................................................114

8.2 函数声明和函数原型 .................................................................................... 115

8.2.1 函数声明 .........................................................................................................115

实例8-2:求s=(1 2 3 … n)/(1 2 3 … m) 的值 ...............................................................116

8.2.2 函数原型 .........................................................................................................117

8.3 函数的参数 .................................................................................................... 117

8.3.1 形参和实参详解 .............................................................................................117

实例8-3:计算从1 到某个数字值的和 ..................................................................................118

8.3.2 将数组作为函数参数 .....................................................................................118

实例8-4:判断一个整数是否大于0 .......................................................................................119

实例8-5:互换二维数组中行和列的元素 ............................................................................. 120

8.4 函数的返回值 ................................................................................................120

实例8-6:计算两个整数3 和4 的和 ..................................................................................... 121

8.5 实现函数的调用 ............................................................................................122

8.5.1 调用函数的格式 .............................................................................................122

实例8-7:比较3 个数字的大小 ............................................................................................. 122

8.5.2 函数调用的方式 .............................................................................................123

实例8-8:计算最大公约数和最小公倍数 ............................................................................. 123

8.6 函数的嵌套调用和递归调用 ........................................................................124

8.6.1 函数嵌套调用详解 .........................................................................................124

实例8-9:输出字符串中最长的单词 ..................................................................................... 125

8.6.2 函数递归调用 .................................................................................................126

实例8-10:实现数学中Hanoi 塔问题的解决方案................................................................ 127

8.7 变量的作用域 ................................................................................................129

8.7.1 局部变量作用域 .............................................................................................129

实例8-11:计算长方体的体积和三个面的面积 ................................................................... 129

8.7.2 全局变量作用域 .............................................................................................130

实例8-12:超市价格调整 ....................................................................................................... 130

8.8 静态存储变量和动态存储变量 ....................................................................131

8.8.1 静态存储和动态存储的区别 .........................................................................132

8.8.2 四种变量存储类型 .........................................................................................132

8.8.3 自动变量 .........................................................................................................132

8.8.4 外部变量 .........................................................................................................133

实例8-13:在函数间通过外部函数直接传递数据 ............................................................... 134

8.8.5 静态变量 .........................................................................................................134

实例8-14:使用静态变量设置初始值 ................................................................................... 136

8.8.6 寄存器变量 .....................................................................................................136

实例8-15:使用register 变量提升效率 ................................................................................. 136

8.9 内部函数和外部函数 ....................................................................................137

8.9.1 内部函数详解 .................................................................................................137

实例8-16:在不同的文件内使用同一个名称的函数 ........................................................... 138

8.9.2 使用外部函数 .................................................................................................138

实例8-17:在一个文件内调用另一个外部函数 ................................................................... 138

8.10 库函数 ..........................................................................................................139

8.10.1 库函数介绍 ...................................................................................................139

8.10.2 库函数的分类 ...............................................................................................139

第9 章 使用指针

9.1 指针和内存地址 ............................................................................................141

9.2 变量的指针和指向变量的指针变量 ............................................................142

9.2.1 声明指针变量 .................................................................................................142

9.2.2 初始化指针变量 .............................................................................................143

9.2.3 引用指针变量 .................................................................................................144

实例9-1:将两个指针变量分别指向两个变量 ..................................................................... 145

9.2.4 指针运算符 .....................................................................................................145

实例9-2:对输入的数字进行排序处理 ................................................................................. 146

9.2.5 指针变量的运算 .............................................................................................147

实例9-3:顺序显示数组内的元素并分别逆向输出 ............................................................. 148

9.2.6 指针变量作为函数参数 .................................................................................148

实例9-4:按照从小到大的顺序排序输出三个整数 ............................................................. 150

9.2.7 void 类型的指针 .............................................................................................151

实例9-5:定义4 个类型的变量,然后分别输出转换后的结果 ......................................... 151

9.3 指针和数组 ....................................................................................................152

9.3.1 数组元素的指针 .............................................................................................153

9.3.2 指向一维数组元素的指针变量 .....................................................................154

9.3.3 通过指针引用数组元素 .................................................................................155

实例9-6:分别通过指向数组的指针引用数组、利用数组名和下标引用数组 ................. 156

9.3.4 数组名作函数参数 .........................................................................................158

实例9-7:将数组中的元素按相反顺序存放 ......................................................................... 158

实例9-8:输出数组元素中的最大值和最小值 ..................................................................... 159

9.4 指针和多维数组 ............................................................................................160

9.4.1 多维数组的地址 .............................................................................................160

实例9-9:输出显示二维数组元素的地址 ............................................................................. 162

9.4.2 指向多维数组的指针变量 .............................................................................162

实例9-10:2*3 或3*4 矩阵相乘运算 .................................................................................... 164

9.5 指针和字符串 ................................................................................................165

9.5.1 指针访问字符串 .............................................................................................165

实例9-11:把一个字符串的内容复制到另一个字符串中 ................................................... 166

9.5.2 字符串指针作函数参数 .................................................................................167

实例9-12:使用函数调用复制字符串的内容 ....................................................................... 167

9.6 指针数组和多级指针 ....................................................................................168

9.6.1 指针数组 .........................................................................................................168

9.6.2 多级指针的定义和应用 .................................................................................169

实例9-13:对5 个字符串进行排序 ....................................................................................... 170

9.6.3 指向指针的指针 .............................................................................................171

9.6.4 main 函数的参数 ............................................................................................171

实例9-14:使用带参数的main 函数输出指针数组参数的值 ............................................. 172

9.7 指针函数和函数指针 ....................................................................................173

9.7.1 指针函数 .........................................................................................................173

9.7.2 函数指针 .........................................................................................................173

前沿

从你开始学习编程的那一刻起,就注定了以后所要走的路:从编程学习者开始,依次经

历实习生、程序员、软件工程师、架构师、CTO 等职位的磨砺。当你站在职位顶峰的位置蓦

然回首,会发现自己的成功并不是偶然,在程序员的成长之路上会有不断修改代码、寻找并

解决Bug、不停测试程序和修改项目的经历。不可否认的是,只要你在自己的开发生涯中稳

扎稳打,并且善于总结和学习,最终将会得到可喜的收获。

■ 选择一本合适的书

对于一名程序开发初学者来说,究竟如何学习并提高自己的开发能力呢?选择一本适合

自己的开发图书会是一个好的建议。那么什么样的图书才是适合自己的呢,除了对知识点的

细致讲解外,更要能实现从理论平滑过渡到项目实战,为此,我们特意策划了本书。

■ 本书的特色

(1)内容全面

本书详细讲解C 语言所涵盖的所有知识点,循序渐进地讲解了这些知识点的使用方法和

技巧,帮助读者快速步入C 语言开发高手之列。

(2)146 个示例融入其中,面向实战

通过对这些实例的讲解实现了对知识点的横向切入和纵向比较,让读者有更多的实践演

练机会,并且可以从不同的方位展现一个知识点的用法,确保读者扎实掌握。

(3)视频讲解,二维码布局全书

本书正文的每一个二级目录都有一个二维码,通过二维码扫描可以观看本小节内容的讲

解视频,既包括实例讲解也包括教程讲解,对读者的开发水平实现了拔高处理。

(4)本书售后帮助读者快速解决学习问题

无论书中的疑惑,还是在学习中遇到的问题,群主和管理员将在第一时间为读者解答,

这就是我们对读者的承诺。

(5)QQ 群 网站论坛实现教学互动,形成互帮互学的朋友圈

本书作者为了方便给读者答疑,特提供了网站论坛、QQ 群等技术支持(通过QQ:

729017304 获得),并且随时在线与读者互动。让大家在互学互帮中形成一个良好的学习编

程的氛围。

FOREWORD 前 言

I

II

? C语言学习笔记:从入门到实战

■ 本书的读者对象

本书以学习笔记的形式系统地讲解了C 语言的知识点和基本的实战应用,旨在帮助入门

级的读者轻松梳理知识点并掌握简单开发技巧。另外,融入书中的开发经验和综合案例,会

对有着一定C 语言开发基础的读者大有裨益,帮助他们提升开发技能、积累实战经验。

■ 致谢

本书在编写过程中,得到了中国铁道出版社编辑的大力支持,正是各位编辑的求实、耐

心和效率,才使得本书能够在这么短的时间内出版。另外,也十分感谢我的家人给予的巨大

支持。本人水平毕竟有限,书中存在纰漏之处在所难免,诚请读者提出宝贵的意见或建议,

以便修订并使之更臻完善。

最后感谢您购买本书,希望本书能成为您编程路上的领航者,祝您阅读快乐!

编者

2019 年8 月

C语言学习笔记:从入门到实战 pdf下载声明

本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版

pdf下载地址

版权归出版社和作者所有,下载链接已删除。如果喜欢,请购买正版!

链接地址:C语言学习笔记:从入门到实战