本书以服务零基础读者为宗旨,用实例引导读者学习,深入浅出地介绍了C 语言的相关知识和实战技能。
全书共12章。第1章主要介绍计算思维与C语言的初体验;第2~9章主要介绍C语言的数据处理,表达式,格式化输出与输入功能,流程控制,函数与宏,数组与字符串,指针,结构、联合、枚举与类型定义等;第10~12章主要介绍文件及文件处理,C语言的标准函数库,从C语言到C++的快速学习。
本书赠送了大量的相关学习资料,以便读者扩展学习。本书适合任何想学习C语言的读者学习使用。无论您是否从事计算机相关行业,是否接触过C语言,均可通过学习本书快速掌握采用C 语言编程的方法和技巧。
1.以服务零基础读者为宗旨,图文并茂、通俗易懂,以实例引导读者学习C语言相关知识和实战技能。
2.全程同步视频教学,手机、电脑多种方式观看,可自由定制我的课程,随时、随地、随心学。
3.每章末附有配套练习题和详解,进一步加深所学内容,及时反馈学习进度,记住重点、难点。
4.书中包含大量项目实战案例、上机实习范例,帮助读者快速具备实操经验。
5.提供配套源码下载,方便读者动手练习。
张继新,河南工业大学教师,长期从事程序设计语言教学,研究方向为软件设计、开发维护及应用。
侯惠芳,河南工业大学教授,解放军信息工程大学通信与信息系统专业博士,研究方向为机器学习、大数据检索、人工智能和模式识别等。
李琳,河南工业大学副教授,研究方向为软件工程、机器学习、人工智能和模式识别等。
001 第 1 章 计算思维与C 语言的初体验
002 1.1 认识计算思维
002 1.1.1 分解
003 1.1.2 模式识别
003 1.1.3 归纳与抽象化
003 1.1.4 算法
005 1.2 认识C 语言
006 1.3 编写第 一个C 语言程序
010 1.3.1 编写程序
011 1.3.2 程序代码的编译
012 1.3.3 程序代码的执行
012 1.3.4 程序代码的调试
013 1.4 C 语言程序代码快速解析
013 1.4.1 最重要的main() 函数
014 1.4.2 头文件的功能
015 1.4.3 写注释是种好习惯
015 1.5 上机实习课程
019 第 2 章 C 语言的数据处理
020 2.1 认识变量与常量
021 2.1.1 变量的简介
021 2.1.2 变量的名称
022 2.1.3 变量的地址
023 2.1.4 常量的简介
025 2.2 基本数据类型
025 2.2.1 整数类型
027 2.2.2 浮点数类型
030 2.2.3 字符类型
032 2.2.4 转义序列
034 2.2.5 强制类型转换
036 2.3 上机实习课程
041 第3 章 表达式
042 3.1 认识运算符
042 3.1.1 赋值运算符
043 3.1.2 算术运算符
045 3.1.3 自增与自减运算符
047 3.1.4 关系运算符
049 3.1.5 逻辑运算符
051 3.1.6 位运算符
056 3.1.7 条件运算符
057 3.1.8 复合赋值运算符
058 3.2 认识表达式
058 3.2.1 运算符的优先级
060 3.2.2 表达式的自动转换
062 3.3 上机实习课程
067 第4 章 格式化输出与输入功能
068 4.1 printf() 函数
068 4.1.1 格式化字符串
070 4.1.2 输出修饰符
074 4.2 scanf() 函数
079 4.3 输出与输入字符函数
079 4.3.1 getchar() 函数与putchar() 函数
081 4.3.2 getche() 函数与getch() 函数
082 4.4 上机实习课程
087 第5 章 流程控制
088 5.1 什么是流程控制
088 5.1.1 顺序结构
089 5.1.2 选择结构
090 5.1.3 循环结构
090 5.2 选择结构
090 5.2.1 if 条件语句
093 5.2.2 if-else 条件语句
094 5.2.3 嵌套if 条件语句
096 5.2.4 if 多分支条件语句
099 5.2.5 多重条件选择语句—switch 语句
104 5.3 循环结构
104 5.3.1 for 循环语句
107 5.3.2 嵌套for 循环语句
108 5.3.3 while 循环语句
111 5.3.4 do-while 循环语句
114 5.4 流程跳出语句
114 5.4.1 break 语句
116 5.4.2 continue 语句
117 5.4.3 goto 语句
118 5.5 上机实习课程
131 第6 章 函数与宏
132 6.1 认识函数
133 6.1.1 函数声明
135 6.1.2 定义函数体
137 6.1.3 函数调用模式
139 6.1.4 变量的有效范围
140 6.2 参数传递方式
141 6.2.1 传值调用
143 6.2.2 传址调用
148 6.3 递归函数
148 6.3.1 递归的定义
150 6.3.2 斐波那契数列
151 6.4 变量存储类别
152 6.4.1 auto
153 6.4.2 extern
155 6.4.3 register
156 6.4.4 static
158 6.5 预处理器与宏
159 6.5.1 #include 语句
160 6.5.2 #define 语句
165 6.6 条件编译
166 6.6.1 #ifdef 条件编译
167 6.6.2 #ifndef 条件编译
169 6.6.3 #if、#else、#elif 条件编译
170 6.7 上机实习课程
185 第7 章 数组与字符串
186 7.1 认识数组
186 7.1.1 一维数组
190 7.1.2 命令行参数
192 7.1.3 二维数组
195 7.1.4 多维数组
197 7.1.5 数组内存分配
199 7.1.6 数组名与地址
201 7.2 数组与函数传递
204 7.2.1 函数与一维数组参数
205 7.2.2 排序与函数的数组参数传递
208 7.2.3 函数与多维数组参数
211 7.3 字符与字符串处理
211 7.3.1 字符数组与字符串
215 7.3.2 字符串输入与输出函数
218 7.4 字符串处理函数
218 7.4.1 strlen() 函数
219 7.4.2 strstr() 函数与strncpy() 函数
220 7.4.3 strlwr() 函数与strcat() 函数
221 7.5 上机实习课程
235 第8 章 指针
236 8.1 认识指针
237 8.1.1 指针变量的定义
240 8.1.2 指针作为函数返回值
241 8.1.3 指针的运算
242 8.1.4 多重指针
244 8.2 指针与数组的应用
244 8.2.1 指针与一维数组
247 8.2.2 指针与二维数组
249 8.2.3 指针与字符串
254 8.2.4 指针数组
257 8.3 动态分配内存
257 8.3.1 动态分配变量
259 8.3.2 动态分配数组
261 8.4 函数指针
262 8.4.1 函数指针的定义
263 8.4.2 参数型函数指针
265 8.4.3 函数指针数组
266 8.5 上机实习课程
283 第9 章 结构、联合、枚举与类型定义
284 9.1 认识结构
284 9.1.1 定义结构类型与访问结构成员
287 9.1.2 嵌套结构
288 9.1.3 结构数组
291 9.1.4 结构与内存
293 9.1.5 结构指针与指针数组
298 9.2 结构与函数
298 9.2.1 结构与传值调用
300 9.2.2 结构与传址调用
303 9.2.3 结构数组与传址调用
305 9.3 其他自定义数据类型
305 9.3.1 枚举类型
307 9.3.2 类型定义
310 9.3.3 联合类型
312 9.4 上机实习课程
329 第 10 章 文件及文件处理
330 10.1 认识文件存取
330 10.1.1 文件结构
330 10.1.2 数据流与缓冲区
331 10.1.3 文本文件与二进制文件
332 10.1.4 文件存取方式
332 10.2 有缓冲区文件处理
332 10.2.1 文件的打开与关闭
334 10.2.2 fputc() 函数与fgetc() 函数
337 10.2.3 fputs() 函数与fgets() 函数
340 10.2.4 fprintf() 函数与fscanf() 函数
342 10.2.5 fwrite() 函数与fread() 函数
346 10.2.6 随机存取文件
352 10.3 无缓冲区文件处理
352 10.3.1 无缓冲区文件处理函数
355 10.3.2 随机文件存取方式
356 10.4 上机实习课程
369 第 11 章 C 语言的标准函数库
370 11.1 常用数学函数
370 11.2 时间与日期函数
371 11.3 字符串处理函数
372 11.4 字符处理函数
373 11.5 类型转换函数
373 11.6 流程控制函数
373 11.7 文件及目录管理函数
374 11.8 内存动态管理函数
374 11.9 上机实习课程
387 第 12 章 从C 语言到C++ 的快速学习
388 12.1 C++ 的面向对象概念
389 12.1.1 设计一个C++ 程序
391 12.1.2 输出与输入功能
392 12.1.3 浮点数
393 12.1.4 布尔数据类型
394 12.1.5 字符串
397 12.1.6 动态内存分配
400 12.2 C++ 的函数
400 12.2.1 内联函数
401 12.2.2 引用调用
403 12.2.3 函数重载
405 12.3 认识类
405 12.3.1 数据成员
406 12.3.2 成员函数
406 12.3.3 访问权限关键字
407 12.3.4 类对象的建立
408 12.3.5 作用域运算符
410 12.4 构造函数与析构函数
410 12.4.1 构造函数
410 12.4.2 析构函数
412 12.4.3 函数对象传递
413 12.5 继承
413 12.5.1 单一继承
415 12.5.2 多重继承
417 12.6 多态
419 12.7 函数模板