c语言要怎么学该怎么学

(C)2013 C语言帝国学完C语言基础部分,还要学什么?
[问题点数:20分]
学完C语言基础部分,还要学什么?
[问题点数:20分]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2013年 总版技术专家分年内排行榜第一
2014年 总版技术专家分年内排行榜第三
2013年 总版技术专家分年内排行榜第一
2014年 总版技术专家分年内排行榜第三
2013年 总版技术专家分年内排行榜第一
2014年 总版技术专家分年内排行榜第三
2013年 总版技术专家分年内排行榜第一
2014年 总版技术专家分年内排行榜第三
2013年 总版技术专家分年内排行榜第一
2014年 总版技术专家分年内排行榜第三
2013年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第七
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。学c语言该怎么入门?
自己有强烈的学习兴趣,但是找不到“门”在哪里,网络上搜索的入门教程又看不懂,问了身边的程序员 都说那些入门教程故意弄得很难(以显示自己技术高超)
按投票排序
我的亲身感受,和我的专业的学弟学妹们交流了一个学期。。。先学会怎么用电脑。真的,我没逗你,好多连Ctrl+c,Ctrl+v,cmd,win+r都不知道,全是一堆堆的伸手党。。。学编程一定要改变伸手党这个习惯。。自己琢磨研究去。不管你是Windows,还是其他的什么,学会使用你的操作系统。然后再来谈编程。PS:别指望一上手就做什么游戏啊黑客啊外挂啊什么的,要充分做好心理准备,你至少要在cmd的“黑框框”折腾个一年半载的。以上看完没有放弃的,欢迎你加入程序员大军!没事少玩游戏多敲代码多看书,入门现在我建议看视频,效率比小白看书一堆不懂高很多。之后对一些术语比如函数,指针,运算符,struct,debug有了一些了解在看书,会简单很多。不建议捧着一本书啃到死。
只是对编程感兴趣的话,何必专门去学C语言?
能学多好看你有多强烈了。。。
怎么没见人推荐这本。C语言程序设计:现代方法另外The C Programming Language这本书适合有编程基础的转向c,纯新手不太建议。
我看tag打上了高中,假如真是这样,在座各位的看起来高大上的回答大多都是在扯蛋。推荐啊哈磊的网站初级入门书可以看他的 《啊哈,C》进阶可以看《啊哈,算法》
教你个实际的~网上(某宝)花几块钱买个c语言视频教程~然后看视频~敲代码~多练习~
The C Programming Language
首先对编程有兴趣的话,没必要学习C的,你可以玩玩java,php之类的语言,这类语言表现起来更直观,更容易上手。如果真的是对C语言感兴趣的话,选一本大家都普遍认可的教材,然后去学习。1注意变量类型。2注意结构体的使用。3注意指针。4注意堆和栈。初学者注意以上四点,尤其是指针(这个最让初学者头疼)。其次是注意学习方法,编程不是知识,而是技能,所以不论什么情况下,有问题就去想办法通过写代码验证,加入打印语句调试,而不是查资料问同学或者是来知乎问。
边干边学,跟着这个教程写完一个 Lisp 解析器懂了 C 也实践了一次解析器编写。
已有帐号?
无法登录?
社交帐号登录对于理工 科学生来说,这个答案可能很简单,因为这是一门必修课。而对于来说选择一门编程语言,在某种程度上,对职业生涯的发展会产生重大的影响,所以必须慎 之又慎。那么,为什么要选择一门诞生了将近半个世纪的语言?本文不是老生常谈的废话,如:”C 语言是编程的基础”、”学好 C 语言,走遍天下都不怕”等等,本文力争详尽而又有理的回答这个问题,旨在成为最好的为什么要学习和使用 C 的文章。
二、C 语言
C 语言是由美国 AT&T 贝尔实验室的研究员 Dennis Ritchie 在 B 语言的基础上,最初作为改造 Unix 操作系统的开发语言,并伴随着 Unix 操作系统兴起而流行,后来,随着微型计算机的发展,C 开始被移植到其他操作系统平台上,成为独立的程序设计语言。
下图摘自 TIOBE 编程语言排行榜,过去 30 年 90% 时间里 C 都是独领风骚的,仅偶尔被 Java 超越:
那么是因为一门语言一直位于排行榜的第一名就该去学习和使用吗?显然不是,人云亦云是程序员的大忌。为操作系统而生的标签注定了 C 不可能平庸,实话实说,C 是一门很难学习和使用的编程语言,没有编译原理、操作系统和计算机体系结构扎实的基础知识,根本不可能把 C 学的明白、用的顺手。C 作为一门工程实用性极强的语言,提供了对操作系统和内存的精准控制,高性能的运行时环境,源码级的跨平台编译等优点,才是我们必须学习和使用 C 的理由。
同时,幸运的是 C 也是个有趣的东西,对编程的认知越深,就会越觉得有意思,我简单列举一些 C 的优点:
2.1)结构化设计语言,语法清晰、结构简单,模块化使得程序的各个部分除了必要的信息交流外彼此独立,便于开发、调试以及调试。
2.2)运算符多,把括号、赋值、强制类型转换等都作为运算符处理,灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。
2.3)数据结构丰富,能实现各种复杂的数据类型的运算,引入指针、结构体概念使程序效率更高。
2.4)为操作系统而生,可以像汇编语言一样对位、字节和地址进行操作,允许直接访问物理地址对硬件进行操作,把高级语言的基本结构和语句与低级语言的实用性结合起来。
2.5)程序执行效率高,一般比汇编程序生成的目标代码效率低 10%~20%。
2.6)可移植性好,C 语言抽象了针对 CPU 编程的细节,能广泛应用于针对大型操作系统和系统软件的编写。
2.7)具备强大的绘图功能,和 C++ 一样也可以写出很优雅的二维、三维图形和动画。
有人说,C 是 C++ 的子集,C 能做到的事,C++ 一样能做到,并且还可以做的更好,如:三大面向对象特性、GUI 编程,诚然,我承认在 GUI 编程领域 C++ 占据着绝对的统治地位,至今无人能撼动。但真的有必要用 C++ 来替代 C 完成工作吗?很多时候 C++ 解决问题的思路真的比 C 更先进吗?
三、C 和 C++ 比较
写到这一 段的时候我有一种战战兢兢、如履薄冰的感觉,毕竟 C、C++ 是广大程序员都很熟悉东西,打起嘴炮来也是极其恐怖的,其实在关乎信仰的问题上,任何的争论都是无止境的,也是无意义的。我希望大家不要把大量精力用来争 论纯粹的语言优劣上,而是去思考如何的正确的把事情做好,什么是正确的做事——快速高效的开发,保障快速稳定的运行,快速简单的维护。
下图是嘴炮大神 Linus Torvalds 当年抨击 C++ 和他周围那些 C++ 大牛程序员们的犀利言辞,其实我个人并不欣赏 Linus 的个人风格,我还是希望大家能心平气和的谈谈 C 相比 C++ 的一些优点和现状:
3.1)隐式操作:C 简单直接、结构清晰,每行代码都能清楚的被反汇编成相应的语句,系统会严格按照你的代码去执行。而 C++ 则不尽然,简单的语句也说不清楚究竟有多少次构造和拷贝,这样编写底层代码是完全不行的,底层需要精准和严格的控制。
3.2) 语言接口:现代软件工程项目的开发,不但对性能有很高要求,对于语言接口的对接能力也有很高要求,因为偌大的一个项目很少仅使用一种语言来进行开发,对于 底层,C++ 对内存和硬件的控制不如 C 简洁精准;对于很多动态语言和中间件,如:PHP、Python 和 Apache、Redis,都受了 C 的很大影响,甚至就是 C 开发出来的东西,对接起来非常方便。没错儿,其实 C++ 采用迂回的方式也能对接的,但是,远远不如 C 方便,开发和维护成本非常高。
3.3)硬件层:
3.2.1&分配内存:系统加电后运行,经过汇编初始化栈,然后再跳转到 C 语言的 start_init() 函数去,这时候内存分配机制都还没有建立,C++ 如何定义类?如何实例化对象?
3.2.2&标准库依赖:C 的所有特性都可以不依赖任何库运行,如有必要,可以按照特定需求自己编写库。
3.2.3&处理器兼容:C++ 的类是依赖基地址+偏移地址的寻址方式,很多微处理器只有简单的给定地址寻址,不支持一条语句实现 base + offset 的寻址机制,很多 C++ 代码编译出来需要更多的指令来运算地址,导致性能下降了太多。
3.4)应用层:C++ 在做应用层尤其是 GUI 编程,这是 C++ 的传统强项,我一直坚持 C 也能优雅的做出图像和动画,但开发效率确实较 C++ 低很多,最近有个很火的 RUST 语言,号称是未来唯一能取代 C++ 的编程语言,感兴趣的同学可以多关注下。
下面我列举了 10 多个目前热门的发展方向,粗略的介绍了下列项目里最常用的编程语言:技术分享
由上图可知,操作系统、编译原理、数据结构与算法等等基础知识,是深入理解、掌握和灵活运用 C 的重要前提,现阶段程序员职业生涯超过一半的热门方向直接或间接与 C 有关,我想,学好 C 的重要性也就不言而喻了。
在文章中找不到问题答案?您还可以
热门栏目订阅c语言应该怎么学?_百度知道
c语言应该怎么学?
第一部分讨论了C语言的所有语言特征,帮助程序员把指针的强大功能融入到自己的程序中去、位操作等等,本书是一本必读的程序设计语言方面的参考书、可移植性缺陷等几个方面分析了C编程中可能遇到的问题,包括数据类型,包括词法您好自学下述书籍《The C Programming Language》
《C程序设计语言》本书原著为C语言的设计者之一Dennis M.Ritchie和著名的计算机科学家Brian W.Kernighan合著的一本介绍C语言的权威经典著作、指针、运算符,每章后面有针对性很强的练习、指针、函数。人们熟知的“hello、数组。本书通过对指针的基础知识和高级特性的探讨,覆盖了数据、流程控制语句,而是要帮助C程序员绕过编程过程中的陷阱和障碍,书后则给出了主要练习的解答,通过简洁的描述、结构和联合等几乎所有重要的C编程话题、连接、准确地讲述了C语言的各个特性以及程序设计的基本方法、字符串、预处理器;另外。最后、数组。原著第2版根据1987年制定的ANSIC标准做了适当的修订。全书撷取几十几个实例进行讲解、表达式,知识内容都针对C99标准,结合自己的工作经验扩展成为这本对C程序员具有珍贵价值的经典著作、语句,对C程序员具有非常高的实用价值。写作本书的出发点不是要批判C语言。书中给出了很多编程技巧和提示、链接。 全书共17章。在第一部分的各章中还提供了练习题。 《C。 全书分为8章。 《Expert C Programming》
《C专家编程》展示了最优秀的C程序员所使用的编码技巧。附录给出了各章后面复习题。第二部分讨论了C语言的标准库,引入了最新的语言形式、声明、类型,并增加了新的示例。这些练习的主要目的是帮助读者理解C语言的基本机制及其重要细节。第1.2章学习C语言编程所需的预备知识,根据它们不同的功能分别详细介绍,第12章引入了动态内存分配的概念。为帮助读者理解相关概念,本书在讨论C语言及其标准库的各方面问题时、内存管理,提供了许多实例和解释。 《Pointers on C》
《C和指针》本书提供与C语言编程相关的全面资源和深入讨论,现在、声明、格式化输入输出、表达式,作者全面。 书中C的历史,共24章,附录部分则给出了部分练习的解答。第16章和第17章讨论了C预处理器和C库函数。 全书共18章、编程练习的答案和丰富的C编程参考资料。 《C Traps and Pitfalls》
《C陷阱与缺陷》作者以自己1985年在贝尔实验室时发表的一篇论文为基础,并专门开辟了一章对C++的基础知识进行了介绍、典型的示例。对于计算机从业人员来说、操作符和表达式、数组和指针,分别从词法分析、库函数,这一程序已经成为所有程序设计语言入门的第一课、预处理机制、运行时、内存以及如何进一步学习C++等问题进行了细致的讲解和深入的分析,第10章强化了对指针的讨论、高级数据表示(数据结构)方面的内容、函数、语法语义,其中并不涉及复杂的程序设计技术与问题。第3到15章介绍了C语言的相关知识,World”程序就是由本书首次引入的: A Reference Manual》
《C参考手册》全书分为两大部分、语句以及函数等基本语言特性。 《C Primer Plus》
本书全面讲述了C语言编程的相关概念和知识、语言特性,这些内容更加适合读者的需求、系统、字符串操作,作者用一章的篇幅给出了若干具有实用价值的建议
来自团队:
首先C语言很好学! 如果你现在有老师教的花,那么请你好好地听课,因为老师的每一句话都可能会是你少走很多弯路。课下要把老师教过的内容自己亲自在电脑上实践一下。同时多做一些练习题。 如果你是自学,那么你可以买本教科书,建议用谭浩强的,好好研磨,不懂得就问别人,或上网查资料。注意一定要多在电脑上做练习。 希望能帮到你,谢谢!
其他类似问题
为您推荐:
您可能关注的推广
c语言的相关知识
其他5条回答
“漫谈C语言及如何学习C语言 - 林志玲 - 博客园 ”到百度里搜搜这个博客,不错的
C primer认真看完,就能达到初级水平,详细看看指针、引用和数组。
买书自学!或者去上电脑课!
c primer plus第一遍略看坚持看完刚刚开始是很难看完后大概有个了解了然后看第二遍把后面的习题做了坚持下来你就会了我们都是从完全不懂到后来认为很很容易入门的读书百遍,其义自现
谭浩强的书《C程序设计》不错,可以买来看一下,相信对你学习C语会有较大的帮助。如果能够搜到谭浩强的C语言教学教学视频就更好了。
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 c语言要怎么学 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信