谭浩强c程序设计第三版本与第四版本有什么具体区别?哪个版本最好?好在什么地方?

2024-05-18 09:16

1. 谭浩强c程序设计第三版本与第四版本有什么具体区别?哪个版本最好?好在什么地方?

区别以及哪个更优,如下:
第四版保持了前三版的写作风格,保持了概念清晰、通俗易懂的特点,并在以下几个方面作了修改: 
(1) 按照C 99标准进行介绍,以适应C语言的发展,使程序更加规范。目前大多数介绍C语言的教材是按照C 89标准介绍的,本书按照C 99的规定进行介绍,程序符合C 99的要求。例如: ① 数据类型介绍中,增加了C 99扩充的双长整型(long long int)、复数浮点型(float_complex,double_complex,long long _complex)、布尔型(bool)等,使读者有所了解。 ② C 99要求,main函数的类型一律指定为int型,并在函数的末尾加一个返回语句“return 0;”。 ③ C 99增加了注释行的新形式——以双钭线//开始的内容作为注释行,这本来是C++的注释行形式,现在C 99把它扩充进来了,使编程更加方便。同时保留了原来的/?……?/形式,以使原来按C 89标准编写的程序可以不加修改仍可使用。本书采用C 99的注释新形式,读者使用更方便,而且符合发展需要。因此,本书的程序基本上采用下面的形式: #include //以“//”作为注释行的开始 int main()//指定main函数为int类型 { return 0;//如函数正常执行,返回整数0 } ④ C 99增加的其他一些具体内容,在书中有关章节中专门注明,以提醒读者。由于C 99是在C 89的基础上增加或扩充一些功能而成的,因此C 89和C 99基本上是兼容的。用C 89编写的程序在C 99环境下仍然可以运行。C 99所增加的有些新的功能和规则,是在编制比较复杂的程序时为方便使用和提高效率而用的,本书对目前暂时用不到的内容不作介绍,以免读者分心,增加学习难度。在将来进行深入编程时再逐步了解和学习。目前社会上使用的一些C编译系统,有的并未实现C 99的要求,有的实现了C 99的部分功能。考虑到读者上机实践的条件,本书中的例题程序都可以在目前广泛使用的C++编译系统中使用。 
(2) 考虑到国内当前的情况和读者使用的方便,本书中的程序是用Visual C++ 6.0编译的,运行结果也是在Visual C++ 6.0环境下得到的。在分析时也以Visual C++ 6.0环境为例进行介绍。如果采用其他编译系统,也大同小异,不会产生任何问题。 
(3) 加强算法。第2章专门介绍算法的概念、算法的特点、表示算法的工具以及怎样设计算法,并通过一些简单的例子说明怎样构造一个算法。使读者有一个初步的、基本的了解。在以后各章中,由浅入深地结合例题介绍各种典型的算法,并且马上用C语言实现此算法,写出程序。这样就使算法与程序紧密结合,而且通过运行程序,得到结果,便于验证算法的正确性。学习时不会觉得抽象,而会觉得算法具体有趣,看得见,摸得着。在各例题中,在给出问题后,都先进行分析问题,介绍解题思路,也就是构造算法,然后才是根据算法编写程序,而不是先列出程序再解释程序,从中了解算法。这样做,更符合读者认知规律,更容易理解算法,也引导读者在做题时先考虑算法再编程,而不是坐下来就写程序。培养好的习惯。
 (4) 更加通俗易懂,容易学习。作者充分考虑到广大初学者的情况,精心设计体系,适当降低门槛,便于读者入门。尽量少用深奥难懂的专业术语,用通俗易懂的方法和语言阐述清楚复杂的概念,使复杂的问题简单化。没有学过计算机原理和高等数学的读者完全可以掌握本书的内容。本书采用作者提出的“提出问题—解决问题—归纳分析”的新的教学三部曲,先具体后抽象,先实际后理论,先个别后一般。而不是先抽象后具体,先理论后实际,先一般后个别。在介绍每个例题时,都采取以下的步骤: 给出问题—解题思路—编写程序—运行结果—程序分析—有关说明,使读者很容易理解。即使没有教师讲解,读者也能看懂本书的内容,就有可能做到,教师少讲,提倡自学,上机实践。 
(5) 重新组织内容。根据近年来各校教学中的实际情况,作者对本书内容作了以下调整: ① 根据非计算机专业学生的培养要求和将来工作的情况,在教材中不再包括“位运算”一章。考虑到有部分读者需要学习这部分内容,将“位运算”的内容列入《C程序设计(第四版)学习辅导》一书中,供选学。 ② 取消《C程序设计(第三版)》中的第3章“数据类型、运算符与表达式”。这章内容涉及数据在计算机内存中的存储形式,读者感到一开始就接触这些内容比较难学。在第四版中,对这些内容进行精简,不再单独列章,将其中最基本的、必须了解的内容结合在第3章“最简单的C程序设计”中介绍,这样可以降低学习难度。 ③ 第三版包括“预处理命令”一章,考虑到这章的内容不是最基本的,在第四版中对它不作详细的介绍,而把它放在《C程序设计(第四版)学习辅导》一书中,供选学。 ④ 考虑到绝大多数读者在学习本课程之前未学习过其他计算机语言,缺乏对计算机语言和程序的基本了解,把第三版的第1章“C语言概述”改为“程序设计和C语言”,在这一章中增加了计算机语言和程序的基本知识。 ⑤ 许多学校把本课程放在一年级学习,此时还未学习或未学完高等数学,在学本课程时对有关高等教学的程序感到有困难,在第四版中不再包括有关高等数学的内容,具有高中以上文化程度的读者都能看懂本书。 ⑥ 在第三版的“结构体与共用体”一章中有设计链表(链表的建立、插入、删除和输出等)的内容,对于非计算机专业学生来说,难度较大。作者认为,这部分内容对非计算机专业可以不作为基本要求,在第四版中对这部分内容作了精简,只对链表作简单的介绍,读者对之有一定了解即可。考虑到这部分对计算机专业学生是需要的,我们把有关链表的详细内容作为习题供选做,并在《C程序设计(第四版)学习辅导》一书的习题解答中给出完整的程序,供需要者参考。 ⑦ 专门编写了“C程序案例” 一章,综合应用各章的知识。提供了不同难度、不同类型的程序。阅读这些程序,可以使学生了解怎样去编写应用程序,提高自己的编程能力。这部分内容安排在《C程序设计(第四版)学习辅导》一书中,供需要者参考。相信经过修改后,本书会更加容易学习,效果更好。

第四版系统全面,内容深入,讲授详尽,包含了许多其他教材中没有的内容,尤其是针对编程实践中容易出现的问题作了提醒和分析,是学习C语言程序设计的理想教材。适合程度较高、基础较好的学校和读者使用。

谭浩强c程序设计第三版本与第四版本有什么具体区别?哪个版本最好?好在什么地方?

2. 关于谭浩强的c程序设计第四版书上的问题

这跟编译器也有关系。
一般情况下,编译器有的从左向右编译,有的从右向左编译。从你的显示结果看,tc是从右向左编译:i,i++,i++ 实际上是三个语句。当i=1时,先执行最右边的i++,结果显示为1,而此时i值为2;
再执行中间的i++,显示为2,此时i值为3,最后执行i,显示为3。这是tc的执行顺序。
vc的编译情况和tc不同,因为vc是面向对象的c++语言用的,不是单纯的c语言。
实际上这是编译器内部的管理问题,只是说明问题,谁也不会用i,i++,i++这样容易混淆的表达。
明白了吗?
等你学了编译原理即明白了。
表达式在编译过程中有顺序,并且跟编译器编译工程紧密相关。tc是在编译的过程中把i,i++,i++的结果已经计算出来后再存储到临时变量里的。
 
我现在没有c编译器,只能从java里面相似地跟你说面问题:
a:
int i =1;
  System.out.println((i++)+(i++)+i);
结果:6
b:
int i =1;
  System.out.println(i+(i++)+i++);
结果:4
说明java的编译器是从左向右编译。a 中i++值为1,此时i为2;i++值为2,此时i值为3,即:((i++)+(i++)+i值为6
b 中 i为1,i++值为1,此时i值为2,i++值为2,此时i值为3 ,即:i+(i++)+i++ 值为4
注意 i++ 的值和i值是不同的概念。i++是表达式的值,为i值。即i++值比i值小1
同样++i值则和i值一样。

3. 谭浩强的C语言程序设计。各个版本有什么区别?

就拿第四版和第三版作对比,区别如下:
1、指代不同

(1)C程序设计谭浩强版本的第四版:这是清华大学出版社2010年出版的一本书,作者是谭浩强。

(2)C程序设计谭浩强版本的第三版:被普遍认为是学习C语言的一本好教科书,并且被全国大多数大学所选择。
2、影响不同

(1)C程序设计谭浩强版本的第四版:本书被大多数大学用作C语言学习的教科书,且纠正了第三版中的不足。

(2)C程序设计谭浩强版本的第三版:获原电子工业部优秀教科书一等奖,大学出版社畅销书特等奖,全国高等院校计算机基础教育研究会优秀教材一等奖。



3、特点不同

(1)C程序设计谭浩强版本的第四版:内容先进,体系合理,概念清晰,说明详尽,步骤少,分散困难点,实例丰富,通俗易懂,文字通俗易懂,是初学者学习C程序设计理想的教材,可以用作大学所有专业的正式教材。

(2)C程序设计谭浩强版本的第三版:已发行超过700万册,创下了类似书籍的全国记录,并且是学习C语言的主流书籍。
参考资料来源:
百度百科-C程序设计(第四版)
百度百科-C程序设计(第三版)

谭浩强的C语言程序设计。各个版本有什么区别?

4. 谭浩强的C语言程序设计。各个版本有什么区别?

就拿第四版和第三版作对比,区别如下:
1、指代不同

(1)C程序设计谭浩强版本的第四版:这是清华大学出版社2010年出版的一本书,作者是谭浩强。

(2)C程序设计谭浩强版本的第三版:被普遍认为是学习C语言的一本好教科书,并且被全国大多数大学所选择。
2、影响不同

(1)C程序设计谭浩强版本的第四版:本书被大多数大学用作C语言学习的教科书,且纠正了第三版中的不足。

(2)C程序设计谭浩强版本的第三版:获原电子工业部优秀教科书一等奖,大学出版社畅销书特等奖,全国高等院校计算机基础教育研究会优秀教材一等奖。



3、特点不同

(1)C程序设计谭浩强版本的第四版:内容先进,体系合理,概念清晰,说明详尽,步骤少,分散困难点,实例丰富,通俗易懂,文字通俗易懂,是初学者学习C程序设计理想的教材,可以用作大学所有专业的正式教材。

(2)C程序设计谭浩强版本的第三版:已发行超过700万册,创下了类似书籍的全国记录,并且是学习C语言的主流书籍。
参考资料来源:
百度百科-C程序设计(第四版)
百度百科-C程序设计(第三版)

5. 看了一点谭浩强的c程序设计(第四版),有些疑问

整形就是用
int声明的变量就是整形
如  int a,b,c;
这里的a,b,c都是整形
C/C++编程语言中,int表示整型变量,是一种数据类型,用于定义一个整型变量,在不同编译环境有不同的大小,不同编译运行环境大小不同。

你可以通俗地理解为意思就是没有小数点。

printf("%d\n",c)就是在屏幕上输出c,%d表明输出的是一个 整数。 也就是说c是一个整数。
例子1.3是比较两个数字的大小,并输出最大的那个。
max子函数的解释还是很清楚的,if else  是一种选择结构,以后你会接触到(在第四章)。
scanf代表的是从键盘获取信息,也就是你可以从键盘输入数字。
scanf(("%d,%d",&a,&b)表示你从键盘输入1,2 然后enter  那么就把1,2赋值给了a,b
于是a=1,b=2,其中a,b为整数。
printf("%d\n",c) 表述输出了c  c是整数 
\n 代表 换行 也就是输出c之后  光标移动到下一行~~~ 

在这个例子中,如果a=1,b=2;
那么c=max(a,b)就是2
那么printf("%d\n",c)就会在屏幕上输出2

如果你用printf("The number c is equal to %d\n",c)
屏幕上就显示The number c is equal to 2
屏幕显示的内容也就是把%d换成后面那个变量c代表的整数即可。

看了一点谭浩强的c程序设计(第四版),有些疑问

6. C语言怎么学呀,我买了一本谭浩强的C程序设计第四版以,怎么像看天书一样呀

C语言很重要。如果不懂C语言,你想写出优秀高效的程庌輌这简直就是天方夜谭。为什么C语言如此重要呢? 

     第一:C语言语法结构很简洁精妙,写出的程序也很高效,很便于描述算法,大多数的程序员愿意使用C语言去描述算法本身,所以,如果你想在程序设计方面有所建树,就必须去学它。 

     第二:C语言能够让你深入系统底层,你知道的操作系统,哪一个不是C语言写的?所有的windows,Unix,Linux,Mac,os/2,没有一个里外的,如果你不懂C语言,怎么可能深入到这些操作系统当中去呢?更不要说你去写它们的内核程序了。 

     第三:很多新型的语言都是衍生自C语言,C++,Java,C#,J#,perl...哪个不是呢?掌握了C语言,可以说你就掌握了很多门语言,经过简单的学习,你就可以用这些新型的语言去开发了,这个再一次验证了C语言是程序设计的重要基础。还有啊,多说一点:即使现在招聘程序员,考试都是考C语言,你想加入it行业,那么就一定要掌握好C语言。 

     那么究竟怎样学习C语言呢? 

     1:工欲善其事,必先利其器 
     这里介绍几个学习C语言必备的东东: 
     一个开发环境,例如turbo C 2.0,这个曾经占据了DOS时代开发程序的大半个江山。但是现在windows时代,用turbo C有感觉不方面,编辑程序起来很吃力,并且拖放,更没有函数变量自动感应功能,查询参考资料也不方便。建议使用Visual C++,这个东西虽然比较大块头,但是一旦安装好了,用起来很方便。我用的是也win7,VC6.0和它的兼容性很好,用起来很方便。 

     一本学习教程,现在C语言教材多如牛毛,但推荐大家使用《C语言程序设计》谭浩强主编 第二版 清华大学出版社,此书编写的很适合初学者,并且内容也很精到。 

     除此以外,现在有很多辅助学习的软件,毕竟现在是Window时代了,学习软件多如牛毛,不象我们当初学习,只有读书做题这么老套。我向大家推荐一个“集成学习环境(C语言)”,里边的知识点总结和例程讲解都非常好,还有题库测试环境,据说有好几千题,甚至还有一个windows下的trubo C,初学者甚至不用装其它的编译器,就可以练习编程了,非常适合初学者。还有一个“C语言学习系统”软件,不过感觉只是一个题库系统,如果你觉得题做的不够,不妨也可以试试。 

     2:葵花宝典 
     学习计算机语言最好的方法是什么?答曰:读程序。 

     没错,读程序是学习C语言入门最快,也是最好的方法。如同我,现在学习新的J#,C#等其他语言,不再是抱着书本逐行啃,而是学习它们的例程。当然,对于没有学过任何计算机语言的初学者,最好还是先阅读教程,学习完每一章,都要认真体会这一章的所有概念,然后不放过这一章中提到的所有例程,然后仔细研读程序,直到每一行都理解了,然后找几个编程题目,最好是和例程类似的或一样的,自己试图写出这段已经读懂的程序,不要以为例程你已经读懂了,你就可以写出和它一样的程序,绝对不一定,不相信你就试一试吧,如果写不出来,也不要着急,回过头来再继续研究例程,想想自己为什么写不出来,然后再去写这段程序,反反复复,直到你手到擒来为止,祝贺你,你快入门了。 

     3:登峰造极 
     写程序的最高境界其实就是掌握各种解决问题的手段(数据结构)和解决问题的方法(算法)。 

     是不是写出底层程序就是程序设计高手呢?非也,写底层程序,无非是掌握了硬件的结构,况且硬件和硬件还不一样,要给一个芯片写驱动程序,无非就是掌握这块芯片的各种寄存器及其组合,然后写值读值,仅此而已。这不过是熟悉一些io函数罢了。那么怎样才算精通程序设计呢?怎样才能精通程序设计呢?举个例子:你面前有10个人,找出一个叫“张三”的人,你该怎么办?第一种方法:直接对这10个人问:“谁叫张三”。第2种方法:你挨个去问“你是不是张三?”,直到问到的这个人就是张三。第三种方法:你去挨个问一个人“你认不认识张三,指给我看”。不要小看这个问题,你说当然会选第一种方法,没错恭喜你答对了,因为这个方法最快,效率最高,但是在程序设计中找到解决问题的最优方法和你用的手段却是考验一个程序员程序设计水平的重要标志,而且是不容易达到的。刚才这个问题类似于数据结构和算法中的:Map数据结构,穷举查找和折半查找。所以掌握好数据结构和一些常用算法,是登峰造极的必然之路。最后给大家推荐严尉敏的《数据结构》清华大学出版社,希望每一个想成为程序设计高手的人研读此书。 
二,语言学习方法 
   
谈谈偶的学习方法,抛砖引玉! 

     学习不论讲不讲方法,最终都能学会。但是别人1个月学会了,而你却100年才学会,这不就晚了么?:)所以说,学习还是要讲究方法的。学习方法正确,事半功倍;学习方法不正确,事倍而功半。 

什么才是学习C语言的捷径?我的答案是看书。书中所写,是前人数十年经验所写,看十本书,就相当于汲取了前人数十年的功力,那么你的内功也会迅速上升1甲子。:)书当然要看好书,只有好书才营养丰富。假如你花了1天时间看了一本破书,而该书介绍的知识虽然对于你来说是全新的知识,但是由于书中组织不当、或者深度不够,使你获取的营养很少,还不如自己研究一天来的快,这种书就不值当看了。学习C语言要看那些好书?我认为首先要把基础书给看扎实了,比如《C语言之四书五经》中介绍的4本。(虽然这些书很多已经绝版了,但我相信电子版也是很有益处。况且,如果你真的想看,我相信你一定有办法搞的到。)这些书你会在很短的时间内看完(比如一两个月),这取决于你的基础和悟性。之后要看那些书呢?我不妨再列几本。Bjarne Stroustrup的《C++程序设计语言》(The C++ Programming Language)一定要看,这本书里面对于C的一些基础概念的定义,比我见过的其他任何C语言书都要全,都要仔细;Bjarne Stroustrup的《C++语言的设计与演化》(The Design and Evolution of C++)和David R.Hanson 的《C语言接口与实现 创建可重用软件的技术》(C Interfaces and Implaementations Techniques for Creating Reusable Software)一定要看,这两本书讲述了如何用C来实现异常处理、实现类型的封装和扩展等一些大的项目中经常用到的高级技术。其他的书,操作系统的要看,编译原理的要看,算法的要看,模式的也要看。读书破万卷,coding如有神。总而言之,就如《传》中云:“生而知之者,上也;学而知之者,次也;困而学之又其次也。”我们不能总是因困而学之,而要做到兵马未动,粮草先行。 

     看书是学习的导向,书中能一一介绍清楚概念,但书却不能把应用的细节一一介绍给你,因为应用总是招数繁复,变化多端。因此我们要想熟悉招数,懂得书中所讲怎么使用,还要多读源码。Linus给别人解答问题的时候,常说Read the ****ing source code;候捷也在其文中提到“源码之前,了无秘密。”这就是大师的箴言呀。源码就像是动画、就像是幻灯片,把书中的招式一一演练给你看。可以说高手的经验大都是源自代码。源码和书一样,也是要看好的,不要看差的。在此,我推荐看Linux kernel source code 和 Linux tcp/ip source code。这两套代码都是开源的,垂手可得。此外,还可以配合着Andrew S.Tanenbaum的《操作系统的设计与实现》(Operating Systems:Design and Implementation)、毛德操 胡希明的《Linux内核 源代码情景分析》、Jonathan Corbet,Alessandro Rubini,Greg Kroah-Hartman合著的《Linux设备驱动程序》(Linux Device Driver,3e)、W.Richard Stevens《TCP/IP详解(3部)》 (TCP/IP Illustracted )、W.Richard Stevens《UNIX环境高级编程》(Advanced Programming in the UNIX Environment,新版增加了Linux kernel的内容)等书来看,方便的很当然程序不是看出来的,是写出来的。
     学习忌贪多、忌浮躁、忌急功近利、忌目中无人。把学习计划放的长一些,培养一个好的学习方法,一步一步慢慢走,终能成为高手。

7. 关于谭浩强《c++程序设计》pdf版有什么?

http://u.115.com/file/t4c5f858f6C 程序设计_谭浩强·清华大学.pdf 帮你上传了。。 你直接下载吧。。 我还有C Primer源码,C Primer笔记,C Primer(第4版)习题解答(完整版),C Primer中文版第三版,第4版pdf电子书,C PrimerPlus中文版第5版 习题解答和代码 我觉得C primer这本书非常好!
看到有人说谭浩强老师这本书不好~其实这是不对的,看完这本书后,我可以保证你会对高语言有个较好的认识,另外基本可以掌握C(前提是要好好看)但就学习C语言来说,这确实是个好书。
但是现在的编程,纯用C实现是不现实的,而且也做不了多少东西。原因是有了Windows API的存在,这本书恰巧不涉及这些。要学WinOS编程而不是纯粹的学习C,建议这本书看过就好,不必认真,关键是在这时和高级语言混个脸熟。
之后你有两个选择:1. 学习Delphi,这条路会简单不少。但是注意不要依靠VCL,尽量接触Windows API。
大富翁论坛离线资料是学习中不可多得的好东西。2. 坚持学习C,不过在这里你要艰苦一些。可选的书为《Windows程序设计》,要点同样是,不要依靠MFC,多上手,多了解Windows API

关于谭浩强《c++程序设计》pdf版有什么?

8. 谭浩强的c程序设计第四版对考计算机二级有用吗?

楼主您好!        计算机二级主要考C语言程序设计 笔试+上机,谭浩强的c程序设计是大学计算机专业必备课程之一,对考试很有用处,当然,光看书不够,要多做练习。
 等级设置
  全国计算机等级考试设四个等级。它不以评价教学为目的,考核内容不是按照学校要求设定,而是根据社会不同部门应用计算机的不同程度和需要、国内计算机技术的发展情况以及中国计算机教育、教学和普及的现状而确定的;它以应用能力为主,划分等级,分别考核,为人员择业、人才流动提供其计算机应用知识与能力水平的证明。考试具有中国特色,特别是,四级考试与美国教育考试服务处(ETS)技术合作,追踪世界先进水平,按国际规范设计考试。
  NCRE级别/科目设置如下:
  
级别	科目/类别	考试形式
一级	MS Office	上机
一级	B	上机
一级	WPS Office	上机
二级	C语言程序设计	笔试+上机
二级	Visual Basic语言程序设计	笔试+上机
二级	Visual FoxPro数据库程序设计	笔试+上机
二级	Access数据库程序设计	笔试+上机
二级	C++语言程序设计	笔试+上机
二级	Java语言程序设计	笔试+上机
二级	Delphi语言程序设计	笔试+上机
三级	PC技术	笔试+上机
三级	信息管理技术	笔试+上机
三级	数据库技术	笔试+上机
三级	网络技术	笔试+上机
四级	网络工程师	笔试
四级	数据库工程师	笔试
四级	软件测试工程师	笔试
计算机职业英语	一级(部分省市开考)