如何开始学习c语言(c语言初学者该如何学)

今天给各位分享如何开始学习c语言的知识,其中也会对c语言初学者该如何学进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

1、怎样才能学好C语言2、如何正确快速学习C语言?3、如何学习C语言4、如何学习C语言?

怎样才能学好C语言

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

1、 计算机在问题的处理方式上要求全,将所有的可能都要告诉它。

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

2、 计算机要求程序的描述精确,无二义性。

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

3、 计算机编程是要求有很强的全局性和逻辑性,不存在起伏的问题。

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

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

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

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

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

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

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

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

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

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

如何正确快速学习C语言?

坚持天天上机练习,培养浓厚的兴趣。

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

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

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

4、C语言是一个整体,各个方面是有机联系的,要从总体上把握它,不要把它割裂成互不关联的部件。

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

6、 秘密武器 初学者学习计算机语言要会“读程序”,要对小型的应用型、游戏型程序感兴趣,并模仿去加深对C语言程序设计的理解和操作,只有不断地写程序、调试程序才能得到编写程序的经验和加深对程序的理解,这也是学习编写优秀高级程序的秘密武器。

7、 发扬探索精神 学习C语言程序设计有点像做数学难题,只要我们善于思考,善于探索,发扬探索精神去寻找好的设计思想和方法,才能把C语言的精髓真正地掌握。

如何开始学习c语言(c语言初学者该如何学)

如何学习C语言

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

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

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

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

Kernighan和 Ritchie的《The C Programming Language》(中译名《C程序设计语言》)堪称经典中的经典,不过旧版的很多内容都已过时,和现在的标准C语言相去甚远,大家一定要看最新的版本,否则不如不看。另外,即使是最经典最权威的书,也没有办法面面俱到,所以手边常备一本《C语言参考手册》是十分必要的。《C语言参考手册》就是《C Reference Manual》,是C语言标准的详细描述,包括绝大多数C标准库函数的细节,算得上是最好的标准C语言的工具书。顺便提一句,最新的《C程序设计语言》是根据C89标准修订的,而《C语言参考手册》描述的是C99标准,二者可能会有些出入,建议按照C99标准学习。还有一本《C和指针》,写得也是相当地不错,英文名是《Pointers on C》,特别地强调指针的重要性,算是本书的一个特点吧。不过这本书并不十分适合初学者,如果你曾经学过C语言,有那么一些C语言的基础但又不是很扎实,那么你可以尝试一下这本书。我相信,只要你理解了指针,C语言便不再神秘。

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

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

二、Unix/Linux还是Windows,这是个很大的问题

不同的编程环境会造就出不同思维的程序员。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++ 6.0(不是VisualC++ .NET)或者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语言?

怎样才能学好C语言

1、学好C语言,你可以很好地应付任何一种编程工具。

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

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

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

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

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

怎样学好C语言

1. 工欲善其事,必先利其器

准备工作:一个开发环境,如Turbo C 2.0、Visual C++等开发工具;一本好教材,如谭浩强主编的《C语言程序设计》(第二版)。我当时看的是他的第一版,就为它的简洁、完美所吸引,简直爱不释手,用了两个星期一口气看完。

2. 秘密武器

初学者学习计算机语言要会“读程序”,要对小型的应用型、游戏型程序感兴趣,并模仿去加深对C语言程序设计的理解和操作,只有不断地写程序、调试程序才能得到编写程序的经验和加深对程序的理解,这也是学习编写优秀高级程序的秘密武器。

3. 发扬探索精神

学习C语言程序设计有点像做数学难题,只要我们善于思考,善于探索,发扬探索精神去寻找好的设计思想和方法,才能把C语言的精髓真正地掌握。

关于如何开始学习c语言和c语言初学者该如何学的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年4月2日 05:02:02
下一篇 2024年4月2日 05:10:23

相关推荐

  • c语言函数重新定义,c语言重定义怎么解决

    c语言中重定义问题 在头文件中定义全局变量,等同于在每个引用该头文件的源文件中都定义了一次全局变量,所以会报重复定义。 你的问题可能是函数或者全局变量的定义在整个程序中重复了。检查头文件中是否有全局变量定义(没有加extern的就是定义),有的话试试添加关键字static,或者吧定义写在.c文件里。 struct student *pood=(struct …

    2024年5月19日
    3700
  • c语言求两个整数的商,c语言求两个整数之商

    编写程序,求任意两个整数,求商(整数)和余数。如果除数为0,给出错误… 1、在上面的程序中,我们使用scanf()函数输入两个整数dividend和divisor,然后使用if语句判断除数是否为0。如果除数为0,则输出错误提示信息;否则,使用除法运算符/计算商,使用取余运算符%计算余数,并输出结果。 2、运行可用,输入用空格分分开两个数 比如输入…

    2024年5月19日
    3400
  • c语言weekday,char是什么意思C语言

    用c语言用户输入一个数字,你输入的数字XX代表X月X周X天。 “请输入年月日(XXXX,XX,XX)”运行后输出:XXXX年XX月XX日是星期X,是否继续查询(Y/N)?如果输入Y,则重新显示 “请输入年月日(XXXX,XX,XX)”,否则回到主菜单。 void main(){ int y,m,d,a;scanf(%d%d%d,&y,&m,&…

    2024年5月19日
    4600
  • 游戏学c语言,猜数游戏c语言

    我想要做游戏的话,我应该学java还是C语言好呢 1、综合以上几点考虑,我们得出结论:无论学习Java还是C语言都有其优势和适用场景,具体选择需根据自身情况进行判断。 2、不管你是要学习哪种语言,在学习上还是要看你个人的,你自已还是最主要的,不管你是学习哪种语言,只有当你对于这门语言有兴趣的时候,你才会有学习的想法,如果是一点都不感兴趣,真的要你来学,你也肯…

    2024年5月19日
    4300
  • 讨论c语言函数传递的几种形式,c语言中函数传递方式

    请教c语言 第一个不合法,c语言中不能用逗号做整数的分隔符,但可以加括号形成逗号表达式。如(1,234)是合法的。第二个是合法的,\x7是ASCII中BEL,控制发出响声, 并在屏幕上打印G。 如果希望看到正确的结果,你必须用dos时代的C语言编译器“TurboC0”来编译运行,而且必须用 Alt+回车 把屏幕转换成全屏模式,这样你就能看到正确的结果了,如我…

    2024年5月19日
    4000
  • 职工工资程序c语言,职工工资程序c语言编程

    C语言编程,输入n个职工的编号、姓名、基本工资、职务工资 1、//职工的工作证号,姓名,年龄,参加工作时间,//文化程度,工资等项内容。输出单位职工的平均年龄,平均工龄和平均工资,各年龄段职工人数。 2、该程序输入职工工号和应发工资,由系统对其完成的实发工资实现计算。其中职工信息包括职工号、姓名、性别、应发工资、税金、实发工资等(职工号不重复)。 C语言程序…

    2024年5月19日
    4300
  • c语言二维动态数组,c语言二维动态数组malloc

    C语言:键盘输入M和N,动态生成MxN二维数组,随机赋3位十进制整数,按行输… 1、for(j=0;j=m;j++)for(k=0;k=m;k++){ nums=getNum3(nums,i,j,k);if(!nums)return 1;printf(第%d个数字%d已记录。 2、题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 程序分析…

    2024年5月19日
    4200
  • 北理c语言乐学,c语言北京理工大学乐学

    程序调试,北理c语言乐学作业 1、打开我们的程序,点击菜单栏右侧的start/stopdebug..按钮,进入调试模式,如下图。左侧为寄存器窗口,右上方是汇编窗口,我们可以看到各个寄存器的数值和c语言对应的汇编代码,如下图。 2、优化程序代码:检查程序中是否存在冗余、重复计算或者低效算法等因素,对代码进行优化和精简,以提高程序的运行效率。延迟加载数据:考虑将…

    2024年5月19日
    3200
  • c语言数组拼接,c语言两数组拼接

    C语言中如何将两个二维数组合并为一个二维数组中。希望高手可以帮我把… 建立一个足够容纳两个数组所有元素的目标数组。如果规则规定将一个数组合并到另一个之中,那么需要保证目标数组有可以容纳两个数组的空间,否则会出现越界。2 遍历其中一个数组,并赋值到目标数组中。 请问如何使用C语言把两个数组合并在一个数组里?%d\n, buflen);strcpy(…

    2024年5月19日
    3400
  • c语言二维数组对角线求和,c语言二维数组输出对角线上的元素

    用c语言键盘输入二维数组a[3][3]元素,使用子函数(要求实参使用数组名… 1、第四然后用for语句进行循环。再用scanf语句进行接收输入到二维数组。5 /6 第五然后用两个for语言循环。再输出二维数组的数值。6 /6 第六然后用printf语句进行数据输出分格。这样一个二维数组就创建成功了。 2、还有就是数组的下表是从0开始,如果有3个元…

    2024年5月19日
    3900

发表回复

登录后才能评论



关注微信