之前写过一篇《我是如何学习 C 语言的》, 是从方法论的角度来介绍学习 C 语言的。

后来收到许多读者的反馈,希望能有一个学习路线图,或者说是关于 C 语言的知识体系图,按此图可以一步一步的修炼自己的 C 语言编程能力。

花了很多的功夫,这幅 C 语言成长树终于跟大家见面了。

一开始总是找不到合适的画图软件,研究了好久用什么工具画图,xmind, visio, 都试过,不满意,最后索性用 PPT 画了,感觉效果还行。

总的来说,C 语言的用途分为 上层开发 和 底层开发。

1. 上层开发

其实用 C 语言做上层应用程序开发和写界面不是明智的选择,比如 Windows 上面,画个窗口,写个消息处理函数,麻烦的要死。

做上层应用程序开发,其实大家都在用:

Windows: C++,MFC/QT

Android: Java

IOS: Objective-c / swift

Linux: C\C++,GTK+/ QT(Linux 图形界面应用程序,不说了,槽点无数...)

2. 底层开发

C 语言主要的用途还是底层编程,例如系统软件:编译器,JVM,驱动,操作系统内核,还有各种嵌入式软件,固件。

3.  总结

所以说,C 语言往深了学,要学习操作系统,虽然 C 语言和操作系统之间没有必然联系,但是别忘了,连操作系统都是 C 语言写的,C 语言的主要用途也在底层开发上面。

初学者学完了基础语法,厌倦了黑乎乎的界面,想写出带界面的程序? 虽然利用 Windows api 也可以实现,但还是别折腾了,转战别的语言吧,有现成的轮子可以用,又何必造轮子。

没办法,C 语言就不是让你写 App 的。

c语言自学路线图,C语言的知识体系图,C语言学习路线图相关推荐

  1. 完整的大数据知识体系,大数据学习路线图

    任何学习过程都需要一个科学合理的学习路线,才能够有条不紊的完成我们的学习目标.大数据所需学习的内容纷繁复杂,难度较大,有一个合理的大数据学习路线图帮忙理清思路就显得尤为必要. 一.Java语言以jav ...

  2. 人工智能(6)---AI知识体系图及其产业链全景图

    通俗易懂的AI知识体系图及其产业链全景图(经典,收藏) 人工智能产业链结构分为基础层(计算基础设施).技术层(软件算法及平台)与应用层(行业应用及产品). 基础层(计算基础设施):主要包括计算硬件(A ...

  3. Python知识体系图

    python 知识体系图

  4. 产品思维-解读个人知识体系的构建和学习

    产品思维系列文章目录 第一章:解读个人知识体系的构建和学习 第二章:用输出倒逼输入(费曼技巧的实际应用) 第三章:数据化自我管理:六边形战士的修炼 后续完善补充 基于产品岗位的知识体系构建 一.前言 ...

  5. c语言编译成功,[C/CPP系列知识] 那些程序C语言可以编译通过但C++无法编译成功 Write a C program that won’t compile in C++...

    下面的程序可以用gcc编译,但g++无法编译. #include intmain() { foo();//foo() is called before its declaration/definiti ...

  6. 转载 前端基础知识体系 一个新手的学习之路

    原帖地址:  转载的原因是我学习前端和php已经4个多月了.看看自己还有那些不足.自己得努力学习,牛人太多.红色是我会的,或者学过的.希望今天把大部分飘红. 一.HTML 标签的分类 标签表示一个元素 ...

  7. 心得复述知识体系:《强化学习》中的蒙特卡洛方法 Monte Carlo Methods in Reinforcement Learning

    前言: 刚刚读完 Sutton 的<强化学习(第二版)>第5章:蒙特卡洛方法.为了巩固本章收获,笔者将在本文中用尽量简单直白的语言复述本章的思想,各个知识点之间的关系.同时,这方便笔者日后 ...

  8. GitHub获百万下载的阿里P5-P9必刷知识体系图核心手册

    有想面试想进阿里的朋友们看过来! 今天纯纯干货,大家都知道阿里的职级:P5-P6-P7-P8-P9.只知道这些是远远不够的,如果你想让你的职级高一点更是难上加难,所以就有了今天这份文章,下面我会给大家 ...

  9. Java整体技术体系——核心技术知识体系图

    0.核心模块:  1.具体细节:[设计模式.框架] 2.具体细节:[分布式与高并发.分布式与微服务] 3.具体细节:[架构师必备工具箱.性能优化.架构师修养.数据库开发.技术业务认知] Java基本功 ...

  10. window直接运行不需要环境的软件是什么语言开发的_C语言为何不会过时?你需要掌握多少种语言?_C 语言...

    01为什么C语言不会过时 评价任何一门编程语言,都是招人骂的.永远是这样.就像是春寒料峭的季节, 街上穿棉袄和穿单衣的擦肩而过,双方一定是同时在心里出现了两个字:"s b!"这个在 ...

最新文章

  1. 死锁的必要条件及避免
  2. 用java和汇编开发一个Hello World系统内核
  3. 全新ARM base PocketPC 2003 Emulator Beta 已登場。
  4. PHP网页定时器和跳转页面
  5. 网易2019实习生招聘题目 被3整除
  6. 15 | 二分查找(上):如何用最省内存的方式实现快速查找功能?
  7. web前端 到底怎么学?掌握什么可以拿到高薪?
  8. 凸集、凸函数、凸优化问题 概念关联
  9. uniapp 自动播放背景音乐
  10. 基本sql语句--入门语句
  11. IHttphandler之“验证码”服务器控件
  12. vscode 中 eslint 的配置
  13. 软考:软件设计师(中级)
  14. bedtools查找基因组位置的信息
  15. 轻量级架构和重量级架构
  16. 《阴阳师·3黑川主》原作:梦枕貘
  17. 【BZOJ4134】【树上博弈】【博弈论】【线段树合并】ljw和lzr的hack比赛 题解
  18. Beaglebone Black - 控制 BBB 板上的 LED 灯
  19. SparkSteaming使用
  20. 【Docker学习笔记 一】Docker基本概念及理论基础

热门文章

  1. 虚拟机 无法 ftp服务器系统,访问不到虚拟机上的ftp服务器上
  2. SSL/TLS中的DH算法、DHE算法、 ECDHE算法介绍
  3. 协议号(网络层)、端口号(传输层)详解
  4. Unity 安装失败原因
  5. Java的8种基本数据类型
  6. 解决npm install 报错,亲测有效
  7. 【信号与系统】笔记合集,你确定不收藏吗?我已经收藏了
  8. HttpPrinter共享打印机 网络打印
  9. Windows进行远程桌面连接后如何彻底删除远程记录
  10. 拼多多显示内部服务器错误是怎么回事,拼多多提现出现错误怎么办?拼多多提现常见问题...