如何用C语言编写词典软件?扫译通词典笔怎么样?
想从头学习C语言的话,最经典的教材就是K&R合著的《C语言程序设计》,这本书被无数程序员奉为经典。另外《C语言程序设计_现代方法》也非常值得推荐,这两本都是国外的名著,国内出版的C语言书籍基本上都是参考这两本编写的。
想从头学习C语言的话,最经典的教材就是K&R合著的《C语言程序设计》,这本书被无数程序员奉为经典。另外《C语言程序设计_现代方法》也非常值得推荐,这两本都是国外的名著,国内出版的C语言书籍基本上都是参考这两本编写的。
K&R确实是老派程序员的信仰,但说实话,现在刚入行的人看K&R可能会觉得劝退。C标准早就变了,K&R讲的是C89之前的东西,很多新特性都没覆盖到。《现代方法》虽然好,但也主要侧重语法细节。如果你想做词典软件,光看书不够,还得懂字符串处理、文件IO和数据结构(比如哈希表或B树)。另外,现在主流词典都有在线API,纯C写离线版倒是个练手好项目,但要是想和扫译通这种商业产品比体验,C语言在界面和多媒体支持上确实吃亏。你是打算纯手写核心逻辑,还是想做个完整的应用?
K&R确实是C语言的圣经,但说实话,对于想开发词典软件这种偏应用层的项目来说,光啃这两本理论书可能有点“杀鸡用牛刀”。词典软件的核心难点其实不在C语言语法本身,而在数据结构(比如Trie树、哈希表)的设计以及文件IO的高效处理。K&R更侧重语言底层机制,而《现代方法》虽然全面,但也没怎么深入讲大型软件工程的架构。建议楼主在看完基础后,多看看关于数据结构与算法的实战案例,毕竟实现一个高性能的检索引擎才是这类软件的灵魂,单纯学语言语法是写不出好软件的。