- 高等教育出版社
- 9787040677799
- 4版
- 16开
内容简介
本书面向高校非计算机类专业的本科生编写,在《C语言程序设计(第3版)》的基础上进行修订升级,并将软件编程环境更新为Visual Studio 2026,这是目前主流且功能强大的编译器。书中的所有代码均在Visual Studio 2026环境下编译通过并能正常运行,同时优化了本书第3版的代码结构。
本书从C语言程序设计的基本概念及程序设计的基本思想出发,贯穿“基础—分析—应用—专题”教学主线,立足基础知识,注重循序渐进与实践应用。为便于教学和自主学习,本书还配套有电子课件和各章的练习答案(不含编程题)。
基础模块的主要内容包括程序设计中的基本概念与应用,如数据类型、变量、数组、控制结构等,在掌握了这些基本概念与应用的基础上,适时引入函数的结构与应用、指针的概念及其应用、排序及查找算法的设计与实现、结构体的应用及文件的操作等应用型知识,然后在上述知识点的基础上进一步介绍数据结构专题,重点讲解链表的概念与应用。
本书适用于高等学校常规教学、水平考试备考,也可供计算机爱好者自学参考。
本书从C语言程序设计的基本概念及程序设计的基本思想出发,贯穿“基础—分析—应用—专题”教学主线,立足基础知识,注重循序渐进与实践应用。为便于教学和自主学习,本书还配套有电子课件和各章的练习答案(不含编程题)。
基础模块的主要内容包括程序设计中的基本概念与应用,如数据类型、变量、数组、控制结构等,在掌握了这些基本概念与应用的基础上,适时引入函数的结构与应用、指针的概念及其应用、排序及查找算法的设计与实现、结构体的应用及文件的操作等应用型知识,然后在上述知识点的基础上进一步介绍数据结构专题,重点讲解链表的概念与应用。
本书适用于高等学校常规教学、水平考试备考,也可供计算机爱好者自学参考。
目录
目录
前辅文
第1章 C语言的基本概念
1.1 程序设计语言的历史和发展
1.2 程序设计过程中的几个基本概念
1.3 编写程序的基本过程
1.4 C语言的发展与特点
1.4.1 C语言的发展和ANSI C标准
1.4.2 C语言的特点
1.5 C语言程序的基本字符集和标识符
1.6 一个简单的实例
1.7 C语言程序的构建和执行
1.8 习题
第2章 C语言程序的基本数据类型及其运算
2.1 C语言的数据类型
2.1.1 数据类型的一般概念
2.1.2 基本数据类型
2.2 常量与变量的应用
2.2.1 常量
2.2.2 变量及变量的定义
2.2.3 变量的初始化
2.3 数据类型转换
2.3.1 隐式类型转换
2.3.2 显式类型转换
2.4 运算符和表达式
2.4.1 运算符和表达式概述
2.4.2 赋值运算符和赋值表达式
2.4.3 算术运算符及算术表达式
2.4.4 关系运算符和关系表达式
2.4.5 逻辑运算符和逻辑表达式
2.4.6 条件运算符
2.4.7 其他运算符
2.5 C语言基本输入输出函数
2.5.1 字符输入/输出函数
2.5.2 格式化输入输出函数
2.6 习题
第3章 C语言程序基本控制结构及其应用
3.1 结构化程序设计方法
3.1.1 结构化程序设计思想
3.1.2 结构化程序设计的基本控制结构
3.2 顺序结构程序设计
3.3 分支结构程序设计
3.3.1 if条件判断语句在程序设计中的应用
3.3.2 开关(switch)分支
3.4 循环结构程序设计
3.4.1 while语句
3.4.2 do
3.4.3 for语句
3.4.4 多重循环
3.4.5 循环和switch分支的中途退出
3.4.6 goto语句
3.5 习题
第4章 数组及其应用
4.1 一维数组
4.1.1 一维数组的定义与初始化
4.1.2 一维数组的引用
4.2 多维数组
4.2.1 多维数组的定义及其在内存中的存储特点
4.2.2 多维数组的引用与初始化
4.3 字符数组与字符串
4.3.1 字符数组的初始化
4.3.2 字符数组的输入/输出
4.3.3 常用字符串处理函数
4.3.4 字符数组的应用举例
4.4 习题
第5章 函数及其应用
5.1 函数的定义与调用
5.1.1 C源程序的结构
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.4 递归函数与递归调用
5.4.1 递归思想
5.4.2 递归函数与调用
5.4.3 递归程序设计
5.5 静态变量的作用域及应用
5.6 习题
第6章 指针
6.1 指针的基本概念及定义方式
6.1.1 指针的基本概念
6.1.2 指针的定义
6.1.3 指针的初始化
6.1.4 指针运算符
6.2 指针的运算
6.3 指针与数组
6.3.1 指向一维数组的指针
6.3.2 指向多维数组的指针
6.4 字符指针和字符串
6.5 指针数组
6.5.1 指针数组的概念
6.5.2 指针数组的应用
6.5.3 指针数组在带形参的main()函数中的应用
6.6 指针在函数参数传递中的应用
6.7 指针型函数
6.7.1 指针型函数的定义和引用
6.7.2 指针型函数的应用举例
6.8 指向函数的指针
6.8.1 指向函数的指针的概念
6.8.2 指向函数的指针的应用
6.9 多级指针
6.9.1 多级指针的概念及定义
6.9.2 多级指针应用举例
6.10 动态指针
6.10.1 动态内存分配的概念
6.10.2 动态内存分配的应用
6.11 习题
第7章 排序及查找算法及其实现
7.1 算法性能分析简介
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.5 插入排序法的设计及实现
7.5.1 插入排序法设计思想
7.5.2 插入排序法的实现
7.6 SHELL排序法的设计及实现
7.6.1 SHELL排序法设计思想
7.6.2 SHELL排序法的实现
7.7 快速排序法的设计及实现
7.7.1 快速排序算法设计思想
7.7.2 快速排序算法的实现
7.7.3 用快速排序法实现字符串的排序
7.8 查找及其应用
7.8.1 顺序查找及其应用
7.8.2 折半查找及其应用
7.9 习题
第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.3.3 结构体指针的应用举例
8.4 结构体对象在函数间的传递
8.4.1 结构体变量的传递
8.4.2 结构体数组在函数间的传递
8.5 结构体指针型函数和结构体型函数
8.5.1 结构体指针型函数
8.5.2 结构体型函数
8.6 结构体嵌套
8.6.1 什么是结构体嵌套
8.6.2 嵌套结构体类型变量的引用
8.6.3 结构体嵌套应用举例
8.7 联合体
8.7.1 联合体的声明及联合体变量的定义
8.7.2 使用联合体变量应注意的问题
8.8 枚举类型
8.8.1 枚举类型数据的概念及其定义
8.8.2 枚举型变量的使用
8.8.3 枚举型变量思考例题
8.9 自定义类型
8.9.1 自定义类型及其表示形式
8.9.2 自定义类型的优点及应用
8.10 习题
第9章 文件操作
9.1 文件概述
9.1.1 文件的概念
9.1.2 流和文件指针
9.2 文件的基本操作
9.2.1 文件的打开
9.2.2 文件的关闭
9.2.3 文件的删除
9.2.4 文件的重命名
9.3 文件的读写操作
9.3.1 文件的非格式化读写
9.3.2 文件的格式化写操作
9.3.3 文件的格式化读操作
9.4 文件的定位
9.4.1 ftell()函数
9.4.2 fseek()函数
9.4.3 feof()函数
9.5 错误处理函数ferror()和perror()
9.6 习题
第10章 链表及其应用
10.1 线性表的基本概念
10.2 链表的基本操作
10.2.1 链表的定义及其基本结构
10.2.2 链表的创建
10.2.3 节点的查找
10.2.4 节点的插入操作
10.2.5 链表中节点的删除
10.2.6 链表中节点增删改查操作例题
10.3 链表的应用
10.4 习题
附录A ASCII码表
附录B 开源C语言函数库
前辅文
第1章 C语言的基本概念
1.1 程序设计语言的历史和发展
1.2 程序设计过程中的几个基本概念
1.3 编写程序的基本过程
1.4 C语言的发展与特点
1.4.1 C语言的发展和ANSI C标准
1.4.2 C语言的特点
1.5 C语言程序的基本字符集和标识符
1.6 一个简单的实例
1.7 C语言程序的构建和执行
1.8 习题
第2章 C语言程序的基本数据类型及其运算
2.1 C语言的数据类型
2.1.1 数据类型的一般概念
2.1.2 基本数据类型
2.2 常量与变量的应用
2.2.1 常量
2.2.2 变量及变量的定义
2.2.3 变量的初始化
2.3 数据类型转换
2.3.1 隐式类型转换
2.3.2 显式类型转换
2.4 运算符和表达式
2.4.1 运算符和表达式概述
2.4.2 赋值运算符和赋值表达式
2.4.3 算术运算符及算术表达式
2.4.4 关系运算符和关系表达式
2.4.5 逻辑运算符和逻辑表达式
2.4.6 条件运算符
2.4.7 其他运算符
2.5 C语言基本输入输出函数
2.5.1 字符输入/输出函数
2.5.2 格式化输入输出函数
2.6 习题
第3章 C语言程序基本控制结构及其应用
3.1 结构化程序设计方法
3.1.1 结构化程序设计思想
3.1.2 结构化程序设计的基本控制结构
3.2 顺序结构程序设计
3.3 分支结构程序设计
3.3.1 if条件判断语句在程序设计中的应用
3.3.2 开关(switch)分支
3.4 循环结构程序设计
3.4.1 while语句
3.4.2 do
3.4.3 for语句
3.4.4 多重循环
3.4.5 循环和switch分支的中途退出
3.4.6 goto语句
3.5 习题
第4章 数组及其应用
4.1 一维数组
4.1.1 一维数组的定义与初始化
4.1.2 一维数组的引用
4.2 多维数组
4.2.1 多维数组的定义及其在内存中的存储特点
4.2.2 多维数组的引用与初始化
4.3 字符数组与字符串
4.3.1 字符数组的初始化
4.3.2 字符数组的输入/输出
4.3.3 常用字符串处理函数
4.3.4 字符数组的应用举例
4.4 习题
第5章 函数及其应用
5.1 函数的定义与调用
5.1.1 C源程序的结构
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.4 递归函数与递归调用
5.4.1 递归思想
5.4.2 递归函数与调用
5.4.3 递归程序设计
5.5 静态变量的作用域及应用
5.6 习题
第6章 指针
6.1 指针的基本概念及定义方式
6.1.1 指针的基本概念
6.1.2 指针的定义
6.1.3 指针的初始化
6.1.4 指针运算符
6.2 指针的运算
6.3 指针与数组
6.3.1 指向一维数组的指针
6.3.2 指向多维数组的指针
6.4 字符指针和字符串
6.5 指针数组
6.5.1 指针数组的概念
6.5.2 指针数组的应用
6.5.3 指针数组在带形参的main()函数中的应用
6.6 指针在函数参数传递中的应用
6.7 指针型函数
6.7.1 指针型函数的定义和引用
6.7.2 指针型函数的应用举例
6.8 指向函数的指针
6.8.1 指向函数的指针的概念
6.8.2 指向函数的指针的应用
6.9 多级指针
6.9.1 多级指针的概念及定义
6.9.2 多级指针应用举例
6.10 动态指针
6.10.1 动态内存分配的概念
6.10.2 动态内存分配的应用
6.11 习题
第7章 排序及查找算法及其实现
7.1 算法性能分析简介
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.5 插入排序法的设计及实现
7.5.1 插入排序法设计思想
7.5.2 插入排序法的实现
7.6 SHELL排序法的设计及实现
7.6.1 SHELL排序法设计思想
7.6.2 SHELL排序法的实现
7.7 快速排序法的设计及实现
7.7.1 快速排序算法设计思想
7.7.2 快速排序算法的实现
7.7.3 用快速排序法实现字符串的排序
7.8 查找及其应用
7.8.1 顺序查找及其应用
7.8.2 折半查找及其应用
7.9 习题
第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.3.3 结构体指针的应用举例
8.4 结构体对象在函数间的传递
8.4.1 结构体变量的传递
8.4.2 结构体数组在函数间的传递
8.5 结构体指针型函数和结构体型函数
8.5.1 结构体指针型函数
8.5.2 结构体型函数
8.6 结构体嵌套
8.6.1 什么是结构体嵌套
8.6.2 嵌套结构体类型变量的引用
8.6.3 结构体嵌套应用举例
8.7 联合体
8.7.1 联合体的声明及联合体变量的定义
8.7.2 使用联合体变量应注意的问题
8.8 枚举类型
8.8.1 枚举类型数据的概念及其定义
8.8.2 枚举型变量的使用
8.8.3 枚举型变量思考例题
8.9 自定义类型
8.9.1 自定义类型及其表示形式
8.9.2 自定义类型的优点及应用
8.10 习题
第9章 文件操作
9.1 文件概述
9.1.1 文件的概念
9.1.2 流和文件指针
9.2 文件的基本操作
9.2.1 文件的打开
9.2.2 文件的关闭
9.2.3 文件的删除
9.2.4 文件的重命名
9.3 文件的读写操作
9.3.1 文件的非格式化读写
9.3.2 文件的格式化写操作
9.3.3 文件的格式化读操作
9.4 文件的定位
9.4.1 ftell()函数
9.4.2 fseek()函数
9.4.3 feof()函数
9.5 错误处理函数ferror()和perror()
9.6 习题
第10章 链表及其应用
10.1 线性表的基本概念
10.2 链表的基本操作
10.2.1 链表的定义及其基本结构
10.2.2 链表的创建
10.2.3 节点的查找
10.2.4 节点的插入操作
10.2.5 链表中节点的删除
10.2.6 链表中节点增删改查操作例题
10.3 链表的应用
10.4 习题
附录A ASCII码表
附录B 开源C语言函数库
前辅文
第1章 C语言的基本概念
1.1 程序设计语言的历史和发展
1.2 程序设计过程中的几个基本概念
1.3 编写程序的基本过程
1.4 C语言的发展与特点
1.4.1 C语言的发展和ANSI C标准
1.4.2 C语言的特点
1.5 C语言程序的基本字符集和标识符
1.6 一个简单的实例
1.7 C语言程序的构建和执行
1.8 习题
第2章 C语言程序的基本数据类型及其运算
2.1 C语言的数据类型
2.1.1 数据类型的一般概念
2.1.2 基本数据类型
2.2 常量与变量的应用
2.2.1 常量
2.2.2 变量及变量的定义
2.2.3 变量的初始化
2.3 数据类型转换
2.3.1 隐式类型转换
2.3.2 显式类型转换
2.4 运算符和表达式
2.4.1 运算符和表达式概述
2.4.2 赋值运算符和赋值表达式
2.4.3 算术运算符及算术表达式
2.4.4 关系运算符和关系表达式
2.4.5 逻辑运算符和逻辑表达式
2.4.6 条件运算符
2.4.7 其他运算符
2.5 C语言基本输入输出函数
2.5.1 字符输入/输出函数
2.5.2 格式化输入输出函数
2.6 习题
第3章 C语言程序基本控制结构及其应用
3.1 结构化程序设计方法
3.1.1 结构化程序设计思想
3.1.2 结构化程序设计的基本控制结构
3.2 顺序结构程序设计
3.3 分支结构程序设计
3.3.1 if条件判断语句在程序设计中的应用
3.3.2 开关(switch)分支
3.4 循环结构程序设计
3.4.1 while语句
3.4.2 do
3.4.3 for语句
3.4.4 多重循环
3.4.5 循环和switch分支的中途退出
3.4.6 goto语句
3.5 习题
第4章 数组及其应用
4.1 一维数组
4.1.1 一维数组的定义与初始化
4.1.2 一维数组的引用
4.2 多维数组
4.2.1 多维数组的定义及其在内存中的存储特点
4.2.2 多维数组的引用与初始化
4.3 字符数组与字符串
4.3.1 字符数组的初始化
4.3.2 字符数组的输入/输出
4.3.3 常用字符串处理函数
4.3.4 字符数组的应用举例
4.4 习题
第5章 函数及其应用
5.1 函数的定义与调用
5.1.1 C源程序的结构
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.4 递归函数与递归调用
5.4.1 递归思想
5.4.2 递归函数与调用
5.4.3 递归程序设计
5.5 静态变量的作用域及应用
5.6 习题
第6章 指针
6.1 指针的基本概念及定义方式
6.1.1 指针的基本概念
6.1.2 指针的定义
6.1.3 指针的初始化
6.1.4 指针运算符
6.2 指针的运算
6.3 指针与数组
6.3.1 指向一维数组的指针
6.3.2 指向多维数组的指针
6.4 字符指针和字符串
6.5 指针数组
6.5.1 指针数组的概念
6.5.2 指针数组的应用
6.5.3 指针数组在带形参的main()函数中的应用
6.6 指针在函数参数传递中的应用
6.7 指针型函数
6.7.1 指针型函数的定义和引用
6.7.2 指针型函数的应用举例
6.8 指向函数的指针
6.8.1 指向函数的指针的概念
6.8.2 指向函数的指针的应用
6.9 多级指针
6.9.1 多级指针的概念及定义
6.9.2 多级指针应用举例
6.10 动态指针
6.10.1 动态内存分配的概念
6.10.2 动态内存分配的应用
6.11 习题
第7章 排序及查找算法及其实现
7.1 算法性能分析简介
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.5 插入排序法的设计及实现
7.5.1 插入排序法设计思想
7.5.2 插入排序法的实现
7.6 SHELL排序法的设计及实现
7.6.1 SHELL排序法设计思想
7.6.2 SHELL排序法的实现
7.7 快速排序法的设计及实现
7.7.1 快速排序算法设计思想
7.7.2 快速排序算法的实现
7.7.3 用快速排序法实现字符串的排序
7.8 查找及其应用
7.8.1 顺序查找及其应用
7.8.2 折半查找及其应用
7.9 习题
第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.3.3 结构体指针的应用举例
8.4 结构体对象在函数间的传递
8.4.1 结构体变量的传递
8.4.2 结构体数组在函数间的传递
8.5 结构体指针型函数和结构体型函数
8.5.1 结构体指针型函数
8.5.2 结构体型函数
8.6 结构体嵌套
8.6.1 什么是结构体嵌套
8.6.2 嵌套结构体类型变量的引用
8.6.3 结构体嵌套应用举例
8.7 联合体
8.7.1 联合体的声明及联合体变量的定义
8.7.2 使用联合体变量应注意的问题
8.8 枚举类型
8.8.1 枚举类型数据的概念及其定义
8.8.2 枚举型变量的使用
8.8.3 枚举型变量思考例题
8.9 自定义类型
8.9.1 自定义类型及其表示形式
8.9.2 自定义类型的优点及应用
8.10 习题
第9章 文件操作
9.1 文件概述
9.1.1 文件的概念
9.1.2 流和文件指针
9.2 文件的基本操作
9.2.1 文件的打开
9.2.2 文件的关闭
9.2.3 文件的删除
9.2.4 文件的重命名
9.3 文件的读写操作
9.3.1 文件的非格式化读写
9.3.2 文件的格式化写操作
9.3.3 文件的格式化读操作
9.4 文件的定位
9.4.1 ftell()函数
9.4.2 fseek()函数
9.4.3 feof()函数
9.5 错误处理函数ferror()和perror()
9.6 习题
第10章 链表及其应用
10.1 线性表的基本概念
10.2 链表的基本操作
10.2.1 链表的定义及其基本结构
10.2.2 链表的创建
10.2.3 节点的查找
10.2.4 节点的插入操作
10.2.5 链表中节点的删除
10.2.6 链表中节点增删改查操作例题
10.3 链表的应用
10.4 习题
附录A ASCII码表
附录B 开源C语言函数库
前辅文
第1章 C语言的基本概念
1.1 程序设计语言的历史和发展
1.2 程序设计过程中的几个基本概念
1.3 编写程序的基本过程
1.4 C语言的发展与特点
1.4.1 C语言的发展和ANSI C标准
1.4.2 C语言的特点
1.5 C语言程序的基本字符集和标识符
1.6 一个简单的实例
1.7 C语言程序的构建和执行
1.8 习题
第2章 C语言程序的基本数据类型及其运算
2.1 C语言的数据类型
2.1.1 数据类型的一般概念
2.1.2 基本数据类型
2.2 常量与变量的应用
2.2.1 常量
2.2.2 变量及变量的定义
2.2.3 变量的初始化
2.3 数据类型转换
2.3.1 隐式类型转换
2.3.2 显式类型转换
2.4 运算符和表达式
2.4.1 运算符和表达式概述
2.4.2 赋值运算符和赋值表达式
2.4.3 算术运算符及算术表达式
2.4.4 关系运算符和关系表达式
2.4.5 逻辑运算符和逻辑表达式
2.4.6 条件运算符
2.4.7 其他运算符
2.5 C语言基本输入输出函数
2.5.1 字符输入/输出函数
2.5.2 格式化输入输出函数
2.6 习题
第3章 C语言程序基本控制结构及其应用
3.1 结构化程序设计方法
3.1.1 结构化程序设计思想
3.1.2 结构化程序设计的基本控制结构
3.2 顺序结构程序设计
3.3 分支结构程序设计
3.3.1 if条件判断语句在程序设计中的应用
3.3.2 开关(switch)分支
3.4 循环结构程序设计
3.4.1 while语句
3.4.2 do
3.4.3 for语句
3.4.4 多重循环
3.4.5 循环和switch分支的中途退出
3.4.6 goto语句
3.5 习题
第4章 数组及其应用
4.1 一维数组
4.1.1 一维数组的定义与初始化
4.1.2 一维数组的引用
4.2 多维数组
4.2.1 多维数组的定义及其在内存中的存储特点
4.2.2 多维数组的引用与初始化
4.3 字符数组与字符串
4.3.1 字符数组的初始化
4.3.2 字符数组的输入/输出
4.3.3 常用字符串处理函数
4.3.4 字符数组的应用举例
4.4 习题
第5章 函数及其应用
5.1 函数的定义与调用
5.1.1 C源程序的结构
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.4 递归函数与递归调用
5.4.1 递归思想
5.4.2 递归函数与调用
5.4.3 递归程序设计
5.5 静态变量的作用域及应用
5.6 习题
第6章 指针
6.1 指针的基本概念及定义方式
6.1.1 指针的基本概念
6.1.2 指针的定义
6.1.3 指针的初始化
6.1.4 指针运算符
6.2 指针的运算
6.3 指针与数组
6.3.1 指向一维数组的指针
6.3.2 指向多维数组的指针
6.4 字符指针和字符串
6.5 指针数组
6.5.1 指针数组的概念
6.5.2 指针数组的应用
6.5.3 指针数组在带形参的main()函数中的应用
6.6 指针在函数参数传递中的应用
6.7 指针型函数
6.7.1 指针型函数的定义和引用
6.7.2 指针型函数的应用举例
6.8 指向函数的指针
6.8.1 指向函数的指针的概念
6.8.2 指向函数的指针的应用
6.9 多级指针
6.9.1 多级指针的概念及定义
6.9.2 多级指针应用举例
6.10 动态指针
6.10.1 动态内存分配的概念
6.10.2 动态内存分配的应用
6.11 习题
第7章 排序及查找算法及其实现
7.1 算法性能分析简介
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.5 插入排序法的设计及实现
7.5.1 插入排序法设计思想
7.5.2 插入排序法的实现
7.6 SHELL排序法的设计及实现
7.6.1 SHELL排序法设计思想
7.6.2 SHELL排序法的实现
7.7 快速排序法的设计及实现
7.7.1 快速排序算法设计思想
7.7.2 快速排序算法的实现
7.7.3 用快速排序法实现字符串的排序
7.8 查找及其应用
7.8.1 顺序查找及其应用
7.8.2 折半查找及其应用
7.9 习题
第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.3.3 结构体指针的应用举例
8.4 结构体对象在函数间的传递
8.4.1 结构体变量的传递
8.4.2 结构体数组在函数间的传递
8.5 结构体指针型函数和结构体型函数
8.5.1 结构体指针型函数
8.5.2 结构体型函数
8.6 结构体嵌套
8.6.1 什么是结构体嵌套
8.6.2 嵌套结构体类型变量的引用
8.6.3 结构体嵌套应用举例
8.7 联合体
8.7.1 联合体的声明及联合体变量的定义
8.7.2 使用联合体变量应注意的问题
8.8 枚举类型
8.8.1 枚举类型数据的概念及其定义
8.8.2 枚举型变量的使用
8.8.3 枚举型变量思考例题
8.9 自定义类型
8.9.1 自定义类型及其表示形式
8.9.2 自定义类型的优点及应用
8.10 习题
第9章 文件操作
9.1 文件概述
9.1.1 文件的概念
9.1.2 流和文件指针
9.2 文件的基本操作
9.2.1 文件的打开
9.2.2 文件的关闭
9.2.3 文件的删除
9.2.4 文件的重命名
9.3 文件的读写操作
9.3.1 文件的非格式化读写
9.3.2 文件的格式化写操作
9.3.3 文件的格式化读操作
9.4 文件的定位
9.4.1 ftell()函数
9.4.2 fseek()函数
9.4.3 feof()函数
9.5 错误处理函数ferror()和perror()
9.6 习题
第10章 链表及其应用
10.1 线性表的基本概念
10.2 链表的基本操作
10.2.1 链表的定义及其基本结构
10.2.2 链表的创建
10.2.3 节点的查找
10.2.4 节点的插入操作
10.2.5 链表中节点的删除
10.2.6 链表中节点增删改查操作例题
10.3 链表的应用
10.4 习题
附录A ASCII码表
附录B 开源C语言函数库
















