看你是不是真的要用c来具体做东西还是只用c来作为编程入门,如果是用c来做东西,那么这种语言的特性决定了算法和数据结构你是必须要懂的。尤其是数据结构,c语言的精髓之一就在于指针,这和数据结构是紧紧相连的,如果不懂数据结构,很难真正明白c语言。不过话说回来,现在公司直接用c的在偶国相对而言不是很多的,大多使用面向对象的语言。用c作为入门,了解编程思想,逻辑,然后转语言也是很容易的。
那倒不一定,数据结构、算法学了实践中没应用好写不出好的程序,但如果一个人思维严谨、数学功底好即使没写过数据结构与算法一样能写出很好的程序。当然,学过数据结构与算法的对写出好的程序是有帮助的。