关于学C语言的问题,望大虾们参与
求教
我是大一的女生,学C语言(谭浩强的C程序设计第四版)大半年了,感觉什么也没有学会、
我上的是普通二本,而且本专业在我校也不是什么热门的。每天上一些有的没的课(历史,形势与政策,军事理论等)根本就不了解课,还要写论文,论文是怎样写成的大家应该了解吧!
关于专业课吧,我以前没有接触过编程,或代码的东西(初,高中学的计算机课根本没学什么,最基本WORD,EXCEL,WINDOWS等。还是在大学课下在机房练习的,前几天刚考试完)。刚拿到C书的时候一看书就傻眼了,这哪是书啊,是天书! 老师上课就开始讲,不按书本,一讲就是很多,本来就够晕了听一堂课下来什么也没有学会,慢慢的就没有了激情。可是计算机还是要学的啊,也不能就这样荒废了时光吧!
我就不信女生学不好计算机,我就看书,上机练习。可到现在还是一头雾水。我就在想一定是我的方法错了吧,有时候看书看不出重点(根本不了解怎么知道重点),越看就越迷茫。
快放假了,我想利用假期好好补一下。
1,到底应该怎样学习C语言?
2.像我这样没有基础的(零基础),应该看一些什么书?
(在别的贴中我也看到类似的问题,但是那些人都有一定的基础吧)
3.在学习中应该养成什么习惯,才有助于学习?
4,看书的时候怎么才知道什么是重点,什么是非重点(考的就是重点?)
5.大家有什么学习的经验要教给初学者的?
诚心求教!!!
[解决办法]
多看书多练,下些视频来看......
[解决办法]
主要还是要实践咯^_^
中国的大学,学C语言的,都是谭浩强的书吧。。。都是这么入门的。
书本上的例子,不要局限在看懂的基础上,看不懂也不要着急,先试着在电脑上运行起来,看看它是怎么工作的。自己改一改,操作最关键。另外么,有问题多请教别人,交流也很重要哈。
尽可能地找点题目做做。c语言这种东西,靠的就是练习。
[解决办法]
多看书多编码,永恒不变的真理
[解决办法]
多练习,多上机实践。敲一下书上的程序,单步调试看看,每一行代码的结果。
[解决办法]
一般人刚学时都这样吧,看一遍不懂就断续看,有时觉得知识难理解就先将同一知识点的篇幅先大致看下再细读(特别是指针)。然后做题。谭C还好吧,我记得学C++primer I/O库那时,同一章看了三次就是过不了那个坎,后来三小时看了四页书才懂了
[解决办法]
没关系,不单止你是这样.事实上,我当年刚进大一的时候,发现身边的人没几个会编程的.编程语言这种最基础的东西,对这些没有入门的人来说却真的是很难...
主要是编程语言跟人类的自然语言不同,有很多人一时无法接受这种思考方式上的转变而无法适应.所以这种情况下,学习编程语言的核心有两个:
1.熟悉.多尝试动手编写是最好的.你应该把教材上的小程序都自己输入一遍.
2.理解.你要确定你理解你所打下的代码的意义.
对于初学者,你不需要太多额外的知识.一般C语言的教材就足够你入门了.你首先需要熟悉并理解以下内容:
1.理解什么叫变量.
2.记忆一些常用语句的格式.
3.理解C语言的循环结构.
4.理解C语言的条件语句.
5.理解C语言的分支语句.
6.熟练使用一个开发平台.我强烈推荐Visual C++ 6.0.
以上几样,是所有编程语言的基础.再长的程序,也只不过是上面几种方式的不同组合.
另外,编程语言这门课跟其他课程不同.严格来讲,没有所谓的重点不重点之分.教材上教到的东西,几乎都是学习这门语言要用的东西,只不过是利用率高低和难易度不同而已.
[解决办法]
看看 the c programming language, 书上的例题都过一遍
[解决办法]
我觉得可能还是计算机导论没学好,先学学导论的知识。。。大体了解计算机的全貌,想明白C是干嘛的。C只是个工具,用来编写软件的工具。理清下思路,才能更好的往前跨~
[解决办法]
看书看不懂就下点入门视频看看吧,一步步来!
[解决办法]
自己给自己找个题目!
一边做一边学。
需要什么学什么!
无的放矢,你看一万本书都没有用。
而且工作中,永远都有你不会的。
解决这些才是最重要的。
[解决办法]
我也是入门没多久! 共勉啦!
我的建议是:
到当当去买一本<C Primer Plus中文 5 版>或者下载 pdf 版的, 网上中英文的都有.
最好是下个视频教程看看! 看书累了就看视频!
我觉得郝斌的不错, 入门很合适. veryCD有下, 爱问共享也有!
爱问共享: http://iask.sina.com.cn/u/1731198373/ish?folderid=503974
一个寒假从头开始看, 一题题的敲下运行并改进! 有问题就来 CSDN 问!
每天抽时间来 C 语言板块浏览帖子尤其是已解决部分的, 也是很好的学习途径!
寒假一过肯定会有不同感受的! C 不好的话, 对你们计算机的后续课程都会是小障碍吧?
希望对你有用!
PS: 我是一个刚入门的小虾米!
[解决办法]
把c语言经典100题做完,算是入门了。
[解决办法]
你现在没有基础,还是用老谭这本书,好好学习,刚开始学编程语言不知所云,但慢慢的,跟着老师的脚步走,做一下联系,慢慢就有感觉了。等你有目标,自然就会去学习。
[解决办法]
还好,我以前上初高中的时候,电脑课认真听。。。
这没多大关系啦,多看代码多写代码多找规律多思考,我是这样过来的。。。。
如果感觉自己基本知识不扎实,应该看下计算机导论的书,
把书每一个例题独自看懂一遍,然后亲自上机实践,如果能写出来就说明你会了,
写不出就找下原因,还有在此基础上找找自己还能完善的功能。。。
书的话。。。结合老谭的书与《C程序设计教程 (美)H.M.Deitel等着 薛万鹏等译》这本书,这本书指出了我们初学者经常犯的错误。。。。加油啊,楼主
[解决办法]
还有经常请教别人啊,别人的解释有时会使你茅塞顿开的,
[解决办法]
开始的时候你可以像学语言一样,试着背一些基本算法(几个数比大小,排序,查找等),再你可以去找一些选择题来做,这样可以更深刻理解你学所的知识,你可以坚持每天写一个小程序。不过最好的是找个一对一的人辅导。
[解决办法]
我也觉得这本书不错《the c programming language》,不至于你看了那么久还不知道学到了什么。
[解决办法]
推荐你一个学习C的网站http://rupeng.com/forum/jian-17.htmlhttp://rupeng.com/forum/jian-17.html
[解决办法]
又见老谭的书.换<<the c programming language>>吧
[解决办法]
1、理解书上的内容(概念以及编码)
2、上机实践(书上例子,以及作业)
3、手写代码
4、查看网络教学视频
5、上机实践(结合教学视频和书本)
[解决办法]
可以略看一下Win-TC里面带的C语言中文帮助
C:\Win-TC\tcstudy.chm
C:\Win-TC\wintchlp.chm
英语也是一门计算机语言的说。
对学习编程者的忠告:
眼过千遍不如手过一遍!
书看千行不如手敲一行!
手敲千行不如单步一行!
单步源代码千行不如单步对应汇编一行!
计算机组成原理→DOS命令→汇编语言→C语言(不包括C++)、代码书写规范→数据结构、编译原理、操作系统→计算机网络、数据库原理、正则表达式→其它语言(包括C++)、架构……
[解决办法]
我以前学的时候也感觉很吃力,但时间长了,练多了,就有感觉了,国家计算机二级C我考了两次才过,多看看,多练练,其实也不难
[解决办法]
多做练习,先从书上的代码敲起,给自己点信心,再自己发散下思维,敲自己想的。
看书其实都一样,不管什么书,主要还是练习多点。
[解决办法]
lz明显在学校bbs上发帖征友一起学效果更好,或者找个有耐心的学长请教,比这里发帖等回复有效率太多,而且很多细节东西你看人家做一下就知道了,但用文字描述就很难说到点上
[解决办法]
多写练习,培养感觉,想法
关于二级的C的考试什么的能考就考,不能考就算,那些让人犯晕的东西,在实际开发中几乎没有用的,
培养想法,感觉最重要,
实在要考试就直接过三级,呵呵
[解决办法]
关于28楼所说的内容基本赞同,了解基础对开发确实是有帮助的,但对新手来说,培养感觉,快速入门,动手敲代码,真正自己运行的程序会有成就感的.对于英语刚开始作用不是太大,主要是一些前沿的东西英文的资料比较全,而这方面的阅读也不会太难,感觉最重要
对学习编程者的忠告:
眼过千遍不如手过一遍!
书看千行不如手敲一行!
手敲千行不如单步一行!
单步源代码千行不如单步对应汇编一行!
上面这段我举双手赞同,学习都这么来的
[解决办法]
做任何事情,尤其是让你头疼的事情,没有什么好办法就从头一点一点的来,关键是毅力和耐心,成功和失败就是一念之间的事
[解决办法]
这玩意儿只能是多多练习,多向高手请教,人家说一句,很多情况下顶自己看一天的书,多看网上视频资料,看人家是怎么编程的,慢慢来。
[解决办法]
[解决办法]
多上机练习吧,弄懂每个程序单词的意思,每行代码要加注释
[解决办法]
我觉得找个一起学习的伙伴吧,一个人学习真的是太辛苦太枯燥太乏味了,特别是遇到自己不能理解和解决的问题,会令自己很痛苦,有个一起学习的伙伴可以一起交流会令学习变成轻松的事。看书和写代码是一起的,习惯调试,可以发现程序运行的细节。
[解决办法]
也是这么几点:
1.谭的书千万别看,博客园里有个《C解毒》系列,可以搜搜看谭的书写得究竟怎么样
2.如果可以的话,试着用一下Linux系统吧,Ubuntu对硬件的支持好点,而且社区也比较活跃。当然你也可以在虚拟机装一个,不过这样还是不能改变你在Windows下的习惯
3.对于上面这条,因为我愈加发现Windows是个程序员的温室(.NET退散~),很多概念你会在Linux下面直击到,而Windows则用光鲜的外衣蔽之。如果看Ritchie等大佬的著作,那么书上肯定会提及如何在Linux下工作(著名的《The C Programming Language》里提及的是UNIX,不过在LINUX下一样适用),却不一定会告诉你在Windows下会发生什么事。
4.找个ACM的OJ平台,看看它到底是什么,怎么玩,这边推荐给你浙大的,http://acm.zju.edu.cn。如果想以后以二本学校的身份在职场上博得比那些重点学校的还精彩,那在ACM中历练是很值得的!让你直击数据结构,算法,设计思维等等
5.如果你点了上面浙大的ACM链接,会发现都是英文的,是的,即使不是英语系,我也希望你一样去把英语学好!因为你如果对计算机研究时间一长,会发现许多文献资料都是英文的,国内中文的非常贫瘠。也因为在学习计算机久了之后遇到的问题,在世界性的大社区中更能找到答案,所有的这些都是靠你的英语水平。我就是很后悔这个。
6.这条是对第五条的补充,计算机书籍,无论是入门的还是进阶的,如果想看国外产的,那尽量选择英文原版而不要是翻译的,因为大多数翻译后的文字不曲解意思就不错了,更别说把文字润色得美一些。我推荐的方法是,先找一本网上评价说翻译的不错的中文书籍,比如一本C语言,第一本选择中文,是为了适应一些名词概念(我们大脑毕竟还是对母语的吸收比较快),在接下来,如果想看第二本C语言的,就可以考虑看英文版的了,这样有了之前第一本的铺垫,第二本虽是英文但不会看得太苦涩,却也学会了C语言问题在英语下的阐述方式,对你进阶很有帮助。
last,大学期间,电视剧真的少看(如果你没有,那请过滤掉^_^),去找一些国外的开放课程(OpenSource),更有助于你的提升,例如网易的,http://open.163.com。这边推荐一个哈佛的系列课程,http://v.163.com/special/opencourse/cs50.html。祝你学途愉快!
[解决办法]
这方面没有什么诀窍的,就像我们学习滑旱冰,小时候学自行车,一个道理,都有个门槛,跨过去找到学习窍门了就好办了,刚开始不要急,看看谭哥的书,先把基础的概念弄明白了,有些会看着迷糊,这个很正常,我现在带的全是刚毕业的学生,也有不少有这样的,然后到网上找一个基础教程,基础的代码,看不懂就对着代码敲,一边写一边想,想不明白就找书看,学会看api,要有信心,每天都坚持写一个段代码,隔段时间换换,慢慢的就能找到感觉了,呵呵,我刚从大学出来的时候也是写代码写出来的,心理都差不多
[解决办法]
顶个楼上的,哈哈
我也算是初学者吧,一个学期学了C,一个学期学C++,这学期学算法,有的地方更是云里雾里,感觉没得到什么,楼上各位推荐的书都挺好的吧,记得刚上C时,老师就向我们推荐《The C Programming Language》这本书了。
一起努力吧!
[解决办法]
先学计算机组成与原理,至少你就不会很晕了。什么字节内存CPU的不懂,看C你就糊涂了。简单说,电脑上面所有的东西都是数据,计算机用01表示数据,处理单元为字节8个0或1,所以int 是4 个四节,最高的1或0可以表示正负,但unsigned都表示正, 都只是告诉CPU怎么处理而已。 CPU会按main函数一路往下跑,直到退出。
有窗口的程序,其实是main函数在跑消息循环,如果没有收到关闭消息就一直死循环。
struct表示是把一些基本数据类型拼成一个复杂的数据类型而已。 int struct short 这些数据类型,只是告诉计算机这个变量需要多大内存空间。 class是struct的升级版本,因为他能带一些处理内部数据的函数了。
class对象就是真实的分配了内在的东西,而class只是数据类型的定义。 同一个class所new出来的对象,它们的内存大小占用是一致的。
唉。越说越乱了,希望你不会更糊涂。
[解决办法]
谭浩强的C程序设计第四版是最基础的,既简单又易懂,内容很丰富。注意要仔细阅读,不要走马观花。
入门很重要,要抓住重点啊!开始是语法,那是基础,了解语法后看一些程序,照着打代码,看看结果。
如果能看懂每一步了,就去改改程序,写一些简单的例子,比如课后的习题,很多都很经典。
再继续就是深点了。主要是指针,对于非计算机专业,可能老师不讲,学到此就结束了,但要想了解就要学好指针,这是必须会的,但对于初学者,先做好以上的就行了。
其实并不难,放下沉重的心体会乐趣,当自己独立完成一些程序时,哪怕再简单你就有成就感了,就爱做了,所以要从简单的例子看起,打代码,改代码,别上来就看难的。
记住,要脚踏实地。
[解决办法]
bc++3.1 帮助里面对每个函数都有一小段能拷贝出来运行看效果的例子程序。非常适合初学C语言。相比较而言VC带的帮助MSDN就没有。http://download.csdn.net/source/2805028
[解决办法]
我大一也和你一样 感觉像是天书
仅仅我个人的经验是:
因为你是刚入门所以看的东西都是很基础 很抽象的 首先是理解而后是耐心的背(很重要如果没记住后面讲得和前面就联系不起来了) 确定记住了 再往后看 那么越往后看你对前面的理解越来越深刻 知识点也联系起来了 兴趣自然也来了
动手练习 让理解更加全面可以让你多发现一些注意点 因为你看着都会了 但是真正自己去写 会出现很多你意想不到的问题 还有也可以加深你的印象嘛!
[解决办法]
劝你别学什么C语言了. 在没有编程基础, 学C, 只会害了你. 现在的年代已经是面向对象的, 别以为学C可以成为面向对象的基础, 学C的人写的代码跟学C++的人写的面向对象或者架构的代码, 完全不是一个级别的. C的人怎么写也摆脱不了面向过程的影响, C++的人倒是什么也没所谓.
我旁边就有几个十年多的C程序员.
说到写过程, 写功能, 很好, 很强大, 代码也很漂亮.
但说到整体架构, 如何定义接口, 分布功能...唉, 已经可以说是到了可怜的地步了.
先拿本C#自己学, 学懂基本的编程思维, 再拿本数据结构学, 学懂到底C#提供的一般功能是怎样实现的, 像字符串, 用C#的时候就+ = 是了, 但实际内部是怎样实现的? 不学数据结构你是不会的. 不了解地址和数据也是不会的, 这些是需要深造的.
旧有的语言, 学习的人要花更多的细节在理解抽象上, 像int是什么? 有什么用? 完全不知道, 因为这些语言不是面向自然语言的, 但C#, JAVA这类不同, 更高级, 更容易让你学习怎样跟电脑说话, 编程就是跟电脑说话, 叫电脑做这做那还没有怨言. 所以先学会跟电脑说话, 然后再学会底层是怎样现实的, 会更容易入门.
[解决办法]
我是个大四的,现在在企业实习.我跟你经历差不多,上大学之前也没接触过编程
潭的书还是比较容易理解的,你按照书上的,把例子,习题都写一遍.还应该有一本上机指导书吧?那本书上面的题目比教材稍微难点,你也要自己写出来.不会的就问老师,或上网查.总之就是要弄懂.
一定不要闭门造车,不会了先自己想,实在想不出了就与人交流,查资料.这是学习编程最基本的方法.
另外,一定不要拘泥于课本,当然,如果你只是想应付考试拿个毕业证的话课本就够了.但是如果你要在这个行业发展,你会发现要学的实在是太多了,课本知识把你领进门而已...
祝你成功!
------解决方案--------------------
这种帖子总是特别火
一个寒假能有多少时间。嘴上说说要看,其实还是不知道把时间都花哪去了。
c programming language 是不错
不过楼主连谭浩强的的书都当天书 还是不要一开始就看这本
c prime
c prime plus 虽然好
不过太厚了
我不觉得你能在一个寒假里看完 在把里面的东西理清楚
我接触c的时候看的是一本叫做begining c的书
也是老外写的
书不厚 不过内容很充实
也是我对c语言入门的一本书
还是推荐这本吧
[解决办法]
如果是为了工作的话,入门可以可以网上搜索点视频,比如MIT计算机科学及编程导论
如果不是。。那就随便看看吧,书多看几遍,书上的例子敲进去,自己改变参数,网上搜索下如何调试什么的
[解决办法]
大一二本女生怎好C,大家都很心,介那多的典著作,恕我直言,大家要人的情,人家大一,未接程,又是女生。不是女生不合程,而是女生的思方式不一,要不然已去世的Randy Pausch教授就不用明一新的程言女生用,考www.alice.org。我二十多年前州最出名的大(自己查)子工程系,程也甚也不到,在程序,靠的全是中老,那位老本教英的,是半途出家,教,但他人太明,中之後留校任教,在已是全政,教育界名人,有人的言表能力,很,深入出。我公司在的年同事,都很,但打,常要我做中文翻,否老、客、同行都不懂,如果人您的老,您一定以自己很笨,很泄。吧,如果身有朋友程,不一定是C言,比清楚,而且耐心,您就他或她吃,他一下甚是程,也就是是怎模仿人行算的,有了好老,就那的事情。我的女未11,在初三了,校也是Word、Excel之的商用件,害人的,她在旁看我程,一看就懂了,我相信其他女孩也能做到,然她比您幸,三就起就能用英自行,同看代。老梁(家指、心理咨、子工程士、工商管理博士生)
[解决办法]
我是大二的学生,C、C++学的还可以。
我的建议是,把书上的代码一句一句推敲,按照电脑的逻辑,一步一步理解,看完一个就自己在电脑上敲一遍。只有这样下功夫,才能把人类的思维变成电脑的思维。比较难理解的地方就是排序,书上有介绍冒泡法和选择法排序,如果不懂,写个“123”然后按照书上的代码一步步把它排序成“321”,观察变量之间的制约关系,然后再在电脑上敲一遍,硬着头皮学下来一定能记住。
以上的建议,如果你以后想在IT业发展的话就尽量参考吧,如果被打击了想转专业,就抓紧向学校申请。
有什么问题可以联系我
[解决办法]
我是从basic语言入门的,当初记得非常有动力去学习这些,什么Qbasic, QuickBasic, PowerBasic等等学了很多,都是几天一本书的看.然后练习编程.Basic交会我什么是基本的程序设计!
然后为了准备一些计算机认证考试的时候开始学习C和汇编,还有数据结构!
从C学习到了原来还有指针这个强大的东西,从汇编学到了计算机能够执行的基本操作等等.
你如果有兴趣也有时间的话,可以像我这样的学过来.
记住:一定要动手实践,而且要多多思考为什么要这样!
没有实践的学习对于编程来说是一点都行不通的!实践过程中,你就会慢慢领悟了!