对于嵌入式来说,C语言是一个工具,就像如果你想从事出租车司机或者公交车司机,驾驶技术就是你的一个工具。
现回答你问的问题:
如应该掌握C语言:C语言基础部分的难度并不大,只要有时间,估计正常的初学者1-2个星期的认真学习,都可以数量掌握基本语法和语句,C语言的关键在于“数据结构”,例如:链表、图、位、树等等,这些都是实际工作中变化性比较大的知识点,但是实际工作中,根据你的工作类别,要求并不会非常高。
还应掌握什么基础:当你的C语言(包括数据结构)等有了一定的知识积累,那么你就可以学习系统编程和网络编程了,这是日后应用类程序开发公司比较常用的知识点;然后就是学习汇编语言、C++、内核、嵌入式系统开发等,当然,你的操作平台首先是需要你了解的,基本上常用的是linux平台,而你对linux的熟悉程度,也需要时间的积累,以上这些知识都不是几天、几个星期或者几个月就可以完全掌握的,要根据你未来想从事的工作具体去学习,因为每一个知识点都可以工作。
数据库要吗? :如果你会当然最好,基本上一般工作单位不会要求你学习,因为毕竟嵌入式开发跟数据库开发是两个不同的类别。
最后送你一句话:请根据自己的实际情况考虑是否进入这一行,因为如果你想从事嵌入式开发工作,以上说的每一个知识点你都需要掌握,这是一个非常漫长的过程,不要心急,多看好的参考书,不要乱看书。
上嵌基地的嵌入式培训不错,你可以去看看
零基础也能学习嵌入式
亚嵌官网有个嵌入式培训课程,你可以去看看,对照着课程就知道学习什么了
一般嵌入式分为软件部分和硬件部分,软件部分又可以做嵌入式应用和嵌入式系统部分。
硬件部分数电模电自然是基础,另外要会电路设计相关知识,有些硬件工程师需要能写驱动程序;
嵌入式系统工程师一般要懂硬件行为,比如做驱动的要能看懂具体芯片的数据手册,懂系统内核知识,能根据平台特性写出高效代码。
嵌入式软件要稍微容易一点,在目前有嵌入式OS的平台上,跟应用变成差不多,相应的语言学习就是重点,另外,要写出高效应用,要懂平台特性。
C的一些基本知识和一个开发板,剩下的是你的时间和汗水