| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2058 人关注过本帖
标题:如何学习好c语言?
只看楼主 加入收藏
bryant2019
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2013-1-28
收藏
得分:0 
看看‘’‘’‘’‘’‘’‘’‘’
2013-01-28 00:54
wengege
Rank: 2
等 级:论坛游民
帖 子:148
专家分:93
注 册:2012-7-23
收藏
得分:0 
回复 18楼 TonyDeng
版主可能有所不知目前国内最大的软件行业 嵌入式软件主要就是以C为主的。

打好基础,学会站在巨人的肩膀上!
2013-01-28 09:48
信箱有效
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:9
帖 子:1102
专家分:4268
注 册:2012-6-19
收藏
得分:0 
以下是引用wengege在2013-1-28 09:48:55的发言:

版主可能有所不知目前国内最大的软件行业 嵌入式软件主要就是以C为主的。
T胖怎么可能不知道捏

这和什么嵌入没任何关系。 即使是嵌入软件 只不过是因为有其芯片对应的C编译器而已,难保说没有用PASCAL呀DELPHI呀的出现。况且对嵌入C来说,语言本身已经不重要了 重要的是使用芯片本身提供的函数和接口实现需要的功能。如果说嵌入软件以C为主,倒不如说 嵌入软件以芯片汇编指令为根本。只不过芯片多是提供C的支持库 又有对应的C编译器。   

T胖的意思是 不要把精力过多的用在C语言本身的一些细枝末节上 这是屠龙之技
应从大处着眼 过多的抠细节琢磨牛角尖 对初学者来说没有半点好处 反而会消磨耐性 丧失激情。 随着以后学习的深入 知识的扩展 ----尤其是需要知识的扩展---很多东西自然会知道。但是放在现在 讲破头也理解不了。
2013-01-28 10:46
LLC_HJW
Rank: 2
等 级:论坛游民
帖 子:58
专家分:39
注 册:2013-1-11
收藏
得分:0 
9楼厉害,收徒么?
2013-01-28 10:52
wengege
Rank: 2
等 级:论坛游民
帖 子:148
专家分:93
注 册:2012-7-23
收藏
得分:0 
回复 23楼 信箱有效
对于嵌入式 估计你是行外人,你见过用PASCAL呀DELPHI写嵌入式软件的吗?你说的嵌入式软件以汇编为根本,那X86机器也不是一样吗?这里强调的是应用领域的可行性。 如今的嵌入式实时OS哪个不是用C实现的?T胖说的C只适合了解编程的概念,对于初学者其实还是没有道出C的重要性,最后我理解T胖的意思,只是反对些局部的观点,对于初学者可能会引起误导。


打好基础,学会站在巨人的肩膀上!
2013-01-28 12:03
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
看清楚我前面说什么,这跟嵌入式没有任何关系。

授人以渔,不授人以鱼。
2013-01-28 13:10
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
早期C没流行的时候,电信设备上使用的还是BASIC,做寻呼机的,不要以为只有C才能做,而且按照当时的实际,用BASIC做出来的系统比后来人用C做的速度还要快。IBM PC用ROM BASIC操纵整台机器运转的时候,C都不知道在哪里。

Pascal编译出来的就是机器码,怎么不能与硬件沟通的?Turbo Pascal可以直接嵌入汇编的,你不知道而已。所谓的不能沟通,是指对方的模块是用C写的,才不能直接通信,无非是接口有点歧异,但语言本身可以提供接口转换,同样有办法与C库沟通,不是非要用C写不可。就算现在用VFP写程序,也一样可以调用Win32 API与系统嵌入,怎么不行了?

嵌入式,与硬件相关,实际上只在乎你懂不懂相关的硬件及其设计,这是专业技术,与C没有任何关系,正如会不会求素数的高速算法只是是否知道有那种数学方法而已,那不是编程技能,只是数学技能。程序的机器码储存在磁盘上,不过就是普通的数据流,用什么语言不能生成数据文件并执行之?

[ 本帖最后由 TonyDeng 于 2013-1-28 13:45 编辑 ]

授人以渔,不授人以鱼。
2013-01-28 13:33
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
学C作为入门,无非是预计发展方向在C系列上,这个系列是C/C++/Java/C#,共同的东西就是最普遍的语法,结构化编程思想是关键,入门必须掌握这些东西。语言的特性,可以在决定主力语言之后再深入研究。发展方向是嵌入式,当然主力语言是C,但并非所有学习C的人的发展方向都是这个,它将来可能是Java或是C#,那样在早期强化指针的概念和习惯,到后面就被迫自废武功了,怎么不是浪费时间精力!

在当今C++标准已经植入STL的时候,还在孜孜不倦地钻研链表之类C数据结构,更是无谓。所谓STL,S是标准,T是模板,L是库,即是标准模板库,它的地位跟printf()之类标准函数是一样的,不单是标准库,而且还是模板式可以兼容各种数据类型的,比自己写的针对性的具体函数好得多,说不用STL,不如一并说不用printf()。如果将来的主力语言是C++,那又是无用功。这些东西,在理论上了解,并略微涉猎一下就可以了,整天埋头苦练,不必要。

还有很多过时的知识,也是在新的形势下变成无用的,提早了解一下的好。还有很多人抱着K&R的书和观点当正宗,这就是OUT。

授人以渔,不授人以鱼。
2013-01-28 14:29
信箱有效
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:9
帖 子:1102
专家分:4268
注 册:2012-6-19
收藏
得分:0 
以下是引用wengege在2013-1-28 12:03:58的发言:

对于嵌入式 估计你是行外人,你见过用PASCAL呀DELPHI写嵌入式软件的吗?你说的嵌入式软件以汇编为根本,那X86机器也不是一样吗?这里强调的是应用领域的可行性。 如今的嵌入式实时OS哪个不是用C实现的?T胖说的C只适合了解编程的概念,对于初学者其实还是没有道出C的重要性,最后我理解T胖的意思,只是反对些局部的观点,对于初学者可能会引起误导。
T胖讲的都差不多了。
你没见过或者不了解 不代表就没有呀。 再说你一会嵌入式软件 一会又OS 一会又应用领域的 偷换概念嘛  这跟人家怎么学C语法一点关系都木有啊。

换个帖子换个地方 你的这个

以下是引用wengege在2013-1-28 09:48:55的发言:

嵌入式软件主要就是以C为主的。
没有问题 而且我一直觉得C程序员是最牛X的金字招牌。
但是发在这里 毫无意义 更是跟主题帖子没有任何关系。

即使是做嵌入式 难道在初学C的阶段 就非得去死抠细节钻牛角尖吗?那才是真正的误导初学者。C的重要性更不需要用什么 嵌入式软件的主力语言 来标注。

另外 你似乎不知道 在以前 甚至直到现在 有很多工科专业 还是以PASCAL作为必修课
我是不是行外人。。。还真是不知道。 不过怎么说也是工科毕业的,软件不怎么会,什么电平总线学了一大堆 芯片什么的也经常在面包板上捣鼓 可惜当时学的主芯片是Z80。。。后来 我就改行送快递了。

你如果还喜欢跟人纠结C的重要性 只能说明知识面太狭窄 积累太少 。以嵌入式软件的编写语言来证明。。。更是没意义。
2013-01-28 16:45
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
楼歪了

总有那身价贱的人给作业贴回复完整的代码
2013-01-28 16:57
快速回复:如何学习好c语言?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024355 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved