内容简介
第1篇 基础知识
第1章 初识C语言——Hello C
1.1 C语言概述
1.1.1 C语言的发展史
1.1.2 C语言的特点
1.1.3 C语言的应用
1.2 C语言的常用开发环境
1.2.1 Visual C++ 6.0开发环境
1.2.2 Turbo C 2.0开发环境
1.3 开发第一个C语言程序
1.3.1 在Visual C++ 6.0中开发C语言程序
1.3.2 在Turbo C中开发C语言程序
1.4 C语言程序的组成
1.4.1 完整的C语言程序
1.4.2 #include的秘密
1.4.3 程序的出入口——main()函数
1.4.4 数据集装箱——常量和变量
1.4.5 如何输出程序结果——输出函数
1.4.6 注释
1.4.7 代码的规则
1.5 跟我学上机
1.5.1 上机目标
1.5.2 上机练习
1.6 就业面试解析与技巧
1.6.1 面试解析与技巧(一)
1.6.2 面试解析与技巧(二)
第2章 程序中的变与不变——常量与变量
2.1 标识符和关键字
2.1.1 标识符
2.1.2 关键字
2.2 常量
2.2.1 什么是常量
2.2.2 数值常量
2.2.3 字符常量
2.2.4 字符串常量
2.2.5 符号常量
2.3 变量
2.3.1 什么是变量
2.3.2 变量的声明
2.3.3 变量的定义
2.3.4 变量的分类
2.3.5 变量的赋值和初始化
2.4 综合案例——统计学生平均成绩
2.5 跟我学上机
2.5.1 上机目标
2.5.2 上机练习
2.6 就业面试解析与技巧
2.6.1 面试解析与技巧(一)
2.6.2 面试解析与技巧(二)
第3章 数据的种类——数据类型
3.1 数制
3.1.1 二进制
3.1.2 八进制
3.1.3 十六进制
3.1.4 数制间的转换
3.2 整型数据
3.2.1 整型常量的表示方法
3.2.2 整型变量
3.2.3 整型变量的分类
3.2.4 整型变量的溢出
3.3 浮点型数据
3.3.1 浮点型常量的表示方法
3.3.2 浮点型变量
3.3.3 浮点型变量的类型
3.4 字符型数据
3.4.1 字符常量
3.4.2 字符变量
3.4.3 字符串常量
3.5 数据类型的转换
3.5.1 隐式转换
3.5.2 显式转换
3.6 综合案例——类型转换
3.7 跟我学上机
3.7.1 上机目标
3.7.2 上机练习
3.8 就业面试解析与技巧
3.8.1 面试解析与技巧(一)
3.8.2 面试解析与技巧(二)
第4章 用户与计算机的交互——输入和输出
4.1 标准输入/输出
4.2 格式化输入/输出
4.2.1 格式化输出函数——printf()
4.2.2 格式控制字符
4.2.3 格式化输入函数——scanf()
4.3 字符输入/输出
4.3.1 字符输出函数——putchar()
4.3.2 字符输入函数——getchar()
4.4 字符串输入/输出
4.4.1 字符串输出函数——puts()
4.4.2 字符串输入函数——gets()
4.5 跟我学上机
4.5.1 上机目标
4.5.2 上机练习
4.6 就业面试解析与技巧
4.6.1 面试解析与技巧(一)
4.6.2 面试解析与技巧(二)
第5章 运算符和表达式
5.1 运算符
5.1.1 运算符概述
5.1.2 运算符的分类
5.1.3 运算符优先级和结合性
5.2 表达式
5.2.1 表达式的概念
5.2.2 表达式的分类
5.3 表达式与运算符
5.3.1 算术表达式与算术运算符
5.3.2 自增、自减表达式与自增、自减运算符
5.3.3 赋值表达式与赋值运算符
5.3.4 关系表达式与关系运算符
5.3.5 逻辑表达式与逻辑运算符
5.3.6 条件表达式与条件运算符
5.3.7 逗号表达式与逗号运算符
5.3.8 位运算符
5.4 语句
5.4.1 语句的概念
5.4.2 语句的使用
5.4.3 语句与表达式
5.4.4 C语言基本语句
5.5 综合案例——计算函数的结果
5.5.1 跟我学上机
5.5.2 上机目标
5.5.3 上机练习
5.6 就业面试解析与技巧
5.6.1 面试解析与技巧(一)
5.6.2 面试解析与技巧(二)
第6章 C程序的流程——程序流程控制结构
6.1 程序流程概述
6.2 if条件选择语句
6.2.1 if语句的一般形式
6.2.2 if语句的嵌套
6.2.3 使用if语句注意事项
6.3 switch条件选择语句
6.4 循环结构
6.4.1 while语句
6.4.2 do-while语句
6.4.3 for语句
6.4.4 循环的嵌套
6.5 break、continue、goto语句
6.5.1 break语句
6.5.2 continue语句
6.5.3 goto语句
6.6 综合案例——简单计算器
6.7 跟我学上机
6.7.1 上机目标
6.7.2 上机练习
6.8 就业面试解析与技巧
6.8.1 面试解析与技巧(一)
6.8.2 面试解析与技巧(二)
第7章 数组与字符串
7.1 数组概述
7.2 一维数组
7.2.1 一维数组的定义
7.2.2 一维数组的引用
7.2.3 一维数组的初始化
7.2.4 程序实例
7.3 二维数组
7.3.1 二维数组的定义
7.3.2 二维数组的引用
7.3.3 二维数组的初始化
7.3.4 多维数组
7.3.5 程序实例
7.4 字符数组与字符串
7.4.1 字符数组的说明与初始化
7.4.2 字符串和字符数组
7.4.3 字符串的处理函数
7.4.4 字符数组的实例解析
7.5 综合案例——杨辉三角
7.6 跟我学上机
7.6.1 上机目标
7.6.2 上机练习
7.7 就业面试解析与技巧
7.7.1 面试解析与技巧(一)
7.7.2 面试解析与技巧(二)
第8章 算法与流程图
8.1 算法的概念
8.2 算法的特性
8.3 算法的表示
8.3.1 自然语言表示法
8.3.2 伪代码表示法
8.3.3 流程图表示法
8.3.4 N-S流程图表示法
8.3.5 计算机语言表示法
8.4 流程图基础
8.4.1 流程图中的元素
8.4.2 流程图的绘制
8.5 结构化程序设计方法
8.6 综合案例——求一元二次方程的根
8.7 跟我学上机
8.7.1 上机目标
8.7.2 上机练习
8.8 就业面试解析与技巧
8.8.1 面试解析与技巧(一)
8.8.2 面试解析与技巧(二)
第2篇 核心技术
第9章 函数与函数中的变量
9.1 函数概述
9.1.1 函数的概念
9.1.2 函数的分类
9.1.3 函数定义的一般形式
9.2 函数的调用
9.2.1 函数的类型
9.2.2 函数的返回值
9.2.3 函数调用的方式
9.2.4 对被调用函数的声明和函数原型
9.3 函数的嵌套调用
9.4 函数的递归调用
9.5 函数的参数
9.5.1 函数参数的传递
9.5.2 数组元素作为函数参数
9.5.3 数组名作为函数参数
9.6 内部函数和外部函数
9.6.1 内部函数
9.6.2 外部函数
9.7 局部变量和全局变量
9.7.1 局部变量
9.7.2 全局变量
9.8 变量的存储类型
9.8.1 auto(自动)变量
9.8.2 static(静态)变量
9.8.3 register(寄存器)变量
9.8.4 extern(外部)变量
9.9 综合案例——求方程的根
9.10 跟我学上机
9.10.1 上机目标
9.10.2 上机练习
9.11 就业面试解析与技巧
9.11.1 面试解析与技巧(一)
9.11.2 面试解析与技巧(二)
第10章 指针
10.1 指针概述
10.1.1 指针的概念
10.1.2 指针的类型
10.1.3 指针的值
10.1.4 运算符&和*
10.2 指针变量
10.2.1 指针变量的使用
10.2.2 指针变量作为函数参数
10.3 数组指针和指向数组的指针变量
10.3.1 数组指针
10.3.2 通过指针引用数组元素
10.3.3 用数组名作为函数参数
10.4 综合案例——创建简单链表
10.5 跟我学上机
10.5.1 上机目标
10.5.2 上机练习
10.6 就业面试解析与技巧
10.6.1 面试解析与技巧(一)
10.6.2 面试解析与技巧(二)
第11章 指针进阶
11.1 指针与数组
11.1.1 指针与数组的关系
11.1.2 指向多维数组的指针
11.1.3 二维数组指针
11.2 指针的运算
11.3 字符串指针
11.3.1 字符串的表示与引用
11.3.2 字符串指针作为函数参数
11.3.3 字符数组和字符串指针处理字符串时的区别
11.4 指针数组和指向指针的指针
11.4.1 指针数组
11.4.2 指针数组的应用
11.4.3 指向指针的指针
11.4.4 指向指针的指针应用
11.4.5 带形式参数的main()函数
11.5 指针与函数
11.5.1 定义和使用指向函数的指针变量
11.5.2 用指向函数的指针作为函数参数
11.5.3 指针函数
11.6 void指针类型
11.7 综合案例——报数游戏
11.8 跟我学上机
11.8.1 上机目标
11.8.2 上机练习
11.9 就业面试解析与技巧
11.9.1 面试解析与技巧(一)
11.9.2 面试解析与技巧(二)
第12章 文件
12.1 文件概述
12.1.1 文件类型
12.1.2 C如何操作文件——文件指针
12.1.3 文件缓冲区
12.2 文件的打开与关闭
12.2.1 文件的打开——fopen()函数
12.2.2 文件的关闭——fclose()函数
12.3 文件的顺序读/写
12.3.1 字符读/写函数fgetc()和fputc()
12.3.2 字符串读/写函数fgets()和fputs()
12.3.3 数据块读/写函数fread()和fwtrite()
12.3.4 格式化读/写函数fscanf()和fprintf()
12.4 文件定位与文件的随机读/写
12.4.1 文件头定位函数——rewind()
12.4.2 当前读/写位置函数——ftell()
12.4.3 随机定位函数——fseek()
12.5 文件检测函数
12.5.1 文件结束检测函数——feof()
12.5.2 读/写文件出错检测函数——ferror()
12.5.3 文件出错标志和文件结束标志置0函数——clearerr()
12.6 综合案例——编制课程表
12.7 跟我学上机
12.7.1 上机目标
12.7.2 上机练习
12.8 就业面试解析与技巧
12.8.1 面试解析与技巧(一)
12.8.2 面试解析与技巧(二)
第13章 编译与预处理指令
13.1 什么是预处理指令
13.2 宏定义
13.2.1 变量式宏定义
13.2.2 宏定义嵌套
13.2.3 宏定义范围
13.2.4 带参数的宏定义
13.2.5 多行宏定义
13.3 文件包含
13.3.1 什么是文件包含
13.3.2 文件包含的使用
13.4 条件编译
13.4.1 条件编译形式
13.4.2 调试中使用条件编译
13.4.3 文件嵌套包含和条件编译
13.5 assert()宏
13.6 综合案例——编译与预处理指令
13.7 跟我学上机
13.7.1 上机目标
13.7.2 上机练习
13.8 就业面试解析与技巧
13.8.1 面试解析与技巧(一)
13.8.2 面试解析与技巧(二)
第3篇 高级应用
第14章 库函数
14.1 标准C库函数
14.2 数学函数
14.2.1 绝对值函数
14.2.2 平方根函数和幂函数
14.2.3 指数函数和对数函数
14.2.4 三角函数
14.2.5 取整函数和取余函数
14.3 字符串处理函数
14.3.1 字符串长度函数
14.3.2 字符串连接函数
14.3.3 字符串复制函数
14.3.4 字符串比较函数
14.3.5 字符串查找函数
14.3.6 字符串填充函数
14.4 字符处理函数
14.4.1 字符类型判断函数
14.4.2 字符大小写转换函数
14.5 转换和动态存储管理函数
14.5.1 转换函数
14.5.2 动态存储管理函数
14.6 随机函数
14.6.1 初识随机函数
14.6.2 使用随机函数
14.7 日期和时间处理函数
14.8 诊断函数
14.9 命令行参数
14.10 其他函数
14.10.1 exit()函数
14.10.2 qsort()函数
14.11 综合案例——猜数字游戏
14.12 跟我学上机
14.12.1 上机目标
14.12.2 上机练习
14.13 就业面试解析与技巧
14.13.1 面试解析与技巧(一)
14.13.2 面试解析与技巧(二)
第15章 位运算
15.1 位的概念
15.1.1 位运算符
15.1.2 二进制数
15.1.3 按位与运算符
15.1.4 按位或运算符
15.1.5 按位异或运算符
15.1.6 按位取反运算符
15.1.7 左移运算符
15.1.8 右移运算符
15.1.9 位复合赋值运算符
15.2 位段
15.2.1 位段的定义
15.2.2 位段中数据的引用
15.3 综合案例——数制转换
15.4 跟我学上机
15.4.1 上机目标
15.4.2 上机练习
15.5 就业面试解析与技巧
15.5.1 面试解析与技巧(一)
15.5.2 面试解析与技巧(二)
第16章 结构体、共用体和枚举
16.1 结构体概述
16.2 结构体类型与结构体变量
16.2.1 结构体类型的定义
16.2.2 结构体变量的定义
16.2.3 结构体变量的初始化
16.2.4 结构体变量的引用
16.3 结构体数组
16.3.1 结构体数组的定义
16.3.2 结构体数组的初始化
16.3.3 结构体数组的引用
16.3.4 结构体数组的应用实例
16.4 结构体指针
16.4.1 指向结构体变量的指针
16.4.2 指向结构体数组的指针
16.4.3 结构体变量作为函数参数
16.4.4 结构体变量的指针作为函数参数
16.4.5 结构体作为函数的返回值
16.5 共用体
16.5.1 共用体的定义
16.5.2 共用体变量的定义、初始化和引用
16.6 枚举
16.6.1 枚举类型
16.6.2 枚举变量
16.7 综合案例——计算学生成绩
16.8 跟我学上机
16.8.1 上机目标
16.8.2 上机练习
16.9 就业面试解析与技巧
16.9.1 面试解析与技巧(一)
16.9.2 面试解析与技巧(二)
第17章 动态数据结构
17.1 动态存储分配概述
17.1.1 分配内存空间函数malloc()
17.1.2 分配内存空间函数calloc()
17.1.3 释放内存空间函数free()
17.2 链表概述
17.2.1 链表的建立
17.2.2 链表的遍历
17.3 创建节点
17.3.1 链表节点的插入
17.3.2 链表节点的删除
17.4 跟我学上机
17.4.1 上机目标
17.4.2 上机练习
17.5 就业面试解析与技巧
17.5.1 面试解析与技巧(一)
17.5.2 面试解析与技巧(二)
第18章 数据结构进阶
18.1 数据结构概述
18.2 线性表
18.3 栈
18.3.1 栈的基本运算
18.3.2 顺序栈的类型定义
18.3.3 链式栈的类型定义
18.4 队列
18.4.1 队列的基本运算
18.4.2 顺序队列类型定义
18.4.3 链式队列类型定义
18.5 二叉树
18.6 查找
18.6.1 顺序查找
18.6.2 折半查找
18.7 综合实例
18.8 跟我学上机
18.8.1 上机目标
18.8.2 上机练习
18.9 就业面试解析与技巧
18.9.1 面试解析与技巧(一)
18.9.2 面试解析与技巧(二)
第19章 排序
19.1 排序的概述
19.2 希尔排序
19.3 插入排序
19.4 冒泡排序
19.5 快速排序
19.6 选择排序
19.7 堆排序
19.8 归并排序
19.9 链表基数排序
19.10 跟我学上机
19.10.1 上机目标
19.10.2 上机练习
19.11 就业面试解析与技巧
19.11.1 面试解析与技巧(一)
19.11.2 面试解析与技巧(二)
第4篇 项目实战
第20章 项目实战——项目开发与规划
20.1 项目开发流程
20.1.1 策划阶段
20.1.2 需求分析阶段
20.1.3 开发阶段
20.1.4 编码阶段
20.1.5 系统测试阶段
20.1.6 系统验收阶段
20.1.7 系统维护阶段
20.2 项目开发团队
20.2.1 项目团队组成
20.2.2 项目团队要求
20.3 项目的实际运作
20.4 项目规划常见问题及解决
20.4.1 如何满足客户需求
20.4.2 如何控制项目进度
20.4.3 如何控制项目预算
第21章 图书管理系统
21.1 开发背景
21.2 需求及功能分析
21.2.1 总体功能分析
21.2.2 各模块功能分析
21.3 系统功能的实现
21.3.1 建立相关类及属性
21.3.2 系统选择菜单的实现
21.3.3 图书上架功能的实现
21.3.4 图书下架功能的实现
21.3.5 查找图书功能的实现
21.3.6 借书功能的实现
21.3.7 还书功能的实现
21.3.8 主函数功能的实现
21.4 系统运行与测试
第22章 通讯录管理系统
22.1 开发背景
22.2 需求及功能分析
22.2.1 总体功能分析
22.2.2 各模块功能分析
22.3 系统功能的实现
22.3.1 建立联系人结构
22.3.2 系统选择菜单的实现
22.3.3 添加联系人功能的实现
22.3.4 插入联系人功能的实现
22.3.5 删除联系人功能的实现
22.3.6 浏览联系人功能的实现
22.3.7 查找联系人功能的实现
22.3.8 主函数功能的实现
22.4 系统运行与测试
第23章 信息管理系统开发1——网络通信系统
23.1 网络通信系统
23.1.1 系统分析
23.1.2 功能分析及实现
23.1.3 开发常见问题及解决
23.2 系统运行与测试
第24章 信息管理系统开发2——学生成绩管理系统
24.1 学生成绩管理系统
24.1.1 系统分析
24.1.2 功能分析及实现
24.1.3 开发常见问题及解决
24.1.4 系统运行与测试
第25章 信息管理系统开发3——酒店管理系统
25.1 酒店管理系统
25.1.1 系统分析
25.1.2 功能分析及实现
25.1.3 开发常见问题及解决
25.2 系统运行与测试
第5篇 行业应用
第26章 C语言在游戏开发中的应用
26.1 系统功能描述
26.2 系统功能分析及实现
26.2.1 功能分析
26.2.2 功能实现
26.2.3 程序运行
第27章 C语言在银行业务开发中的应用
27.1 系统功能描述
27.2 系统功能分析及实现
27.2.1 功能分析
27.2.2 功能实现
27.2.3 程序运行
第28章 C语言在ATM存储系统开发中的应用
28.1 系统功能描述
28.2 系统功能分析及实现
28.2.1 功能分析
28.2.2 功能实现
28.2.3 程序运行
第29章 C语言在航空管理开发中的应用
29.1 系统功能描述
29.2 系统功能分析及实现
29.2.1 功能分析
29.2.2 功能实现
29.2.3 程序运行