标题：C语言从入门到精通（视频实战版）
基本信息
作者： 胡超    梁伟    闫玉宝    
丛书名： 程序员书库 
出版社：机械工业出版社 
ISBN：9787111325680
上架时间：2011-1-27
出版日期：2011 年1月
开本：16开
页码：352
内容简介
本书介绍了c语言编程的基础知识，重点讲解了数组、指针、结构体、文件、常见的数据结构及数据操作等知识点，并通过真实的项目案例讨论如何综合使用它们对文件数据、数据库进行读写及数据处理操作。全书分为入门篇、编程提高篇、数据结构与算法篇及实例项目篇，共22章，具体内容为c语言概述、变量和常量、c语言运算符、标准输入／输出、c语言控制结构、函数、宏指令#include和#define、数组、字符串、指针、结构体和共用体、数组指针、结构体指针、函数指针、动态内存分配、条件编译机制、文件操作、数据库编程，线性数据结构、非线性数据结构、数据操作及利用c语言实现教学管理系统。书中循序渐进地从基本概念入门、编程实践提高到实例项目开发讲述c语言，既强调基础知识的重要性，又注重其实践性与实用性。
本书适合高等院校计算机专业及相关专业的学生、c语言爱好者及初中级程序开发人员，也可以供从事计算机工程与应用的广大读者参考。 
目录
丛书序 
前言 
第一篇　 入　门　篇 
第1章　 c语言概述 1 
1.1　 c语言基础知识 1 
1.1.1　 计算机语言和面向过程编程 1 
1.1.2　 c语言基本结构 2 
1.1.3　 代码注释 3 
1.2　 tc编译器介绍 3 
1.2.1　 tc编译环境介绍 4 
1.2.2　 tc编译器的菜单项 4 
1.2.3　 使用tc编译器编写代码 7 
1.2.4　 使用tc编译器打开源文件 10 
1.2.5　 使用tc编译器编译源代码 10 
1.2.6　 使用tc编译器执行源代码 12 
1.2.7　 tc编译器学习技巧 13 
1.3　 vc编译器介绍 13 
1.3.1　 vc编译环境介绍 13 
1.3.2　 新建c语言源文件 14 
1.3.3　 编写c程序代码 15 
.1.3.4　 使用vc编译器编译源代码 15 
1.3.5　 使用vc编译器执行源代码 17 
1.4　 经典的“hello world”程序 17 
1.5　 小结 18 
第2章　 变量和常量 19 
2.1　 变量定义 19 
2.1.1　 变量类型简介 19 
2.1.2　 变量命名 21 
2.1.3　 定义局部变量 21 
2.1.4　 定义全局变量 22 
2.2　 在程序中使用变量 22 
2.2.1　 使用变量存储数据 22 
2.2.2　 输出变量中的数据 23 
2.3　 定义常量 24 
2.3.1　 什么是常量 24 
2.3.2　 关键字const的使用方法 24 
2.3.3　 定义全局常量和局部常量 24 
2.4　 小结 25 
2.5　 习题 25 
第3章　 c语言运算符 26 
3.1　 c语言常用运算符 26 
3.1.1　 赋值运算符 26 
3.1.2　 算术运算符 27 
3.1.3　 逻辑运算符 29 
3.1.4　 关系运算符 31 
3.1.5　 三目运算符 32 
3.1.6　 位运算符 33 
3.2　 单目运算符 34 
3.2.1　 前置单目运算符 34 
3.2.2　 后置单目运算符 35 
3.3　 运算符实例程序 37 
3.4　 小结 38 
3.5　 习题 38 
第4章　 标准输入/输出 39 
4.1　 c语言标准输入 39 
4.1.1　 scanf()概述 39 
4.1.2　 包含标准输入头文件 40 
4.1.3　 使用scanf()获取数据 40 
4.2　 c语言标准输出 41 
4.2.1　 printf()概述 41 
4.2.2　 使用printf()输出数据 41 
4.2.3　 实例程序 42 
4.3　 使用getchar()和putchar() 43 
4.3.1　 使用getchar() 43 
4.3.2　 使用putchar() 44 
4.4　 标准输入/输出实例程序 45 
4.5　 小结 46 
4.6　 习题 46 
第5章　 c语言控制结构 47 
5.1　 条件编译结构 47 
5.1.1　 if结构 47 
5.1.2　 if...else结构 49 
5.2　 循环结构 52 
5.2.1　 while循环结构 52 
5.2.2　 do...while循环结构 54 
5.2.3　 for循环结构 56 
5.3　 终止循环 58 
5.3.1　 使用break终止循环 58 
5.3.2　 使用continue终止循环 59 
5.4　 选择结构 60 
5.4.1　 switch结构简介 60 
5.4.2　 switch使用要点 63 
5.5　 嵌套结构 63 
5.5.1　 嵌套使用if语句 63 
5.5.2　 嵌套使用while语句 66 
5.5.3　 嵌套使用if和while语句 67 
5.6　 输出控制结构 68 
5.6.1　 格式化输出控制符的使用 68 
5.6.2　 格式化输出数据实例 71 
5.7　 小结 72 
5.8　 习题 72 
第6章　 函数 73 
6.1　 c语言中的函数概述 73 
6.1.1　 函数的定义格式 73 
6.1.2　 函数参数和返回值 74 
6.1.3　 函数中的变量作用域 76 
6.2　 函数调用 78 
6.2.1　 函数的调用方式 78 
6.2.2　 函数的嵌套调用 78 
6.2.3　 函数的递归调用 80 
6.3　 函数实例程序 81 
6.4　 小结 82 
6.5　 习题 83 
第7章　 宏指令#include和#define 84 
7.1　 #include介绍 84 
7.1.1　 使用#include包含相关文件 84 
7.1.2　 使用#include的具体位置 85 
7.2　 #define介绍 87 
7.2.1　 对常量进行重定义 87 
7.2.2　 对标识符进行重定义 88 
7.2.3　 对算术表达式进行重定义 90 
7.3　 宏指令#include和#define实例程序 91 
7.4　 小结 92 
7.5　 习题 92 
第8章　 数组 93 
8.1　 c程序数组基础知识 93 
8.1.1　 什么是数组 93 
8.1.2　 定义一维数组 94 
8.1.3　 定义二维数组 95 
8.2　 数组初始化 97 
8.2.1　 一维数组初始化 98 
8.2.2　 二维数组初始化 99 
8.3　 输出数组中的元素 101 
8.3.1　 数组下标介绍 101 
8.3.2　 输出数组中的指定元素 101 
8.4　 数组实例程序 104 
8.5　 小结 106 
8.6　 习题 106 
第9章　 字符串 107 
9.1　 字符串概述 107 
9.2　 存储字符串 108 
9.2.1　 字符串结束符 108 
9.2.2　 使用数组存储字符串 109 
9.3　 字符串数组 109 
9.3.1　 定义字符串数组 109 
9.3.2　 初始化字符串数组 110 
9.3.3　 输入/输出字符串数组 112 
9.4　 字符串操作 115 
9.4.1　 复制字符串 115 
9.4.2　 连接字符串 117 
9.4.3　 比较字符串 117 
9.5　 字符串实例程序 119 
9.6　 小结 121 
9.7　 习题 121 
第二篇　 编程提高篇 
第10章　 指针 123 
10.1　 指针的基本概念 123 
10.1.1　 指针与地址 123 
10.1.2　 取地址运算符“&” 124 
10.2　 定义指针变量 125 
10.2.1　 指针定义符“*” 125 
10.2.2　 定义空指针 125 
10.3　 初始化指针变量 128 
10.4　 使用指针变量输出数据与地址 128 
10.4.1　 输出数据 129 
10.4.2　 输出数据的内存地址 131 
10.5　 指针实例程序 133 
10.6　 小结 135 
10.7　 习题 135 
第11章　 结构体和共用体 136 
11.1　 结构体的定义 136 
11.1.1　 定义结构体 136 
11.1.2　 添加结构体成员变量 136 
11.2　 定义结构体变量 137 
11.3　 使用结构体 139 
11.3.1　 初始化结构体成员变量 139 
11.3.2　 访问结构体成员变量 141 
11.3.3　 修改结构体成员变量 141 
11.4　 共用体的定义 142 
11.4.1　 定义共用体 142 
11.4.2　 添加共用体成员变量 143 
11.5　 使用共用体 144 
11.5.1　 定义共用体变量 144 
11.5.2　 操作共用体变量 144 
11.6　 结构体和共用体实例程序 145 
11.7　 小结 148 
11.8　 习题 148 
第12章　 数组指针 149 
12.1　 数组地址与指针的联系 149 
12.1.1　 数组首地址 149 
12.1.2　 使用指针指向数组首地址 150 
12.2　 使用指针遍历数组元素 152 
12.2.1　 通过指针初始化数组元素 152 
12.2.2　 通过指针运算输出数组元素 155 
12.2.3　 通过指针变量输出数组元素的地址 157 
12.3　 数组指针实例程序 158 
12.4　 小结 162 
12.5　 习题 162 
第13章　 结构体指针 163 
13.1　 结构体指针介绍 163 
13.1.1　 结构体指针定义 163 
13.1.2　 初始化结构体指针 165 
13.1.3　 指针访问运算符“-]” 166 
13.2　 使用指针操作结构体成员 167 
13.3　 结构体指针实例程序 168 
13.4　 链表 170 
13.4.1　 链表介绍 170 
13.4.2　 链表结点定义 172 
13.4.3　 链表的创建 172 
13.4.4　 链表的遍历 173 
13.4.5　 链表的插入操作 174 
13.4.6　 链表的删除操作 175 
13.5　 小结 176 
13.6　 习题 176 
第14章　 函数指针 177 
14.1　 使用指针作为函数参数 177 
14.1.1　 使用数组指针作为函数实参 177 
14.1.2　 使用结构体指针作为函数实参 178 
14.1.3　 使用指针变量作为函数形参 179 
14.2　 函数返回值为指针类型 181 
14.3　 函数指针变量 183 
14.4　 函数指针实例程序 185 
14.5　 小结 189 
14.6　 习题 189 
第15章　 动态内存分配 190 
15.1　 概述 190 
15.2　 内存分配函数介绍 190 
15.2.1　 malloc函数 191 
15.2.2　 calloc函数 192 
15.2.3　 realloc函数 193 
15.3　 释放内存 194 
15.4　 动态内存分配实例程序 195 
15.5　 小结 198 
15.6　 习题 198 
第16章　 条件编译机制 199 
16.1　 条件编译格式概述 199 
16.1.1　 #ifdef-#else-#endif格式 199 
16.1.2　 #ifndef-#else-#endif格式 200 
16.1.3　 #if-#else-#endif格式 200 
16.2　 条件编译实例程序 201 
16.3　 小结 205 
16.4　 习题 205 
第17章　 文件操作 206 
17.1　 基本概念 206 
17.1.1　 文件 206 
17.1.2　 文件指针 206 
17.1.3　 文件存储方式—文本方式和二进制方式 207 
17.2　 文件操作 207 
17.2.1　 打开文件 208 
17.2.2　 读取文件 209 
17.2.3　 写入文件 210 
17.2.4　 判断文件数据是否结束 210 
17.2.5　 实现字符数据的读写 211 
17.2.6　 实现字符串数据的读写 212 
17.2.7　 文件操作实例程序 213 
17.3　 fread()和fwrite()实现文件读写 215 
17.3.1　 fread()读取文件 216 
17.3.2　 fwrite()写入文件 216 
17.4　 文件数据格式化操作 218 
17.4.1　 格式化读取文件（fscanf()函数） 219 
17.4.2　 格式化写入文件（fprintf()函数） 219 
17.5　 文件定位 220 
17.5.1　 定位文件开始（rewind()函数） 220 
17.5.2　 移动文件指针（fseek()函数） 221 
17.5.3　 获取文件指针当前位置（ftell()函数） 221 
17.6　 小结 222 
17.7　 习题 222 
第18章　 数据库编程 223 
18.1　 数据库基础知识 223 
18.1.1　 数据库简介 223 
18.1.2　 数据库访问技术 224 
18.2　 创建access数据库 224 
18.2.1　 菜单栏和工具栏 225 
18.2.2　 新建数据库 225 
18.2.3　 新建数据表 227 
18.2.4　 保存数据表 228 
18.3　 创建sql server数据库 228 
18.3.1　 用sql server管理控制台创建数据库和表 228 
18.3.2　 odbc数据源配置 231 
18.4　 使用odbc api数据库编程 232 
18.4.1　 odbc api编程模型 233 
18.4.2　 odbc api编程实现步骤 234 
18.5　 使用ado数据库编程 238 
18.5.1　 导入ado的动态链接库 238 
18.5.2　 初始化ado控件环境 239 
18.5.3　 ado库接口 239 
18.6　 数据库开发实例 240 
18.7　 小结 244 
18.8　 习题 244 
第三篇　 数据结构与算法篇 
第19章　 线性数据结构 245 
19.1　 数据结构与算法概述 245 
19.1.1　 数据结构概述 245 
19.1.2　 算法的概述 247 
19.1.3　 数据结构与算法 249 
19.2　 线性表 250 
19.2.1　 线性表的定义 250 
19.2.2　 线性表的基本运算 251 
19.2.3　 线性表的存储结构 252 
19.3　 栈 257 
19.3.1　 栈的定义 257 
19.3.2　 栈的基本运算 258 
19.3.3　 栈的存储结构 258 
19.4　 队列 262 
19.4.1　 队列的定义 262 
19.4.2　 队列的基本运算 263 
19.4.3　 队列的存储结构 263 
19.5　 小结 268 
19.6　 习题 268 
第20章　 非线性数据结构 269 
20.1　 二叉树 269 
20.1.1　 二叉树的定义 269 
20.1.2　 二叉树的性质 270 
20.1.3　 二叉树的存储结构 270 
20.1.4　 二叉树的遍历 274 
20.2　 图 279 
20.2.1　 图的定义 279 
20.2.2　 图的存储结构 281 
20.2.3　 图的遍历 284 
20.3　 小结 287 
20.4　 习题 287 
第21章　 数据操作 288 
21.1　 查找 288 
21.1.1　 查找的定义 288 
21.1.2　 顺序查找 288 
21.1.3　 折半查找 289 
21.2　 排序 292 
21.2.1　 排序的定义 292 
21.2.2　 简单排序 292 
21.2.3　 快速排序 299 
21.3　 小结 301 
21.4　 习题 301 
第四篇　 实例项目篇 
第22章　 利用c语言实现教学管理系统 303 
22.1　 项目概述 303 
22.1.1　 概述 303 
22.1.2　 实例中的相关文件 303 
22.1.3　 实例程序的相关功能 304 
22.2　 自定义数据文件 308 
22.2.1　 各数据文件准备 309 
22.2.2　 自定义文件数据读取函数 310 
22.2.3　 自定义文件数据写入函数 312 
22.3　 数据库设计及连接 314 
22.3.1　 定义各数据表 314 
22.3.2　 自定义数据库连接函数 316 
22.4　 数据库操作 317 
22.4.1　 登录模块 317 
22.4.2　 数据读取 320 
22.4.3　 数据添加 322 
22.4.4　 数据删除 323 
22.5　 系统部署和运行 324 
22.5.1　 数据文件的准备 324 
22.5.2　 数据库、数据表的创建 324 
22.5.3　 用户参数定制 324 
22.6　 小结 324 
附录1　 turbo c中常见错误提示的中英文对照 325 
附录2　 visual c++中常见的错误提示 329 
附录3　 ascii编码 335 
附录4　 turbo c中的各种数据类型 339 
附录5　 函数间传递参数时类型的自动转换 340 
附录6　 c标准库介绍 341