C语言可以编写什么样的程序?

这个问题有点像,学英语有什么用?答案是英语没用,但是用英语写的书和资料真的很有用,甚至不可或缺。

同样的,孤立的学习C除了通过考试也没什么用,但问题是公司的项目和开源项目大部分都是用C描述的,而且很有用。

c是万能的,但是只懂语法是没用的。

如果你精通windows下的api,你可以用C开发任何windows应用,也可以不用C使用任何你喜欢的语言,只要你有相应的编译器。

如果要开发其他os应用,只需要学习相应os平台的api即可。

如果要开发一个驱动,要学习你对应的操作系统的驱动框架和硬件知识,最后用C实现。也许最常用的最终实现是赋值语句,比如把一个数0x1234写到地址0x7F000000。至于为什么是这个地址,为什么要写这个数字,你可能研究了一个星期的数据表才得出结论。

如果你的强项是算法,如果你能把一张8G的dvd压缩成8M,而且画质大众能接受,那么你只需要发表论文,用数学原理解释清楚就行了。会有无数小弟帮你编程的。没到这个程度,就想看别人的算法。虽然这个算法的实现和具体的语言无关,但是大部分还是用C来描述的,所以学C没什么坏处。