C 语言小白变怪兽 PDF 文档
C 语言小白变怪兽 发布于 C 语言中文网,由站长亲自执笔,将多年的编程经验灌输其中,典型的实践派。
八年的编程功力,加上四年的精雕细琢,使得这部教程独具匠心,不仅通俗易懂,而且深入你心。这看似平凡的背后,是默默的坚持以及超乎常人的付出,只要你稍加留意,就会处处见精妙。
C 语言小白变怪兽 分为基础部分和高级部分:
- 初级部分重点讲解语法知识,培养编程思维;
- 高级部分还会讲解内存、多文件编程(模块化开发)、字符编码、调试技巧、缓冲区(缓存)、复杂指针(花样指针)、数据存储格式、职业规划等进阶技能。
阅读初级部分能够能轻松入门 C 语言,学会手敲代码,建立大脑的思维模式;阅读高级部分能够醍醐灌顶,颠覆三观, 以后在大神面前也可以吹牛逼。
C 语言小白变怪兽 经历过 5 次大改版,每次都推翻重来。随着编程功力的精进,每次翻阅前文都顿感文笔拙略,技艺不佳,未能向读者传达足够的信息,遂推倒重来。编写教程是一个寂寞的过程,需要一个安静的环境苦心孤诣,字斟句酌,深夜是最好的选择。不规律的作息导致我生物钟错乱,经常失眠,甚是苦恼。
第01章 编程基础
1.1 通俗地理解什么是编程语言
1.2 C语言究竟是一门怎样的语言?
1.3 C语言是菜鸟和大神的分水岭
1.4 学编程难吗?多久能入门?
1.5 英语和数学不好,能学编程吗?
1.6 初中毕业能学会编程吗?
1.7 C语言和C++到底有什么关系?
1.8 学了C语言到底能做什么,能从事什么工作?
1.9 进制详解:二进制、八进制和十六进制
1.10 不同进制之间的转换
1.11 数据在内存中的存储(二进制形式存储)
1.12 载入内存,让程序运行起来
1.13 ASCII编码,将英文存储到计算机
1.14 GB2312编码和GBK编码,将中文存储到计算机
1.15 Unicode字符集,将全世界的文字存储到计算机
1.16 程序员的薪水和发展方向大全
1.17 不要这样学习C语言,这是一个坑!
1.18 明白了这点才能学好编程,否则参加什么培训班都没用
第02章 C语言初探
2.1 第一个C语言程序
2.2 选择正确的输入法,严格区分中英文
2.3 什么是源文件?
2.4 什么是编译和链接(通俗易懂,深入本质)
2.5 主流C语言编译器有哪些?
2.6 什么是IDE(集成开发环境)?
2.7 什么是工程/项目(Project)?
2.8 哪款C语言编译器(IDE)适合初学者?
2.9 如何在手机上编写C语言代码?
2.10 C语言的三套标准:C89、C99和C11
2.11 C语言为什么有那么多编译器?
2.12 程序安装是怎么回事?
2.13 制作安装包,让用户安装程序
2.14 C语言程序的错误和警告
2.15 分析第一个C语言程序
2.16 C语言代码中的空白符
2.17 彩色版的C语言,让文字更漂亮
2.18 一个真正带界面的C语言程序
第03章 变量和数据类型
3.1 大话C语言变量和数据类型
3.2 在屏幕上输出各种类型的数据
3.3 C语言中的整数(short,int,long)
3.4 C语言中的二进制数、八进制数和十六进制数
3.5 C语言中的正负数及其输出
3.6 整数在内存中是如何存储的,为什么它堪称天才般的设计
3.7 整数的取值范围以及数值溢出
3.8 C语言中的小数(float,double)
3.9 小数在内存中是如何存储的,揭秘诺贝尔奖级别的设计(长篇神文)
3.10 在C语言中使用英文字符
3.11 在C语言中使用中文字符
3.12 C语言到底使用什么编码?谁说C语言使用ASCII码,真是荒谬!
3.13 C语言转义字符
3.14 C语言标识符、关键字、注释、表达式和语句
3.15 C语言加减乘除运算
3.16 C语言自增(++)和自减(--)运算符
3.17 变量的定义位置以及初始值
3.18 C语言运算符的优先级和结合性
3.19 C语言数据类型转换(自动转换+强制转换)
第04章 C语言输入输出
4.1 C语言数据输出大汇总以及轻量进阶
4.2 C语言在屏幕的任意位置输出字符,开发小游戏的第一步
4.3 使用scanf读取从键盘输入的数据(含输入格式汇总表)
4.4 C语言输入字符和字符串(所有函数大汇总)
4.5 进入缓冲区(缓存)的世界,破解一切与输入输出有关的疑难杂症
4.6 结合C语言缓冲区谈scanf函数,那些奇怪的行为其实都有章可循
4.7 C语言清空(刷新)缓冲区,从根本上消除那些奇怪的行为
4.8 C语言scanf的高级用法,原来scanf还有这么多新技能
4.9 C语言模拟密码输入(显示星号)
4.10 C语言非阻塞式键盘监听,用户不输入数据程序也能继续执行
第05章 循环结构和选择结构
5.1 C语言if else语句详解
5.2 C语言关系运算符详解
5.3 C语言逻辑运算符详解
5.4 C语言switch case语句详解
5.5 C语言条件运算符(? :)详解
5.6 C语言while循环和do while循环详解
5.7 C语言for循环(for语句)详解
5.8 C语言跳出循环(break和continue)
5.9 C语言循环嵌套
5.10 对选择结构和循环结构的总结
5.11 谈编程思维的培养,初学者如何实现自我突破(非常重要)
5.12 写一个内存泄露的例子,让计算机内存爆满
第06章 C语言数组
6.1 什么是数组?
6.2 C语言二维数组
6.3【实例】判断数组中是否包含某个元素
6.4 C语言字符数组和字符串
6.5 C语言字符串的输入和输出
6.6 C语言字符串处理函数
6.7 C语言数组是静态的,不能插入或删除元素
6.8 C语言数组的越界和溢出
6.9 C语言变长数组:使用变量指明数组的长度
6.10 C语言对数组元素进行排序(冒泡排序法)
6.11 对C语言数组的总结
第07章 C语言函数
7.1 什么是函数?
7.2 C语言函数定义(C语言自定义函数)
7.3 函数的形参和实参(非常详细)
74. 函数返回值(return关键字)精讲
7.5 函数调用详解(从中发现程序运行的秘密)
7.6 函数声明以及函数原型
7.7 全局变量和局部变量(带实例讲解)
7.8 C语言变量的作用域(加深对全局变量和局部变量的理解)
7.9 C语言块级变量(在代码块内部定义的变量)
7.10 C语言递归函数(递归调用)详解[带实例演示]
7.11 C语言中间递归函数(比较复杂的一种递归)
7.12 C语言多层递归函数(最烧脑的一种递归)
7.13 递归函数的致命缺陷:巨大的时间开销和内存开销(附带优化方案)
7.14 忽略语法细节,从整体上理解函数
第08章 C语言预处理命令
8.1 C语言预处理命令是什么?
8.2 C语言#include的用法(文件包含命令)
8.3 C语言宏定义(#define的用法)
8.4 C语言带参数的宏定义
8.5 C语言带参宏定义和函数的区别
8.6 宏参数的字符串化和宏参数的连接
8.7 C语言中几个预定义宏
8.8 C语言条件编译
8.9 #error命令,阻止程序编译
8.10 C语言预处理命令总结
第09章 C语言指针(精讲版)
9.1 1分钟彻底理解指针的概念
9.2 C指针变量的定义和使用(精华)
9.3 指针变量的运算(加法、减法和比较运算)
9.4 C语言数组指针(指向数组的指针)
9.5 C语言字符串指针(指向字符串的指针)
9.6 C语言数组灵活多变的访问形式
9.7 指针变量作为函数参数
9.8 指针作为函数返回值
9.9 二级指针(指向指针的指针)
9.10 空指针NULL以及void指针
9.11 数组和指针绝不等价,数组是另外一种类型
9.12 数组到底在什么时候会转换为指针
9.13 C语言指针数组(数组每个元素都是指针)
9.14 一道题目玩转指针数组和二级指针
9.15 二维数组指针(指向二维数组的指针)
9.16 函数指针(指向函数的指针)
9.17 只需一招,彻底攻克C语言指针,再复杂的指针都不怕
9.18 main()函数的高级用法:接收用户输入的数据
9.19 对C语言指针的总结
第10章 C语言结构体
10.1 什么是结构体?
10.2 结构体数组(带实例演示)
10.3 结构体指针(指向结构体的指针)
10.4 C语言枚举类型(enum关键字)
10.5 C语言共用体(union关键字)
10.6 大端小端以及判别方式
10.7 C语言位域(位段)
10.8 C语言位运算详解
10.9 使用位运算对数据或文件内容进行加密
第11章 C语言重要知识点补充
11.1 C语言typedef的用法
11.2 C语言const的用法
11.3 C语言随机数:rand()和srand()函数
第12章 C语言文件操作
12.1 C语言中的文件是什么?
12.2 C语言打开文件:fopen()函数的用法
12.3 文本文件和二进制文件到底有什么区别?
12.4 以字符形式读写文件
12.5 以字符串的形式读写文件
12.6 以数据块的形式读写文件
12.7 格式化读写文件
12.8 随机读写文件
12.9 C语言实现文件复制功能(包括文本文件和二进制文件)
12.10 FILE结构体以及缓冲区深入探讨
12.11 C语言获取文件大小(长度)
12.12 C语言插入、删除、更改文件内容
第13章 C语言调试教程(非常详细)
13.1 调试的概念以及调试器的选择
13.2 设置断点,开始调试
13.3 查看和修改变量的值
13.4 单步调试(逐语句调试和逐过程调试)
13.5 即时窗口的使用
13.6 查看、修改运行时的内存
13.7 有条件断点的设置
13.8 assert断言函数
13.9 调试信息的输出
13.10 VS调试的总结以及技巧
第14章 C语言内存精讲,让你彻底明白C语言的运行机制!
14.1 一个程序在计算机中到底是如何运行的?
14.2 虚拟内存到底是什么?为什么我们在C语言中看到的地址是假的?
14.3 虚拟地址空间以及编译模式
14.4 C语言内存对齐,提高寻址效率
14.5 内存分页机制,完成虚拟地址的映射
14.6 分页机制究竟是如何实现的?
14.7 MMU部件以及对内存权限的控制
14.8 Linux下C语言程序的内存布局(内存模型)
14.9 Windows下C语言程序的内存布局(内存模型)
14.10 用户模式和内核模式
14.11 栈(Stack)是什么?栈溢出又是怎么回事?
14.12 一个函数在栈上到底是怎样的?
14.13 函数调用惯例(Calling Convention)
14.14 用一个实例来深入剖析函数进栈出栈的过程
14.15 栈溢出攻击的原理是什么?
14.16 C语言动态内存分配
14.17 malloc函数背后的实现原理——内存池
14.18 C语言野指针以及非法内存操作
14.19 C语言内存泄露(内存丢失)
14.20 C语言变量的存储类别和生存期
第15章 C语言头文件的编写(多文件编程)
15.1 从extern关键字开始谈C语言多文件编程
15.2 那些被编译器隐藏了的过程
15.3 目标文件和可执行文件里面都有什么?
15.4 到底什么是链接,它起到了什么作用?
15.5 符号——链接的粘合剂
15.6 强符号和弱符号
15.7 强引用和弱引用
15.8 C语言模块化编程中的头文件
15.9 C语言标准库以及标准头文件
15.10 细说C语言头文件的路径
15.11 防止C语言头文件被重复包含
15.12 C语言static变量和函数
15.13 一个比较规范的C语言多文件编程的例子
第16章 C语言项目实战(带源码和解析)
16.1 贪吃蛇游戏(彩色版)【带源码和解析】
16.2 2048小游戏【带源码和解析】
16.3 推箱子小游戏(彩色版)【带源码和解析】
16.4 扫雷游戏【带源码和解析】
16.5 学生信息管理系统(文件版)【带源码和解析】
16.6 学生信息管理系统(数据结构版)【带源码和解析】
16.7 学生信息管理系统(密码版)【带源码和解析】
下载地址:https://www.wenjiangs.com/wp-content/uploads/2023/01/c.zip
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论