# C Primer Plus Learning
C Primer Plus(第6版)中文版学习笔记和代码!主要记录个人阅读学习本书的笔记、习题和编程练习等。
所有代码均在Linux Mint 20.3编译调试运行通过!编程练习的代码希望大家提宝贵意见!
## 第1章 初始C语言
### 1.1学习小结
* C是编译型语言。C编译器和链接器是把C语言源代码转换成可执行代码的程序。
* 编程的7个步骤:定义程序的目标、设计程序、编写代码、编译、运行程序、测试和调试程序、维护和修改程序。
### 1.2代码示例及编程练习
* [第一个C语言程序HelloWorld。](https://gitee.com/flyinghappy/C-Primer-Plus-Learning/blob/master/hello.c)
* [程序清单1.1源代码示例](https://gitee.com/flyinghappy/C-Primer-Plus-Learning/blob/master/programe1.1.c)
* [程序清单1.2源代码示例](https://gitee.com/flyinghappy/C-Primer-Plus-Learning/blob/master/programe1.2.c)
## 第2章 C语言概述
### 2.1学习小结
* C程序由一个或多个函数组成。每个C程序必须包含一个main()函数,这是C程序要调用的第1个函数。
* 注意程序的结构性,提高程序的可读性,养成良好的代码编写习惯。记住编程的7个步骤中维护和修改程序,代码可读性高有利于今后代码维护和修改。
* 函数原型、函数调用和函数定义的区别。
### 2.2代码示例及编程练习
* [程序清单2.1源代码示例](https://gitee.com/flyinghappy/C-Primer-Plus-Learning/blob/master/first.c)
* [程序清单2.2源代码示例](https://gitee.com/flyinghappy/C-Primer-Plus-Learning/blob/master/fathm_ft.c)
* [程序清单2.3源代码示例](https://gitee.com/flyinghappy/C-Primer-Plus-Learning/blob/master/two_func.c)
* [编程练习2.12-1源代码](https://gitee.com/flyinghappy/C-Primer-Plus-Learning/blob/master/practice-2.12-1.c)
* [编程练习2.12-2源代码](https://gitee.com/flyinghappy/C-Primer-Plus-Learning/blob/master/practice-2.12-2.c)
* [编程练习2.12-3源代码](https://gitee.com/flyinghappy/C-Primer-Plus-Learning/blob/master/practice-2.12-3.c)
* [编程练习2.12-4源代码](https://gitee.com/flyinghappy/C-Primer-Plus-Learning/blob/master/practice-2.12-4.c)
* [编程练习2.12-5源代码](https://gitee.com/flyinghappy/C-Primer-Plus-Learning/blob/master/practice-2.12-5.c)
* [编程练习2.12-6源代码](https://gitee.com/flyinghappy/C-Primer-Plus-Learning/blob/master/practice-2.12-6.c)
* [编程练习2.12-7源代码](https://gitee.com/flyinghappy/C-Primer-Plus-Learning/blob/master/practice-2.12-7.c)
* [编程练习2.12-8源代码](https://gitee.com/flyinghappy/C-Primer-Plus-Learning/blob/master/practice-2.12-8.c)
## 第3章 数据与C
### 3.1学习小结
* C的基本数据类型有整数和浮点数。如int、short、long、long long整数类型,float、double、long double浮点数。
* 整数的十进制、八进制、十六进制的表示方法。
* printf()函数转换说明,如%d或%f。
### 3.2代码示例及编程练习
* [程序清单3.1源代码示例](https://gitee.com/flyinghappy/C-Primer-Plus-Learning/blob/master/platinum.c)
* [程序清单3.2源代码示例](https://gitee.com/flyinghappy/C-Primer-Plus-Learning/blob/master/print1.c)
* [程序清单3.3源代码示例](https://gitee.com/flyinghappy/C-Primer-Plus-Learning/blob/master/bases.c)
* [程序清单3.4源代码示例](https://gitee.com/flyinghappy/C-Primer-Plus-Learning/blob/master/print2.c)
* [程序清单3.5源代码示例](https://gitee.com/flyinghappy/C-Primer-Plus-Learning/blob/master/charcode.c)
* [程序清单3.6源代码示例](https://gitee.com/flyinghappy/C-Primer-Plus-Learning/blob/master/altnames.c)
* [程序清单3.7源代码示例](https://gitee.com/flyinghappy/C-Primer-Plus-Learning/blob/master/showf_pt.c)
* [程序清单3.8源代码示例](https://gitee.com/flyinghappy/C-Primer-Plus-Learning/blob/master/typesize.c)
* [程序清单3.9源代码示例](https://gitee.com/flyinghappy/C-Primer-Plus-Learning/blob/master/badcount.c)
* [程序清单3.10源代码示例](https://gitee.com/flyinghappy/C-Primer-Plus-Learning/blob/master/escape.c)
* [编程练习3.11-1源代码](https://gitee.com/flyinghappy/C-Primer-Plus-Learning/blob/master/practice-3.11-1.c)
* [编程练习3.11-2源代码](https://gitee.com/flyinghappy/C-Primer-Plus-Learning/blob/master/practice-3.11-2.c)
* [编程练习3.11-3源代码](https://gitee.com/flyinghappy/C-Primer-Plus-Learning/blob/master/practice-3.11-3.c)
* [编程练习3.11-4源代码](https://gitee.com/flyinghappy/C-Primer-Plus-Learning/blob/master/practice-3.11-4.c)
* [编程练习3.11-5源代码](https://gitee.com/flyinghappy/C-Primer-Plus-Learning/blob/master/practice-3.11-5.c)
* [编程练习3.11-6源代码](https://gitee.com/flyinghappy/C-Primer-Plus-Learning/blob/master/practice-3.11-6.c)
* [编程练习3.11-7源代码](https://gitee.com/flyinghappy/C-Primer-Plus-Learning/blob/master/practice-3.11-7.c)
* [编程练习3.11-8源代码](https://gitee.com/flyinghappy/C-Primer-Plus-Learning/blob/master/practice-3.11-8.c)
## 第4章 字符串和格式化输入/输出
### 4.1学习小结
### 4.2代码示例及编程练习
- [程序清单4.1源代码示例](https://gitee.com/flyinghappy/C-Primer-Plus-Learning/blob/master/practice-4.8-1.c)
- [编程练习4.8-1源代码](https://gitee.com/flyinghappy/C-Primer-Plus-Learning/blob/master/practice-4.8-1.c)
- [编程练习4.8-2源代码](https://gitee.com/flyinghappy/C-Primer-Plus-Learning/blob/master/practice-4.8-2.c)
- [编程练习4.8-3源代码](https://gitee.com/flyinghappy/C-Primer-Plus-Learning/blob/master/practice-4.8-3.c)
- [编程练习4.8-4源代码](https://gitee.com/flyinghappy/C-Primer-Plus-Learning/blob/master/practice-4.8-4.c)
- [编程练习4.8-5源代码](https://gitee.com/flyinghappy/C-Primer-Plus-Learning/blob/master/practice-4.8-5.c)
- [编程练习4.8-6源代码](https://gitee.com/flyinghappy/C-Primer-Plus-Learning/blob/master/practice-4.8-6.c)
- [编程练习4.8-7源代码](https://gitee.com/flyinghappy/C-Primer-Plus-Learning/blob/master/practice-4.8-7.c)
## 第5章 运算符、表达式和语句
### 5.1学习小结
### 5.2代码示例及编程练习
## 第6章 C控制语句:循环
### 6.1学习小结
### 6.2代码示例及编程练习
* [编程练习6.16-17源代码](https://gitee.com/flyinghappy/C-Primer-Plus-Learning/blob/master/practice-6.16-17.c)
## 第7章 C控制语句:分支和跳转
### 7.1学习小结
### 7.2代码示例及编程练习
## 第8章 字符输入/输出和输入验证
### 8.1学习小结
### 8.2代码示例及编程练习
## 第9章 函数
### 9.1学习小结
### 9.2代码示例及编程练习
## 第10章 数组和指针
### 10.1学习小结
### 10.2代码示例及编程练习
## 第11章 字符串和字符串函数
### 11.1学习小结
### 11.2代码示例及编程练习
## 第12章 存储类别、链接和内存管理
### 12.1学习小结
### 12.2代码示例及编程练习
## 第13章 文件输入/输出
### 13.1学习小结
### 13.2代码示例及编程练习
## 第14章 结构和其他数据形式
### 14.1学习小结
### 14.2代码示例及编程练习
## 第15章 位操作
### 15.1学习小结
### 15.2代码示例及编程练习
## 第16章 C预处理器和C库
### 16.1学习小结
### 16.2代码示例及编程练习
## 第17章 高级数据表示
### 17.1学习小结
### 17.2代码示例及编程练习