c语言程序设计 谭浩强怎么样

99ANYc3cd6
预计阅读时长 9 分钟
位置: 首页 C语言 正文

这本书在中国乃至整个华语世界的C语言学习者中,几乎无人不晓,评价它,需要从多个角度来看,因为它是一把典型的“双刃剑”。

总体评价

现象级教材,但争议巨大。

  • 优点(为什么它能成为经典):

    1. 通俗易懂,入门门槛低: 这是它最大的优点,谭老师用非常生活化的语言和例子来解释复杂的编程概念,比如用“仓库”比喻变量,用“菜谱”比喻函数,对于完全没有编程基础的小白来说,这本书能让他们“看懂”,并写出简单的C语言程序,建立初步的信心。
    2. 体系完整,覆盖面广: 书中内容非常全面,从最基础的变量、数据类型、运算符,到流程控制、数组、函数、指针、结构体、文件操作等C语言的核心知识点都覆盖到了,对于初学者来说,按部就班地学完,基本能掌握C语言的全貌。
    3. 配套资源丰富,市场占有率高: 因为太火了,所以网上的学习资源、课件、习题解答、视频教程铺天盖地,老师教学、学生自学,几乎都会首选这本书,这种生态使得初学者遇到问题时很容易找到解决方案。
    4. 符合国内教学大纲: 很多高校的C语言课程都选用这本书作为教材,因为它内容编排和国内的教学要求、考试重点高度契合。
  • 缺点(为什么它备受诟病):

    1. 代码风格不佳,存在“坑”: 这是被批评得最多的一点,书中的很多代码示例不符合现代、规范的编程风格,甚至存在一些低级错误或“坏习惯”(比如不必要的全局变量、不严谨的函数定义等),对于初学者来说,他们会不自觉地模仿这种“谭氏风格”,这会成为后续职业发展的坏习惯,需要后期花大量时间去纠正。
    2. 对指针的解释堪称“灾难”: 指针是C语言的灵魂和难点,也是区分新手和高手的关键,谭老师对指针的解释非常浅显,甚至可以说是“误导性”的,他用“变量的地址”这种过于简单的描述,让初学者无法真正理解指针的本质(内存操作、间接寻址等),导致很多人学完这本书后,指针依然是“天书”,为后续学习数据结构、操作系统等课程埋下了巨大的障碍。
    3. 重语法,轻思想: 这本书更像是一本“C语言语法手册”,它告诉你“怎么用”,但很少告诉你“为什么这么设计”以及“怎么更好地用”,它缺乏对程序设计思想、算法思维、工程规范的培养,学生可能会写代码,但不知道什么是好的代码,什么是差的代码。
    4. 内容略显陈旧: 书中的很多例子和编程实践还停留在比较古老的风格,与现代软件开发所推崇的模块化、可读性、健壮性等理念有一定差距。

适合人群

  • 最适合的: 零基础、非计算机专业、只想快速入门了解C语言基本语法的学生。

    比如文科生、理科生需要修一门计算机公共课,或者纯粹出于兴趣想看看编程是怎么回事,这本书能帮你快速“上手”,满足基本需求。

  • 可以参考的: 国内高校学生,用于应付课程考试。

    因为它是很多学校的指定教材,跟着老师的节奏和这本书学,考试问题不大,但一定要结合其他资源来学习。

  • 不推荐的:
    • 计算机专业的学生: 如果你是CS专业,这本书绝对不适合作为你的“圣经”,它会严重限制你的视野和编程能力的上限。
    • 有志于成为优秀程序员的人: 如果你希望写出高质量、可维护、专业的代码,这本书的坏习惯会让你走很多弯路。

学习建议

如果你决定使用这本书,或者正在使用它,请遵循以下建议:

  1. 只把它当作“入门地图”,不要当作“圣经”。 快速过一遍,了解C语言有哪些知识点,建立起一个大致的框架。
  2. “代码审查”是关键。 学完一个章节后,不要盲目模仿书中的代码,去网上搜索“优秀的C语言代码风格”、“Google C++ Style Guide”(虽然C++,但很多C语言也适用),对比着看,思考为什么书中的代码不好,好的代码好在哪里。
  3. 攻克指针,必须换资料! 当你学到指针这一章时,如果感觉云里雾里,请立刻、马上放弃这本书对指针的解释,去找专门讲解指针的资料,
    • 《C Primer Plus》(Stephen Prata著): 对指针的讲解比谭浩强的书深入、清晰得多。
    • 《C程序设计语言》(K&R,The C Programming Language): C语言“圣经”级著作,由C语言之父Dennis Ritchie和Brian Kernighan合著,篇幅不长,但字字珠玑,对指针的讲解非常深刻。
    • 网上的优质教程: 比如B站上一些口碑很好的C语言教学视频,很多老师会用动画等方式把指针讲得非常透彻。
  4. 动手实践,多写多练。 书上的例子一定要亲手敲一遍,并尝试修改、扩展,然后去做一些LeetCode上简单的算法题(两数之和”、“反转字符串”等),用C语言实现,这才能真正检验你的学习成果。
  5. 尽早转向现代学习资源。 在掌握了基本语法后,建议开始阅读《C Primer Plus》或者K&R,并结合在线资源(如菜鸟教程、GeeksforGeeks等)进行学习。

谭浩强的《C语言程序设计》是一本“功过参半”的书。

  • 功: 它成功地让无数人踏入了编程的大门,降低了学习门槛,是特定历史时期和教育环境下的必然产物。
  • 过: 它的编程陋习和对关键概念的浅尝辄止,也让无数初学者走了弯路,养成了坏习惯,甚至在“劝退”了不少有潜力的学习者。

你可以把它看作是C语言世界的“幼儿园”教材,它可以带你认识字母和单词,但绝对不能指望它教你如何写出优美的文章,对于想认真学C语言、特别是未来想从事IT行业的人来说,这本书只能作为入门的“引子”,学完之后必须立刻寻找更高阶、更规范的教材进行深造。

-- 展开阅读全文 --
头像
织梦CMS如何调用同级栏目?
« 上一篇 今天
织梦上传图片显示302
下一篇 » 58分钟前

相关文章

取消
微信二维码
支付宝二维码

目录[+]