首页

文章

为啥要学c语言

发布网友 发布时间:2022-03-23 13:39

我来回答

3个回答

热心网友 时间:2022-03-23 15:08

    基础的话什么都不用。往深学需要英语 主要为了看外文书籍和代码注释。还需要数据结构和操作系统的知识。当然要想写出一段高效的代码 还需要离散数学,计算机算法的知识。
  程序员之路——如何学习C语言并精通C语言
  程序员之路——如何学习C语言
  学习C语言不是一朝一夕的事情,但也不需要花费十年时间才能精通。如何以最小的代价学习并精通C语言是本文的主题。请注意,即使是“最小的代价”,也绝不是什么捷径,而是以最短的时间取得最多的收获,同时也意味着需要经历艰苦的过程。
  一、要读就读好书,否则不如不读
  所有初学者面临的第一个问题便是:如何选择教材。好的开始是成功的一半,选择一本优秀的教材是事半功倍的关键因素。不幸的是,学校通常会帮你指定一本很差劲的C语言课本;而幸运的是,还可以再次选择。
  大名鼎鼎的谭浩强教授出了一本《C语言程序设计》,据说发行量有超过400万,据我所知,很多学校都会推荐这本书作为C语言课本。虽然本人的名字(谭浩宇)跟教授仅仅一字之差,但是无比坚定地黑他这本书的。这本书不是写给计算机专业的学生的,而是给那些需要考计算机等级考试的其它专业学生看的。这本书的主要缺点是:例子程序非常不专业,不能教给程序设计应该掌握的思考方式;程序风格相当地不好,会养成乱写代码的恶习;
  Kernighan和Ritchie的《The C ProgrammingLanguage》(中译名《C程序设计语言》)堪称经典中的经典,不过旧版的很多内容都已过时,和现在的标准C语言相去甚远,大家一定要看最新的版本,否则不如不看。另外,即使是最经典最权威的书,也没有办法面面俱到,所以手边常备一本《C语言参考手册》是十分必要的。《C语言参考手册》就是《CReferenceManual》,是C语言标准的详细描述,包括绝大多数C标准库函数的细节,算得上是最好的标准C语言的工具书。顺便提一句,最新的《C程序设计语言》是
  根据C89标准修订的,而《C语言参考手册》描述的是C99标准,二者可能会有些出入,建议按照C99标准学习。还有一本《C和指针》,写得也是相当地不错,英文名是《Pointers onC》,特别地强调指针的重要性,算是本书的一个特点吧。不过这本书并不十分适合初学者,如果曾经学过C语言,有那么一些C语言的基础但又不是很扎实,那么可以尝试一下这本书。相信,只要理解了指针,C语言便不再神秘。
  如果已经啃完了一本C语言教材,想要更进一步,那么有两本书一定要看。首先是《C Traps andPitfalls》(中译名《C陷井与缺陷》),很薄的一本小册子,内容非常非常地有趣。要注意一点,这本书是二十多年前写成的,里面提到的很多C语言的缺陷都已被改进,不过能够了解一些历史也不是什么坏事。然后可以挑战一下《Expert CProgramming》(中译名《C专家编程》),书如其名,这本书颇具难度,一旦仔细读完并能透彻理解,便可以放心大胆地在简历上写“精通C语言”了。
  切记一个原则,不要读自己目前还看不懂的书,那是浪费生命。如果看不懂,那一定是缺失了某些必需基础知识。此时,要仔细分析自己需要补充哪些内容,然后再去书店寻找讲述的这些内容的书籍。把基础知识补充完毕再回头来学习,才会真正的事半功倍。
  二、Unix/Linux还是Windows,这是个很大的问题
  不同的编程环境会造就出不同思维的程序员。Windows的程序员大多依赖集成开发环境,比如VisualStudio,而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)或者DevC++作为主要的学习环境,而且千万不要在IDE的使用技巧上过多纠缠,因为今后一定要转向Unix环境的。Visual C++6.0使用很方便,调试也很直观,但其默认的编译器对C标准的支持并不好,而DevC++使用gcc编译器,对C99的标准都支持良好。使用顺带提一下,很多大学的C语言课程还在使用Turbo C2.0作为实验环境,这是相当不可取的,原因其一是TC 2.0对C标准几乎没有支持,其二是TC2.0编译得到的程序是16位的,这对今后理解32位的程序会造成极大的困扰(当然,用djgpp之类的东西可以使TC2.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语言,还要具体情况具体分析。

热心网友 时间:2022-03-23 16:26

C即C语言,可以从很多个角度来回答: 1.C是面向过程的语言.他的执行都是由上而下的瀑布式的.而现在流行的面向对象(例如JAVA.C++)的执行顺序并 不是写程序的人可以控制的.它是由某些动作来调用的 2.C是中级语言.一般我们认为汇编叫做低级语言.因为它直接提供了对硬件的操作.功能十分强大.效率也十分 的高.但是想完全使用汇编来写一个应用几乎是完全不可能的事情.并且汇编语言需要硬件的支持.也就是说 你针对自己的机器写的汇编到别人的机器上未必就能跑的起来.而高级语言指的就是是用类似人类语言的语 言来表达的。比如JAVA.BASIC.PASCL等.这些语言与硬件之间的关系不大.通用性很强.开发应用程序效率比较 起低级语言来说要高很多。因为C提供了一种叫做指针的东西.可以直接操作系统的内存地址.这个功能是其 他高级语言所没有的.所以人们习惯把C叫做中级语言.意思就是说既有高级语言类似人类语言的特点.又有汇 编的可以直接操作硬件的功能.

热心网友 时间:2022-03-23 18:01

1、java、.net、c++这些高级语言的基础都跟c语言类似的 所以c语言是编程语言的基础。
2、c语言用途非常广泛,大到卫星导弹,小到一个计算器,都可以用C语言来实现。 现在学的只是C语言的基本语法,要做真正有用的程序,还要学很多东西,比如windows api,学了之后就知道怎么用C语言调用Windows api画窗口、按钮、进度条等等,做出像QQ一样实用的程序。
3、C语言只是一门计算机语言,说到底就是一种工具。它的用处就是可以用它编出能够运行的程序来,而这些程序可以实现某些人需要的功能。人通过学习c语言也可以更加深入的了解计算机,所以很多人都把c语言作为计算机入门的第一门语言来学习,因为学习起来相对简单一些。至于实际的意义,无非是多学会一门技能,更加深入对计算机的了解,为学习其他计算机语言打下好的基础。
谷歌浏览器怎么设置成中文_谷歌浏览器设置中文语言 【谷歌浏览器技巧】谷歌浏览器如何更改语言? 史上最全ETF全解 证券ETF是深市的吗 怎样把莲藕肉丸子做的好吃? 高三语文小说赏析小说形象分析与答题技巧 人物形象题答题技巧 借助什么分析小说的人物形象 脖子旁边疼是什么原因 在群里不是好友怎么把群里人建另一个群 蛇床子的药理作用 炒蛇床子和生蛇床子有什么区别 为什么把床头垫高点 为什么床头高点儿 为什么要给新生儿抬高床头 人脸识别打卡考勤机找哪家? 背后搞你的人什么心态 很皮的搞笑撩人句子高情商的撩人句子(82句) 恶搞爱情短信 床头挂什么财运最旺最好 床上放什么东西辟邪 道家床头挂什么画最好最旺 床头贴什么最好最旺道家 建设工程竣工后,是否必须取得《规划验收许可证》? 环评竣工验收 手机几年没用了开不了机怎么办 红烧啤酒鸡的家常做法大全怎么做好 双男主泰剧新剧推荐 2019泰剧《爱情理论》小受暗恋花心直男好友 液体卫生巾和普通卫生巾的区别是什么?液体卫生巾的优点 可水洗粘尘垫哪家好 电脑12g够用吗? 宝宝双侧肺炎病变严重吗 什么是洁净气体灭火器 2024年实用父亲节礼物推荐有哪些?(2300字选购指南) 40包速溶咖啡比对 作文请以“这样挺好”为题,写一篇记叙文或议论文,不少于800字。要求... 如何写好作文我就是这么好 惊魂未定什么意思?有什么典故? 安阳火车站到新师院北门的公交车有哪些? 安阳市公交车26从火车站发车多长时间到终点站 太仓汽车站去太仓乐遥浏河公墓坐几路公交 请问廉江市哪里有奥克斯手机专业维修店,急!! 梅赛德斯奔驰E350敞篷版的整体简介及其性能如何 员工出差前需要做什么准备工作? 用(祝愿自己生日快乐)写首藏头诗,希望有才华的人帮帮忙,谢谢了_百度... 请问做爱前吃什么药可以延长做爱时间? 我每天锻炼,然后吃什么,能延长我房事时间?现在两分钟,双方都苦恼。_百 ... 做爱前吃什么最能滋补身体 吃什么能让房事时间长些? 怎么使用下载音乐到iTunes? 怎么使用iTunes下载音乐? 如何用iTunes同步音乐 信息系统项目管理师办理高级项目经理证的问题 电脑怎么用iTunes下音乐 苹果手机itunes store 和音乐怎么用 怎么用itunes传音乐呢 itunes怎么用添加音乐 【iTunes怎么用】itunes怎么同步音乐 怎么用itunes下载歌曲 手机上的微信图标隐藏了怎么恢复 vivox6plus微信图标隐藏了怎么拉到桌面 三亚都有什么值得购买的特产啊? 三亚有什么特别值得买的特产吗,然后价格也说下,谢谢 三亚特产有哪些值得买的女士用品 电脑护眼模式在哪里设置 电脑的护眼模式在哪里设置 怎样将电脑投屏到电视上玩 公务员考试该如何准备? 监听耳机右边没声音怎么办 怎样用itunes下载音乐.详细一点 苹果怎么用itunes导入电脑音乐 计算机C语言究竟能干什么?我怎么感觉除了求几个数的和以外没别的用处… 怎么用itunes下载音乐 怎么使用ITUNES把音乐放进IPHONE手机里 如何使用itunes直接导入音乐 2016年的系统分析师考试报名是什么时候? 如何使用itunes同步音乐 怎么用iTunes添加一首歌? 马桶不上水,手动上水又不停水,请问怎么修? 抖音通知你的视频向2人种草是什么意思 安利在美国的口碑怎么样?最近抖音上经常看到的营养早餐视频是安利发布的? 抖音种草含义? 抖音种草成功通知是什么意思 抖音敏感词汇有哪些 在抖音看到好多人安利纤稼小麦胚芽五谷粉,想问下有人在吃吗? 抖音上安利推的营养早餐好做吗?做安利的人真实情况是怎么样的? 抖音种草含义 抖音有人通过我的视频添加至想去清单,我种草成功是啥意思_问一问 抖音从哪里看直播,安利在哪里直播
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com