21天学通C语言(第7版)

21天学通C语言(第7版)

第1部分 C语言基础

第1课 初识C语言

1.1 C语言发展简史

1.2 为何要使用C语言

1.3 准备编程

1.4 程序开发周期

1.4.1 创建源代码
1.4.2 使用编辑器
1.4.3 编译源代码
1.4.4 链接以创建可执行文件
1.4.5 完成开发周期

1.5 第1个C程序

1.5.1 输入并编译hello.c
1.5.2 编译错误
1.5.3 链接器错误消息

1.6 小 结

1.7 答 疑

1.8 课后研习

1.8.1 小测验
1.8.2 练习题

第2课 C程序的组成部分

2.1 简短的C程序

2.2 程序的组成部分

2.2.1 main()函数
2.2.2 include和 define指令
2.2.3 变量定义
2.2.4 函数原型
2.2.5 程序语句
2.2.6 函数定义
2.2.7 程序的注释
2.2.8 使用花括号
2.2.9 运行程序
2.2.10 补充说明

2.3 学以致用

2.4 小 结

2.5 答 疑

2.6 课后研习

2.6.1 小测验
2.6.2 练习题

第3课 储存信息:变量和常量

3.1 计算机的内存

3.2 用变量储存信息

3.2.1 变量名

3.3 数值类型

3.3.1 变量声明
3.3.2 typedef关键字
3.3.3 初始化变量

3.4 常 量

3.4.1 字面常量
3.4.2 符号常量

3.5 小 结

3.6 答 疑

3.7 课后研习

3.7.1 小测验
3.7.2 练习题

第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.3.5 关系运算符

4.4 if语句

4.4.1 else子句

4.5 对关系表达式求值

4.5.1 关系运算符的优先级

4.6 逻辑运算符

4.7 详议真/假值

4.7.1 运算符的优先级
4.7.2 复合赋值运算符
4.7.3 条件运算符
4.7.4 逗号运算符

4.8 运算符优先级归纳

4.9 小 结

4.10 答 疑

4.11 课后研习

4.11.1 小测验
4.11.2 练习题

第5课 函 数

5.1 理解函数

5.1.1 函数定义
5.1.2 函数示例

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.6 调用函数

5.6.1 递归

5.7 函数的位置

5.8 内联函数

5.9 小 结

5.10 答 疑

5.11 课后研习

5.11.1 小测验
5.11.2 练习题

第6课 基本程序控制

6.1 数组:基本概念

6.2 控制程序的执行

6.2.1 for语句
6.2.2 嵌套for语句
6.2.3 while语句
6.2.4 嵌套while语句
6.2.5 do...while循环

6.3 嵌套循环

6.4 小 结

6.5 答 疑

6.6 课后研习

6.6.1 小测验
6.6.2 练习题

第7课 信息读写基础

7.1 在屏幕上显示信息

7.1.1 printf()函数
7.1.2 printf()的格式字符串
7.1.3 使用puts()显示消息

7.2 使用scanf()输入数值数据

7.3 三字符序列

7.4 小 结

7.5 答 疑

7.6 课后研习

7.6.1 小测验
7.6.2 练习题

第2部分 C语言应用

第8课 数值数组

8.1 什么是数组

8.1.1 一维数组
8.1.2 多维数组

8.2 命名和声明数组

8.2.1 初始化数组
8.2.2 初始化多维数组

8.3 小 结

8.4 答 疑

8.5 课后研习

8.5.1 小测验
8.5.2 练习题

第9课 指 针

9.1 什么是指针

9.1.1 计算机的内存
9.1.2 创建指针

9.2 指针和简单变量

9.2.1 声明指针
9.2.2 初始化指针
9.2.3 使用指针

9.3 指针和变量类型

9.4 指针和数组

9.4.1 数组名
9.4.2 储存数组元素
9.4.3 指针算术

9.5 指针的注意事项

9.6 数组下标表示法和指针

9.7 给函数传递数组

9.8 小 结

9.9 答 疑

9.10 课后研习

9.10.1 小测验
9.10.2 练习题

第10课 字符和字符串

10.1 char数据类型

10.2 使用字符变量

10.3 使用字符串

10.3.1 字符数组
10.3.2 初始化字符数组

10.4 字符串和指针

10.5 未储存在数组中的字符串

10.5.1 在编译期分配字符串的空间
10.5.2 malloc()函数
10.5.3 malloc()函数的用法

10.6 显示字符串和字符

10.6.1 puts()函数
10.6.2 printf()函数

10.7 读取从键盘输入的字符串

10.7.1 用gets()函数输入字符串
10.7.2 用scanf()函数输入字符串

10.8 小 结

10.9 答 疑

10.10 课后研习

10.10.1 小测验
10.10.2 练习题

第11课 结构、联合和typedef

11.1 简单结构

11.1.1 声明和定义结构
11.1.2 访问结构的成员

11.2 复杂结构

11.2.1 包含结构的结构
11.2.2 包含数组的结构

11.3 结构数组

11.4 初始化结构

11.5 结构和指针

11.5.1 包含指针成员的结构
11.5.2 创建指向结构的指针
...
...
11.5.3 使用指针和结构数组
11.5.4 给函数传递结构实参

11.6 联合

11.6.1 声明、定义并初始化联合
11.6.2 访问联合成员

11.7 用typedef创建结构的别名

11.8 小 结

11.9 答 疑

11.10 课后研习

11.10.1 小测验
11.10.2 练习题

第12课 变量作用域

12.1 什么是作用域

12.1.1 演示作用域
12.1.2 作用域的重要性

12.2 创建外部变量

12.2.1 外部变量作用域
12.2.2 何时使用外部变量
12.2.3 extern关键字

12.3 创建局部变量

12.3.1 静态变量和自动变量
12.3.2 函数形参的作用域
12.3.3 外部静态变量
12.3.4 寄存器变量

12.4 局部变量和main()函数

12.5 如何使用存储类别

12.6 局部变量和块

12.7 小 结

12.8 答 疑

12.9 课后研习

12.9.1 小测验
12.9.2 练习题

第13课 高级程序控制

13.1 提前结束循环

13.1.1 break语句
13.1.2 continue语句

13.2 goto语句

13.3 无限循环

13.4 switch语句

13.5 退出程序

13.5.1 exit()函数

13.6 小 结

13.7 答 疑

13.8 课后研习

13.8.1 小测验
13.8.2 练习题

第14课 输入和输出

14.1 C语言和流

14.1.1 程序的输入/输出
14.1.2 什么是流
14.1.3 文本流和二进制流
14.1.4 预定义流

14.2 C语言的流函数

14.2.1 示例

14.3 键盘输入

14.3.1 字符输入
14.3.2 行输入
14.3.3 格式化输入

14.4 屏幕输出

14.4.1 使用putchar()、putc()和fputc()输出字符
14.4.2 使用puts()和fputs()输出字符串
14.4.3 使用printf()和fprintf()格式化输出

14.5 何时使用fprintf()

14.5.1 使用stderr

14.6 小 结

14.7 答 疑

14.8 课后研习

14.8.1 小测验
14.8.2 练习题

第3部分 C语言进阶

第15课 指向指针的指针和指针数组

15.1 声明指向指针的指针

15.2 指针和多维数组

15.3 指针数组

15.3.1 复习字符串和指针
15.3.2 声明指向char类型的指针数组
15.3.3 示例

15.4 小 结

15.5 答 疑

15.6 课后研习

15.6.1 小测验
15.6.2 练习题

第16课 函数指针和链表

16.1 函数指针

16.1.1 声明函数指针
16.1.2 初始化函数指针及其用法

16.2 链 表

16.2.1 链表的基本知识
16.2.2 使用链表
16.2.3 简单链表示例
16.2.4 实现链表

16.3 小 结

16.4 答 疑

16.5 课后研习

16.5.1 小测验
16.5.2 练习题

第17课 磁盘文件

17.1 将流与磁盘文件相关联

17.2 磁盘文件的类型

17.3 文件名

17.4 打开文件

17.5 读写文件数据

17.5.1 格式化输入和输出
17.5.2 字符输入和输出
17.5.3 直接文件输入/输出

17.6 文件缓冲:关闭和刷新文件

17.7 顺序文件访问和随机文件访问

17.7.1 ftell()函数和rewind()函数
17.7.2 fseek()函数

17.8 检测文件末尾

17.9 文件管理函数

17.9.1 删除文件
17.9.2 重命名文件
17.9.3 拷贝文件

17.10 临时文件

17.11 小 结

17.12 答 疑

17.13 课后研习

17.13.1 小测验
17.13.2 练习题

第18课 操控字符串

18.1 确定字符串长度

18.2 拷贝字符串

18.2.1 strcpy()函数
18.2.2 strncpy()函数

18.3 拼接字符串

18.3.1 strcat()函数
18.3.2 strncat()函数

18.4 比较字符串

18.4.1 比较字符串本身
18.4.2 比较部分字符串

18.5 查找字符串

18.5.1 strchr()函数
18.5.2 strrchr()函数
18.5.3 strcspn()函数
18.5.4 strspn()函数
18.5.5 strpbrk()函数
18.5.6 strstr()函数

18.6 将字符串转换为数字

18.6.1 将字符串转换为整型值
18.6.2 将字符串转换为long
18.6.3 将字符串转换为long long类型值
18.6.4 将字符串转换为浮点值

18.7 字符测试函数

18.7.1 ANSI支持的大小写转换

18.8 小 结

18.9 答 疑

18.10 课后研习

18.10.1 小测验
18.10.2 练习题

第19课 函数的高级主题

19.1 给函数传递指针

19.2 void指针

19.3 带可变数目参数的函数

19.4 返回指针的函数

19.5 小 结

19.6 答 疑

19.7 课后研习

19.7.1 小测验
19.7.2 练习题

第20课 C语言的函数库

20.1 数学函数

20.1.1 三角函数
20.1.2 指数函数和对数函数
20.1.3 双曲线函数
20.1.4 其他数学函数
20.1.5 演示数学函数

20.2 处理时间

20.2.1 表示时间
20.2.2 时间函数
20.2.3 使用时间函数

20.3 错误处理

20.3.1 assert()宏
20.3.2 errno.h头文件
20.3.3 perror()函数

20.4 查找和排序

20.4.1 用bsearch()函数进行查找
20.4.2 用qsort()函数进行排序
20.4.3 演示查找和排序

20.5 小 结

20.6 答 疑

20.7 课后研习

20.7.1 小测验
20.7.2 练习题

第21课 管理内存

21.1 类型转换

21.1.1 自动类型转换
21.1.2 显示转换

21.2 分配内存存储空间

21.2.1 用malloc()函数分配内存
21.2.2 用calloc()函数分配内存
21.2.3 用realloc()函数分配更多内存
21.2.4 用free()函数释放内存

21.3 操控内存块

21.3.1 用memset()函数初始化内存
21.3.2 用memcpy()函数拷贝内存的数据
21.3.3 用memmove()函数移动内存的数据

21.4 位

21.4.1 移位运算符
21.4.2 按位逻辑运算符
21.4.3 求反运算符
21.4.4 结构中的位字段

21.5 小 结

21.6 答 疑

21.7 课后研习

21.7.1 小测验
21.7.2 练习题

第22课 编译器的高级用法

22.1 多源代码文件编程

22.1.1 模块化编程的优点
22.1.2 模块化编程技术
22.1.3 模块化的组成部分
22.1.4 外部变量和模块化编程

22.2 C预处理器

22.2.1 define预处理器指令
22.2.2 include指令
22.2.3 if、 elif、 else和 endif
22.2.4 使用 if… endif帮助调试
22.2.5 避免多次包含头文件
22.2.6 undef指令

22.3 预定义宏

22.4 命令行参数

22.5 小 结

22.6 答 疑

22.7 课后研习

22.7.1 小测验
22.7.2 练习题

第4部分 附 录

附录A ASCII表

附录B C/C++关键字

附录C 常用函数

附录D 参考答案

思维导图

21天学通C语言(第7版)

防止博客图床图片失效,防止图片源站外链:

http://www.processon.com/chart_image/5e5b2e2de4b02bc3ad6a10f3.png)

思维导图在线编辑链接:

https://www.processon.com/view/5e5b2e2de4b02bc3ad6a10f0

posted @ 2020-05-02 12:31  哀莫  阅读(1225)  评论(0编辑  收藏  举报

欢迎访问我的主页!