第一篇 C语言入门篇<br>第1章 C语言与程序概述<br>1.1 C语言的历史沿革<br>1.1.1 C语言的诞生<br>1.1.2 C语言的发展历程<br>1.1.3 C语言的特点<br>1.1.4 第一个C程序--Hello, world!<br>1.2 数据结构与算法<br>1.2.1 什么是数据结构<br>1.2.2 什么是算法<br>1.3 程序设计概述<br>1.3.1 结构化程序设计<br>1.3.2 三种基本结构<br>1.3.3 算法描述方法<br>1.4 小结<br>1.5 习题<br>第2章 C语言编程准备<br>2.1 C程序简介<br>2.1.1 简单C程序示例<br>2.1.2 C程序的特点<br>2.1.3 标识符与关键字<br>2.1.4 C程序的执行步骤<br>2.2 C程序开发环境<br>2.2.1 Turbo C<br>2.2.2 Visual C++ 2005<br>2.2.3 GCC 3.2.2<br>2.3 小结<br>2.4 习题<br>第二篇 C语言基础篇<br>第3章 常量与变量<br>3.1 常量和变量概述<br>3.1.1 常量<br>3.1.2 变量<br>3.2 变量的使用<br>3.2.1 声明变量<br>3.2.2 定义变量<br>3.2.3 使用extern声明变量<br>3.2.4 变量赋值及初始化<br>3.2.5 地址操作符和指针操作符<br>3.3 格式化输入输出<br>3.3.1 标准输出函数--printf函数<br>3.3.2 标准输入函数--scanf函数<br>3.4 数据类型简介<br>3.5 小结<br>3.6 习题<br>第4章 基本数据类型<br>4.1 整型数据类型<br>4.1.1 字节长度<br>4.1.2 符号修饰符<br>4.1.3 整型常量<br>4.1.4 整型变量<br>4.1.5 存储方式<br>4.1.6 数值范围<br>4.2 字符型数据类型<br>4.2.1 字节长度<br>4.2.2 字符常量<br>4.2.3 字符变量<br>4.2.4 存储方式<br>4.3 浮点型数据类型<br>4.3.1 字节长度<br>4.3.2 浮点型常量<br>4.3.3 浮点型变量<br>4.3.4 精度<br>4.3.5 数值范围<br>4.3.6 存储方式<br>4.4 用户自定义类型<br>4.4.1 typedef的标准形式<br>4.4.2 合理使用typedef<br>4.5 限定词const与volatile<br>4.5.1 使用const<br>4.5.2 使用volatile<br>4.6 小结<br>4.7 习题<br><br>第5章 表达式与操作符<br>5.1 表达式和语句<br>5.1.1 表达式<br>5.1.2 语句<br>5.1.3 复合语句<br>5.1.4 C语言的操作符<br>5.2 赋值操作符与赋值表达式<br>5.2.1 赋值操作符<br>5.2.2 赋值操作符的结合性<br>5.2.3 左值和右值<br>5.2.4 隐式类型转换<br>5.2.5 强制类型转换<br>5.3 运算操作符与运算表达式<br>5.3.1 运算操作符<br>5.3.2 符号操作符<br>5.3.3 优先级与结合性<br>5.3.4 数值运算中的类型转换<br>5.3.5 复合赋值操作符<br>5.4 自增自减操作符<br>5.4.1 自增操作符<br>5.4.2 自减操作符<br>5.4.3 优先级与结合性<br>5.4.4 自增、自减操作符的编译过程<br>5.4.5 注意事项<br>5.5 关系操作符与关系表达式<br>5.5.1 关系操作符<br>5.5.2 关系表达式的值<br>5.5.3 优先级与结合性<br>5.6 逻辑操作符与逻辑表达式<br>5.6.1 逻辑操作符<br>5.6.2 逻辑表达式的值<br>5.6.3 优先级和结合性<br>5.6.4 逻辑表达式<br>5.7 逗号操作符与逗号表达式<br>5.7.1 逗号操作符<br>5.7.2 逗号表达式的值<br>5.8 操作符优先级和结合性<br>5.8.1 优先级和结合性<br>5.8.2 优先级的改变<br>5.8.3 注意事项<br>5.9 小结<br>5.10 习题<br>第三篇 结构编程篇<br>第6章 选择结构<br>6.1 if语句<br>6.1.1 if语句的基本形式<br>6.1.2 else和if的配对使用<br>6.1.3 选择结构中的不平等分支<br>6.1.4 条件表达式中的=与==<br>6.2 switch语句<br>6.2.1 switch语句的基本形式<br>6.2.2 break语句<br>6.2.3 else if语句和switch语句<br>6.2.4 switch中的标号<br>6.2.5 使用具名常量组成标号<br>6.3 条件操作符与条件表达式<br>6.3.1 条件操作符的基本形式<br>6.3.2 条件表达式与if-else<br>6.3.3 条件表达式中的类型转换<br>6.3.4 条件表达式的嵌套<br>6.4 逻辑表达式的隐式选择<br>6.4.1 逻辑表达式的特点<br>6.4.2 隐式选择的作用<br>6.4.3 巧用隐式选择<br>6.5 小结<br>6.6 习题<br>第7章 循环结构<br>7.1 for语句<br>7.1.1 for语句的基本形式<br>7.1.2 for头中的三个表达式<br>7.1.3 for头中的逗号表达式<br>7.1.4 for语句的嵌套<br>7.1.5 for语句示例<br>7.2 while语句<br>7.2.1 while语句的基本形式<br>7.2.2 while语句与for语句<br>7.2.3 while语句示例<br>7.3 do-while语句<br>7.3.1 do-while语句的基本形式<br>7.3.2 do-while语句与while语句<br>7.3.3 do-while语句示例<br>7.4 continue语句与break语句<br>7.4.1 continue语句<br>7.4.2 continue语句与if语句<br>7.4.3 break语句<br>7.4.4 使用break语句终止多层循环<br>7.5 goto语句<br>7.5.1 goto语句的基本形式<br>7.5.2 使用goto语句构成循环<br>7.5.3 注意事项<br>7.6 循环结构与选择结构的嵌套<br>7.6.1 if-while与while-if<br>7.6.2 使用选择结构包含循环结构<br>7.7 小结<br>7.8 习题<br>第四篇 数组和字符串篇<br>第8章 数组<br>8.1 一维数组<br>8.1.1 定义一维数组<br>8.1.2 访问一维数组元素<br>8.1.3 初始化一维数组<br>8.1.4 数组的存储形式<br>8.1.5 注意事项<br>8.1.6 一维数组示例<br>8.2 二维数组<br>8.2.1 定义二维数组<br>8.2.2 访问二维数组元素<br>8.2.3 二维数组的存储方式<br>8.2.4 初始化二维数组<br>8.2.5 二维数组示例<br>8.3 多维数组<br>8.3.1 定义多维数组<br>8.3.2 多维数组示例<br>8.4 小结<br>8.5 习题<br>第9章 字符串<br>9.1 字符数组<br>9.1.1 字符数组的定义<br>9.1.2 字符数组的初始化<br>9.1.3 二维字符数组<br>9.1.4 字符数组示例<br>9.2 字符串<br>9.2.1 字符串常量<br>9.2.2 字符串变量<br>9.2.3 格式化输出字符串<br>9.2.4 格式化输入字符串<br>9.3 字符串应用示例<br>9.3.1 取字符串长度<br>9.3.2 统计单词数<br>9.3.3 颠倒单词顺序<br>9.3.4 改进的颠倒单词顺序实现<br>9.4 小结<br>9.5 习题<br>第五篇 函数篇<br>第10章 函数<br>10.1 函数概述<br>10.1.1 模块化编程<br>10.1.2 定义函数<br>10.1.3 调用函数<br>10.1.4 函数使用示例<br>10.1.5 改进的算术运算函数<br>10.2 函数声明<br>10.2.1 声明的形式<br>10.2.2 声明与定义<br>10.3 函数值与形参列表<br>10.3.1 函数值类型<br>10.3.2 形参列表<br>10.3.3 函数返回值<br>10.3.4 const形参<br>10.4 函数体<br>10.4.1 函数体的变量定义<br>10.4.2 检查形参<br>10.4.3 return语句<br>10.5 main函数<br>10.5.1 main函数的声明<br>10.5.2 函数值类型<br>10.5.3 带参数的main函数<br>10.6 小结<br>10.7 习题<br>第11章 函数与文件<br>11.1 多文件的程序<br>11.1.1 文件的类型<br>11.1.2 C工程的组织结构<br>11.1.3 一个简单的多文件工程<br>11.2 实现多文件工程<br>11.2.1 Turbo C下实现多文件工程<br>11.2.2 Visual C++ 2005下实现多文件工程<br>11.2.3 GCC 3.2.2下实现多文件工程<br>11.3 函数的调用<br>11.3.1 嵌套调用<br>11.3.2 递归调用<br>11.3.3 递归调用示例<br>11.4 外部函数与内部函数<br>11.4.1 外部函数<br>11.4.2 内部函数<br>11.4.3 应用示例<br>11.5 小结<br>11.6 习题<br>第12章 函数中的变量<br>12.1 生存期和作用域<br>12.1.1 变量的生存期<br>12.1.2 变量的作用域<br>12.2 局部变量和全局变量<br>12.2.1 局部变量<br>12.2.2 全局变量<br>12.2.3 初始化全局变量<br>12.2.4 合理使用全局变量<br>12.2.5 注意事项<br>12.3 变量的存储类别<br>12.3.1 内存存储区<br>12.3.2 auto变量<br>12.3.3 static变量<br>12.3.4 register变量<br>12.3.5 extern变量<br>12.4 小结<br>12.5 习题<br>第13章 字符串处理函数<br>13.1 输入输出函数<br>13.1.1 字符输入输出函数<br>13.1.2 字符串输入输出函数<br>13.2 复制和拼接函数<br>13.2.1 字符串复制函数<br>13.2.2 字符串拼接函数<br>13.3 比较和转换函数<br>13.3.1 字符串比较函数<br>13.3.2 字符串转换函数<br>13.4 小结<br>13.5 习题<br>第六篇 指针篇<br>第14章 指针<br>14.1 指针概述<br>14.1.1 访问内存的两种方式<br>14.1.2 指针的概念<br>14.1.3 指针变量的定义<br>14.2 指针的使用<br>14.2.1 指针变量的赋值<br>14.2.2 将指针变量赋值为整数<br>14.2.3 初始化指针变量<br>14.2.4 const指针<br>14.3 指针与函数<br>14.3.1 指针形参<br>14.3.2 指针型函数<br>14.3.3 函数型指针<br>14.4 void型指针<br>14.5 小结<br>14.6 习题<br>第15章 再论指针<br>15.1 指针与数组<br>15.1.1 指向数组元素的指针<br>15.1.2 指针访问数组<br>15.1.3 数组指针和数组变量<br>15.1.4 数组指针作为函数形参<br>15.1.5 调用含数组形参的函数<br>15.2 指针与二维数组<br>15.2.1 二维数组的地址<br>15.2.2 指针法访问二维数组<br>15.2.3 二维数组形参<br>15.3 指针与字符<br>15.3.1 字符指针<br>15.3.2 字符指针应用示例<br>15.3.3 字符指针数组<br>15.4 小结<br>15.5 习题<br>第七篇 高级应用篇<br>第16章 堆管理<br>16.1 动态内存管理<br>16.1.1 分配内存空间<br>16.1.2 释放内存空间<br>16.2 其他分配函数<br>16.2.1 calloc函数<br>16.2.2 realloc函数<br>16.3 动态数组<br>16.4 小结<br>16.5 习题<br>第17章 位运算操作符<br>17.1 位运算概述<br>17.2 位运算操作符<br>17.2.1 取反操作符(~)<br>17.2.2 位或操作符(|)<br>17.2.3 位与操作符(&)<br>17.2.4 异或操作符(^)<br>17.2.5 右移操作符(>>)<br>17.2.6 左移操作符(<<)<br>17.2.7 位运算赋值操作符<br>17.3 位运算操作符使用示例<br>17.3.1 循环移位<br>17.3.2 使用子网掩码<br>17.4 小结<br>17.5 习题<br>第18章 结构体<br>18.1 结构体<br>18.1.1 声明结构体类型<br>18.1.2 定义结构体变量<br>18.1.3 结构体的存储形式<br>18.2 结构体的应用<br>18.2.1 访问结构体成员<br>18.2.2 初始化结构体变量<br>18.2.3 结构体变量的赋值<br>18.3 结构体数组<br>18.3.1 定义结构体数组<br>18.3.2 初始化结构体数组<br>18.3.3 结构体数组示例<br>18.4 结构体指针<br>18.4.1 指向结构体变量的指针<br>18.4.2 指向堆空间的结构体指针<br>18.4.3 指向结构体数组元素的指针<br>18.5 小结<br>18.6 习题<br>第19章 共用体、枚举和位域<br>19.1 共用体<br>19.1.1 声明共用体类型<br>19.1.2 定义共用体变量<br>19.2 枚举<br>19.2.1 声明枚举类型<br>19.2.2 使用枚举变量<br>19.3 位域<br>19.3.1 位域的概念<br>19.3.2 位域的字长<br>19.3.3 位域的存储形式<br>19.4 小结<br>19.5 习题<br>第20章 预处理<br>20.1 宏定义<br>20.2 宏对象<br>20.2.1 定义宏对象<br>20.2.2 替换字符串<br>20.2.3 说明形参属性<br>20.2.4 宏的作用域<br>20.2.5 标准宏对象<br>20.3 宏函数<br>20.3.1 定义宏函数<br>20.3.2 宏函数与函数<br>20.4 条件编译<br>20.4.1 #ifdef命令<br>20.4.2 #ifndef命令<br>20.4.3 #if命令<br>20.4.4 defined宏函数<br>20.5 文件包含<br>20.5.1 #include命令<br>20.5.2 注意事项<br>20.6 小结<br>20.7 习题<br>第八篇 综合案例篇<br>第21章 图书管理系统开发实例<br>21.1 需求分析<br>21.2 系统设计<br>21.2.1 概要设计<br>21.2.2 数据结构<br>21.3 主程序--main模块<br>21.4 用户界面模块<br>21.4.1 程序流程<br>21.4.2 代码实现<br>21.4.3 设计主界面<br>21.4.4 设计增加书籍菜单<br>21.4.5 设计删除书籍菜单<br>21.4.6 设计检索书籍菜单<br>21.4.7 设计导入书籍菜单<br>21.4.8 退出系统<br>21.5 日志模块<br>21.5.1 打开和关闭文件<br>21.5.2 文件的格式化读写<br>21.5.3 打开和关闭日志文件<br>21.5.4 记录日志<br>21.6 数据管理模块<br>21.6.1 处理时间数据<br>21.6.2 处理书籍数据<br>21.6.3 增加书籍<br>21.6.4 删除书籍<br>21.6.5 查询书籍<br>21.6.6 导入书籍数据<br>21.7 小结
展开