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

本书特色

[

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

]

内容简介

[

本书通过学习笔记的形式, 定位于通过经典小实例+实践项目案例为主线讲述C语言的基础语法、关键知识点和重点模块案例 ; 融入作者实践经验和编程心得。

]

作者简介

[

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

]

目录

第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

封面

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

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

作者:薛小龙编著

页数:15,400页

定价:¥59.8

出版社:中国铁道出版社

出版日期:2019-10-01

ISBN:9787113261757

PDF电子书大小:34MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注