C语言入门教程(零基础完整版)
C语言是一门面向过程的编译型语言,它的运行速度极快,仅次于汇编语言。
C语言是计算机产业的核心语言,也是计算机专业的基础课程,操作系统、硬件驱动、关键组件、数据库等都离不开C语言;不学习C语言,就不能了解计算机底层,就很难成为行业专家。
这套C语言入门教程由站长亲自执笔,将多年的编程经验灌输其中,典型的实践派。这部教程已经发布了 9 年,经历了 6 次大改版,数次小改版,总计超过 25W 字。
本教程通俗易懂,深入浅出,既适合初学者入门,也适合程序员进阶,还适合在校生打比赛。
声明:这套零基础版的《C语言入门教程》为“54笨鸟”官方原创,由国家权威机构和地方版权局签发的版权证书所保护。
C语言是计算机产业的核心语言,也是计算机专业的基础课程,操作系统、硬件驱动、关键组件、数据库等都离不开C语言;不学习C语言,就不能了解计算机底层,就很难成为行业专家。
这套C语言入门教程由站长亲自执笔,将多年的编程经验灌输其中,典型的实践派。这部教程已经发布了 9 年,经历了 6 次大改版,数次小改版,总计超过 25W 字。
本教程通俗易懂,深入浅出,既适合初学者入门,也适合程序员进阶,还适合在校生打比赛。
声明:这套零基础版的《C语言入门教程》为“54笨鸟”官方原创,由国家权威机构和地方版权局签发的版权证书所保护。
- 第1章 零基础开胃菜
- 1.通俗地理解什么是编程语言
- 2.C语言究竟是一门怎样的语言?
- 3.C语言到底能做什么?
- 4.程序员必须要学习C语言吗?
- 5.C语言能找什么工作?能拿多少钱?
- 6.高薪/大厂程序员要学习哪些东西?
- 7.零基础学编程难吗?多久能入门?
- 8.英语和数学不好,能学编程吗?
- 9.C语言和C++到底有什么关系?
- 10.二进制、八进制和十六进制
- 11.不同进制之间的转换
- 12.数据在内存中的存储形式
- 13.载入内存,让程序运行起来
- 14.学习C语言,一定要学习内存
- 15.ASCII编码,将英文存储到计算机
- 16.GB2312编码和GBK编码,将中文存储到计算机
- 17.Unicode字符集,将全世界的文字存储到计算机
- 18.小白不要这样学习C语言,这是一个坑!
- 19.明白了这点才能学好编程,否则参加什么培训班都没用
- 第2章 C语言入门
- 1.第一个C语言程序
- 2.选择正确的输入法,严格区分中英文
- 3.源文件是什么?
- 4.编译和链接是什么?
- 5.主流C语言编译器汇总
- 6.IDE(集成开发环境)是什么?
- 7.工程/项目是什么?
- 8.主流C语言开发环境(IDE)汇总与推荐
- 9.C语言的4套标准:C89、C99、C11和C17
- 10.C语言为什么有那么多编译器?
- 11.程序安装是怎么回事?
- 12.制作安装包,让用户安装程序
- 13.C语言程序的错误和警告
- 14.解析第一个C语言程序
- 15.C语言代码中的空白符
- 16.彩色版的C语言,让文字更漂亮
- 17.一个真正带界面的C语言程序
- 第3章 变量和数据类型
- 1.给小白讲变量和数据类型
- 2.在屏幕上输出各种类型的数据
- 3.C语言整数类型(short、int、long、long long)
- 4.C语言中的二进制、八进制和十六进制
- 5.C语言中的正数和负数
- 6.整数在内存中是如何存储的,为什么它堪称天才般的设计
- 7.整数的取值范围以及数值溢出
- 8.C语言小数(float、double和long double)
- 9.小数在内存中是如何存储的,揭秘诺贝尔奖级别的设计(长篇神文)
- 10.C语言中的英文字符
- 11.在C语言中使用中文字符
- 12.C语言到底使用什么编码?谁说C语言使用ASCII码,真是荒谬!
- 13.C语言转义字符
- 14.C语言布尔类型(_BOOL)
- 15.C语言标识符、关键字、注释、表达式和语句
- 16.C语言加减乘除运算
- 17.C语言自增(++)和自减(--)
- 18.变量的定义位置以及初始值
- 19.C语言运算符的优先级和结合性
- 20.C语言数据类型转换
- 21.如何书写长文本(长字符串)?
- 第4章 C语言输入输出
- 1.C语言printf()用法大全
- 2.C语言printf()的一个刁钻Bug
- 3.在屏幕的任意位置输出字符,开发小游戏的第一步
- 4.C语言scanf()从键盘读取数据
- 5.5个字符和字符串输入函数汇总
- 6.C语言scanf()用法大全
- 7.进入缓冲区(缓存)的世界,破解一切与输入输出有关的疑难杂症
- 8.结合缓冲区谈scanf()函数,那些奇怪的行为其实都有章可循
- 9.清空(刷新)缓冲区,从根本上消除那些奇怪的行为
- 10.C语言模拟密码输入(显示星号)
- 11.非阻塞式键盘监听,用户不输入数据程序也能继续执行
- 第5章 循环结构和选择结构
- 1.C语言if else语句
- 2.C语言关系运算符
- 3.C语言逻辑运算符
- 4.C语言switch case语句
- 5.C语言条件运算符
- 6.C语言while循环
- 7.C语言for循环
- 8.C语言跳出循环
- 9.C语言循环嵌套
- 10.对选择结构和循环结构的总结
- 11.谈编程思维的培养,初学者如何实现自我突破(非常重要)
- 12.写一个内存泄露的例子,让计算机内存爆满
- 第6章 C语言数组
- 1.什么是数组
- 2.C语言二维数组
- 3.判断数组中是否包含某个元素
- 4.C语言字符数组和字符串
- 5.字符串的输入和输出
- 6.C语言字符串处理函数
- 7.C11标准新引入了安全函数!
- 8.C语言数组是静态的,不能插入或删除元素
- 9.C语言数组的越界和溢出
- 10.C语言变长数组:使用变量指明数组的长度
- 11.对数组元素进行排序
- 12.对C语言数组的总结
- 第7章 C语言函数
- 1.什么是函数?
- 2.C语言函数定义
- 3.C语言函数的形参和实参
- 4.C语言函数的返回值
- 5.C语言函数的调用(从中发现程序运行的秘密)
- 6.函数声明以及函数原型
- 7.全局变量和局部变量
- 8.C语言变量的作用域
- 9.C语言块级变量
- 10.C语言递归函数(带实例演示)
- 11.中间递归函数(比较复杂的一种递归)
- 12.多层递归函数(最烧脑的一种递归)
- 13.递归函数的致命缺陷:巨大的时间开销和内存开销(附带优化方案)
- 14.忽略语法细节,从整体上理解函数
- 第8章 预处理命令
- 1.什么是预处理命令?
- 2.#include的用法
- 3.C语言宏定义
- 4.C语言带参数的宏定义
- 5.带参宏定义和函数的区别
- 6.宏参数的字符串化和宏参数的连接
- 7.C语言中几个预定义宏
- 8.C语言条件编译
- 9.#error命令,阻止程序编译
- 10.C语言预处理命令总结
- 第9章 指针
- 1.1分钟彻底理解指针的概念
- 2.指针变量的定义和使用
- 3.C语言指针变量的运算
- 4.数组指针(指向数组的指针)
- 5.字符串指针(指向字符串的指针)
- 6.C语言数组灵活多变的访问形式
- 7.指针变量作为函数参数
- 8.C语言指针作为函数返回值
- 9.二级指针(指向指针的指针)
- 10.空指针NULL以及void指针
- 11.数组和指针绝不等价,数组是另外一种类型
- 12.数组到底在什么时候会转换为指针
- 13.指针数组(数组每个元素都是指针)
- 14.一道题目玩转指针数组和二级指针
- 15.二维数组指针(指向二维数组的指针)
- 16.函数指针(指向函数的指针)
- 17.只需一招,彻底攻克C语言指针,再复杂的指针都不怕
- 18.main()函数的高级用法:接收用户输入的数据
- 19.对C语言指针的总结
- 第10章 结构体
- 1.C语言结构体
- 2.C语言结构体数组
- 3.C语言结构体指针
- 4.C语言枚举类型
- 5.C语言共用体
- 6.大端小端以及判别方式
- 7.C语言位域
- 8.C语言位运算
- 9.使用位运算对数据或文件内容进行加密
- 第11章 重要知识点补充
- 1.typedef的用法
- 2.const的用法
- 3.C语言随机数
- 第12章 文件操作
- 1.C语言中的文件是什么?
- 2.C语言打开文件
- 3.文本文件和二进制文件到底有什么区别?
- 4.以字符形式读写文件
- 5.以字符串的形式读写文件
- 6.以数据块的形式读写文件
- 7.格式化读写文件
- 8.随机读写文件
- 9.C语言实现文件复制功能
- 10.FILE结构体以及缓冲区深入探讨
- 11.获取文件大小(长度)
- 12.插入、删除、更改文件内容
- 第13章 C语言调试
- 1.调试的概念以及调试器的选择
- 2.设置断点,开始调试
- 3.查看和修改变量的值
- 4.单步调试(逐语句调试和逐过程调试)
- 5.即时窗口的使用
- 6.查看、修改运行时的内存
- 7.有条件断点的设置
- 8.assert断言函数
- 9.调试信息的输出
- 10.VS调试的总结以及技巧