写给C语言新手的话

发布时间:2017-3-24 20:03:59 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"写给C语言新手的话",主要涉及到写给C语言新手的话方面的内容,对于写给C语言新手的话感兴趣的同学可以参考一下。

首先声明啊,写这个是因为一些加我QQ的朋友问我学习经验,我才写的。 另外,如果是二级党,那么请用谭浩强老师的书。然后你就可以不用看了。倒不是有偏见,而是我写的这个东西,根本不是为了考试,而是为了和新手交流怎么学习C语言,怎样编写代码的。 【如果要看,最后三条那是一定要看的。】 如果不是二级党,那么,开始:   一、      目的 我们做什么事情都是有目的的,比如说我,学习编程的最终目的就是从事软件行业。这个目的要十分明确,不能说想学编程,那么学编程的目的呢?当然如果仅仅是兴趣,我觉得这就是最光明正大的目的。 二、      有一个学习目标 还是以我自己为例,我刚开始学C语言的时候,就想要写一个学生信息管理系统,于是在我学习C语言八个月之后,终于完全有能力写出这个小项目,对于以后从事软件开发总算迈出了一小步。 读者应该明白了,我说的这个目标就是说你在学完C语言之后,要能写出一个东西,它可能是学生信息管理系统,可能是一个小游戏,还可能是一个外挂。总之你要有一个目标,这个目标不一定要多高,但一定要是你能力的体现。 三、      要有的学习工具和环境 学习是讲究环境的,还有一句话说:“工欲善其事,必先利其器。” 我觉得学习C的话,要有这么几个条件: 1、         电脑 不一定能上网,但一定要有,不然天天用C4(可以在安卓手机上写C语言程序的东西)搞,累死个人。 如果是笔记本的话,最好买一个外置的键盘。我不知道是不是所有写代码的人敲键盘的时候都很大力,反正我是,尤其是回车键。不然你每次都那么大力敲,本子用不了几天不就敲碎了。 2、         书 C Primer plus The C programming language C语言程序设计现代方法 这三本书随便选一本。至于这三者之间的差异,我就不说了,C语言新手可以真么选择: 有过其他语言基础,比如VB ,javascript,actionsript之类的,可以看第一本 之前有学过一点C语言的同学,可以选第二本 之前没有任何基础的,可以选第三本 当然,这只是我的理解。其实对于新手来说,学习语法的话,这三本哪一本都可以。 3、         最好有一个固定的地方和学习时间表 在自己习惯的地方,效率应该会高一点。 至于学习时间表怎么安排,我就不说了。。。我自己的时间都安排不好的,如果你自己是那种很会安排时间的人,那么你一定要坚定的保持这个巨好无比的习惯。 4、         要保存你的代码 也许新手觉得我才刚开始学习,那么我最开始写的代码肯定错误百出,甚至可能不堪入目,为什么还要保存? 每个高手都是从新手过来的,高手第一次写代码的时候,也许还不如你呢。 保存自己所有的代码,以后自己能力提上去了,就可以看出自己的成长,也可以看出自己还有哪些坏习惯没有改掉,又可以作为自己的宝贵回忆,总之好处多多。 我以前把代码都保存到电脑上了,后来重做系统的时候,竟然一个不小心,忘了备份,结果就悲剧了。。。于是我学会使用CSDN博客,反正博客可以写很多,再不行就打包保存到网盘上。总之作为一个程序员,备份那是相当滴重要。 5、         善于利用百度,google之类的网站 不是每个人都可以自己搞定所有的问题,所以当你遇到自己搞不定的问题的时候,完全可以询问好友,老师,同学,也可以度娘之,google之,搞不定问题并不可耻,如果搞不定还不承认,自己闷头瞎搞,那就是愚蠢了,所以我们不仅要不耻下问,还要会不耻上问。 四、      学会坚持,更要学会休息 有一个伟人说过:“身体是革命的本钱。” 编程本身就是一个强脑力加强体力的工作,所以身体就显得尤为重要。 如果你无论如何都写不出代码,无论如何都看不懂指针,无论如何都搞不定栈和队列,那么类似于这种情况,就远离电脑,游戏神马的也不要搞,就直接关掉电脑,好的就这样,然后离开去打球,去溜达,去勾搭小姑娘等等能让你放松的活动。 至于坚持,坚持的越久的人,收获的越多,看的风景也就越多。 编程毫无疑问是一个枯燥,乏味,劳累,无趣……的工作,对于那些以编程为乐的人,或许不觉得,对于不那么喜欢编程的程序员,就要学会坚持了。我相信每一次终于搞定一个程序之后,那种成就感,可以冲淡一切疲惫。 五、      关于编译器那点事儿(可以不看) 可能你的书上推荐的是VC6.0,可能是Tubor C,也有可能是我给你推荐CodeBlocks,还有可能是你自己用C-Free,其实用哪个无所谓,对于刚开始学C的新手来说,学会  C的规则是最重要的。 例如说我,刚开始电脑是WIN7的,VC总是不能用,于是搞了一个C-Free,后来换成XP系统,开始用VC,再后来感觉CodeBlocks比较好,于是又换了。 CodeBlocks对于C99的支持比VC6要好,当然你用VS的话,也是可以的,因为VS加上助手,那简直碉爆了。 我现在是用UE写代码,安装了一个CodeBlocks,把环境变量配置好,然后在CMD里面用GCC命令编译运行程序,因为这样生成的中间文件少。 再有就是,不管你是用IDE也好,用代码编辑器也好,最好把窗口的背景色设置成沙绿色,因为白色背景实在是很刺眼。至于怎么设置,请度娘之。用Linux的同学,就自己想想办法吧,你都会用Linux了,这个应该难不倒你。 六、      语法学习经验 怎样学习语法,这是个问题,如果之前学过VB之类的也许还好一点,但是对于没有任何编程基础的人,也许刚开始学习语法的时候,会遇到各种问题,这里给出我的经验: 首先,不要过度追求细节。新手学C语言这个事儿,过度追求细节没有好处。大致理解,不求甚解也就行了,毕竟刚开始学,大致能明白怎么回事就行。就好像学习数学一样,你也许一个概念也背不出来,但是你明白原理的话,一样可以计算。 其次,语法记不住没有关系。曾记得我刚开始用指针那会儿,不看书,都不知道指针是啥玩意儿。所以,你会运用语法就行,不用死记硬背。 再次,遇到语法问题,不要纵容自己忽略,否则会养成错误认知,以后再想改就不好改了。 最后,如果你的英语很牛,那么你就看C语言标准吧,关于语法,没有比这个更好的东西了。 七、      编写代码的经验 1、         代码风格清晰要比高效更重要 代码的风格是一个很大的问题。你要像写十四行诗一样写代码。 有很多新手可能会在一行代码里面写好几个语句,也许你觉得这样写起来很快,但是这样是不行的,用我的话说,那就是错误,而且是很严重的错误。如果让你在杂乱无章的代码里面找一个编译器检测不出来的错误,那么你会很辛苦。如果代码超过几百行(也许会有几千行),你的风格还是那么糟糕透顶的话,那简直是无法想像的事情。 推荐新手在有一定的能力之后,最晚也要在学会函数的时候,可以看看《C/C++高质量代码》这本书,我现在的代码风格就是按照这本书写的,记得外国也有一本书是说代码风格的,具体名字忘了,可以自己查一下。 总之风格!风格!风格!风格!很重要!!巨重要!!无比重要!!! 2、         注释 也许新手又会觉得我小题大做了,我自己写的代码难道我自己还不清楚么?写注释要一直切换输入法,会影响写代码的速度,一旦修改代码就要修改注释甚至重写注释,有的时候注释好难写……是的,写注释好累,写注释好麻烦,写注释好墨迹。但是以后工作以后,没有几个项目是自己一个人搞定的,如果你的代码一行注释都没有,那会对别人造成很大的困扰。如果你看自己几个月以前甚至是几年以前的代码,一行注释都没有,那看起来会相当辛苦。 注释可以帮助我们更好的理解代码,可以帮助我们更加快速的阅读代码,可以加快我们的思维速度,可以……总之好处太多了。 有一句话说:“每一个不写注释的程序员,***都想注释那么长。”,额,这句话请自己百度之。 3、         怎样修改错误代码 我们几乎天天遇到这种情况:我写的代码没有问题啊,为什么运行不正确?或者说编译器没有报错,为什么就是无法运行呢? 这是因为你的代码有错误,当然这是一句废话。。。。 如何修改自己错误的代码? 如何快速的找到编译器都找不到的错误? 如何尽量的少写错误的代码? 其实想要减少错误,想要避免编译器检测不出来的错误,是很简单的事情,那就是调试,当然我反正是不会调试,如果你会的话,请留下你的QQ号码,或者博客地址,或者其他联系方式,电话号码也是可以的,只要你能教会我调试。 我一般都会在关键变量附近添加printf语句,这样可以随时监测变量的变化情况。 我一般会先写小规模的测试代码。比如要你输出50000以内的素数,我会先输出100以内的,如果有错误的话,这样不是很容易找?所以对于数据规模比较大的问题,可以先缩小规模,然后搞一个通用代码,然后扩大数据规模。 我一般会把问题分成几个模块,然后一个一个的搞定。比如输入两个整数,然后输出最小公倍数和最大公倍数。 我会先完成公倍数的功能, 再把公倍数的代码注释掉, 再完成公约数的功能, 最后去掉注释,最后测试。 对于要求比较多的问题,可以一步一步来,不要着急,饭要一口一口的吃,代码要一点一点的写。 4、         写不出来代码怎么办? 其实不仅仅是新手,每个程序员都有写不出代码的时候,那种摔鼠标、砸键盘就是写不出代码感觉太憋屈了,太难受了,但是我们写不出来有什么办法?写不出来就不要谢了嘛。。。。。 如果写不出代码,可能是那个问题对你来说难度太高了,放弃也是一种聪明。 如果写不出代码,可能是你的思路本身就是错误的,应该重新设计解体思路。 如果写不出代码,可能是你没有查阅足够的资料,比如求最小公倍数。最小公倍数=两数之乘积  / 最大公约数。你连这个东西都没有查到,你写不出来能怨谁? 如果写不出代码,可能是你太累了,休息一下。 如果写不出代码,可能是你应该参考别人的代码的时候了,其实照抄别人的代码有时候也是极好的。 如果写不出代码,可能是你根本没有充分的分析问题,一上来就写代码,没有足够的规划,写代码当然是一团糟。 写不出代码的原因很多,但是这个时候的心态却就那么相似。写不出代码,要仔细考虑原因,是不是自己太着急了?是不是自己搞错方向了?是不是这个问题本身就有问题呢?是不是自己耻于请教别人呢?是不是自己懒得查资料呢?总之这个时候,一定要Hold住,不要因为写不出代码就真的摔鼠标砸键盘了,整坏了,要花钱滴。。。。 写不出代码,是程序员经常遇到的事情,不必往心里去,也许睡一觉,梦里就写出来了呢? 5、         怎样写出很高级的代码? 新手看高手的代码,总觉得好简洁,好厉害! 高手看大神的代码,总觉得我靠,我怎么看不懂,但是运行起来好快啊! 这个东西是写给新手看的,所以怎样写出高效率,巨简洁的代码,要在具有一定的水平之后再讨论。对于新手来说,能够解决问题就可以了,不必对自己的要求太苛刻。 八、      怎样取舍? 我认为新手学会下面的东西就可以了: 1、         数据类型 新手只需要掌握:int,float,double,char,字符串就可以了,只要会定义,会使用,就行,不用追求int类型占用几个字节,最大最小值是多少什么的,因为没有必要。 2、         运算符 会+,-,*,/,%,&&,||,=,==!,就行了 3、         三种流程控制   4、         数组的基本用法 5、         字符串的运用和处理 字符串处理是一个大问题,不过新手只需要学会定义字符串数组,会基本的字符串处理函数,例如复制,比较,查找是否含有某个字符就行了。至于更加复杂的处理,等你学会C的语法,具有一定的能力之后再说吧。 6、         自己定义函数,并且会运用函数解决问题 也许新手会觉得,我可以把所有的代码都写在主函数里面,这样多好?不用定义函数,好省事儿。 其实这是不对的,用我的话说,那就是错误,而且是不可以犯的错误。虽然刚开始的时候,那些小问题,比如输出菱形,求公约数,输出佩纳契数列什么的,都可以把代码全部写到主函数里面,但是这并不是真正的C语言程序,如果没有自定义函数,那还是C吗? 新手只要能把这些小问题用自定义函数搞定就行了。不是那种把输入输出都写在一个函数里面,然后在主函数里面调用函数,那是不行的。要学会输入输出有主函数处理,中间的处理过程,交给自定义函数。 C语言是面向过程的语言,如果不会自定义函数,不会设计函数,那就是没有学会C语言。 7、         指针 指针学起来好辛苦啊!指针规则好多啊!指针的错误好难找啊!            是的,指针很难搞,但是学不会指针的人,就没有学过C语言。            在上面那条里,我提到的问题,可以用函数加指针搞定就行了。 8、         库函数 C的库函数那么那么多,我怎么记得住? 我可以明确的告诉你,你是不可能全部记住的。如果你真的去背了,那你别学C了,去参加记忆大赛吧。 我们只需要记住常用几个就行了。比如printf,scanf,pow,等,新手能够运用库函数解决问题就行了。 9、         C的其他内容 比如文件,比如宏,比如多文件编译,等等这些问题,可以等你需要加深学习的时候再搞 九、      几个小程序 1、         Hello World 这个程序,必须要亲自敲一边,并且运行成功,没有理由,那就是必须滴 2、         输入两个数字,求他们的和或者乘积 这是看你有没有学会输入输出函数和几个最近本的运算符 3、         解一元二次方程 这是看你有没有学会选择控制语句和对输入输出处理的提高 4、         输出配伯纳契数列或者输出菱形图案 这是看你有没有掌握循环控制语句 5、         自己写字符串复制函数或者求长度函数等 这是看你对于字符串数组的理解,以及自定义函数处理问题的能力 基本上也就这些吧,一不小心没有收住,如果你看完了,新手有问题可以留言提问,高手感觉哪里有问题,请不要客气的指出来,我是很认真的说。

上一篇:android中使用startActivityForResult回传数据
下一篇:java内存监控工具JProfiler学习笔记

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。

好贷网好贷款