W3School确实是很多人入门Web开发的启蒙老师,但你要是拿它学C语言,会发现内容单薄得可怜。它主打的HTML、CSS、JavaScript确实通俗易懂,可C语言这种底层味道浓的东西,W3School只给了个皮毛,指针讲得含含糊糊,内存管理更是提都没提。所以真想在C语言上有点造诣,换个更扎实的站点很有必要。
菜鸟教程是第一个要说的替代品,它的界面风格跟W3School几乎是一个模子刻出来的,左侧目录,右侧代码,点一下就能运行。C语言部分覆盖得相当完整,从基本语法到结构体、共用体、位域都讲得明明白白。最难得的是它的代码示例都能直接跑,你复制过去改改就能玩出新花样,这对学习编程来说比看十遍理论都管用。不过菜鸟教程也有短板,它的指针和内存管理讲得还是偏概念化,初学者看完可能还是不太明白为什么需要指针,指针到底指向哪里。
C语言中文网就不一样了,这个站点的定位就是专门啃C语言这块硬骨头。它有篇零基础学C语言的文章系列,写得非常细,细到什么程度呢,连变量名怎么起都有专门的章节。这个站点最大的特色是把难懂的底层原理掰开揉碎了讲,比如为什么数组下标从0开始,为什么不建议用goto语句,这些在别的教程里都是一笔带过的东西,它都会展开聊。当然这种细致也有代价,排版比较拥挤,中间还插了不少广告,但内容质量确实过硬。
如果你想看更偏工程师风格的教学,可以试试廖雪峰的个人网站,这人以前在新浪干过,写教程有个特点,不绕弯子,直接说怎么做,为什么这么做。他的C语言教程虽然只有几篇文章,但每篇都直击要害,尤其讲解编译流程和makefile那部分,好多大学老师都讲不了那么清楚。对初学者来说可能稍微有点深,如果你已经看完了一本入门教材,再来看他的东西正好合适。
还有一个容易被忽略的宝藏网站叫中国大学MOOC,上面有很多985高校开的C语言课,比如浙江大学翁恺老师的C语言程序设计,这门课在业内评价特别高,讲得比很多付费课程都好。这个平台的形式是视频加练习,不像前面几个站点那样纯靠看文字,翁恺老师上课很幽默,经常用生活里的例子解释抽象概念。而且后面还有配套的实验作业和考试,你学完能拿到证书,这对自制力不太强的人来说,是个很好的督促。

要是你人比较勤奋,想直接啃英文资源,那就得提一下Learn-C.org,这个网站支持中文界面,是个交互式C语言学习网站,左边是讲解,右边是代码编辑器,你边看边敲,即时看效果。它的编译环境都帮你配好了,不用自己折腾安装那些玩意儿,特别适合刚接触编程的新手。这个站点的课程设计得很有节奏感,学完一节紧接着就是练习,有点像是闯关游戏。
说回W3School,它确实不是学C语言的最好选择,但也不是没有优点,起码它的整体框架搭得还算清晰,能让你快速浏览C语言的语法全貌。如果你已经会别的编程语言,只想快速了解C语言的语法差异,那W3School还是能凑合用的,毕竟翻起来省事。可你要是真零基础,想从C语言开始学编程,我还是推荐你从菜鸟教程入门,配合中国大学MOOC的视频课一起看,一个解决概念问题,一个解决实践问题。
最后多说一句,不管选哪个网站,一定要动手敲代码,C语言这玩意儿光看不练,过一个月基本忘干净。很多人卡在指针这块其实就是练得少了,写个链表、写个二叉树,折腾几天,指针那点事就能想明白了。网上的教程再优秀,也替代不了你自己踩坑的经验。选一个看得顺眼的网站开始吧,别在收藏夹里吃灰就行。