1 可以学习C语言数据结构与算法;2 因为C语言数据结构与算法通常是在已经掌握了C语言基础之后学习的,所以如果没有学过C语言,可能需要先学习C语言基础知识;3 但是,如果你已经有编程经验,掌握了其他编程语言的基础知识,也可以直接学习C语言数据结构与算法。不过,建议在学习之前先了解一些基础的数据结构和算法知识。

如果在执行过程中,不需要分类讨论,则不需要有条件结构;
如果不需要重复执行某些操作,则不需要循环结构;
算法的基本结构不包括逻辑结构.
但任何一个算法都必须有顺序结构
我就是做嵌入式软件开发的,C语言肯定是要掌握熟练的,对于算法,就看工作侧重点了。一般来说涉及算法不多,不用研究多深。分工作情况,对于嵌入式底层软件开发,基本用不到算法。对于嵌入式应用层软件开发,比如软件处理有些会涉及到算法的处理。这个分从事行业,一般做数据采集,算法无非是数据精度,滤波算法等,难度不大。如果是图像处理这块,算法就要求比较高了。要求对一些数据做高精度的分析过滤处理。
你好,刚好我以前也从事过嵌入式开发,我觉得做嵌入式开发不一定要c很精通:
1.任何一种开发,都有各层次的程序员,才叫做一个团队,有做基础编码的,有做代码整合的,有做技术框架的。所以任何开发都不是说一定要把语言学得很精通才行,都有一个过程。
2.嵌入式开发也分上层和底层开发,分别掌握的c语言层次不同,我就是刚参加工作就做嵌入式工位机的上层开发,觉得都还ok的。
3.当然,如果你的c语言很精通,那你做开发的时候会更得心应手,不管是嵌入式还是其他开发。
提问的逻辑就有问题,只有根据需求不断的项目开发,才能提高编程水平,不实践水平不可能有多高,另外,嵌入式开发要求软硬件都懂,你可以侧重软件,但必须懂硬件。嵌入式系统资源也有限,这要求你得编出高效率,占用内存低的代码,还得能看懂汇编,否则有些问题调死你,反之,对算法要求反而没那么高,总之,实践,总结,再实践,才能成为大神。
嵌入式开发和普通应用程序开发的主要区别在于:
系统资源相对较少
可用库和服务相对较少
应用在系统中权限相对较高
要适应这些特点,用C语言进行嵌入式开发,需要的能力主要有:
对嵌入式系统资源有一定了解
编码错误率较低,调试能力较强
自己造轮子的能力较强
算法方面未必需要学到多么高深,其实基础、简单的算法就足以应付大多数情况了。