第1章 c语言程序设计导引
1.1 程序与程序设计语言
1.1.1 计算机与程序
1.1.2 程序设计语言
1.1.3 程序开发过程
1.2 c语言相关知识概述
1.2.1 c语言的历史沿革
1.2.2 c语言的特点
1.3 c语言程序设计快速入门
1.3.1 helloworld程序开发过程
1.3.2 c语言的基本输入/输出
1.3.3 c语言程序的基本结构
1.3.4 c语言程序的简单调试
1.4 案例分析
1.4.1 helloworld程序的扩展
1.4.2 纸张对折多少次到月球
1.4.3 ipv6地址能分配多久
1.4.4 计算机系统中的计时问题
1.4.5 超市计费系统1.0版
小结
习题与实践
第2章 数据类型、运算符与表达式
2.1 数据类型
2.1.1 基本数据类型
2.1.2 构造数据类型
2.1.3 指针和void类型
2.2 常量与变量
2.2.1 常量
2.2.2 变量
2.3 运算符与表达式
2.3.1 算术运算符
2.3.2 赋值运算符
2.3.3 关系运算符
2.3.4 逻辑运算符
2.3.5 逗号运算符
2.3.6 条件运算符
2.3.7 位运算
2.3.8 表达式求值
2.4 数据类型转换
2.4.1 自动转换
2.4.2 强制转换
2.5 案例分析
2.5.1 计算机中的数学
2.5.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 if语句
3.3.2 switch语句
3.3.3 多分支结构总结
3.4 循环结构程序设计
3.4.1 引述
3.4.2 while语句
3.4.3 do...while语句
3.4.4 for 语句
3.4.5 循环中的问题
3.4.6 循环的嵌套
3.5 案例分析
3.5.1 超市计费系统2.0版
3.5.2 模拟龟兔赛跑1.0版
3.5.3 猜数游戏1.0版
小结
习题与实践
第4章 函数与模块化程序设计
4.1 函数
4.1.1 函数的定义与声明
4.1.2 函数的调用与传参
4.1.3 函数的嵌套调用与递归调用
4.2 变量的存储属性
4.2.1 变量的生存期与作用域
4.2.2 变量的存储类别
4.3 编译预处理
4.3.1 包含头文件
4.3.2 宏定义及宏展开
4.3.3 条件编译
4.3.4 特殊符号处理
4.4 模块化编译链接
4.4.1 分别编译
4.4.2 链接
4.5 案例分析
4.5.1 模拟龟兔赛跑2.0版
4.5.2 猜数游戏2.0版
4.5.3 模拟银行atm自动取款机
4.5.4 石头剪刀布游戏
4.5.5 小学生四则运算练习软件
小结
习题与实践
第5章 数组
5.1 数组的引入
5.2 一维数组
5.2.1 一维数组的定义
5.2.2 一维数组元素的引用
5.2.3 一维数组的初始化
5.2.4 一维数组与函数的关系
5.2.5 一维数组的简单应用
5.2.6 排序与查找
5.3 二维数组
5.3.1 二维数组的定义
5.3.2 二维数组元素的引用
5.3.3 二维数组的初始化
5.3.4 二维数组的应用
5.4 字符数组与字符串
5.4.1 字符数组与字符串
5.4.2 字符串输入输出
5.4.3 字符串处理库函数
5.4.4 字符串的应用
5.5 案例分析
5.5.1 学籍管理系统
5.5.2 奇数阶魔方矩阵
小结
习题与实践
第6章 指针
6.1 指针基础
6.1.1 指针的概念
6.1.2 指针的运算
6.1.3 空指针与指向void的指针
6.1.4 多级指针
6.2 指针与数组
6.2.1 指向数组元素的指针
6.2.2 指向数组的指针
6.2.3 指针数组
6.2.4 数组作为函数参数
6.2.5 指针与字符串
6.3 指针与函数
6.3.1 指针作为函数的参数
6.3.2 指向函数的指针
6.3.3 返回指针的函数
6.3.4 命令行参数
6.3.5 动态内存分配
6.4 案例分析
6.4.1 寻找最长行
6.4.2 输入模式匹配
6.4.3 输入验证处理
6.4.4 基本数据类型的存储表示
小结
习题与实践
第7章 用户定制数据类型
7.1 结构体类型基础
7.1.1 结构体类型定义
7.1.2 结构体变量的定义及初始化
7.1.3 结构体变量的引用
7.2 结构体数组
7.2.1 结构体数组的定义与初始化
7.2.2 结构体数组元素的引用
7.3 结构体指针
7.3.1 指向结构体变量的指针
7.3.2 指向结构体数组的指针
7.4 结构体与函数
7.4.1 结构体变量作为函数参数
7.4.2 结构体指针作为函数参数
7.4.3 返回结构体的函数
7.5 链表
7.5.1 链表的概念
7.5.2 简单链表
7.5.3 链表的基本操作
7.6 共用体类型
7.7 枚举类型
7.8 typedef自定义类型
7.9 位段与位操作
7.9.1 位段结构类型及位段结构变量的定义
7.9.2 位段结构的使用
7.10 案例分析
7.10.1 c关键词查找统计
7.10.2 表达式求值
小结
习题与实践
第8章 文件
8.1 文件的相关概念
8.1.1 文件及文件分类
8.1.2 文件名、目录与路径
8.1.3 文件指针与文件位置指针
8.2 文件的打开与关闭
8.2.1 文件的打开
8.2.2 文件的关闭
8.3 文件的读写操作
8.3.1 文件的顺序读写
8.3.2 文件的随机读写
8.4 文件检测函数
8.4.1 文件结束检测函数feof函数
8.4.2 读写文件出错检测函数
8.4.3 文件出错标志和文件结束标志置0函数
8.5 案例分析
8.5.1 英语单词测试系统
8.5.2 软件产权保护系统
小结
习题与实践
第9章 综合案例分析
9.1 同学通讯录系统
9.2 骑士飞行棋游戏
小结
习题与实践
附录a 运算符的优先级与结合性
附录b ascii码表
附录c c语言库函数
参考文献