精华内容
下载资源
问答
  • 学习C语言

    2013-12-17 15:49:02
    你正计划着通过看书来学习C语言吗?“书籍是人类最忠诚的朋友”,下面这些书你一定不能错过。 《C程序设计语言》——由C语言之父合著编写,提供了对C语言的更好见解;《C语言程序设计:现代方法》——以一种独特...

    你正计划着通过看书来学习C语言吗?“书籍是人类最忠诚的朋友”,下面这些书你一定不能错过。

    1. 《C程序设计语言》——由C语言之父合著编写,提供了对C语言的更好见解;
    2. 《C语言程序设计:现代方法》——以一种独特的方法解读了C语言;
    3. 《Absolute Beginner’s Guide To C》第二版,作者 Greg Perry——为没有编程经验的程序员编写的;
    4. 《C Primer plus》第5版——最适合自学的C语言书籍;
    5. 《C专家编程》——帮助程序员理解高级的C语言概念
    展开全文
  • 一个资深C语言工程师说如何学习C语言

    万次阅读 多人点赞 2017-05-25 20:18:47
    谈及C语言,我想凡是学过它的朋友都有这样一种感觉,那就是“让我欢喜让我忧。”欢喜的是,C语言功能非常强大、应用广泛,一旦掌握了后,你就可以理直气壮地对他人说“我是电脑高手!”,而且以后若是再自学其他语言...

    谈及C语言,我想凡是学过它的朋友都有这样一种感觉,那就是“让我欢喜让我忧。”欢喜的是,C语言功能非常强大、应用广泛,一旦掌握了后,你就可以理直气壮地对他人说“我是电脑高手!”,而且以后若是再自学其他语言就显得轻而易举了。忧虑的是,C语言犹如“少林武功”一般博大精深,太难学了。其实就笔者认为C语言并非是“difficult(困难)”的,只要你能理清思路,掌握它的精髓,那么自学C语言是一件非常容易且又其乐无穷的事。今天本人就与大家一起谈谈如何学习C语言或者说学习C语言应从哪几方面着手。

     

    了解一些基本知识

    一.C语言的背景

    就个人感触,无论学习哪门语言首先应该了解一下自己所学语言的背景,也可以说它的发展史。

    C语言属于高级程序语言的一种,它的前身是“ALGOL”。其创始人是布朗·W·卡尼汉和丹尼斯·M·利奇。C语言问世时是带有很大的局限性,因为它只能用于UNIX系统上。然而随着科学技术的进步,计算机工业的发展,C语言逐渐脱离UNIX。1987年美国标准化协会制定了C语言的国际标准,简称“ANSI C”,从此以后它便成为一种广泛使用的程序语言。C语言的优点很多,主要的有如下四点:

    1.兼备高级语言与低级语言的优点,属于一种中间语言。

    2.它是一种结构化程序设计语言,非常适合结构化程序设计。

    3.有较丰富的数据类型、运算符以及函数供以选用。

    4.直接与内存打交道,使修改、编辑其他程序与文档变得轻松,简单。

    二.二大语系二种不同的学习方法

    笔者学习过很多程序语言,例如:C,C++(C语言的扩展),QBASIC,VB(BASIC的可视化),javascript,JSCRIPT ,VBSCRIPT,JAVA,ASP,FOXPRO,PERL等等,就本人实践所得,其实高级程序语言分为两大语系。一路是以C为主的程序语言,例如:javascript,JAVA等,这类语言在函数的调用,程序语句的书写,循环的控制都极为相似。另一路是以BASIC为首的程序语言,例如:FOXPRO,VBSCRIPT等,此类语言同样具有相似的函数调用,程序语句书写以及循环控制,但与C语系是不同的。因此若是您以前是从QBASIC起家的,那么在学习C语言前最好是先洗洗脑,千万不要把学习BASIC的方法以及思路用在C身上。

    我建立了一个C语言学习交流群,在群里有很多新手教程和大神交流q群,怎么找到先搜索178在加上923最后还有056,这样你就可以找到组织一起学习,群里人很多都是新手在大神的帮助下,已经成长为高薪工程师,你不来对我们没有任何损失,但是只要你来了基本可以有很多的收获。

    讲到这里,我想大家对C语言一定有了感性认识吧!下面让我们再升华一下,全方位亲密接触它。学习C语言必须从以下四点入手,也就是说,只要你能掌握这四点的内容,那么基本上就大功告成了。

    1、多看代码  在有一定基础以后一定要多看别人的代码。 注意代码中的算法和数据结构。

    毕竟学C之后的关口就是算法和数据结构。提到数据结构,指针是其中重要的一环,绝大多数的数据结构是建立在指针之上的,如链表、队列、树、图等等,所以只有学好指针才能真正学好C。别的方面也要关注一下,诸如变量的命名、库函数的用法等等。有些库函数是经常用到的。对于这些函数的用法就要牢牢记住。

    2、要自己动手  编程序是个实干的活,光说不练不行。刚开始学的时候可以多练习书上的习题。 对于自己不明白的地方,自己编个小程序实验一下是最好的方法,能给自己留下深刻的印象。 自己动手的过程中要不断纠正自己不好的编程习惯和认识错误。有一定的基础以后可以尝试编一点小游戏,文曲星之类的电子词典上小游戏很多,照着编作为练习。基础很扎实的时候,可以编一些关于数据结构方面的东西,诸如最经典的学生管理系统。之后.....学汇编、硬件知识。

    3、选择一个好的编译器  VS2010以上版本

    4、关于养成良好的编程习惯  基本上每本C教材上都要提到。作为新手这条一定要时时遵守。具体方面:

    (1) 在比较复杂的代码后面要有注释。 如果光溜溜一堆代码,别人就不可能看懂你的代码,而且也不利于查找错误。除非你一直编东西给自己看。能在代码里说明白的就一定要在代码里体现。比如变量名、函数名,在命名的时候尽量说明是干什么用的。

    (2)注意语句的嵌套不能过长,一般来说,一段代码里Tab要少于8个。

    简单说就是语句最多8个嵌套。 对于新手来说,这个标准还要下降。有一个好习惯是,把主函数尽量写简短。经常看到别人的代码是主函数只有几行,几个函数调用,而定义全在主函数外部。这样一是减少了主函数内部的嵌套,二是比较精简,容易读懂。

    (3)注意语句的选择。并不是分支语句就用if循环就用while、for。在适当的情况下switch和do while语句也是要用的。在某些时候,switch语句比if语句更加精练明了,而do while比while少一个循环。

    很多人对学习C语言感到无从下手,经常问我同一个问题:究竟怎样学习C语言?我是一个教师,已经开发了很多年的程序,和很多刚刚起步的人一样,学习的第一个计算机语言就是C语言。经过这些年的开发,我深深的体会到C语言对于一个程序设计人员多么的重要,如果不懂C语言,你想写底层程序这几乎听起来很可笑,不懂C语言,你想写出优秀高效的程序,这简直就是天方夜谭。为什么C语言如此重要呢?

    第一:C语言语法结构很简洁精妙,写出的程序也很高效,很便于描述算法,大多数的程序员愿意使用C语言去描述算法本身,所以,如果你想在程序设计方面有所建树,就必须去学它。    第二:C语言能够让你深入系统底层,你知道的操作系统,哪一个不是C语言写的?所有的windows,Unix,Linux,Mac,os/2,没有一个里外的,如果你不懂C语言,怎么可能深入到这些操作系统当中去呢?更不要说你去写它们的内核程序了。

    第三:很多新型的语言都是衍生自C语言,C++,Java,C#,J#,perl...哪个不是呢?掌握了C语言,可以说你就掌握了很多门语言,经过简单的学习,你就可以用这些新型的语言去开发了,这个再一次验证了C语言是程序设计的重要基础。还有啊,多说一点:即使现在招聘程序员,考试都是考C语言,你想加入it行业,那么就一定要掌握好C语言。我建立了一个C语言学习交流群,在群里有很多新手教程和大神交流q群,怎么找到先搜索961在加上676最后还有182,这样你就可以找到组织一起学习,群里人很多都是新手在大神的帮助下,已经成长为高薪工程师,你不来对我们没有任何损失,但是只要你来了基本可以有很多的收获。

    展开全文
  • 呕心沥血整理的C语言学习路线+学习资源+推荐书籍+项目资源,学习C语言,你只需要收藏这篇博客就够了!

    C语言资源整理

    写在前面:这里是小王成长日志,一名普通在校大学生,想成学习之余将自己的学习笔记分享出来,记录自己的成长轨迹,帮助可能需要的人,平时博客内容主要是一些系统的学习笔记,项目实战笔记,一些技术的探究和自己的一些思考。欢迎大家关注,你们的每一个评论点赞关注我都会仔仔细细去看的。有任何问题欢迎交流,我会尽我所能帮助大家的,共创CSDN美好环境。

    0.怎么去学C语言

    很多人都说C语言很难很难,知乎还有各大论坛一大批劝退党,其实,你如果仔细去看看,啥都难,计算机网络难,数分难,高代难,我感觉只要还有人在学的学科,都会有劝退党,肯定有人学不好但也肯定有人学得好的,所以对待这种论调别理会当个屁放了就好了,为什么你不能是学的好的那个。

    再来说说为什么有人学不好C语言,C语言中可能最让人头疼的点就是内存和指针这两块了,这两个概念本身很简单。但是通过这两个概念,它把很多底层操作系统的知识和体系结构的知识都暴露了出来。例如什么事栈,什么是堆,什么是代码区,什么又是静态区,他们各自又有什么特点,内存什么时候自动回收,手动回收,我们怎么管理内存,强转时什么情况会造成溢出一大堆事情。但是不要慌!跟着我来,这些都是小事情。

    学习C语言或者说任何一门语言我的建议都是快速入门然后做一个新手项目,做完总结之后二次深入学习,再做项目总结,总共这样来个三四次你C语言基本就没有什么问题了。

    我建议可以看下面的菜鸟教程或者C语言中文网上的入门教程,看得快的话两三天就结束了,你要喜欢看视频课也可以去看老九学堂的课程,或者慕课上的任意一门都差不多,反正第一次看完就忘的差不多的那种,没什么大的区别,快速入门之后做一两个新手项目,我的推荐是下面提到的后宫选妃系统和精忠报国文字游戏,不会做的话可以去看老九C语言里的视频教程,也可以看我当时的博客笔记,都整理在下面。

    快速入门之后就可以开始深入了,这是我推荐看书,看好书!因为有的书里讲的乱七八糟,自己都把自己搞混了还来教别人,我当时在网上找了好久,下载了有十来本书吧,最后选定了5本,现在看了三本,资源也都整理在下面,当然你也不一定需要跟我一样,可以自己去找自己想看的书。
    这个阶段完成后可以来做一个难一点的项目了,基本参照本科学期C语言设计作业来做吧,做个学生管理系统什么的,真的不是很难。

    对于GITHUB一开始不太推荐,真想要接触的话可以去hellogithub找找项目,网站作者分门别类整理好了各个语言里经典的github项目。为什么不推荐,因为这些项目里大多涉及了图形化开发,计算机网络,socket很多的其他知识,而C语言又不像JAVA那样有直接的类库可以套用,不是你会C就可以开发的,这些点基本都需要你再去学习,很拖C语言节奏。

    最后的最后,多看书,多看好书,少看培训视频,项目驱动,即时总结复盘,以上,冲吧,少年!

    1.学习资源-自学网站

    这套文字教程比较简单,适合需要从零开始了解 C 语言的同学,学完之后能够让你对 C 语言有足够的认识。同时菜鸟教程有自己的在线编辑器,可以边看边试,比较推荐。

    这套C语言中文网的文字教程很全面,很多,目录基本就和上课一样,但是许多部分都需要开会员才能看,所以对于这一套教程我的建议就是作为一个补充,当遇到自己不会的或者比较困惑的点的时候,可以来这换个口味尝试一下,没准就可以了。

    一个培训机构免费公开出来的课程,课程里面包含了两个项目,真的蛮有心的,但是不推荐看视频,效率太低而且许多点并不会讲的很透彻,书真的是个好东西。

    慕课上也是有很多好的课程的,真的除了上课别的什么办法都没用的话,那还是取慕课上找C语言的课程吧。

    2.C语言难点-推荐博文

    注:以下博客都是我自己看过或者就是我自己写的,基本包含了C语言中迄今为止我认为的难点,质量有保障!如有推荐欢迎留言,我会一直更新的。有关作者如果不希望我放您的链接的话可以留言。
    也可以关注或者我的C语言收藏夹,我会持续更新的。

    1. 让你不再害怕指针——C指针详解(经典,非常详细)

    很详细也很好的一篇文章,但是文章里面直接把一些不同的概念等同了,需要自己注意一点,总的来说看这篇文章利大于弊,毕竟60分都没有的时候就不要去想90分之后的事情了。

    1. 指针数组与数组指针详解
    2. 我们该如何对付花里胡哨的运算符优先级©

    论如何对付花里花哨的运算符优先级,表格加助记顺口溜。

    1. 原码,反码,补码,到底是个啥? -?,你来这看看吧。
    2. 别看了!C语言里的unsigned int/char 看我就够了
    3. C语言实现动态数组
    4. C语言动态数组
    5. 动态链表的实现(C语言)

    众所周知,在C语言里数组的大小是固定的,要么用常量定义长度要么手动输入一个数字作为长度,那么我们怎么实现动态数组呢,即随着数据的增加动态的扩容数组的长度,具体请看上面三篇文章。

    1. NULL,(void*)0,(void)0,nullptr区别
    2. C语言之大小端详解

    你一定得知道的东西,如果你连这都不晓得该好好学C语言了。

    1. C/C++——程序的内存分配
    2. 十大排序算法基本思想,动画演示及其C语言实现

    有些博客里里的代码是有问题的,我看的时候真的好无语,但这篇是我自己写的,经过测试,可以放心食用。

    1. C语言常见问题集锦【你必须知道的495个C语言问题】

    3.C语言经典必读书籍

    注:下面三本书是我看过的最好的三本C语言里的书,超级推荐,我感觉看这三本就够了!如果百度盘失效可以留言或者私聊我补发

    • The C programming language

    C语言圣经级著作,但如你所想,这是本大大大部头,反正我是只看了一大半就看不下去了,建议身边备一本,电子版也得,当工具书用。

    • C专家编程

    吹爆的一本C语言书籍,里面对指针,数组,内存,编译这些点的讲解真的让人醍醐灌顶,但如其书名,不适合小白入门使用,如作者在书序里说的,适合当做第二本C语言书籍,真的超棒!

    • C语言常见问题集

    书中从声明、结构体等几乎C语言涉及的方面分门别类地罗列了一大堆可能出现的问题,基本是以问题加解析的形式,有时间的时候可以看看。

    注:以下提到的书籍我自己并没有看过或者只是试看过部分,是根据知乎和简书上的讨论整理出来比较经典的关于C语言的书,如果是选书的话基本可以从这选了。

    • C程序设计语言
    • C和指针
    • C陷阱与缺陷
    • C Prime Plus

    上面的书下面项目笔记专栏给的百度云链接中都有,可以自行下载,emm,有能力以后还是要补一下票各位。

    4.C语言项目资源

    光说不练假把式,在学习编程语言中最重要的就是不断的练习,在bug中成长,加油吧,少年。
    关于项目在网上可以找到很多,但大多数都要付费,这里放几个免费的项目,项目一二个是我做过的,源码可以找到,其余的是其他平台的免费项目,可以跟着做,很不错的。

    项目资源

    这两个项目在下面的百度云链接里可以找到源码,如果不会可以去看 老九学堂 里关于这两个项目的讲解的那一部分,个人感觉很适合新手,加油。

    这四个项目都是平台实验楼上的免费课程,可以跟着课程一起完成。

    • 贪吃蛇

    基本说到C语言项目都会说到的一个小游戏项目,比较简单,主要是数组的妙用,源码也在百度云链接里可以找到。

    更多项目:基于C语言的项目资源-GITHUB资源整理

    跳转页面是一个github项目,里面整理了许多基于C语言的项目资源,怎么下载的话可以自行百度(百度上一大堆教程)也可以找我。

    项目笔记(系列博客)

    下面是我当时做项目时写下的博客笔记,里面有一些常见的坑可以供参考,如果有问题也可以私信我。加油。

    链接: https://pan.baidu.com/s/12b2wM9CvJQUUNgr4b0TJ5A 提取码: hqex
    上面提到的三个C语言项目加上C语言经典书籍都这这里面了。具体内容如下,祝各位学习C语言顺利。
    在这里插入图片描述

    C语言学习必备工具

    在线网站,能够在C语言表达式与其对应的英文解释进行互相转换,例如:
    char ** const * const x < - > declare x as const pointer to const pointer to pointer to char

    更多工具可以看博客-自用工具,持续整理中。

    问:学习C语言最重要的是什么?
    答:是坚持,是行动。不是你存满一个收藏夹的文章,放满一个硬盘的资源就结束了的,那反而会加大一个人的焦虑,所以时常清理一下自己的收藏夹,做事,做少事,但要做精!这也是我这里并没有像其他教程那样给你推个几十个课程,几十本书,那没有意义,沉淀下来,别被现在的浮夸风给影响了,克服一下自己的松鼠症,千里之行始于足下,心怀大志但要脚踏实地,各位,加油!

    都看到这里了,各位哥哥姐姐叔叔阿姨给小王点个赞 关个注 留个言吧,和小王一起成长吧,你们的关注是对我最大的支持。
    有事没事进来看看吧 : 小王的博客目录索引

    展开全文
  • 在嵌入式领域中大部分开发都会用到C语言...到底如何学习C语言学习C语言有什么秘诀?今天本为就为大家揭开这个谜底。学习C语言的秘诀:就是"一字真言,两种态度,三个框架,四项注意"。    一、一字真言    学
        在嵌入式领域中大部分开发都会用到C语言。C语言简洁、紧凑、使用方便灵活加上GNU在实际项目开发中所做的扩展,使得C语言在整个嵌入式开发过程中起着至关重要的作用,所以学好C语言也是嵌入式开发学习中重要环节。到底如何学习C语言?学习C语言有什么秘诀?今天本为就为大家揭开这个谜底。学习C语言的秘诀:就是"一字真言,两种态度,三个框架,四项注意"。
       
        一、一字真言
       
        学好C语言,一字真言,那就是"编".
       
        (一)编。
       
        学习C语言,乃至学习所有的语言,都讲究一个动手--不是动手打人,而是动手编程序。你必须通过编写程序来熟悉知识、理解知识。倘若只学不编,只看别人的程序,自己不动手写,是不能从入门到精通的。要知道,在计算机界,只说不练的人很欠揍。试想一下,你在哪里辛辛苦苦的编程序,他却站在一边,如老板一样喋喋不休,对你提出这项意见,那项思路,甚至畅谈自己编程将会如何如何,好像很牛皮的样子,但就是不编一行代码。估计大家碰上如此之人,只会一个动作,那就是点击"踩".
       
        一个"编"字就可以学好C语言吗?真的如此简单吗?不是的,仅仅"编"是不够的,你还需要"我编".
       
        (二)我编。
       
        请注意修辞,"我"编!这个"我"其实就是只"你",也就是学习C语言的人。
       
        大家在学习C语言时,要多编写程序,比如学习链表时,要自己编写链表程序,甚至自己编写俄罗斯方块等游戏程序来练习。不过有个前提条件,你必须自己编写这些所有的程序才有效果,如果你从网络上下载了某某源代码,或者拷贝了同学的程序,任何大言不惭的说是自己编写的,那么我也只能大言不惭的告诉你,这样做出了养成偷窃的习惯外,没有任何效果!
       
        有同学会问,那么"亲自"编程序总可以精通C语言了吧,其实还差一点点,仅仅"编"是不够的,只是"我编"还不足以精通,为了达到C语言的最高峰,你还需要"我编编编".
       
        (三)我编编编。
       
        "编"字重复三次,这里的"三",代表多,意思是你必须多多的编写程序。亲自编写10行代码等于没有编,亲自编写1000行代码是远远不够的,亲自编写1万行代码还马马虎虎,亲自编写10万行代码,你绝对成为程序员中的战斗员。
       
        乍一看10万行代码,估计有同学会先直挺挺的躺下去,然后又眼珠一转站了起来--他们想起了坏主意。"不就是10万行吗,容易!现在的编程工具都有代码生成功能,随便在VC中用鼠标拖曳几下,搞一个MFC窗口程序,系统就自动生成了几百行的代码。在搞几个三方控件,几千行代码就生成了!"
       
        再次声明,"编编编"是有前缀的,那就是"我",也就是学习者自己,使用代码自动生成工具产生的代码难道是"学习者"编写的?
       
        要不上有政策,下有对策,"不用代码生成器,那么就抄,照着输入代码就行!"哎,人不能无耻到那种地步!这十万行代码要"你"亲自完成,亲自在脑海中发芽、生根,再亲自逐行输入。这又不是什么政绩任务,也不是什么形象工程,欺骗别人最终只能是自欺欺人。
       
        二、两种态度
       
        一般人提起C语言,常常一个字如影随形涌上心头,那就是"难"!害怕啊,C语言真是太恐怖了,传说中的指针真是太锋利了,一不留神就把系统划破,搞出几个死机重启都是太正常不过了。
       
        其实没有必要这么担心,本朝太祖曾经说过:"在战略上藐视敌人,在战术上重视敌人。"
       
        (一)战略上藐视C语言
       
        其实,C语言也就是一个普通的语言而已,别把它想象的太难!与Java相比,C语言也只是程序复杂一点、代码冗长一点、库函数少上一点、三方控件难学一点,编译工具简陋一点、指针麻烦一点,其他的都差不了多少,程序设计思想总是一样、程序构建总是相同的、程序语法总是类似的、程序逻辑总是差不多的。
       
        没有必要对C语言谈虎色变,把他当成一门普通的语言就行了。要知道,就算C语言再难,总比汇编语言容易掌握、比机器语言容易记忆、比英语容易掌握。所以要自信!一切C语言都是纸老虎。
       
        (二)战术上重视C语言
       
        虽然我们在C语言面前保持了激昂的斗志,虽然我们无所畏惧。但是真正在学习得过程中,还是务必保持谦虚谨慎的态度,戒骄戒躁,不要因为搞了一两个俄罗斯方块游戏程序就洋洋自得,以为老子天下第一,甚至只遍了10行代码,就到CSDN博客中到处骂人,到处"踩"人的帖子。要知道,"雄关漫道真如铁,而今迈步从头越",无论你学了多少,只要还没有走上工作岗位,那么万里长征就只是才迈出了第一步,还有很长的道路等待着你。
       
        三、三个框架
       
        学习C语言,"编"不是问题,问题是"编什么"、"怎么编"、"编多深",下面就来解决这些问题。
       
        (一)静心不静
       
        1、静心。
       
        学习的过程,是一个漫长而枯燥的过程,学习者必须要有吃苦耐劳的准备,静下心来,从大家的视觉中消失,经受一个长时间的编程学生过程。吃尽苦中苦,方成人上人!等你重新回到大家的视野时,你会有一个蜕变,那时一切的痛苦都将化为甘甜。
       
        来个IT版的例子。在遥远的大洋彼岸,在微软的IE横行之前,在互联网刚刚起步之时,有一个叫做"网景"的浏览器占据了市场99%的份额,网景公司在当时的美国更是比易中天还如日中天。可是,大家知道这个"网景"浏览器是谁开发的吗?是一个学生,他在大学中不显山不漏水,别的同学每天考虑着泡MM,他却每天除了上课就是泡机房,是上也泡,下也泡,终于泡出了浏览器。
       
        所以说,静下心来,无论其他同学在多么兴奋的展示他们的某某系统,他们的某某网站,既然你选择了学习C语言,那么以韦青青青为榜样吧,总有一天,你会一举成名天下知的。
       
        2、不静
       
        学习C语言,务必不可以急躁,务必一步一个脚印,此乃静心。但是,学习C语言,也不可以太过沉默,一个人呆在机房里闭门造车妄想着创造出某个绝世程序然后成为中国的比尔盖茨是不可能的。
       
        学习靠自己,所以大部分时候我们需要自己思考、闭关修炼。但是一个人的力量终究是有限的,很多时候我们需要借助外力。比如不懂的地方咨询老师,不明白的地方可以与同学相互讨论等等,都是可以的。
       
        有很多同学,学习时碰上困难,遇上了麻烦,于是自己冥思苦想--这是对的--还是得不到结果,于是故意回避不闻不问--这是自欺欺人。有同学说,那是因为无人可问,问老师,貌似大学老师总是神龙见头不见尾,根本找不到;问网络大虾,网络大虾们经常不在线,就算在线,面对洋洋洒洒的留言也视而不见,更别提回复了;问同学,别提了太丢面子!大家同学而已,为什么要问他,问他岂不是说明自己低人一等吗,不问!
       
        其实,大学之中同学之间相互讨论是最可行的一种做法,毕竟一个王重阳没有时间指点全真七子,网络大虾比投名状中的兄弟还不可靠,所以除了自己多思考就是同学之间多讨论了。不要担心问问题会低人一等,老祖宗有一句话叫做"不耻下问",虽然你的水平比我低上一点点,但是,我不觉得向不如自己的问提问是耻辱。多好的阿Q精神啊,用这点!
       
        只有静心,才可以更好的学到知识;只有不静心,才可以更快的学到知识。
       
        (二)深入不深
       
        1、深入
       
        学好C语言,就一定不能浮躁,要深入的学习知识。
       
        其实,以上的话就极其浮躁,极其不深入。谁不知道要深入学习啊,但是你的告诉大家,到底什么内容属于深入学习的内容。
       
        其实,浮躁就是学习知识就是浮于表面,没有深入理解专业知识。表现在编程上就是只想编写一些所谓漂亮的、能够拿得出手的程序,而对于一些底层的支持程序置之不理。
       
        有的同学喜欢编写一些漂亮的程序,比如设计漂亮的网页,使用某某工具开发某某'大型'系统等等,当然这都是人之常情。正如鲁迅先生所说,文章写出来总是希望拥有更多的读者,除非是写给恋人的。程序编出来,总是希望拥有更多用户,除非是专门为爱人开发的。但问题是,只编写这类程序是不够的,是有缺陷的。
       
        这些所谓的程序,往往只需要对知识应用,并不需要刨根究底研究知识的本身,甚至有很多加入了很多相当专业的内容,并不适合于初学者学习。比如VC中的MFC就是一个典型的误导初学者的工具。利用MFC可以很方便的编写出DIAG界面程序或者视图文档程序,从表面上看风光无限,但对初学者却祸害无穷!假如使用VC学习C++,大部分时间将用于消息的处理,控件的处理,还要阅读大量的视图文档结构类库说明,这些操作将耗费了你大量的时间,得不偿失。而且VC++的大部分编程是在某些位置插入代码,至于C++部分系统自动实现了,留给你的是纯C语言操作。同学请注意,你学习的是C++,不是VC类库,也不是VC操作!
       
        比如使用数据结构,就必须自己编写有关链表、队列和栈等内容,你是在学习,又不是工作,当然得用自己编写的东西呢。
       
        又比如说C语言的内存分配函数,就是那个malloc和free.一般人直接调用就行了,但是计算机专业的学生不应该止步于此,而应该思考这两个函数的系统实现方法,并且编程序模拟内存分配和释放。设计这样的程序,不但可以增强动手能力,还可以加深对计算机知识的理解,一举多得,何乐而不为。
       
        2、不深
       
        深入学习C语言是极其应该的,但是大家也必须有所侧重,不能胡子眉毛一把抓,所有的东西统统深入,具体表现在两个方面:
       
        其一、一些知识范围不可过于深入。
       
        有一些知识,属于偏僻的内容,既不是基础,日后工作中也很难碰上,而且还极度困难,像这样的东西,了解即可,完全没有必要深入。比如说某同学心血来潮,要编写一个漂亮的输入法软件,于是苦心学习了有关输入法的所有知识,还妄图气死清华紫光,饿死搜狗拼音,于是仔细研究输入法的犄角旮旯。其实这些知识均相当偏僻,了解即可,完全没有必要打破沙锅问到底。
       
        其二、一些界面或者不必要的功能不可过于深入。
       
        大家编写的程序,往往伴随大量的交互式界面设计。事实上,编程有个二八原则,即编写80%的核心内容将耗费你20%的时间,而另外20%的功能将耗费你80%的时间。实际上,作为C语言学习,深入编写好那80%的核心功能就可以了,耗费80%的时间去深入完善那些20%的功能,得不偿失!
       
        所以,练习用的程序,最好是一些基础的、底层的实现,不要有太多花俏的图像和交互式操作。当然也可以设计一些简单的具备图形界面的小游戏,但此时你应该将精力更多注重于游戏本身的设计,而不是游戏的画面风格和动画效果上。
       
        学习C语言,有所为有所不为。
       
        (三)枯燥不枯
       
        1、枯燥
       
        学海无涯苦作舟,学习当然是一个枯燥的过程。用语言设计程序,表面上程序漂漂亮亮风光无限,其实风光的背后是黑漆漆的屏幕和冗长的代码。程序员是把美丽献给别人,把枯燥留给自己的职业。
         所以,学习C语言,就必须多设计一些枯燥的、无趣的实例。当flash程序员在展示图片时,C语言程序员要去学习空洞的0和1的图片格式;当Java程序员设计网站时,C程序员要去理解抽象的HTTP协议;当。net程序员使用对象托管时,C程序员总是要考虑内存的申请与释放;当C++程序员在欢乐的使用STL库时,C程序员必须自己搭建所有的数据结构。
       
        在C语言的学习路上,绝对没有学习其他语言那么多鲜花,这是每一个C语言爱好者必须接受的事实。
       
        2、不枯
       
        其实,人都是需要动力的,凭什么别的程序员可以通过漂亮的程序享受MM的崇敬和同学的赞叹,而C语言程序员就只能在0和1的世界中与电脑沟通。其实,学习C语言的过程完全可以是快乐的。
       
        大家在基础内容了解的差不多时,完全可以循序渐进设计一些简单的趣味游戏程序,从贪吃蛇到俄罗斯方块,从搞怪碰碰球到连连看,从扫雷到雷电,甚至还可以是植物大战僵尸和愤怒的小鸟,编写一些在界面上简化的趣味游戏程序来,同意可以激起自己的兴趣并获取老师、同学尤其是MM的阵阵掌声。
       
        枯燥,是因为学习并非玩耍。不枯,是因为要像玩耍一样的学习。
       
        四、四项注意
       
        (一)错误观点:C语言低人一等
       
        由于C语言常常应用于一些服务器程序,没有漂亮的界面,在一些同学的心目中,C语言程序员就成了IT民工的代名词。类似于煤矿工人,整天生活在地底下。而那些Java程序员,.net程序员则成了白领丽人。
       
        (二)错误观点:C语言高人一等
       
        与第一种情况相反,一部分同学则认为C语言才是语言正统。俗话说:真正的程序员用C,聪明的程序员用delphi.那么其他的语言统统是神马牌浮云,不值一提。其他的程序员,无论聪明也好,愚蠢也罢,都是盗版水货。
       
        (三)错误观点:C语言是忠贞情人。
       
        弱水三千,只取一瓢。有人在爱情上的忠贞,有人去在语言上忠贞,有人如斯内普般一生只爱一个女人,有人欲效仿之,一生只使用一种语言。
       
        正如人生而平等一样,其实,语言也没有高低贵贱之分,只有适合于不适合之分。Java适合做WEB开发,C语言适合服务器,C++适合做游戏,等等。真正的程序员,不是只使用C语言的人,而是到什么山唱什么歌。任何语言、任何数据库、任何操作系统对他来说都只是工具,呼之能来、来之能战、战之能胜、挥之能去。当JQuery方便时,我不直接用JavaScript;当速度优先时,我不用Java;当稳定优先时,我不用Windows.总之,倚天剑也好,屠龙刀也罢,统统是工具,为我所用,为我所奴役。
       
        (四)光说不练假把式
       
        学习C语言的真言是"编",但是也有同学会反驳,"这么简单的程序,也需要我亲自编写吗?"、"这个程序我看一眼就知道怎么做了"、"跳过这个程序,直接编写后面的程序"、"不要把天才浪费在这种小程序上"等等之类的言论不绝于耳。
       
        上面其实就是典型的"眼高手低".
       
        大家在高中学习数学时常常有这样的体会:一看就会,一做就错。计算机编程其实也是一样,咋一看简简单单,谁都可以说出个丁三卯四来,但是真正上一实战,手也抖了,腰也弯了,脑袋也浆糊了。要么半天写不出一行代码,要么编译就是报错,怎么查也查不出原因之所在。
       
      好了,以上就是关于学习C语言的秘诀,希望对正在C语言的同学有所帮助!
     
    展开全文
  • 一起学习C语言:C语言基本语法(一)

    千次阅读 2020-02-14 22:32:13
    一起学习C语言:C语言数据类型> 系列内容中,我们了解了整数类型、字符类型和浮点数类型的使用方法以及二进制到八进制、十进制和十六进制的转换方式。本章节,我们学习C语言基本语句用法,以及常用的运算符号。 ...
  • 学习c语言感悟

    千次阅读 2018-12-08 12:35:05
    不知不觉学习c语言也有一段时间了。 也是成为了不菜的菜鸟,并且在c语言的过程中也有很多感悟。 就我个人而言,上课听老师讲语法知识是最重要的,老师一节课下来要讲的内容很多,所以基本上没有时间记笔记,最好记...
  • 一起学习C语言>系列文章,本系列文章指引着您翱翔C语言世界,在这浩瀚的知识海洋里,您将会感受到学好一门语言应具备哪些条件。 前言 初接触编程那会儿,编程世界充满了神秘感觉,对于我来说是那么的遥不可及。...
  • 开始学习C语言

    千次阅读 2019-04-01 14:24:38
    今天是2019年4月1日,是一个月的第一天,也...在今天,我将学习C语言,我之前学过Java,学了这么久,我对AI有很大的兴趣,但是学Java我感受不到那种软件控制硬件的那种感觉,从今天起,学C语言... printf("hello world"); ...
  • C语言同C++、Python等都是通用性的编程语言,它们不针对某一个特定的方向,能做的事情很多。C语言主要用于底层开发,Windows、Linux、Unix 等操作系统的内核90%以上都使用C语言开发,开发硬件驱动,让硬件和操作系统...
  • 一起学习C语言:C语言数据类型(三)

    千次阅读 2020-02-07 17:09:41
    一起学习C语言:C语言数据类型(二)>中,我们了解了整形和字符类型的定义,以及二进制到八进制、十进制和十六进制转换方式。本篇文章中,我们进行分析浮点数的运算,并通过二进制、十进制和十六进制表达浮点数值。 ...
  • 这个问题是相对的,对于找到合适方法学习C语言的同学想必是觉得很简单;但对于一部分同学来说,没有众观全局就会误以为刚入门就需要学习庞大的知识,学着学着开始看不懂,由于心理作怪,感觉内容巨多,之后就真的...
  • 学习C语言的必备书籍-从入门到精通

    万次阅读 多人点赞 2017-10-27 22:18:11
    学习好并精通C语言是成为优秀程序员的首要要求,在这里推荐一些学习C语言从小白到高手的必看书籍。也是我几年来收集的一些精华本。 入门:1、大学C语言教材不同学校教材不通,大部分书都把C语言的基本内容讲出来了,...
  • 云风最近写了一篇博客《C语言的前世今生》。作为长期使用C语言开发...分别按照书籍、实验环境搭建、网络资源来分别介绍,希望能写的比较完整全面一些,给想学习C语言的朋友一个有价值的参考。 为什么要学习C语言
  • 你可以这样学习C语言

    2019-03-24 21:38:11
    声明:我已加入“维权...我在网上也看到了好多学习C语言的建议,于是我在想我也可以把我自己学习C语言的经验写出来与各位分享啊!于是就在今日头条上开了这么一个专栏,希望我的学习经验能够给更多学习C语言的朋友...
  • 为什么需要学习C语言

    万次阅读 多人点赞 2016-05-16 18:50:52
    学习C语言的主要理由有以下几点: ·C语言可以作为学习计算机程序设计语言的入门语言; ·C语言是编写操作系统的首选语言,与计算机硬件打交道时灵巧且高效; ·C语言具有现代高级程序设计语言的基本语法特征; ·...
  • 如何学习C语言

    千次阅读 2016-03-26 22:34:09
    因本人学习C语言的感想,为初学者提供一些参考,让初学者少走弯路  我想C语言基本上是每个人进入计算机,进入编程所学的第一门语言,其深刻意义不言而喻。废话不多讲 一、C语言是什么 要学习一样东西,我们首先...
  • 一起学习C语言:初步进入编程世界> 系列内容,我们讲述了如何搭建编译环境以及动态输入方式打印出整数运算结果,并留下几道练习题。本章节,我们学习C语言数据类型,了解类型的同时并学习二进制数字转换为八进制...
  • 分别按照书籍、实验环境搭建、网络资源来分别介绍,希望能写的比较完整全面一些,给想学习C语言的朋友一个有价值的参考。 为什么要学习C语言? 为什么要学习、使用C语言?为什么要学习一个可能比自己都岁数大的...
  • 如何学习c语言 零基础20天学会C语言

    千次阅读 2019-01-17 16:51:16
    学习C语言不是一朝一夕的事情,但也不需要花费十年时间才能精通。如何以最小的代价学习并精通C语言是本文的主题。请注意,即使是“最小的代价”,也绝不是什么捷径,而是以最短的时间取得最多的收获,同时也意味着你...
  • 从头开始学习c语言

    千次阅读 2014-09-24 10:20:32
    以前的时候学习C语言时候认为C语言不过是一个学习的工具,学习一些
  • 如何快速学习C语言

    2015-07-20 22:26:36
    如何快速学习c语言 大家可能因为学习c语言有些困难,大多数人都把这个语言当做编程的入门语言。 方法 首先是兴趣,要对这门语言有着浓厚的兴趣 ,兴趣是学习这门语言的...
  • 学习C语言并精通C语言

    千次阅读 2009-05-09 00:12:00
    程序员之路──如何学习C语言学习C语言不是一朝一夕的事情,但也不需要花费十年时间才能精通。如何以最小的代价学习并精通C语言是本文的主题。请注意,即使是“最小的代价”,也绝不是什么捷径,而是以最短的时间...
  • 谈及C语言,我想C语言功能强大都应该知道、应用广泛,一旦掌握了后,你就可以理直气壮地对他人说“我是电脑高手!”,而且以后若是再自学其他语言就显得...今天本人就与大家一起谈谈如何学习C语言或者说学习C语言应...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 95,086
精华内容 38,034
关键字:

学习c语言

c语言 订阅