我想学怎么才能学好c语言言但是什么现在都不懂那些标识符函数什么的完全都不懂~求大

偶是菜鸟,拜托高手具体说说?... 偶是菜鸟,拜托高手具体说说?

1、课2113前预习课后5261复习,认真做课堂、课后的作业解理论知4102识。1653

4、多动手通过练习上机了解它的运行过程。

5、实践—>理论—>再实践刚开始学习怎么才能学好c语言言时,按示例练习并推动理论的学习,然后再自己多思考多上机实践。

怎么才能学好c语言言是一门通用计算机编程语言广泛应用于底层开发。怎么才能学好c语言言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言

尽管怎么才能学好c语言言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性以一个标准规格写出的怎么才能学好c语言言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式處理器(单片机或称MCU)以及超级电脑等作业平台

1、学好怎么才能学好c语言言,你可以很好地应付任何5261一种编程工具4102

2、一定要多上机练习1653,通过程式了解相关知识几经反复方得正果。

3、不要把学习怎么才能学好c语言言当成一种任务更不要把它看成很难完成的任务。要充满洎信只要是一个智力正常的人都能学好怎么才能学好c语言言。始终保持游戏的心态多发现其中的乐趣。当感到编程趣味无穷那你在電脑方面将前程无量。

4、如果一个程式一时无法弄清楚最后暂时放在一边过一段时间你可能会从其他的程式中悟出道理。

5、怎么才能学恏c语言言是一个整体各个方面是有机联系的,要从总体上把握它不要把它割裂成互不关联的部件。

6、不要完全相信教材(包括本讲义)所有结论最好都上机验证。

计算机是按照人的指令(编写的程序)去执行的,如果不知道这些怎么才能学好c语言句在计算机中是如何执行的,伱怎么回灵活运用这些知识去解决实际问题呢? 解决问题的方法是要先理解怎么才能学好c语言言各种语句的流程(即计算机是如何执行这些语呴的过程),然后研读现成怎么才能学好c语言言经典程序,看懂别人是如何解决编程的种问题、难题的!这样在日后的学习和运用当中我们才能哽好的把握、及掌握怎么才能学好c语言言的学习要点!这样我们才能做到得心运手!

有一本是创作怎么才能学好c语言言的美国工程师亲手執笔的《c程序设计语言》,由怎么才能学好c语言言的设计者brian w. kernighan和dennis m. ...(不论原版还是译文)入门教材我希望是外国的!如果国内在 “提高和精通” 这两方媔有好的也列出来!

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

教了多年《C程序2113设计》5261课程大哆学生觉的这门课程难学。其实4102我们现在的教学大纲1653和教学要求,只要同学们掌握一些方法克服心理上畏难、不轻言放弃,是完铨可以学好的

《C程序设计》的内容很丰富,按照我们现在的教学大纲教学的主要内容是基础知识、四种结构的的程序设计、函数与数組的应用和一些简单的算法。在学习时同学们应该把主要精力放在这些部分,通过实践(练习和上机调试等熟练掌握当然,在初学怎麼才能学好c语言言时可能会遇到有些问题理解不透,或者表达方式与以往数学学习中不同(如运算符等)这就要求不气馁,不明白的哋方多问多想鼓足勇气进行学习,待学完后面的章节知识前面的问题也就迎刃而解了,这一方面我感觉是我们同学最欠缺大多学不恏的就是因为一开始遇到困难就放弃,曾经和好多同学谈他的问题回答是听不懂、不想听、放弃这样三个过程,我反问这节课你听过課吗?回答又是没有根本就没听过课,怎么说自己听不懂呢相应的根本就没学习,又谈何学的好

学习怎么才能学好c语言言始终要记住“曙光在前头”和“千金难买回头看”,“千金难买回头看”是学习知识的重要方法就是说,学习后面的知识不要忘了回头弄清遗留下的问题和加深理解前面的知识,这是我们学生最不易做到的然而却又是最重要的。比如:在怎么才能学好c语言言中最典型的是关于結构化程序设计构思不管是那种教材,一开始就强调这种方法这时也许你不能充分体会,但是学到函数时再回头来仔细体会,温故知新理解它就没有那么难了。学习怎么才能学好c语言言就是要经过几个反复才能前后贯穿,积累应该掌握的C知识

那么,我们如何学恏《C程序设计》呢

一.学好怎么才能学好c语言言的运算符和运算顺序

这是学好《C程序设计》的基础,怎么才能学好c语言言的运算非常灵活功能十分丰富,运算种类远多于其它程序设计语言在表达式方面较其它程序语言更为简洁,如自加、自减、逗号运算和三目运算使表达式更为简单但初学者往往会觉的这种表达式难读,关键原因就是对运算符和运算顺序理解不透不全当多种不同运算组成一个运算表达式,即一个运算式中出现多种运算符时运算的优先顺序和结合规则显得十分重要。在学习中只要我们对此合理进行分类,找出它們与我们在数学中所学到运算之间的不同点之后记住这些运算也就不困难了,有些运算符在理解后更会牢记心中将来用起来得心应手,而有些可暂时放弃不记等用到时再记不迟。

先要明确运算符按优先级不同分类《C程序设计》运算符可分为15种优先级,从高到低优先级为1 ~ 15,除第2、3级和第14级为从右至左结合外其它都是从左至右结合,它决定同级运算符的运算顺序下面我们通过几个例子来说明:

(1) 5*8/4%10 这个表达式中出现3种运算符,是同级运算符运算顺序按从左至右结合,因此先计算5 *8=40然后被4除,结果为10最后是%(求余数)运算,所鉯表达式的最终结果为10%10 = 0;

对于c=++a*b来说按表中所列顺序,+ +先执行*后执行,所以+ + a执行后a的值为4,由于+ +为前置运算所以a的值4参与运算,C的徝计算式为4*5=20而不是3*5=15了;而对于d=a++*b来说由于a + +为后置运算,所以a值为4参与运算使得d的值仍为20,而a参与运算后其值加1值为5。 这个例子执行后a的值为5,b的值为5c的值为20,d的值也是20;

例子中的“”是逗号结合运算,上式称为逗号表达式自左向右结合,最后一个表达式的结果徝就是逗号表达式的结果所以上面的逗号表达式结果为40,a的值为3b的值为8,c的值为40

例中的a>b?a:b是一个三目运算,它的功能是先做关系运算a>b蔀分若结果为真,则取问号后a的值否则取冒号后b的值,因此c的值应该为6这个运算可以用来代替if…else…语句的简单应用。

二.学好怎么財能学好c语言言的四种程序结构

顺序结构的程序设计是最简单的只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而丅依次执行。

例如;a = 3b = 5,现交换ab的值,这个问题就好象交换两个杯子水这当然要用到第三个杯子,假如第三个杯子是c那么正确的程序为: c = a; a = b; b = c; 执行结果是a = 5,b = c = 3如果改变其顺序写成:a = b; c = a; b = c; 则执行结果就变成a = b = c = 5,不能达到预期的目的初学者最容易犯这种错误。 顺序結构可以独立使用构成一个简单的完整程序常见的输入、计算,输出三步曲的程序就是顺序结构例如计算圆的面积,其程序的语句顺序就是输入圆的半径r计算s = 3.14159*r*r,输出圆的面积s。不过大多数情况下顺序结构都是作为程序的一部分与其它结构一起构成一个复杂的程序,例洳分支结构中的复合语句、循环结构中的循环体等

顺序结构的程序虽然能解决计算、输出等问题,但不能做判断再选择对于要先做判斷再选择的问题就要使用分支结构。分支结构的执行是依据一定的条件选择执行路径而不是严格按照语句出现的物理顺序。分支结构的程序设计方法的关键在于构造合适的分支条件和分析程序流程根据不同的程序流程选择适当的分支语句。分支结构适合于带有逻辑或关系比较等条件判断的计算设计这类程序时往往都要先绘制其程序流程图,然后根据程序流程写出源程序这样做把程序设计分析与语言汾开,使得问题简单化易于理解。程序流程图是根据解题分析所绘制的程序执行流程图

学习分支结构不要被分支嵌套所迷惑,只要正確绘制出流程图弄清各分支所要执行的功能,嵌套结构也就不难了嵌套只不过是分支中又包括分支语句而已,不是新知识只要对双汾支的理解清楚,分支嵌套是不难的下面我介绍几种基本的分支结构。

这种分支结构中的分支体可以是一条语句此时“{ }”可以省略,吔可以是多条语句即复合语句它有两条分支路径可选,一是当条件为真执行分支体,否则跳过分支体这时分支体就不会执行。如:偠计算x的绝对值根据绝对值定义,我们知道当x>=0时,其绝对值不变而x<0时其绝对值是为x的反号,因此程序段为:if(x<0) x=-x;

这是典型的分支结构洳果条件成立,执行分支1否则执行分支2,分支1和分支2都可以是1条或若干条语句构成如:求ax^2+bx+c=0的根

分析:因为当b^2-4ac>=0时,方程有两个实根,否则(b^2-4ac<0)有两个共轭复根其程序段如下:

③嵌套分支语句:其语句格式为:

嵌套分支语句虽可解决多个入口和出口的问题,但超过3重嵌套后语句结构变得非常复杂,对于程序的阅读和理解都极为不便建议嵌套在3重以内,超过3重可以用下面的语句

④switch开关语句:该语句也是哆分支选择语句,到底执行哪一块取决于开关设置,也就是表达式的值与常量表达式相匹配的那一路它不同if…else 语句,它的所有分支都昰并列的程序执行时,由第一分支开始查找如果相匹配,执行其后的块接着执行第2分支,第3分支……的块直到遇到break语句;如果不匹配,查找下一个分支是否匹配这个语句在应用时要特别注意开关条件的合理设置以及break语句的合理应用。

循环结构可以减少源程序重复書写的工作量用来描述重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序结构怎么才能学好c语言言中提供四种循環,即goto循环、while循环、do –while循环和for循环四种循环可以用来处理同一问题,一般情况下它们可以互相代替换但一般不提倡用goto循环,因为强制妀变程序的顺序经常会给程序的运行带来不可预料的错误在学习中我们主要学习while、do…while、for三种循环。常用的三种循环结构学习的重点在于弄清它们相同与不同之处以便在不同场合下使用,这就要清楚三种循环的格式和执行顺序将每种循环的流程图理解透彻后就会明白如哬替换使用,如把while循环的例题用for语句重新编写一个程序,这样能更好地理解它们的作用特别要注意在循环体内应包含趋于结束的语句(即循环变量值的改变),否则就可能成了一个死循环这是初学者的一个常见错误。

在学完这三个循环后应明确它们的异同点:用while和do…while循环时,循环变量的初始化的操作应在循环体之前而for循环一般在语句1中进行的;while 循环和for循环都是先判断表达式,后执行循环体而do…while循环是先执行循环体后判断表达式,也就是说do…while的循环体最少被执行一次而while 循环和for就可能一次都不执行。另外还要注意的是这三种循环嘟可以用break语句跳出循环用continue语句结束本次循环,而goto语句与if构成的循环是不能用break和 continue语句进行控制的。

顺序结构、分支结构和循环结构并不彼此孤立的在循环中可以有分支、顺序结构,分支中也可以有循环、顺序结构其实不管哪种结构,我们均可广义的把它们看成一个语呴在实际编程过程中常将这三种结构相互结合以实现各种算法,设计出相应程序但是要编程的问题较大,编写出的程序就往往很长、結构重复多造成可读性差,难以理解解决这个问题的方法是将C程序设计成模块化结构。

怎么才能学好c语言言的模块化程序结构用函数來实现即将复杂的C程序分为若干模块,每个模块都编写成一个C函数然后通过主函数调用函数及函数调用函数来实现一大型问题的C程序編写,因此常说:C程序=主函数+子函数因些,对函数的定义、调用、值的返回等中要尤其注重理解和应用并通过上机调试加以巩固。

三.掌握一些简单的算法

编程其实一大部分工作就是分析问题找到解决问题的方法,再以相应的编程语言写出代码这就要求掌握算法,根据我们的《C程序设计》教学大纲中只要求我们掌握一些简单的算法,在掌握这些基本算法后要完成对问题的分析就容易了。如两个數的交换、三个数的比较、选择法排序和冒泡法排序这就要求我们要清楚这些算法的内在含义,其中选择法排序和冒泡法排序稍难但呮要明白排序的具体过程,对代码的理解就不难了如用选择法对10个不同整数排序(从小到大),选择法排序思路:设有10个元素a[1]~a[10],将a[1]与a[2]~a[10]比较若a[1]比a[2]~a[10]都小,则不进行交换即无任何操作;若a[2]~a[10] 中有一个比a[1]小,则将其中最大的一个(假设为a[i])与a[1]交换此时a[1]中存放了10个中最小的数。第②轮将a[2]与a[3]~a[10]比较将剩下9个数中的最小者a[i]与a[2]交换,此时a[2] 中存放的10个数中第2小的数;依此类推共进行9轮比较,a[1]到a[10]就已按从小到大的顺序存放即每一轮都找出剩下数中的最小一个,代码如下:

结语:当我们把握好上述几方面后只要同学们能克服畏难、厌学、上课能专心听讲,做好练习与上机调试其实怎么才能学好c语言言并不难学。

今天我能够自称是一个混IT的人,并能以此谋生将来大家能一次谋生,都要感谢两个人:克劳德.香农和约翰.冯.诺依曼的动作。建议大家在心里默念三遍他们的名字鉯示仰慕。当然如果让你们带着现在的知识回到他们的那个时代,那么就没有什么图灵奖了

怎么才能学好c语言言程序设计是我们的专業基础课,但是怎么才能学好c语言言本身却是一个非常强大的工具它是到目前为止最为广泛使用的工具,并且在可以预见的将来它仍嘫是皈依为程序员的人们心中的神器。这个工具作什么的呢它在人和机器之间建立了一个交流的平台。

某天你需要完成一个求100的阶乘嘚作业,于是你搬来一个最新的电脑为它安装了最新的windows vista操作系统,然后坐在它的身前喊“喂电脑,给我计算100的阶乘”电脑说“ok, wait a moment”; 過了一会,一盘香菇小白菜端了上来!呵呵电脑不是waiter, 你喂它它是不会有反应的,如果你真的wait a moment, 恐怕你就需要wait one more moment了!一万年后人们就把你命洺成“望夫崖”。

既然电脑不是伺应生听不懂我们的话,那么我们要怎么控制它呢如果你们给我装聋作哑,我会告诉你期末挂了你哦,你立马老实了!对于电脑我要怎么才能使唤它,让它为我工作呢不错,我们有个强力工具怎么才能学好c语言言!

好,我们把上媔的场景复习一下:

你要我算100的阶乘于是我去机房上机,编写了一个程序

运行程序哦,结果出来了!

有人认为现在是java和.,程序就是峩

听完我讲高手的境界,于是乎你很受感动说:我要努力学习,向高手学习!隔天就买了一堆MFC, VB, JAVA以及.NET的书回来早上五点钟起来背书!這样是不行的,正确的入门方法只有一个要证大道,唯有此法!同学们从怎么才能学好c语言言入手,努力学好怎么才能学好c语言言!

旁观者李四说:此人大笨也!我用鼠标随便拖几个控件就是一个xxx管理系统了,你用怎么才能学好c语言言怕是一年也写不出来吧!好吧峩要承认,讲这话的都已经是mS的奴才了别的我不了解,MFC本身就是一个封闭的架构从MFC入手学习,你只会形成一种封闭的思维模式因为MS唏望很多人只学会表面的东西,不致成为高手所以它大力推荐所谓的可视化的程序开发工具,也真有很多人愿意上他的当最后真正迷夨方向。说他坐不了程序吧他也可以作,但是如果程序复杂一点出现问题时,问题出再哪里就搞不清楚了反正是不清楚!

梁肇新,夶牛啊他说:“我就搞不懂了,用鼠标怎么写程序呢在我的公司里,高手的键盘响个不停鼠标偶尔响一下,新手是鼠标响个不停鍵盘偶尔响一下,他们的薪水相差的就不是一倍那么多了!”

怎么才能学好c语言言是各大操作系统的基础Unix、Linux、Windows其内核都清一色是怎么才能学好c语言言开发的,(某些地方是和汇编语言混合开发的)君不见Windows API都是怎么才能学好c语言言函数的接口?Unix/Linux绝大多数应用都是怎么才能学好c語言言开发的;Windows应用程序用纯API开发已然不多大多都是依靠某种Application work,比如所谓的VC++其实就是指VC IDE + C++语言 + MFC(现在重点已转向ATL、WTL),但是Windows服务、网络、驱動程序等底层软件还是怎么才能学好c语言言开发的。各种语言的编译器包括java虚拟机,都是用怎么才能学好c语言言开发的各种嵌入式設备,如手机、PDA也都是怎么才能学好c语言言开发的怎么才能学好c语言言历史悠久,其内容也绝非谭浩强老师的《怎么才能学好c语言言程序设计(第二版)》所描述的那么简单——那本书只是针对中国国情的教学入门书而已

学生总喜欢问:那种语言好?学那种语言有前途这种问题天天在讨论,永无休止其实我觉得大家所关心的,无非是那种语言更有“钱途”学习那种语言毕业后能够轻松找到高薪的笁作——当年我也是这么想。那么我告诉你,如果你精通怎么才能学好c语言言请你去华为,不要在小池塘里浪费青春了!

OK, 听了我苦口嘙心的劝告你准备从怎么才能学好c语言言入手,开始攀登程序员高手这座山峰了在你出发之前,你的行囊中需要准备什么呢

第一个偠装进行囊和你一起前进是“规范的格式”,有很多教科书参考书,不太注重程序的格式的问题写出的程序就规范的格式包括什么呢?不少啊要坚持才能做到!长标志符命名,代码缩进一对大括号范围不超过一屏幕,等等

第二个要装进行囊的是耐心,所谓工欲善其事必先利其器。要想成功没有一个相对平淡的过程是不可能的。这不仅仅指你在学习过程中要有耐心要循序渐进,而起也说的是叧一个重要的方面:调式程序调试是写程序过程中一个重要的方面,如果有人能一次写成程序牛啊,而且是大牛不光是大牛,还是咾子骑的那头青牛凡人是做不道的!调试是每个程序必定经历的历程。经常有同学问我:老师我的程序完全没错误啊,都是照书抄的啊!怎么就运行不出来呢对于这个问题我也看不出来!你们有问题可以找我,找其他的老师老师找谁啊?李师父那是很荒谬的!我僦只好坐下来调试,这个说实话调试是很枯燥的,所以有同学抱怨说我操作太快不理解为什么要这样,为什么要那样我的脾气不太恏,一烦躁就会骂人地所以,这个就需要你们自己修炼内功了!

有了这两个就可以了可以出发了,估计有人说了英语和数学不要了?大家都说大学生了这种问题就不要问了嘛!你已经用早晨和傍晚的时光学习了英语了,我这个没有要去计算机专业英语超简单,小學水平而已记住一些专业词汇就可以了!关于数学,说数学好写程序就好是没有科学根据的!我就有个同学,数学回回100分写程序也僦是hello world的程度,不过人家现在是数学博士了!惭愧啊!做为的大学生而且是我们这个专业的大学生,已经完全具备了写程序所需要的数学素养了!所以这个不是我们要担心的Ready? Go!


第一招,学什么呢打狗棍法!呵呵

有一个伟人说过:“重复权威是成熟的必经之路”,这是站茬巨人的肩膀上的做法习武之人首先要学的都是各种套路,比方说辟邪剑法然后才能融会贯通,开宗流派;我们学习写程序也要这样來这是一个捷径,帮你走得更远得捷径

看书,看好书!书中所写是前人数十年经验所写,看十本书就相当于汲取了前人数十年的功力,那么你的内功也接把源码复制过去编译运行hoho,

自然,我让你输入程序不是让你练习盲打你在输入的过程就可以品出程序的好坏来叻,如果发现自己输入了很多重复代码那至少这个程序的结构就不好了,穷则变变则通嘛,你就想改进它啊这不是很好吗?

当然程序输得多了,盲打功力也上了一个台阶键盘敲得快了,薪水也跟着涨上去了!^_^

不过键盘敲得快不代表你的程序就写得好,否则学校呮要每个学生发一份盲打联系软件四年毕业后,个个都是程序高手了!

好了你输了一个程序进电脑了,锻炼了手部肌肉也运行出了結果,愉悦了身心就此满足了?那离高手还远呢要变成高手,你还要锻炼一下你得脑部肌肉!拿起你得笔拿起你得纸,用你得大脑这号称世界上最精密的机器来运行你输入的程序,记录下不同运行时刻变量的值记录下程序的运行分支,最后发现这个程序被你解剖到了纸上,我相信也解剖到了你的心里!这是捷径的核心一定要记住,输入的程序不是说正确运行就完事了要去阅读一下代码,利鼡笔和纸做辅助工具做一下笔记,这就是重复权威 当然,如果你是天才那请你塞上耳朵,你不在我们讨论的范围之内!

为什么这一步很重要呢

大家刚开始学习的时候,是不是有种感觉如果让你写一个程序,你从哪里下手呢前面?后面上面?下面为了解决这個问题,我的程序该如何写呢抓耳挠腮,好烦啊于是乎干脆睡觉去,不写了你看,这种行为是要打PP的!

练武功总是先重复师父的動作,才能有自己的动作所以也让我们重重复别人写的程序开始,然后再写自己的程序吧!

遵循这个方法你们就跟着组织走上了通往羅马的大路了!

接下来,你得走啊不走怎么到罗马呢? 把你学会的程序设计方法应用到你写的程序中去啊!

某天你看到这里有个问题,你有了想法怎么办?上机去和键盘奋战去!stop, stop! 暂停一下,上机之前不要忘记了你的笔和纸,勇敢地把你的想法写下来如果写不出來,就不要去机房浪费爸爸妈妈的血汗钱了!

当然你不能乱写啊,写出来的东西怎么样才叫不是乱写的呢实践是检验真理的唯一标准!用你的大脑去运行一边啊,不是叫“人程序合一”嘛,这就是了!学武功就要学绝世武功!虽然号称最精密实际效果上,人脑还是沒有电脑的准确度的如果你的大脑能马马虎虎地运行出来之后,那么OK带上规范的格式和耐心,去上机吧!

自然我们说一天到晚面对芓符界面的TC是有些郁闷,大家都习惯了windows微软的客户体念设计中心可不是吹出来的!windows多好,色彩斑斓的当你修炼到我这个程度的时候,非要听这京剧才文思泉涌的写程序的时候当然要用windows下的集成开发环境了。但是对大家来说不是现在,windows是很危险地程序员还是回到TC中詓吧!

TC至少有一个好处,可以锻炼我们使用组合键的习惯可以锻炼我们使用键盘编程的习惯,回想我们刚刚说的梁某说的话“用鼠标怎麼编程呢”有同学不免要提出疑问了,我是80年代甚至是90年代生人你还让我面对那么枯燥的输入输出界面?我跟你有代沟!我期待有更豐富更吸引人的交互手段

哦这个问题问得好,怎么才能学好c语言言中也有图形啊完全可以满足大家寓教于乐得心理!让我们编程序,佷简单就是在屏幕上话一个周期得正弦波!

运行效果是不是很好?你学数据结构的时候树啊,图啊你都可以这样输出啊,很多地方伱都可以做的更好呢!

好了到这里,我们基本解决了在学习怎么才能学好c语言言程序设计时的一些方法论的东西关于具体的学习过程,如果你要我在这里给你们讲指针要如何学习函数要如何学习?那我讲的内容也不会多于任课老师的内容或者开个专题叫“如何学好指针”,当然如果你愿意和我探讨一下指针的本质和高级应用的话,课后课后啊!

现在,我们要谈最后一个问题!我们这个专业的女苼的比例较其他的工科专业还是要高一些的不知道为什么经常到如下的说法:1,我是女生我不适合写程序啊;2,我的性格比较外向鈈适合坐下来安静的写程序呢!

性格外向不适合写程序?你子)所有,说性格外向不适合写程序的话是懒惰的借口是要掩盖他不可告囚的目的的接口!狂打PP!

女生又为什么不适合写程序呢?我到知道一个理由对皮肤不好啊!你们看我这满脸沧桑的,就知道了!除此之外还会又其他的理由吗?英国科学家早就证明了男女的区别完全不是人们想象的那样很多方面女性是要超过男性的!想想以前的母系社會,现在的惠安女!

我就见过一个上市公司的研发二部全是女性!从软件工程师到硬件工程师再到部门经理都是女性,业绩根本不输其怹的研发部门这个公司在湖南,不是我瞎掰的!

同学们问大家一个问题,“二十一世纪最贵是什么”,不错是人才,所以我可鉯负责任地告诉大家,“不学好怎么才能学好c语言言老师很生气”,老师很生气后果怎么样啊?是很严重!

学习怎么才能学好c语言言鈈是一朝一夕的事情但也不需要花费十年时间才能精通。如何以最小的代价学习并精通怎么才能学好c语言言是本文的主题请注意,即使是“最小的代价”也绝不是什么捷径,而是以最短的时间取得最多的收获同时也意味着你需要经历艰苦的过程。

一、要读就读好书否则不如不读

所有初学者面临的第一个问题便是:如何选择教材。好的开始是成功的一半选择一本优秀的教材是事半功倍的关键因素。不幸的是学校通常会帮你指定一本很差劲的怎么才能学好c语言言课本;而幸运的是,你还可以再次选择

大名鼎鼎的谭浩强教授出了┅本《怎么才能学好c语言言程序设计》,据说发行量有超过400万据我所知,很多学校都会推荐这本书作为怎么才能学好c语言言课本虽然夲人的名字(谭浩宇)跟教授仅仅一字之差,但我是无比坚定地黑他这本书的这本书不是写给计算机专业的学生的,而是给那些需要考計算机等级考试的其它专业学生看的这本书的主要缺点是:例子程序非常不专业,不能教给你程序设计应该掌握的思考方式;程序风格楿当地不好会让你养成乱写代码的恶习;错误太多,曾经有人指出过这本书的上百个错误其中不乏关键的概念性错误。好了这本书峩也不想说太多了,有兴趣大家可以百度一下:)

Kernighan和Ritchie的《The C Programming Language》(中译名《C程序设计语言》)堪称经典中的经典不过旧版的》,特别地强调指针的重要性算是本书的一个特点吧。不过这本书并不十分适合初学者如果你曾经学过怎么才能学好c语言言,有那么一些怎么才能学恏c语言言的基础但又不是很扎实那么你可以尝试一下这本书。我相信只要你理解了指针,怎么才能学好c语言言便不再神秘

如果你已經啃完了一本怎么才能学好c语言言教材,想要更进一步那么有两本书你一定要看。首先是《C Traps and Pitfalls》(中译名《C陷井与缺陷》)很薄的一本尛册子,内容非常非常地有趣要注意一点,这本书是二十多年前写成的里面提到的很多怎么才能学好c语言言的缺陷都已被改进,不过能够了解一些历史也不是什么坏事然后你可以挑战一下《Expert C Programming》(中译名《C专家编程》),书如其名这本书颇具难度,一旦你仔细读完并能透彻理解你便可以放心大胆地在简历上写“精通怎么才能学好c语言言”了。

切记一个原则不要读自己目前还看不懂的书,那是浪费苼命如果你看不懂,那你一定是缺失了某些必需基础知识此时,你要仔细分析自己需要补充哪些内容然后再去书店寻找讲述的这些內容的书籍。把基础知识补充完毕再回头来学习才会真正的事半功倍。

不同的编程环境会造就出不同思维的程序员Windows的程序员大多依赖集成开发环境,比如Visual Studio而Unix程序员更加钟爱Makefile与控制台。显而易见集成开发环境更容易上手,在Windows上学习怎么才能学好c语言言只需要会按几個基本的Visutal C++工具栏按钮就可以开始写Hello, World!了,而在Unix下你需要一些控制台操作的基本知识。有人也许认为Unix的环境更简洁但习惯的力量是很大的,大家都很熟悉Windows的基本操作而为了学习怎么才能学好c语言言去专门装一个Unix系统,似乎有点不划算

对于一个只懂得Windows基本操作、连DOS是什么嘟不知道的新手而言,尽快做一些有趣而有意义的事情才是最重要的用怎么才能学好c语言言写一个小程序远比学习ls、cat等命令有趣,况且峩们要专注于怎么才能学好c语言言本身就不得不暂时忽略一些东西,比如编译链接的过程、Makefile的写法等等等等

所以我建议初学者应该以Visual C++ )或者Dev C++作为主要的学习环境,而且千万不要在IDE的使用技巧上过多纠缠因为今后你一定要转向Unix环境的。Visual C++ 6.0使用很方便调试也很直观,但其默认的编译器对C标准的支持并不好而Dev C++使用gcc编译器,对C99的标准都支持良好使用顺带提一下,很多大学的怎么才能学好c语言言课程还在使鼡Turbo C 2.0作为实验环境这是相当不可取的,原因其一是TC 2.0对C标准几乎没有支持其二是TC 2.0编译得到的程序是16位的,这对今后理解32位的程序会造成极夶的困扰(当然,用djgpp之类的东西可以使TC 2.0编译出32位程序不过那过于复杂了)。

等你学完一本怎么才能学好c语言言的教材你一定要转向Unix平台繼续学习,几乎所有的怎么才能学好c语言言高级教程都是基于Unix平台的(比如《C专家编程》)转变的过程是痛苦的,你需要面对的是各种紛繁复杂的命令完全不同于Windows平台的思考方式,但是这种痛苦是值得的Unix与C是共生的,Unix的思考方式和习惯更加符合怎么才能学好c语言言的思考方式和习惯在Unix下,你可以找到无数优秀的源代码供你尽情阅读你可以方便地查看某个库函数的联机手册,还可以看到最优秀的代碼风格(说到代码风格我会专门写一篇文章详细叙述)。

归结起来就是一句话:初学怎么才能学好c语言言建议使用Windows系统和集成开发环境,在准备向“高手”方向努力时请先转向Unix平台。

三、万事俱备你就是东风

书已选定,环境配置完成正所谓万事俱备,只欠你自己嘚努力了请从书的前言开始,仔细地阅读手头的教材很多人看书喜欢直接从第一章开始看,这是错误的做法前言是作者对整本书的夶体介绍,作者一般会告诉你需要什么基础才能够顺利阅读本书这可以帮助你检验自己的基础知识是否已经具备。看完前言还要浏览┅下目录,了解一下书的整体结构顺便给自己安排一下学习计划。

学习怎么才能学好c语言言必需注意每一个细节,书上的例子代码一萣要自己亲自敲一遍编译执行输出都跟书上说的一致才能算是学完了一个例子,如果不一致就要仔细找原因。出了书本上有的例子洎己还要“创造”一些例子,比如学习运算符优先级的时候可以写几个相同的表达式,在不同的位置加上括号看看有哪些不同的行为,比如*p++和(*p)++又比如a = b == c、(a = b) == c和a = (b == c)等等。自己抄的书上的例子以及改造之后的例子还有自己“创造”的例子,都应该仔细地归类保存并且要在源玳码中写上简短的注释,阐述这个例子的意图

例子之后就是习题了,我建议初学者把所有的习题都独立做一遍然后对照答案的代码,看看自己的代码有那些不足再试着修改自己的代码。很多人不重视习题这是极大的错误,因为作者通常会在习题中说明一些重要的道悝而不是单纯地检验前面的知识。

也许你认为这样学习太慢其实不然。学得细致就不用走回头路等你学到后面才发现自己前面没搞清楚,那才是真的得不偿失一般说来,整本书读完你应该完成数千行乃至上万行的代码,无论是原封不动照抄书上的还是自己心血來潮写就的,都是今后继续学习的一笔财富以我自己举例,阅读《Windows核心编程》时(我只阅读了3/4的内容)除了抄书上的代码,还自己写叻很多例子一共有5574行(用unix下的wc工具统计),时隔多日我早已记不清Windows的系统编程了,但只要花几分钟翻出以前的代码看看便会重新了嘫于胸。所谓好记性不如烂笔头就是这个道理。

仔细读书、认真抄写源代码、独立完成习题外加更进一步的实验最后将所有的代码留丅,成为自己的经验和财富绝对的辛苦,也绝对的事半功倍当然,这种方式只适合学习需要精通的技术如果不是学习怎么才能学好c語言言,你还要具体情况具体分析

写到最后,还有非常非常重要的一点没有提及──代码风格从最开始学习就必须强迫自己模仿最优秀的代码风格。因为代码风格太重要内容也太多我会用专门的一篇文章来详细讨论,请大家关注《程序员之路──关于代码风格》

题目是关于怎么才能学好c语言言,其实我主要想说说程序该怎么学或者一点感悟罢了,在这里我只想引用身边的几个人的例子,来谈一丅对程序学习的理解

第一个人要说到我了我对程序产生兴趣,是听说程序可以作游戏那时候是在初一,然而借来一本G-BASIC简明教材后我便傻了眼。

陌生的词汇古怪的逻辑,都是些天文的中文译本头疼了好一阵子。

然而当时又没有别的闲书可看我就整天捧着那一本书,什么方法都试过了甚至倒着看过了,都没看出什么眉目自己又没有电脑,只能不停地大胆地想象然后满脑子的疑惑……

在这里停┅下,上面说的便是我学习的风格:总要经历一番波折瞎折腾几下,然后才会有偶然间的明悟-开窍了!我甚至没见过几个人有我这么笨现在明白过来了,我总是一开始把事情想得过于复杂造成狗咬刺猬的难堪的局面,然而竟然有意想不到的收获!但是不建议大家模汸这种风格起码追女朋友的时候不能这样,生活中很多机会在于接手的那一瞬间失去就永远找不回来了。

现在回来后来偶然间,我看懂了一行代码是print 语句,当时兴奋得要命又仔细看了这个看了那个,一下子看懂了很多东西像是在霎那间被什么给击中似的,立刻間醍醐灌顶。。

初三在学校学了FOXBASE基本上自学的,我发现了一件奇怪的事我这人是出了名的记性不好,然而当时背程序中十分得意與自信但后来证明大部分是错的,害我花了很长时间去纠正这是后话。可是还是那句话不破不立,不阻不行就像我现在有了电脑,整天泡在互联网的海洋里感受着快餐文化,好久都没静下心来好好想点东西了.

高中还上过几节电脑课只不过忙于应付高考,我将学程序的打算放弃了到这里我该说下一个人了。

高中时坐我旁边一女生她的文曲星里有BASIC,我偶尔拿过来编了几个小程序玩她看到后很感兴趣,令人惊讶的是她只看了三五个程序,听我讲了几个命令的功能就能根据自己的想象编出小动画来,她此前是绝没有学过程序嘚!我曾一度怀疑过她的智商然而她程序是如此之快,却让我的眼都瞪大了好几圈比我当年高了好几个境界!我后来经常在想,是不昰我当时的方法不对程序到底应该怎样学。。

一晃就到了大学我碰到另一个让我佩服的人,跟我一样是学计算机的他是偶尔看到峩在编动画,然后十分感兴趣便开始自学。他令人吃惊的是指针,结构体位运算等等,都没搞懂(更不用说算法和数据结构)只學了三种程序结构,现在只学了C半年便自己能编出贪吃蛇,俄罗斯方块扫雷,还有很多叫不出名字的小游戏来现在又在写黑白棋,峩知道我确实是走了不少弯路

程序应该怎样学,对C来讲我觉得应该从画图学起。

一画图程序很能振奋人心的,它能带给你浓厚的兴趣这是学程序的关键。

二画图程序容易上手,很简单的道理就能做出很漂亮的东西来。有很多东西甚至不用看课本就能自己推出來(我认为推理的方法很重要,它是你自学的必要条件)

比如画一个圆,从数学角度来分析要确定一个圆,只需知道它的圆心(x,y)与半径r,那好一个圆就画出来了circle(x,y,r);

其它的类推,再画一个立体的选择立方体,再分析只要知道两个对角的坐标就行了吧,翻一下课本不昰这样,为什么你或许会想到,电脑屏幕本来就是平面的用立体坐标的理论在这里,恐怕就不是最简单的方法所以它采用的应该是兩个平面图形平移。此处留下疑问立体图形在平面坐标中怎么表示?自己慢慢研究很浅的东西。

想作动画吧想象一下动画的原理只昰从一个图形变幻到另一个图形,不同地变幻就出现动画效果那就可以画一个,擦了再画一个新的,再变化。

数学功底好的话,從二维到三维从静态到动态我认为是很快的过渡。

具体该怎么学呢你可以多找几个画图的例子,敲到电脑里多敲几个,慢慢地你就會知道哪些东西是干什么的慢慢地就会自己做出东西来。

但这里不要沉溺太久了先学画图只是帮助你轻松地入门(很多人C学完了还没囿入门)。

从画图里暂时走出来你应该打打基础了,这里不再赘述可以边学边实践,物理数学课本中很多问题都可以用程序来演示,来解决尝试着多做些东西,这比你老学课本中的模型强多了只有你自己去体会才能知道。

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

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

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

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

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

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

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

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

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

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

有人问我怎么財能学好c语言言是不是很难学,我说不是后来问的人多了,我就萌生了写一篇关于怎么才能学好c语言言如何入门的文章的念头来

其实怎么才能学好c语言言很简单,它只是一种交流的规则一种表达的工具,一种承载思想的容器而已之所以感觉难,我觉得是还不习惯使鼡计算机特点来考虑问题这就好比中国人从到英国定居一样,虽然你学过英语但是那只是想象中的英国,和现实的英国的情况还相差佷远所以要有一个适应的过程,也就是常说的过渡期或磨合期

想尽快上手就得掌握计算机的特点,计算机的特点包括:

计算机在问题嘚处理方式上要求全将所有的可能都要告诉它。人可以根据习惯忽略一些东西但计算机不行。比如说求解一元二次方程我们考虑问題就已经默认了a不等于0,更有甚者把b方减4ac也默认大于等于零了这是我们的习惯,既然有解我们一般习惯上就把它定为实数解,所以你莋出来的程序一般是不考虑这两个条件的但是计算机不行,计算机是有名的弱智计算机没有象人一样的智能处理能力,它是人忠实的信徒不管你怎么想,它都会执行你的命令由于你的习惯,导致一些别有用心的人或者无意犯错的人来犯错误致使计算机有时无所适從。很疲惫甚至崩溃,报错造成你的程序是不成功的,所以你感觉很难

2、 计算机要求程序的描述精确,无二义性人的语言有很强嘚随机性和二义性。我们平时说话时有时是一些招呼,有时说话的逻辑性可以不太清楚话既可以表达这样的意思,也可以表达那样的意思人可以根据环境和对方想表达的含义进行分析,最终得到正确的结果但是计算机很弱智,虽然它很听话但是他不能理解你表达嘚思想,只会按你交给的指令执行这样导致执行时报警和出错。

3、 计算机编程是要求有很强的全局性和逻辑性不存在起伏的问题。人嘚思维有很强的活跃期和蛰伏期计算机不会,它随时待命人在考虑问题时,有很多尽兴的东西但这不是处理问题的整体,而是一部汾所以就出现做完一段代码后,就不愿意再写或感觉很吃力,所以感觉很难

计算机要求它的主人,考虑问题要全面所有可能的情況及处理都要告诉它,要求学会沉稳心态要稳定,要求交流的语句一定要明了含义单一

怎样才能很快的学会怎么才能学好c语言言,更赽的度过磨合期呢怎么才能学好c语言言的语法规则记忆理解当然是不可少的,除此之外还应注意以下几个方面:

1、 好好理解一下变量和函数的概念至少要重新回头看看初等数学。这是基础否则就会先天不足,你学的再好也成不了大气候。

2、 平衡心态虽然不能做到“不以物喜,不以己悲”的水平但至少不要浮躁,不要急于求成欲速则不达。

3、 培养自身的全局意识既能小无内,也能大无外才荇。

4、 严格按照程序设计过程设计程序不要跳脱,天马行空没有规矩是不成方圆的。

5、 努力提高自身的综合素质程序是人思维的表達形式,是人处理问题思路和语言的结合体你对客观看成到什么程度和你掌握的知识成正比。如果你对处理的问题不理解不会处理,伱怎么也写不出程序

6、 学会交流,多交流相互补益,同时团队合作也是很重要的

总之,实践出真知多学、多练、多思、多交流,勤奋好学才能学成

有什么不合适的地方还请多多指教!

我要回帖

更多关于 怎么才能学好c语言 的文章

 

随机推荐