作为大一的学生,迫切希望打好基础,但不知道该怎样做,目前基本了解C语言知识内容,想要更进一步,有推荐的方法吗?比如说可看的书,一些资料等等,再次谢过!!感谢帮助!可私聊-_-||麻烦了!真的希望晋级!


C语言要是本身是很简单的,但是想学好只有通过实践,多做项目,这过程中你会发现还有很多知识是需要配谈学习的,比如数据结构,设计模式,计算机基础,计算机通信等,是一系类的学习,再加上有项目的时间才能说C语言到比较高的水平,光看书做题不行


先刷OJ吧,其他的等刷完再说。


兄弟,我也是大一新生,要不组队一起学?


C语言是个工具,编程能力需要用项目来提高。

就C语言本身来说,提高无非是在指针上下功夫,这部分可以参考那种很厚的C语言书。但是很多东西更像是某种奇技淫巧,不常见也不实用。

再就是熟悉C语言的标准库,比如string.h里的sprintf和memcpy之类的,在一些场合很有用处,可以避免造轮子。

还有就是计算机的一些专业课,数据结构,演算法,这个很重要,往往决定了代码的水平。

有一个容易被忽略的是代码风格,学校里一般不强调,自学的人也往往没有意识,但养成良好的代码风格可以减少错误,提高代码可重用性,方便调试,

书没什么推荐的,我一直都是看课本,我觉得蛮好的。最重要的还是多写,多看,多想。如果是嵌入式的话,我觉得正点原子的常式写的蛮好,不妨看看。


最开始的基础肯定你得先把思维转变成编程思维...

打开codeforces从div2的ab题刷起,刷到你觉得得心应手了(这个过程差不多有半个月,如果之前你是完全的小白的话)就可以做c题了,等c题也有这感觉了(差不多一个半月)就可以开始演算法学习或者学一些别的知识了。

编程的这种思维和高中的数学思维差距其实挺大的,真的是只能多做多练。


1、可以开始学习数据结构的部分内容。

2、可以尝试用C语言写一个命令行版本的计算器,支持带括弧的四则运算。


课程取高分的还与老师理念和水平有关系。若是谭浩强教材而且老师就还在强调各种i++++i,那说明老师没有经过系统的软体开发过程训练,取不到高分不怨你。

这是一门实验类课程,而且实验门槛相当低,有电脑就行。所以它比高数线代简单太多了。

一本教材可能不够,任何课程都如此,可能这本教材的讲解思路不适合你,那就去图书馆多找几本教材(特别是国外教材,国内教材抄袭严重风格大都是谭式)对比学习下,很可能某一本的思路和讲解会让你豁然开朗。

不必太担心,课程成绩和水平的关系没有没那么大,(而且你还可能考公务员不写代码了呢是不是。)我给你说下程序员真实的场景,有编码规范(会禁止写i++++i这类歧义性太强的代码),要写测试代码,有测试环节,而且是站在前人的臂膀上,若对自己要求不高的化你可能都不需要了解全部知识,特别是我不熟悉的工具我不用不熟悉的写法我不写还不行嘛。实际工作要求更多的是领域知识,怎么用这些基础编程语言去描述领域知识才是关键的,比如嵌入式领域驱动领域就要了解硬体工作逻辑,网路通信领域要了解一堆通信协议,客户端编程就是怎么与操作系统交互和显示框架的各种机制,网站编程也是好多专门领域。这些领域知识才是大头,语言小case,学好其它基础课程(数学类)和感兴趣的专业课程更重要。(概率论与数理统计是一门相当适用的课程,工作生活中应用很多的,甚至就简单用Excel执行些简单的统计工作都会让你受益)

随缘就行了,国外教材的课后题简单刷刷就行了。


有:

1, 刷题

2,上嵌入式,然后看驱动,看linux代码

3,上C++

4,上汇编和指令集


了解至少两个版本的c标准。

学以致用通过做实际项目来熟悉c操作,当然对于c基础要掌握牢靠才能自由发挥不卡壳提高效率,这在前期学习时可能需要配合汇编代码来帮助自己了解编译器对于c的翻译处理是怎样的,这是非常有用和必要的,在这个前提下以后才有机会对面试官说: 对于c我很熟悉或是精通。


推荐阅读:
相关文章