参考资料
找一份好的资料,以下文档比较权威,可以借助翻译软件。
入门经验
编程语言是一门工具,同时需要训练程序思维,理论 + 实践 + 教练。理论参考官方文档,动手写才能学会用。比如打篮球,下场打球才能学会,基础语法得多写,熟能生巧。
代码编程器IDE 推荐初学者先用IDE练习C语言,难度要低一些,比如eclipse,QtCreator,visual studio。
官方概念 与 实践运用:代码比概念更容易理解, 官方概念可能存在不太容易理解的时候,通过实践运用去理解概念更容易。
expressions: 表达式,此概念不容易理解。
2+3 ==> 这个一般人都能理解。
好的练习题让进步更快, 入门阶段,一个月内写到1000行代码,基础语法过一遍
教练及时解惑,提供思路及学习方向。
最佳学习路线:编程练习+解决问题+坚持练习。
初学者目标:
分3个阶段
- 1个月内练习完成70% 常用语法 – 目标: 看懂别人写的代码,自己能写代码。
- 3个月玩转1000行代码左右的工程 – 目标:提升代码量,自己写项目 或者 分析开源代码。
- 入门,独立完成中小型产品开发任务 – 需要长时间训练。
常用语法

- 数据结构
- 基础类型 int,float,enum,数组,指针,函数指针 等
- 自定义类型 struct ,union
- 流程逻辑
- 函数
- 分支if else. switch case
- 循环
- goto
- 与或非 && || !
- 位运算 & | ^
- 其它常用
- 别名 tpyedef
- 宏 define
- 代码注释
- 保留关键字
- 头文件 #include
- 作用域
- C 库
C库是常用功能代码的集合,编译器自带C 库,加快开发项目。比如以下常用功能。- stdio.h
- stdlib.h
- string.h
- math.h
- ctype.h
- stddef.h
- stdint.h
C 版本
C89, C95, C99, C11, C17, C23,目前工程中最常用C99版本。
最新的语法可能在某些编译器上还未实现,所以这里只看C99最常用版本。国内常接触的编译器GCC、MSVC.
C 语言基础
视频教程
一段C 语言代码要能执行,需要经过编译器处理,生成执行文件才可以运行,流程如下图:
- .c 文件,由代码段组成.
- .o 目标文件,.c 文件先编译成.o
- elf 文件是linux平台可执行文件,由.o 文件链接成elf文件,由操作系统运行(window 平台为exe文件)
- .a 静态库文件,由.o 文件打包组成,便于发布管理.
- .so 动态库文件,由.o 文件打包组成,便于发布管理.
- .bin 程序二进制文件,由0/1组成,嵌入式中将bin文件下载到芯片中运行。
一门编程语言是一个完整的体系,从一个完整的程序开始认识对学习更有帮助。
单文件程序结构
t1.c 文件程序如下,C程序入口函数为main,程序主要功能打印输出两个变量值。
// 单行注释,include 包含c库头文件stdio.h
#include <stdio.h>
/*
多行注释
gloval_var 是整个变量,初使值为100
*/
int gloval_var = 100;
int main(int argc,char **argv)
{
int local_var = 10;
printf("local value %d \r\n",local_var);
printf("global value %d \r\n",gloval_var);
return 0;
}
多文件程序结构
视频教程
代码仓,参考 t2 目录
一般工程较大的,都是由多个C文件组成,编译后生成一个elf文件,程序入口函数依然是main.
提升书籍
- C缺陷与陷阱
- C专家编程
- C和指针