如何用三个月搞定C语言

C语言上个世纪七十年代诞生至今,已经度过了40多个春秋,在此期间经历多次的版本的更迭,目前市面上绝大部分语言的底层实现都是基于C语言,随着C语言之父的逝去,C语言的生命力还是依旧那么强势,绝大部分程序爱好者还是选择C语言作为入门语言。

C语言作为入门语言的几个优点

(1) C语言历史最为悠久,目前市面上几乎所有的编程语言的底层都用C作为基础,所以从C开始对于后期软件框架的理解,还是存在极大的好处。

(2).C语言是除了汇编语言之外最靠低底层的语言在执行效率上有着无可比拟的优势,特别是服务端或者大型程序的执行效率非常重要,C语言几乎是不二的选择,从事这方面工作的小伙伴,选择C语言入门也是理所当然的。

(3).在计算机专业里面编程语言里面C语言几乎是必修课,所占比例也是最高的,有深厚的群众基础,所以开展各项工作也是容易的多,作为入门语言也是顺理成章的事情。

那么如何学好C语言?

第一步:确定学习C语言的决心,很多人在学习C语言的过程中,遇到点难点就想换语言或者不继续了,开始都是有了点学习hello world的兴奋劲,觉得程序很有意思,觉得无比的兴奋,后来随着难度的增加越来越觉得没意思,慢慢就放弃了,如果是这样奉劝还是不要加入进入学习阵营了。

学习任何编程语言都需要兴趣和毅力,兴趣帮你领进门,毅力帮你走完后半程。绝大部分的人都卡在毅力这一关上面。

第二步:选择一两本好的教材,再找点免费的视频资料作为辅助。这里推荐的C primer plus作为入门的经典教材,不建议用老谭的C语言教材,老谭的教材更加适合大学生在学校考计算机资格证用的,作为基础编程语言不是很推崇。老外写的基本和C有关的C语言入门经典和C程序设计也是经典,作为入门教材不需要多,只需要一两本然后作为基础,然后精读细读。

那么视频怎么去用,如何去用?在学习书本遇到有些知识点,实在搞不懂的情况下,拿出视频找到对应的知识点,来进行消化,再加上百度一些资料或者blog去反复的揣摩,也可以加一些技术群去取经。为什么不跟着视频去学,因为视频都是讲师高度集中咀嚼的东西,传授给你的时候,很多东西已经做了深层次的包装,这对于初学来说,很不利于搭建自己的知识体系框架是一样的。

在学习教材的过程中一定要把书上的代码在电脑上过一遍,同时独立的完成课后题目,在电脑上。

下面举一个如何学习数组的例子

首先了解基本概念,其实相同类型的数据的一个集合,在内存中就是一堆相同的数据块挨着摆放在一起的数据堆。

如果没有理解到概念可以百度一些有关数组的视频或者资料,彻底理解概念,然后开始练习,其实数组最关键的是,形式上是一体的,其实在内存里面是一堆数据体,在赋值的时候或者打印数据的时候都要借助于循环来完成,下面看例子就可以明白

#include <stdio.h>

int main(void)

{

int x[10]; /* 定义一个10元素的整型数组 */

int t;

/* 初始数组x,其值从0到10 */

for ( t=0; t<10; ++t ) x[t] = t;

/* 显示x,10行 */

printf( "Index\tValue\n", x[t] );

for( t=0; t<10; ++t ) printf( "%d\t%d\n", t, x[t] );

return 0;

}

初始化和打印以及后续的操作都借助于循环来完成,有了这一点基础概念,就可以做一些课后题目,同时再次基础上扩展二级或者三级的数组。学习重要的概念一定要理解彻底。

在这个阶段要学会哎编译器上面调试代码,不要觉得简单,就不去做调试了,因为大型的项目里面的代码不是靠看或者记忆能搞的明白的,就需要借助一些工具,调试就是一个很大的工具。编程的基本功。

第三步:基础学的差不多了,或者学到结构体或者文件的操作的时候,差不多可以开始学习一些简单的项目相关的东西,目前网上比较流行的有俄罗斯方块,贪吃蛇之类小工程,要学者尝试去读懂代码然后去修改一些属性数值。

在这个过程中要学习一些编程的规范,这一切都是在为做项目做储备了,这个时候可以适当看一些大型的开源代码了,比如linux里面一些比较简单的开源软件,例如curl等等,建议安装个linux学习起来。

基本上按照这三个步骤来回不断的去做,差不多用3个月的时间,C语言差不多就能掌握到一个层次。至于是不是一定能做项目,这个因人而异,起码简单的像贪吃蛇之类的小玩意还是能修改来玩的。三个月做好计划完成一本书还是很有希望的。剩下的就是加入码农大潮流,开始做项目。希望在学习的过程中的小伙伴兴趣和毅力一直伴随着,奔跑吧,奋斗者。

本文属原创,禁止转载

针对想学习C语言小伙伴联盟推出(程序人生)系列读物

1.为什么C语言屹立不倒?

2. 为什么这么多人对谭浩强的C语言教材吐槽

3.学C语言一段时间了,还是一头雾水该咋办?

4.C语言从源程序到可执行程序

5.常用的C语言编程工具

6.C语言基础学完学什么

原文发布于微信公众号 - 程序员互动联盟(coder_online)

原文发表时间:2015-10-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏腾讯NEXT学位

编程新手:看懂很多示例,却依然写不好一个程序

34780
来自专栏程序员宝库

如何掌握程序语言

学习程序语言是每个程序员的必经之路。可是这个世界上有太多的程序语言,每一种都号称具有最新的“特性”。所以程序员的苦恼就在于总是需要学习各种稀奇古怪的语言,而且必...

31140
来自专栏企鹅号快讯

如何快速学习C语言?系统学习路线奉上

C语言的重要性 C语言作为编程行业必备的基础,它引入N多的库可以用来开发比较复杂的图形程序,如:俄罗斯方块,如:操作数据库的界面,但是它的意义不在于开发图形界面...

22460
来自专栏程序人生 阅读快乐

C语言程序设计_现代方法

时至今日, C语言仍然是计算机领域的通用语言之一,但今天的 C语言已经和最初的时候大不相同了。本书最主要的一个目的就是通过一种“现代方法”来介绍 C语言,书中强...

12920
来自专栏Albert陈凯

Scala 课堂! 从 ∅ 到分布式服务

http://twitter.github.io/scala_school/zh_cn/index.html Scala课堂是Twitter启动的一系列讲座,用...

36850
来自专栏技术小黑屋

Java程序员必读的9本书

本文列出的9本书在Java程序员界都是被认为很棒的书。当一个程序员开始初学Java时,他的第一个问题应该是如何选择一本书来作为指导学习Java。这个问题也就表明...

16220
来自专栏程序员互动联盟

【编程指导】如何学习C语言,致初学者朋友

最近会有一些低年级的同学问,C语言不会写代码怎么办?大致上都是一些类似的问题吧,回想一下自己走过的路,反复的思考然后写了这篇博客,希望可以对一些迷惘的同学一丝帮...

41960
来自专栏Java架构

资深架构师谈Java——最牛逼的编程语言Java超越了所有咒骂它的“动态语言”Java的“继承人”没能超越它Java没有特别讨厌的地方结论程序员进阶方法

23840
来自专栏程序员互动联盟

为什么大家都怕学C++?

现在很多人都觉得C++学起来相当的费劲,特别是对刚入门的,看到最后直接就没法看下去了,抽象的逻辑太多了,越看越迷糊,最后也就选择了放弃。笔者看到很多大学开设的第...

31950
来自专栏企鹅号快讯

如何掌握程序语言

学习程序语言是每个程序员的必经之路。可是这个世界上有太多的程序语言,每一种都号称具有最新的“特性”。所以程序员的苦恼就在于总是需要学习各种稀奇古怪的语言,而且必...

20190

扫码关注云+社区

领取腾讯云代金券