《c语言程序设计》
前言
教学建议
第1章 程序设计概述
1.1 程序和程序设计语言
1.1.1 程序与程序设计
1.1.2 程序设计语言
1.1.3 高级语言程序的实现
1.1.4 c语言的发展
1.2 简单的c语言程序
1.2.1 两个简单的c程序例子
1.2.2 c程序概貌
1.2.3 c程序的处理和执行
1.3 实现问题的求解过程
1.3.1 结构化程序设计基本思想
1.3.2 三种基本结构
1.3.3 结构化程序设计的过程
1.4 案例学习——计算三角形的面积
上机实验1——熟悉c语言编程环境
习题1
.第2章 c程序设计基础
2.1 案例引入——计算三角形的面积
2.2 常量、数据的存储与数据类型
2.2.1 基本数据类型
2.2.2 常量
2.2.3 数据的存储
2.3 运算符和表达式
2.3.1 算术运算符与算术表达式
2.3.2 赋值运算符与赋值表达式
2.3.3 数据类型的转换
2.4 数据的输出和输入
2.4.1 格式输出函数printf()
2.4.2 格式输入函数scanf()
2.5 案例学习——华氏温度与摄氏温度的转换
2.6 编程体会
上机实验2——简单程序设计
习题2
第3章 程序的控制结构ⅰ——选择结构程序设计
3.1 案例引入——判断闰年
3.2 二分支选择结构
3.2.1 关系运算与关系表达式
3.2.2 逻辑运算与逻辑表达式
3.2.3 基本的if语句
3.3 多分支选择结构
3.3.1 else-if语句
3.3.2 嵌套的if-else语句
3.3.3 switch语句
3.4 案例学习——计算一年中某月份的总天数
3.5 编程体会
上机实验3——选择结构程序设计
习题3
第4章 程序的控制结构ⅱ——循环结构程序
设计
4.1 案例引入——求1到20之和
4.2 自增自减运算符
4.3 前测循环——while语句和for语句
4.3.1 while语句
4.3.2 for语句
4.4 后测循环——do-while语句
4.5 循环的嵌套
4.6 break语句和continue语句
4.7 案例学习——循环程序设计技术
4.8 编程体会
上机实验4——循环结构程序设计
习题4
第5章 模块化程序设计ⅰ——函数
5.1 案例引入——计算立方体的体积
5.2 模块化程序设计概述
5.3 自定义函数
5.3.1 函数的定义和返回值
5.3.2 函数的调用
5.3.3 自定义函数程序设计实例
5.4 标准库函数
5.4.1 数学库函数
5.4.2 字符处理函数
5.4.3 随机函数
5.5 变量与函数
5.5.1 局部变量和全局变量
5.5.2 变量的生命周期
5.6 递归
5.7 案例学习——计算圆的面积和21点游戏
5.8 编程体会
上机实验5——用函数编写程序
习题5
第6章 数据的组织ⅰ——数组
6.1 案例引入——求学生的平均身高及每个
学生与平均身高之差
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.4 字符串
6.4.1 字符数组
6.4.2 字符串处理函数
6.5 查找与排序算法
6.5.1 数据查找
6.5.2 排序问题
6.6 案例学习——计算平均成绩与字符串
排序
6.7 编程体会
上机实验6——数组程序设计
习题6
第7章 指针
7.1 案例引入——获取键盘数据
7.2 地址与指针
7.3 指针运算
7.4 指针与函数
7.4.1 指针参数
7.4.2 返回指针的函数
7.4.3 指向函数的指针
7.5 指针与数组
7.5.1 指针与一维数组
7.5.2 指针与二维数组
7.5.3 指针数组
7.5.4 数组参数的传递
7.6 指针与字符串
7.7 案例学习——洗牌与发牌
7.8 编程体会
上机实验7——使用指针进行程序设计
习题7
第8章 模块化程序设计ⅱ——程序的组织
8.1 案例引入——多源文件程序的编写
8.2 编译预处理
8.2.1 文件包含
8.2.2 宏定义
8.2.3 条件编译
8.2.4 其他预编译命令
8.3 字节序
8.4 命令行参数与环境变量
8.5 程序组织
8.5.1 全局变量的使用
8.5.2 函数声明与定义
8.5.3 头文件
8.5.4 多文件的程序组织
8.6 案例学习——万年历
8.7 编程体会
上机实验8——多文件程序设计
习题8
第9章 数据的组织ⅱ——结构体与链表
9.1 案例引入——学生信息管理
9.2 结构体
9.2.1 定义结构类型
9.2.2 定义嵌套结构
9.3 结构变量
9.3.1 结构变量的定义与初始化
9.3.2 结构变量成员的访问
9.4 结构数组
9.5 结构指针
9.5.1 结构指针的使用
9.5.2 结构指针作为函数的参数
9.6 自定义类型声明
9.7 链表
9.7.1 链表结点的定义
9.7.2 动态内存管理
9.7.3 动态链表
9.8 案例学习——通讯录管理
9.9 编程体会
上机实验9——结构体与链表
习题9
第10章 文件
10.1 案例引入——通讯录管理
10.2 文件的概念
10.2.1 文件的分类
10.2.2 文件的操作
10.3 文件指针
10.4 文件的打开和关闭
10.4.1 打开文件
10.4.2 关闭文件
10.4.3 标准文件指针
10.5 文件的读写
10.5.1 fgetc()函数
10.5.2 fputc()函数
10.5.3 fgets()函数
10.5.4 fputs()函数
10.5.5 fscanf()函数和fprintf()函数
10.5.6 fread()函数和fwrite()函数
10.6 文件的定位
10.7 文件的检测
10.8 案例学习——基于文件的通讯录管理
10.9 编程体会
上机实验10——使用文件编程
习题10
附录a 运算符的优先级和结合性
附录b ascii字符集
附录c 常用库函数
参考文献