c语言程序设计第二版是什么垃圾

c语言程序设计第二版是什么垃圾,第1张

c语言程序设计第二版是什么垃圾

谭浩强《C语言程序设计(第二版)》的前50页中的错误分析

谭书也算是一本奇书了,据说已经发行了300多万册。这本书真的那么好吗?师长早有教诲,因此本人从来没有好好读过谭书。近日遇周围人盛赞谭书,非辩论不可。虽本人不愿应战,但也不得已将谭书找来翻翻。随便翻了一段,就发现错误百出,在此将其中最前面的一些整理出来,提出与国内广大

行家和新入道者讨论,望行家们提出批评,供新入道者参考。

书中程序的不规范性、不良的格式和低劣的编程都不在这里深究了。实在是太多,要深究、分析和改

正起来,必须写一本数倍于谭书的大作,本人实在没这个时间和精力。水平高的人有的是,欢迎写几

个续篇。欢迎转载到其他BBS,以期引起讨论。对本人所言的不实之处欢迎批评。

注:下面将作者尊称为“谭先生”。负的行号表示一页里倒数的行数。

--------------------------------------------------------------

先看目录,是不是有个地放有:

"淡函数………………………………",什么东西,这算是排版错误,不理会!

P1行1:…,它适于作为系统描述语言,…

这开宗明义的第一句话就说明谭先生对于计算机科

学的术语不甚了了。什么叫“系统描述”,什么叫“系统程序设计”?人们都都说C是一种“系统程

序设计语言”,而“系统描述语言”则完全是另一种东西。想必谭先生对它们之间的差异和关系都不

清楚。在这种情况下就来下断言,一上马就露了怯。

P2表格:if (e) S;

这个错误说明谭先生对C语句基本结构也不清楚。在C语言里,分号是普通语句的结束符号,是语句

的一部分。如果谭先生的S表示语句,那么后随的分号是必需的吗?如果谭先生的S表示语句中分号

前面的一部分,那么又如何理解可以放在这里的{ } 顺序结构呢?它算语句吗?可以放在这里

吗?要加分号吗?无论怎么看,谭先生都难以自圆其说!

P3行4:C语言是理想的结构化语言,…

不知谭先生的这个论断由何而来。C的创造者肯定不会说这句话,即使是C语言最狂热的崇拜者恐怕

也不敢这样说。幸亏谭先生生在中国,其书只在中国出版,否则恐怕他就不会好过了,不知有多少人

要找谭先生理论个究竟。

P3行7-8:例如整型量与字符型数据以及逻辑型数据可以通用。

此句子表现出的语文水平就不深究了。要问谭先生的简单问题是,“量”与“数据”是什么关系?再

一个问题是,C语言什么时候增加了“逻辑型数据”?

P3行14:C语言允许直接访问物理地址。

不知这个论断从何而来。至少无法从C语言参考手册中找到根据,看来是谭先生为C语言增加的特殊功能。

P4程序:This is a c program

通观世界上所有有关C语言的重要著作,C语言的名字“C”都是用大写表示。这里好象谭先生表示了

对C的不肖,与前面大相径庭,不知何故。P5行9:注释可以出现在程序中的任何位置。

这里又修改了C语言的规则。这里给谭先生提个小问题:“请找出在C程序里不能出现注释的位置(

或说,加了注释就会改变程序意义的位置)。”请10秒钟内回答。

P5行12:“%d”表示“十进制整数类型”。

写程序有问题呀!怎么一遇到具体问题,写出的解释到处都是毛病。“%d”根本就不表示任何类型,

它只是对函数printf提出一个转换要求。如果一个初学者产生这种理解偏差还有情可言,像谭先生这

样的“大师”级人物也犯此等低级错误,实在是不可原谅。

P5行-8:scanf和printf都是C语言提供的标准输入输出函数…

按本人理解,C语言本身不提供任何有关输入输出的功能,也不提供任何标准函数。只是ANSI C建议

了一个标准函数库。至少C参考手册上是这么说的,在谭书中其他部分也这么说。概念不太清楚就容

易漏马脚。

P6行13:可以说C是函数式的语言。

太荒唐了,完全是望文生义。谭先生的计算机科学技术知识水平可见一斑。函数式语言是计算机科学

领域中有明确意义的术语。再者说,即使不理解,也应该尽量回避一下大家都知道的东西,这下不就

漏了底。说C是函数式语言,就像说谭先生是“错话大师”一样(毕竟他也说了许多对的话嘛!)。

看来谭先生需要补一补计算机科学的基础知识,听说谭先生是清华大学毕业,那里的计算机系也还不

错嘛。

《视频-Java程序设计》百度网盘资源免费下载swjn

视频-Java程序设计|视频《J2SE基础编程》徐彤|视频《编程方法学》斯坦福大学-CS106AJava28讲|教程-Java编程思想PDF|教程-Java编程案例PDF|源码-Java程序设计|教程-Java开发技术PDF|课件-Java程序设计PPT|教程-Java入门学习PDF|视频《Java视频教程》|资料-Java程序设计|最新java ee api帮助文档 chm格式chm|资料-Java程序设计rar|实验指导书 面向对象程序设计(Java)09信管doc|实验指导书  Java面向对象程序设计及应用1_12doc  

Java前景是很不错的,像Java这样的专业还是一线城市比较好,师资力量跟得上、就业的薪资也是可观的,学习Java可以按照路线图的顺序,

0基础学习Java是没有问题的,关键是找到靠谱的Java培训机构,你可以深度了解机构的口碑情况,问问周围知道这家机构的人,除了口碑再了解机构的以下几方面:

1 师资力量雄厚

要想有1+1>2的实际效果,很关键的一点是师资队伍,你接下来无论是找个工作还是工作中出任哪些的人物角色,都越来越爱你本身的技术专业java技术性,也许的技术专业java技术性则绝大多数来自你的技术专业java教师,一个好的java培训机构必须具备雄厚的师资力量。

2 就业保障完善

实现1+1>2效果的关键在于能够为你提供良好的发展平台,即能够为你提供良好的就业保障,让学员能够学到实在实在的知识,并向java学员提供一对一的就业指导,确保学员找到自己的心理工作。

3 学费性价比高

一个好的Java培训机构肯定能给你带来1+1>2的效果,如果你在一个由专业的Java教师领导并由Java培训机构自己提供的平台上工作,你将获得比以往更多的投资。

希望你早日学有所成。

软件工程师证书,是有社会培训机构通过培训考核发给的有关证书。与国家计算机软件水平资格考试不一样。如JAVA如件工程师,其培训内容包括:初级部分:1 Java 面向对象程序设计、Java API使用、数据结构及算法基础、Java高级类特性、异常处理;2 AWT及Swing图形程序设计、流、网络程序设计、对象序列化、Applet、多线程程序设计、Java应用国际化基础;3 Java桌面系统项目开发;4 Java编程基础提高课程:反射机制、设计模式(I)、正则表达式,Java SE50新特性等;5 基于Oracle的数据库开发及管理、数据库设计、标准SQL、PL/SQL编程;6 JDBC、JSP20、Servlet24、JavaBean编程;Tomcat服务器使用、Jbuilder及Eclipse 等集成开发环境;7 Linux *** 作系统中的Java程序开发、Linux系统管理;8 Java Web编程提高课程:JDBC进阶、高效分页处理、过滤器使用技巧、Struts中动态表单验证、DispatchForm等;高级部分1 MVC设计模式、Struts架构核心工作机制、国际化、验证框架、Struts Taglib、ORM基础、基于Hibernate的企业级应用;2 JavaME手机游戏设计、界面程序设计、数据库程序设计、手机短信、多媒体短信(彩信)开发;3 JavaEE核心技术、XML、Web Service、异构系统整合、分布式应用开发、WebLogic和JBoss等应用服务器;4 CMM、UML与系统建模和设计、Rational Rose、软件工程和软件过程模型、版本控制及设计模式;6 Java 企业级应用开发提高课程:Hibernate使用技巧、设计模式(II)、Spring编程入门、提高Java EE应用的性能;NET程序设计NET架构、NET桌面和Web程序设计、NET与JavaEE平台应用的整合;职业素质IT职业规划、沟通技巧、团队合作、专业技术规范、面试技巧等职业技能培训。完成以上培训课程后,通过考核就可以获得培训机构颁发的合格证书。现在比较吃香的是JAVA,特别是J2EE,未来3G出来后,手机编程将成为热点,J2EE当然就会很吃香了。关于证书的权威性,建议你要去知名的培训机构去,最好是像SUN这类国际大公司有关认证所指定的培训机构,这样权威性高些。一般来讲,软件公司是非常喜欢通过了软件工程师的人员,学历对他们来说并不重要,而重要的是能力。如果你的能力够强,在一个好的公司的话,这个月薪我想应该是可以拿到的。其他方面的软件权威考试,在国内当然就是国家计算机软件水平资格考试了。这是国家级的考试。首先,确切的说是软件设计师,没有软件工程师这种考试的。软考改革之后,软件设计类就分为:程序员-软件设计师-系统分析师 这三个级别,程序员相当于以前的初程和中程,软件设计师相当于高程。即软件设计师考出之后是中级职称。区别在于以前的高程终身有效,现在的软件设计师有效期3年,三年之后需要再培训。软件设计师考的不太难,但是面比较广,如果你是计算机或软件工程专业的,看一下清华大学出版社的《软件设计师教程(第二版)》就可以了。软考的级别有很多种,但没有软件工程师,不知你问的是软件设计师还是网络工程师,不过他们每年的都开两次考

自学Java有哪些必备的学习书籍,在这里一一给你展示出来:

在这里给你推荐几本书,非常优秀的书籍:

当然在推荐之前,你可以在B站内搜索我们的名字,观看一下我们的学习视频;

我校名师高淇讲述的Java300集课程,非常适合刚入门的零基础学者哦!

这几本书相当不错,推荐给你:

1《Java编程规范》 适合对象:初级、中级

介绍:这本书的作者是被誉为Java之父的James Gosling,入门者推荐阅读,对基础的讲解很不错。

2《Java编程思想》 适合对象:初级、中级

介绍:豆瓣给出了91的评分,全球程序员广泛赞誉。有人说这本书不适合初学者,不过小编认为作者并没有对读者已有的知识经验有过多要求,只是要求读者需要知道基本的程序语言。作者以通俗易懂及小而直接的示例解释了一个个晦涩抽象的概念,需要花时间细细研读。

3《Java核心技术:卷I基础知识》 适合对象:初级、中级

介绍:官方机构图书,备一本总是没错的。这本书比较全面也通俗易懂。可以当字典的功能来用,学习入门必备。

4《Java数据结构和算法》 适合对象:初级、中级、高级

介绍:这本书目前基本断货,足以说明抢手程度。作者主要使用Java语言描述了我们常用的数据结构,值得一看。

5《Java与模式》 适合对象:中级、高级

介绍:难得一见的国人写的Java好书。主要讲解设计原则以及最为常见的设计模式的实用教材。这本书出现的比较早,是初级到中高级必读的图书之一。

6《SCJP学习指南》 适合对象:初级、中级

介绍:官方考试的必备图书,对检验自己的Java学习情况很有帮助。这本书特别适合学生阅读,这本书理解透了,找工作面试Java题目不会有任何问题。一些工作多年的工程师都会在里边遇到一些不会做的题目。

学习的过程中,编程视频的弥补是不可缺失的,需要的话点个赞吧!

进阶篇

1《重构:改善既有代码的设计》 适合对象:中级、高级

介绍:清晰揭示了重构的过程,解释了重构的原理和最佳实践方式,并给出了何时以及何地应该开始挖掘代码以及改善。大师的杰作,让你明白软件是一步步改进的,不是一蹴而就的。

2《XML入门经典》 适合对象:初级、中级、高级

介绍:很多人觉得没必要买XML书籍,不过我还是觉得推荐一本给你作为工具书,而且看本书可以使得你对XML方方面面有个了解。里面不少东西还是用到的。

3《jQuery基础教程》 适合对象:初级、中级、高级

介绍:从这个开始学习jQuery才是根本,不然以后遇到的很多奇怪问题不知所以然。jQuery个人感觉已经成为目前的javascript标准库了,插件无数,大大简化了前端工作。

4《JavaScript权威指南》 适合对象:初级、中级、高级

介绍:一本从全新视角和层次来介绍JavaScript的参考书,填补了市场的空白。是学习js的必备参考工具书之一。

5《代码整洁之道》 适合对象:中级、高级

介绍:讲述了一系列行之有效的整洁代码 *** 作实践。软件工程的理想编码是无数人编出来的代码像一个人写的,这本书当作规范就不错。

最后:学习Java编程一定要努力学习!祝你成功!

答:Java是面向对象的程序设计语言,从面向对象这个角度看,体现了如下三个特点:

①封装性

面向对象的程序设计语言都是把数据和处理数据的 *** 作结合在一起而构成一个整体,这就是对象。对象的使用者只能看到对象的外部特性,比如,其主要功能、如何调用等,而看不到内部如何实现这些功能。作为面向对象的程序设计语言,程序中的数据就是变量,程序对数据作处理则称为方法。变量和方法都被封装在对象中。所以,一个对象就是变量和方法的集合,其中变量表明这个对象的状态,方法实现这个对象所具有的行为,而且在程序中将这些变量和方法进行封装,使它们成为一个模块,再用一个名字来代表这个模块。这样,以后的更高层的程序设计中,就不必关心某个对象的行为到底是怎样实现的。可见,将对象封装就是为了使模块尽可能少地展现其内部细节,而只是以一种界面来面向外部。

对象的封装性减少了程序各部分之间的依赖,使程序的复杂性降低,而可靠性提高,并便于修改。

②继承性

面向对象的程序设计中,对象是从类创建出来的,这一点即将在下面的解答中说明。在

Java中,许多类组成层次化结构。一个类的上一层称为父类,而下一层称为子类。一个类可以继承其父类的变量和方法,而且这种继承具有传递性。就是说,一个类可以继承其上一层和其再上一层的变量和方法。这种可传递的继承性使得下层多个相似的对象可以共享上层类的数据和程序代码,而子类又可以在继承父类的基础上增添新的内容和功能。这种代码共享和代码可增添的继承特性使Java既灵活方便又提高效率。

③通信相关性

一个对象往往涉及多个行为。体现在程序设计中,一个对象往往包含多个方法,每一个方法对应一个行为。所以,一个对象完成某个动作也就是程序执行相应的方法。于是,就涉及对象之间通过交互来实现复杂的行为,这叫对象之间的通信。

利用通信可以实现一个对象往另一个对象的信息传递。信息传递涉及三个要素;一是信息接收对象;二是接收对象中用哪个方法完成指定的动作;三是此方法需要的参数。由于信息传递的要素非常清晰,所以用在编程中也将很方便。

这种通信相关性使许多复杂功能得以实现,却又能避免编程的错综复杂。

软件工程师证书,是有社会培训机构通过培训考核发给的有关证书。与国家计算机软件水平资格考试不一样。

如JAVA如件工程师,其培训内容包括:初级部分:

1

Java

面向对象程序设计、Java

API使用、数据结构及算法基础、Java高级类特性、异常处理;

2

AWT及Swing图形程序设计、流、网络程序设计、对象序列化、Applet、多线程程序设计、Java应用国际化基础;

3

Java桌面系统项目开发;

4

Java编程基础提高课程:反射机制、设计模式(I)、正则表达式,Java

SE50新特性等;

5

基于Oracle的数据库开发及管理、数据库设计、标准SQL、PL/SQL编程;

6

JDBC、JSP20、Servlet24、JavaBean编程;Tomcat服务器使用、Jbuilder及Eclipse

等集成开发环境;

7

Linux *** 作系统中的Java程序开发、Linux系统管理;

8

Java

Web编程提高课程:JDBC进阶、高效分页处理、过滤器使用技巧、Struts中动态表单验证、等;高级部分

1

MVC设计模式、Struts架构核心工作机制、国际化、验证框架、Struts

Taglib、ORM基础、基于Hibernate的企业级应用;

2

JavaME手机游戏设计、界面程序设计、数据库程序设计、手机短信、多媒体短信(彩信)开发;

3

JavaEE核心技术、XML、Web

Service、异构系统整合、分布式应用开发、WebLogic和JBoss等应用服务器;

4

CMM、UML与系统建模和设计、Rational

Rose、软件工程和软件过程模型、版本控制及设计模式;

6

Java

企业级应用开发提高课程:Hibernate使用技巧、设计模式(II)、Spring编程入门、提高Java

EE应用的性能;

NET程序设计

NET架构、NET桌面和Web程序设计、NET与JavaEE平台应用的整合;职业素质IT职业规划、沟通技巧、团队合作、专业技术规范、面试技巧等职业技能培训。

完成以上培训课程后,通过考核就可以获得培训机构颁发的合格证书。

现在比较吃香的是JAVA,特别是J2EE,未来3G出来后,手机编程将成为热点,J2EE当然就会很吃香了。

关于证书的权威性,建议你要去知名的培训机构去,最好是像SUN这类国际大公司有关认证所指定的培训机构,这样权威性高些。

一般来讲,软件公司是非常喜欢通过了软件工程师的人员,学历对他们来说并不重要,而重要的是能力。如果你的能力够强,在一个好的公司的话,这个月薪我想应该是可以拿到的。

其他方面的软件权威考试,在国内当然就是国家计算机软件水平资格考试了。这是国家级的考试。

首先,确切的说是软件设计师,没有软件工程师这种考试的。

软考改革之后,软件设计类就分为:程序员-软件设计师-系统分析师

这三个级别,程序员相当于以前的初程和中程,软件设计师相当于高程。即软件设计师考出之后是中级职称。区别在于以前的高程终身有效,现在的软件设计师有效期3年,三年之后需要再培训。

软件设计师考的不太难,但是面比较广,如果你是计算机或软件工程专业的,看一下清华大学出版社的《软件设计师教程(第二版)》就可以了。

软考的级别有很多种,但没有软件工程师,不知你问的是软件设计师还是网络工程师,不过他们每年的都开两次考

以上就是关于c语言程序设计第二版是什么垃圾全部的内容,包括:c语言程序设计第二版是什么垃圾、怎样网上自学java编程 有完整的视频看吗、请问Java的学习步骤等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9495856.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存