编辑推荐
*零基础、入门级的讲解n
无论读者是否从事计算机相关行业,是否接触过C语言,是否使用C语言开发过项目,都能从本书中获益。n
*超多、实用、专业的范例和项目n
本书结合实际工作中的范例,逐一讲解C语言的各种知识和技术。之后以实际开发项目来总结本书所学内容,帮助读者在实战中掌握知识,轻松拥有项目经验。n
*随时检测自己的学习成果n
每章首页给出了“本章要点”,以便读者明确学习方向,读者可以随时自我检测,巩固所学知识。n
*细致入微、贴心提示n
本书在讲解过程中使用了“提示”“注意”“技巧”等小栏目,帮助读者在学习过程中更清楚地理解基本概念、n
掌握相关操作,并轻松获取实战技巧。n
*全程同步教学视频n
涵盖本书所有知识点,详细讲解每个范例及项目的开发过程及关键点,帮助读者更轻松地掌握书中所有的C语言程序设计知识。n
*超多电子资源大放送n
赠送大量电子资源,包括本书范例的素材文件和结果文件、本书教学 PPT、C语言标准库函数查询手册、C语言常用查询手册、10套完整源代码、全国计算机等级考试二级C语言考试大纲及应试技巧、C语言常见面试题、C语言常见错误及解决方案、C语言开发经验及技巧大汇总、C语言程序员职业规划、C语言程序员面试技巧。n
*多平台学习方式 n
可实现手机端、电脑端同步学习
内容简介
本书主要面向零基础读者,用实例引导读者学习,深入浅出地介绍C语言的相关知识和实战技能。n
本书第Ⅰ篇“基础入门”主要讲解C语言概述、C程序开发环境和开发步骤等;第Ⅱ篇“基础知识”主要讲解C语言基本语法、良好的编程习惯、数据的输入和输出、结构化程序设计、数组、模块化设计——函数等;第Ⅲ篇“进阶提高”主要介绍内存的快捷方式——指针、结构体与联合体、链表、编译预处理、文件、常见错误及调试等;第Ⅳ篇“高级应用”主要介绍数据结构、常用算法、高级编程技术、网络编程等;第Ⅴ篇“项目实战”主要介绍停车场收费管理系统、小型超市进销存管理系统等项目的设计开发。n
本书所提供的电子资源中包含了与图书内容全程同步的教学视频。此外,还赠送了大量相关学习资料,以便读者扩展学习。n
本书适合任何想学习C语言的读者,无论读者是否从事计算机相关行业,是否接触过C语言,均可通过学习本书快速掌握C语言的开发方法和技巧。
作者简介
张春燕,邓淼磊,赵晨阳,龙马高新教育团队的作者,龙马高新教育,专业的计算机研究、教育机构,拥有近20年的图书出版经历,与39所高校、8个行业协会、5家知名网站保持关系,屡获全国****书大奖,其推出的“从入门到精通”“完全自学手册”“编程宝典”“完全自学手册”“精通100%”“非常网络6+1”等均成为业界知名图书,受到百万读者的认可和推荐。
目录
- 第 Ⅰ 篇 基础入门n
- 第 1 章 C 语言概述n
- 1.1 初学编程首选 C 语言 003n
- 1.1.1 程序设计语言 003n
- 1.1.2 C 语言在计算机领域的地位 003n
- 1.1.3 C 语言的特点和应用领域 004n
- 1.1.4 C 语言学习路线 004n
- 1.2 快速学会看懂 C 程序 005n
- 1.2.1 一个简单的 C 程序 005n
- 1.2.2 C 程序的基本结构 006n
- 1.2.3 C 程序从编写到运行的过程 008n
- 第 2 章 C 程序开发环境和开发步骤n
- 2.1 Windows 下开发 C 程序 010n
- 2.1.1 安装配置运行环境 010n
- 2.1.2 使用 Visual Studio 2015 编写、运行 C 程序 016n
- 2.1.3 使用 Code::Blocks 编写和运行 C 程序 018n
- 2.2 Linux 下开发 C 程序 019n
- 2.2.1 GCC 使用介绍 019n
- 2.2.2 GCC 编译 C 程序 019n
- 2.3 制作我的第 一个 C 程序 021n
- 第 Ⅱ 篇 基础知识n
- 第 3 章 C 语言基本语法n
- 3.1 标识符和关键字 025n
- 3.1.1 标识符 025n
- 3.1.2 关键字 025n
- 3.2 数据类型 025n
- 3.2.1 常量 026n
- 3.2.2 变量 029n
- 3.2.3 整型数据 031n
- 3.2.4 实型数据 033n
- 3.2.5 字符型数据 034n
- 3.2.6 数据类型转换 035n
- 3.3 运算符与表达式 038n
- 3.3.1 运算符 038n
- 3.3.2 表达式 039n
- 3.3.3 算术运算符和表达式 039n
- 3.3.4 关系运算符和表达式 040n
- 3.3.5 逻辑运算符和表达式 041n
- 3.3.6 赋值运算符 043n
- 3.3.7 自增、自减运算符 044n
- 3.3.8 逗号运算符 045n
- 3.3.9 条件运算符 046n
- 3.3.10 位运算符 047n
- 3.4 运算符的优先级与结合方向 052n
- 3.4.1 算术运算符的优先级和结合性 052n
- 3.4.2 关系运算符的优先级和结合性 052n
- 3.4.3 逻辑运算符的优先级和结合性 053n
- 3.4.4 赋值运算符的优先级和结合性 053n
- 3.5 综合案例——四则运算计算器 053n
- 3.6 疑难解答 054n
- 第 4 章 养成良好的编程习惯n
- 4.1 C 程序的格式 056n
- 4.2 良好的编程风格 057n
- 4.2.1 命名规则 057n
- 4.2.2 程序的版式 059n
- 4.2.3 表达式和基本语句 061n
- 4.2.4 函数 065n
- 4.2.5 内存管理 066n
- 4.2.6 注释 067n
- 第 5 章 数据的输入和输出n
- 5.1 C 语句介绍 070n
- 5.2 赋值语句 071n
- 5.3 输入和输出 073n
- 5.3.1 字符输入和输出函数 073n
- 5.3.2 格式输入和输出函数 075n
- 5.4 综合案例——学生基本信息的输入和输出 083n
- 5.5 疑难解答 084n
- 第 6 章 结构化程序设计n
- 6.1 结构化程序开发的过程 086n
- 6.1.1 核心思想 086n
- 6.1.2 流程图 086n
- 6.2 顺序结构程序设计 088n
- 6.3 选择结构程序设计 090n
- 6.3.1 单分支结构语句 090n
- 6.3.2 双分支结构语句 092n
- 6.3.3 多分支结构语句 093n
- 6.3.4 分支语句的嵌套 095n
- 6.3.5 switch 选择语句 096n
- 6.4 循环结构程序设计 098n
- 6.4.1 while 循环结构与执行流程 098n
- 6.4.2 for 循环结构与执行流程 100n
- 6.4.3 do-while 循环结构与执行流程 104n
- 6.4.4 循环结构嵌套 106n
- 6.4.5 辅助语句 break 和 continue 107n
- 6.5 综合案例——改良版的计算器 110n
- 6.6 疑难解答 113n
- 第 7 章 数组n
- 7.1 数组概述 116n
- 7.2 一维数组 116n
- 7.2.1 一维数组的定义 116n
- 7.2.2 一维数组的初始化 118n
- 7.2.3 一维数组元素的操作 118n
- 7.2.4 一维数组应用举例 122n
- 7.3 二维数组 125n
- 7.3.1 二维数组的定义 125n
- 7.3.2 二维数组的初始化 127n
- 7.3.3 二维数组元素的操作 127n
- 7.3.4 二维数组应用举例 129n
- 7.3.5 多维数组 131n
- 7.4 字符数组 132n
- 7.4.1 字符数组的定义与初始化 132n
- 7.4.2 字符串和字符串结束标志 134n
- 7.4.3 字符数组的输入与输出 135n
- 7.4.4 字符串处理函数 137n
- 7.4.5 字符数组应用举例 141n
- 7.5 综合案例——加减运算考试程序 142n
- 7.6 疑难解答 144n
- 第 8 章 模块化设计—函数n
- 8.1 为什么使用函数 146n
- 8.2 函数的定义与分类 146n
- 8.2.1 函数的定义 146n
- 8.2.2 函数的分类 147n
- 8.2.3 无参函数 148n
- 8.2.4 有参函数 148n
- 8.3 函数的参数和返回值 149n
- 8.3.1 实参与形参 149n
- 8.3.2 函数的返回值 152n
- 8.4 函数的调用 153n
- 8.4.1 函数原型 154n
- 8.4.2 函数的一般调用 155n
- 8.4.3 函数的嵌套调用 156n
- 8.4.4 函数的递归调用 158n
- 8.5 数组作为函数参数 161n
- 8.5.1 数组元素作为函数参数 161n
- 8.5.2 数组名作为函数参数 162n
- 8.6 变量的作用域 163n
- 8.6.1 局部变量 164n
- 8.6.2 全局变量 164n
- 8.7 变量的存储类别 165n
- 8.7.1 自动变量 165n
- 8.7.2 静态变量 166n
- 8.7.3 寄存器变量 168n
- 8.7.4 外部变量 168n
- 8.8 内部函数和外部函数 169n
- 8.9 综合案例——在给定区间内解方程 171n
- 8.10 疑难解答 172n
- 第 Ⅲ 篇 进阶提高n
- 第 9 章 内存的快捷方式—指针n
- 9.1 指针和地址 177n
- 9.1.1 指针的含义 177n
- 9.1.2 目标单元与间接存取 177n
- 9.2 指针变量 178n
- 9.2.1 定义指针变量 179n
- 9.2.2 引用指针变量 181n
- 9.2.3 指针变量作为函数参数 183n
- 9.3 指针与数组 184n
- 9.3.1 指向数组元素的指针 184n
- 9.3.2 指向数组的指针 185n
- 9.3.3 通过指针引用多维数组 186n
- 9.3.4 指向数组的指针作为函数参数 187n
- 9.4 指针与字符串 188n
- 9.4.1 字符串指针 188n
- 9.4.2 指针访问字符串 190n
- 9.4.3 字符串指针作为函数参数 193n
- 9.5 指针与函数 194n
- 9.5.1 函数指针 194n
- 9.5.2 指针型函数 196n
- 9.5.3 函数指针作为函数参数 197n
- 9.5.4 void 指针 199n
- 9.6 指针的指针 200n
- 9.7 使用 const 修饰指针变量 201n
- 9.8 使用指针的注意事项 202n
- 9.9 综合案例—数值排序 202n
- 9.10 疑难解答 204n
- 第 10章 结构体与联合体n
- 10.1 结构体的使用场景 206n
- 10.2 结构体类型与结构体变量 206n
- 10.2.1 定义结构体类型 207n
- 10.2.2 结构体变量的定义 208n
- 10.2.3 结构体变量的初始化 210n
- 10.2.4 结构体变量的引用 211n
- 10.2.5 指向结构体变量的指针 213n
- 10.3 结构体数组 215n
- 10.3.1 结构体数组的定义 215n
- 10.3.2 结构体数组的初始化和引用 217n
- 10.3.3 指向结构体数组的指针 219n
- 10.4 结构体与函数 221n
- 10.4.1 结构体作为函数的参数 221n
- 10.4.2 结构体作为函数的返回值 223n
- 10.5 联合体 224n
- 10.5.1 联合体类型 224n
- 10.5.2 联合体变量的定义 225n
- 10.5.3 联合体变量的引用 226n
- 10.6 枚举类型的定义和使用 228n
- 10.7 综合案例——教师基本信息的组织与管理 230n
- 10.8 疑难解答 232n
- 第 11章 链表n
- 11.1 链表的特点和原理 234n
- 11.1.1 为什么使用链表 234n
- 11.1.2 动态内存分配 235n
- 11.2 链表的定义 238n
- 11.3 单链表的操作 239n
- 11.3.1 创建链表 240n
- 11.3.2 输出链表 242n
- 11.3.3 查找操作 242n
- 11.3.4 插入操作 243n
- 11.3.5 删除操作 245n
- 11.4 综合案例——学生信息管理系统 245n
- 11.5 疑难解答 250n
- 第 12章 编译预处理n
- 12.1 什么是预处理指令 252n
- 12.2 宏定义 252n
- 12.2.1 变量式宏定义 252n
- 12.2.2 宏定义嵌套 256n
- 12.2.3 宏定义范围 257n
- 12.2.4 函数式宏定义 258n
- 12.2.5 多行宏定义 259n
- 12.3 文件包含 260n
- 12.3.1 什么是文件包含 260n
- 12.3.2 使用文件包含 261n
- 12.3.3 文件包含说明 262n
- 12.4 条件编译 262n
- 12.4.1 条件编译形式 263n
- 12.4.2 调试中使用条件编译 266n
- 12.4.3 文件嵌套包含和条件编译 266n
- 12.5 综合案例——根据月用电量计算用户应缴电费 266n
- 12.6 疑难解答 267n
- 第 13章 文件n
- 13.1 文件的概念 270n
- 13.1.1 文本流与二进制流 270n
- 13.1.2 文件类型指针 271n
- 13.2 文件的打开和关闭 271n
- 13.3 文件的顺序读写 273n
- 13.3.1 文件读写字符 273n
- 13.3.2 文件读写字符串 275n
- 13.3.3 格式化方式读写文件 278n
- 13.3.4 二进制文件的读写 279n
- 13.4 文件的随机读写 283n
- 13.5 综合案例——对文件进行加解密 285n
- 13.6 疑难解答 288n
- 第 14章 常见错误及调试n
- 14.1 常见错误的类型 290n
- 14.1.1 语法错误 290n
- 14.1.2 语义错误 293n
- 14.1.3 内存错误 296n
- 14.2 使用Visual Studio 2015调试C程序 299n
- 14.3 使用Code::Blocks调试C程序 301n
- 14.4 常用调试技巧及纠错 304n
- 第 Ⅳ 篇 高级应用n
- 第 15章 简单的数据结构n
- 15.1 数据结构概述 309n
- 15.2 栈 310n
- 15.2.1 栈的基本运算 310n
- 15.2.2 顺序栈 310n
- 15.2.3 链栈 311n
- 15.2.4 栈的应用 311n
- 15.3 队列 316n
- 15.3.1 队列的基本运算 316n
- 15.3.2 顺序队列 316n
- 15.3.3 链队列 317n
- 15.3.4 队列的应用 317n
- 15.4 树 321n
- 15.4.1 树的基本概念 321n
- 15.4.2 二叉树及其基本性质 322n
- 15.4.3 二叉树的遍历 322n
- 15.5 查找 324n
- 15.5.1 顺序查找 324n
- 15.5.2 折半查找 326n
- 15.5.3 二叉查找树 328n
- 15.6 排序 330n
- 15.6.1 冒泡排序 330n
- 15.6.2 快速排序 331n
- 15.6.3 堆排序 333n
- 15.7 综合案例——利用栈进行数据的遍历、排序等操作 335n
- 15.8 疑难解答 338n
- 第 16章 常用算法n
- 16.1 算法的概念 340n
- 16.1.1 算法的特征 340n
- 16.1.2 算法设计的基本方法 340n
- 16.1.3 算法的描述 340n
- 16.2 算法复杂度 342n
- 16.2.1 时间复杂度 342n
- 16.2.2 空间复杂度 343n
- 16.3 递归算法及示例 344n
- 16.4 穷举算法及示例 345n
- 16.5 分治算法及示例 346n
- 16.6 贪心算法及示例 348n
- 16.7 动态规划算法及示例 352n
- 第 17章 高级编程技术n
- 17.1 屏幕文本输出 356n
- 17.1.1 文本方式的控制 356n
- 17.1.2 窗口设置和文本输出 356n
- 17.1.3 清屏和光标控制 359n
- 17.1.4 文本移动和存取 359n
- 17.2 图形编程 361n
- 17.2.1 图形系统初始化 361n
- 17.2.2 基本图形函数 364n
- 17.2.3 颜色函数 370n
- 17.2.4 填充函数 373n
- 17.3 中断 376n
- 17.3.1 编写中断服务程序 376n
- 17.3.2 安装中断服务程序 377n
- 17.3.3 中断服务程序的激活 377n
- 第 18章 网络编程n
- 18.1 网络基础知识 380n
- 18.1.1 计算机网络 380n
- 18.1.2 TCP/IP协议 380n
- 18.1.3 端口 382n
- 18.1.4 套接字 382n
- 18.2 基于TCP的网络编程 383n
- 18.2.1 服务器端实现 384n
- 18.2.2 客户端实现 384n
- 18.3 基于UDP的网络编程 386n
- 18.3.1 服务器端实现 387n
- 18.3.2 客户端实现 387n
- 第 Ⅴ 篇项目实战n
- 第 19章 停车场收费管理系统n
- 19.1 需求分析 393n
- 19.2 概要设计 393n
- 19.2.1 系统目标 393n
- 19.2.2 功能结构 393n
- 19.2.3 数据结构 394n
- 19.3 详细设计 394n
- 19.3.1 主函数模块 395n
- 19.3.2 停车管理模块 397n
- 19.3.3 取车管理模块 399n
- 19.3.4 收费标准管理模块 401n
- 19.3.5 查询统计模块 402n
- 19.4 程序调试及系统测试 407n
- 第 20章 小型超市进销存管理系统n
- 20.1 需求分析 410n
- 20.2 概要设计 410n
- 20.2.1 系统目标 410n
- 20.2.2 功能结构 410n
- 20.2.3 数据结构 410n
- 20.3 详细设计 412n
- 20.3.1 主函数模块 413n
- 20.3.2 用户管理模块 417n
- 20.3.3 进货管理模块 422n
- 20.3.4 销售管理模块 425n
- 20.3.5 库存管理模块 429n
- 20.3.6 查询统计模块 430n
- 20.4 程序调试及系统测试 433