编译原理第四版课本
① 南京大学计算机系考研用书
;《数据结构(用面向对象方法以C++描述)》殷人昆、陶永雷等编着,清华大学出版社;《现代数据库系统教程》徐洁磐编着,希望电子出版社;《操作系统教程》(第三版)孙钟秀、费翔林等着,高等教育出版社(2003年7月份正式出版)或《操作系统-内核与设计原理(第四版)》William Stallings等编着,魏迎梅等译,电子工业出版社; 《离散数学》耿素云、屈婉玲编着,高等教育出版社;《计算机编译原理》张幸儿编着,科学出版社。
② 如何能将c语言学好,学了一个学期了。还是学不会。
新手的话建议可以看看谭浩强的C程序设计,基本语法会了,可以看下数据结构和算法,接下来看计算机组成原理-->编译原理-->操作系统-->计算机网络。这些学好了,可以深入研究算法,另外可以看点计算机图形学和人工智能。
程序最核心的是算法,所以数学基础要好,不能只能做一辈子码奴。
其次英语要好,只要能看懂一般的英文文档就OK了。
给你介绍一些书。
1、算法
计算机程序设计艺术-------Donald.E.Knuth----------算法“倚天屠龙”双剑
算法导论-----------------Thomas H. Cormen--------算法“倚天屠龙”双剑
离散数学及其应用----------Kenneth H.Rosen
具体数学—计算机科学基础--------Donald.E.Knuth
2、数据结构
数据结构 C++
数据结构算法与应用
3、C语言
C程序设计语言(第2版·新版)---C语言“倚天屠龙双剑”---Brian W.Kernighan“C语言之父”
C Primer Plus中文版(第五版)--------C语言“倚天屠龙双剑”---Stephen Prata
C程序设计(第三版)---------------------------谭浩强
C语言大全(第四版)---------------------------HERBERT SCHILDT
C语言接口与实现:创建可重用软件的技术-------------DAVID R.HANSON
C语言参考手册(原书第5版)--------------------------Samuel P.Harbison
C程序设计教程---------------------------------H.M.Deitel/P.J.Deitel
C陷阱与缺陷-----------------------------------Andrew Koenig
5、C++
C++程序设计语言(特别版)---c++八大金刚----Bjarne Stroustrup“C++之父”
C++ Primer (第3版)中文版----c++八大金刚---Stanley B.Lippman
C++ Primer (第4版)中文版----c++八大金刚---Stanley B.Lippman
C++标准程序库—自修教程与参考手册--c++八大金刚--Nicolai M.Josuttis
C++语言的设计和演化-----c++八大金刚----Bjarne Stroustrup“C++之父”
深度探索C++对象模型---c++八大金刚----Stanley B.Lippman
Essential C++中文版---c++八大金刚---Stanley B.Lippman
Effective C++中文版 2nd Edition-----c++八大金刚------Scott Meyers
More Effective C++中文版----c++八大金刚------Scott Meyers
C++编程思想(第2版) 第1卷:标准C++导引--------Bruce Eckel
C++编程思想(第2版)第2卷:实用编程技术 --------Bruce Eckel
C++程序设计--------------------------谭浩强
C++ 程序设计教程(第2版)--------------钱能
C++ Primer Plus(第五版)中文版---Stephen Prata
6、操作系统
深入理解计算机系统(修订版)-------RANDAL E.BRYANT
计算机操作系统(第六版)
7、编译原理
跟我一起写makefile
《编译原理技术和工具》------- Alfred ------- 龙书
《现代编译原理-C语言描述》 ----------- Andrew W. Appel ----------- 虎书
《高级编译器设计与实现》 ----------- Steven S.Muchnick ----------- 鲸书
8、网络
计算机网络第四版中文版-----------Andrew S.Tanenbaum -------网络编程三剑客
TCP/IP详解3卷本--------------------Richard Stevens----网络编程三剑客
UNIX网络编程2卷本--------------------Richard Stevens----网络编程三剑客
用TCP/IP进行网际互联-----------Douglas E. Comer
高级TCP/IP编程-------------------Jon C. Snader
C++网络编程-----------------------Douglas Schmidt
UNIX环境高级编程(第2版)--------------------Richard Stevens
9、linux
Linux内核设计与实现
Linux内核完全注释
LINUX内核分析及编程
③ 自学计算机编程应该看些什么书
一:第一阶段
C语言-------《C语言设计》 作者:谭浩强
大多数人都推荐谭浩强这本书,谭浩强的C语言程序设计,我觉得更适合当教科书,主要是篇幅没有那么大,书本的内容不是很全,由老师带入门是最好的。
《C Primer Plus》第五版 作者:Stephen Prata
这本书比较厚,内容也比较基础,扩展的也比较广,自学容易上手,唯一的缺陷在于它是外国人编写,而国内的翻译往往让人难以满意,如果你有较好的英语水平,最好阅读英文版的。
《C语言入门经典》第四版 作者:Ivor Horton
二:第二阶段
这一阶段看个人主攻的方向了,安卓一般就JAVA,PC游戏、软件C++,也有推荐C#,这些都是主流语言,其他语言要看个人爱好与发展。
面向对象的语言,一般懂一门,之后要转其他语言也很容易的,其实思想都差不多,主要的不同在于语法。C#容易上手,一个月入门,一年精通,而C++却有点难,一年入门,二十年也未必敢说自己精通。如果有时间,可以了解一下汇编语言。
C++ Primer, 4rd Edition
(入门类:
C++ Primer, 4rd Edition
Thinking in C++, 2nd Edition
The C++ Standard Library: A Tutorial and Reference
进阶类:
The C++ Programming Language, Special Edition
The Design and Evolution of C++
Inside C++ Object Model
C++ Templates: The Complete Guide
STL 源码剖析
Generic Programming and the STL
Modern C++ Design: Generic Programming and Design Patterns Applied
应用技巧类:
Effective C++, 2nd Editon
More Effective C++
Exceptional C++
More Exceptional C++
Effective STL
Ruminations on C++)
三:第三阶段
API/SDK------------- 《windows程序设计》(Jeff Prosise)
这书主要是开发Windows软件要深入研读的,毕竟是WindowsAPI。如果是主攻C++,那么这本书你可以大概略读一遍,不用过多的深入追究,QT才是C++主要深入思虑的关键。
四:第四阶段
MFC----《VC++技术内幕》、《深入浅出MFC》及视频教程孙鑫 VC++6.0
如果是C++,QT是要重点学习的对象。
五:第五阶段
COM/DCOM/ATL/COM+---------《COM技术内幕》
未知阶段:
《数据结构》,《算法导论》这些基本是编程的核心了,编程的很大情况都依赖于算法的实现,这个两门基本要深入研究,这是决定编程能力的核心标准。
如果不弄底层的话,《操作系统原理》可以简单地了解。
④ 郑大计算机复试数据库原理和编译原理各是什么教材
数据库用王珊的数据库系统概论(第四版),编译原理 清华大学出版社的陈英[等]编着 就行
⑤ 大学计算机科学与技术专业有多少课程
计算机科学与技术专业课程不完全解析
1.计算机导论:
计算机科学的基础课程之一,其教学目的是概要性地对专业课程作介绍,是典型的面向专业新生的课程(即CS0型课程)。认真学习该课程有助于今后的学习,然而这门课程往往容易被新生们忽略……
(教材:可使用学校配发的教材,但建议使用外版翻译教材。)
2.高级语言程序设计:
计算机科学的基础课程之一,教学目的是让本专业同学实际掌握一门程序设计语言并且习得一些程序设计的基本技能,目前的教学语言是C语言。个人认为课程名称可改为“高级程序设计语言”,因为课程对语言的强调远胜于对程序设计本质的讲解。建议在学习这门课程时配以《程序设计实践》一书,效果甚佳。
(教材:
①《从问题到程序——程序设计与C语言引论》 机械工业出版社
②《程序设计实践》 机械工业出版社
③《程序设计语言——实践之路》 电子工业出版社 )
3.离散数学:
计算机科学基础课程之一,被誉为计算机科学的数学基础。其内容博大精深,从中派生出的图论(图算法)、数理逻辑、组合数学以及泛代数等多门专业课程是现代计算机科学和应用数学的主要研究领域。能否学好离散数学对进一步学习以后的专业课程有着非同一般的影响。
(教材及参考书:
①《离散数学》(第四版) 清华大学出版社
②《离散数学导学》机械工业出版社
③《现代应用数学手册:离散数学卷》清华大学出版社 )
4.电路与电子技术:
电子产业有“朝阳产业”的美誉,被认为是信息时代的工业。这门电子与电路技术可谓是对电子学领域学习的敲门砖。虽然课程本身对计算机科学专业今后的学习影响不大,但掌握这项技能对于学生本身专业素养地提高是大有裨益的。同时,学习这门课程也能为今后学习数字逻辑和微机原理等系统底层方面的课程打好基础。
(教材:《电子学基础:电路和元器件》(第四版)清华大学出版社)
5.面向对象程序设计:
如果说上世纪软件开发领域最伟大的突破是什么,面向对象程序设计(OOP)必为其中之一。目前主流的程序设计语言,如C++、Java、Python和Delphi等,几乎清一色支持面向对象。可以说,掌握的面向对象的精髓,便是掌握了我们这个行业的入门钥匙。我校此课程的教学语言采用的是C++,而就国内C++教学的糟糕现状来看,若想完整掌握面向对象思想,学生自己不努力是不行的。
(教材及参考书:
①《C++ Primer中文版》(第四版) 人民邮电出版社
②《Essential C++ 中文版》华中科技大学出版社
③《Effective C++ 中文版》(第三版)电子工业出版社
④《Accelerated C++(影印版)》机械工业出版社
⑤《C++语言的设计与演化》机械工业出版社 )
6.数字逻辑:
计算机科学核心课程之一。计算机科学中有一个研究领域即系统设计领域,而本门课程即为这一领域研究的基础。正确认识与掌握数字逻辑及其设计,畅憨扳窖殖忌帮媳爆颅可以使那些有志于系统底层开发的学生获益匪浅。
(教材:
①《数字基础(第八版)》清华大学出版社
②《逻辑与计算机设计基础》 中国电力出版社 )
7.数据结构:
计算机科学核心课程之一。对数据地有效组织是程序的主要任务之一,算法的主要操作对象亦为数据结构。从简单的数组和链表,到各色高级的抽象数据类型(ADT),数据结构在程序设计中的地位不言而喻。学好数据结构,是进一步学习专业课的基本前提。可以这么说,一个不懂得如何组织和操控数据的学生,根本就不配当我们计算机科学专业的学生,更不配当一名程序员!!!
(教材:
①《C算法 第一卷(第三版)》人民邮电出版社
②《程序设计抽象思想——C语言描述》清华大学出版社
③《数据抽象与问题求解——C++语言描述(第四版)》清华大学出版社
④《数据结构与算法——Java语言描述》机械工业出版社 )
8.计算方法:内容不详,不敢妄作断言。 (教材:待定)
// 转帖者:线性代数、微积分、微分方程等的计算机算法
9.计算机原理与汇编:
系统底层课程之一,亦为计算机科学核心课程。重点讲述计算机(微机)构造以及低级语言——汇编语言的基础知识。学习这门课程,对进一步学习编译原理等专业高级课程有很大帮助。
(教材:
①《深入理解计算机系统》中国电力出版社
②《Intel汇编语言程序设计(影印版)》清华大学出版社
③《Windows环境下32位汇编语言程序设计(第二版)》电子工业出版社
④《汇编语言编程艺术》清华大学出版社 )
10.操作系统:
计算机科学的核心课程之一。课程全面讲述了操作系统的原理与构造,各类上机实验更能让学生对操作系统有深刻地理解。
(教材:
①《操作系统(第三版)》机械工业出版社
②《现代操作系统(第二版)》机械工业出版社
③《Linux内核设计与实现(影印版)》机械工业出版社
④《UNIX系统编程》机械工业出版社
⑤《UNIX环境高级编程(第二版)》人民邮电出版社 )
11.软件工程:
计算机科学的核心课程之一。近年来,随着软件开发革命地进一步深化,批判软件工程及过程方法改进的着作日益丰富,我们也得以从不良的软件开放中解放。建议在学习本课程时,联系自己的实战,并阅读批判软件工程和改良软件工程的着作。
(教材及参考书:
①《软件工程:实践者的研究方法(第五版)》机械工业出版社
②《程序设计心理学(银年纪念版)》清华大学出版社
③《人月神话(银年纪念版)》清华大学出版社
④《人件》清华大学出版社 )
12.数据库原理及应用:
计算机科学与信息学科的好像课程之一。课程讲述了数据库原理以及设计等方面的内容。对于那些注重实效的学生而言,学好这门课程,可以使今后的工作更为轻松。
(教材:《数据库系统概念(第四版)》机械工业出版社)
13.运筹学及其算法:
此课程课作为计算机科学的辅助课程,向学生介绍了运筹学方面的算法,此类算法属于现代算法范畴,本人暂时还未涉猎,故恕难对此课程解析之…… (教材:待定)
// 转帖者:线性规划、动态规划、排队论、决策分析等等
14.计算机网络:
计算机科学的核心课程之一。课程详细地介绍了计算机网络的发展、组成和协议方面的内容。对于自我要求较高的同学而言,学好这门课程义不容辞!
(教材:
①《计算机网络(第四版)》清华大学出版社
②《TCP/IP协议族》清华大学出版社 )
15.软件开发管理:
应该是软件工程课的附属课程吧,不详。 (教材:待定)
// 转帖者:对于工程,管理重于技术
16.数学建模:
可以说是本专业的相关课程,但其意义及作用目前在下还不甚了解。 (教材:待定)
// 转帖者:既然学了数学,会用也很重要吧
17.J2EE体系结构:
J2EE是目前我们产业的两大工业平台之一,学习这门课程,可以为今后涉足企业级开发领域打下基础。但请注意,J2EE和Java语言本身都是在不断演进的,因而如果不能在课程结束后持续学习相关技术,恐怕还不等你出大学校门,这门课的内容就已经过时了…… (教材:最新的国外相关教材。)
18.计算机图形学:
计算机科学的核心课程之一。有关计算机图形学在各个领域的应用不必在下一一说明了吧。无论是游戏开发,还是航空航天等前沿领域,到处都有计算机图形学的技术被应用。目前该课程主要用C语言和OpenGL图形库进行教学,效果应该还算不错。
(教材及参考书:
①《计算机图形学原理与实践-C语言描述(第二版)》机械工业出版社
②《交互式计算机图形学——基于OpenGL的自顶向下的方法(第四版)》清华大学出版社
③《OpenGL超级宝典(第三版)》 人民邮电出版社 )
19.微型计算机技术:
计算机专业的核心课程之一。课程详细地分析了微型计算机(主要是单片机)技术,由于这方面资料奇缺,这门课程可不太受在下欢迎…… (教材:待定)
// 转帖者:想搞嵌入式的要注意了
20.编译原理:
计算机科学核心课程之一。如果想要写出好的程序,编译原理的相关知识必不可少,因而这门课程是十分重点的一门课程。课程教材“龙书”、“虎书”和“鲸书”更是我们专业的经典着作。
(教材:
①《编译原理》机械工业出版社
②《现代编译原理——C语言描述》人民邮电出版社
③《高级编译器设计与实现》机械工业出版社 )
21.Web系统开发:
目前主流的web开发主要集中在ASP.NET和JSP开发领域 ,当然,还有近来火爆异常的Ajax,以前的CGI和ASP已经不那么流行了。与J2EE一样,这是一门必须持续学习的课程,否则,你必将被其所抛弃! (教材:最新国外相关书籍。)
22.嵌入式软件开发:
这个领域可谓是软件开发的前沿领域,也是未来软件业霸主的孕育地之一(另两个领域为Web开发和企业级开发)。目前的软件开发领域正蕴含着“泛嵌入式”的潜规则(《程序员》2006年7月刊)。认真并持续学习这门课程,对将来的工作会有莫大的帮助。 (教材:《嵌入式系统开放大全》人民邮电出版社)
23.算法设计与分析:
计算机科学的核心课程之一。“程序是衣,算法为魂”(《程序员》2006年3月刊),这门课程是本专业学生所亟需掌握的,如果学不好这门课,那么,你就不是一名优秀的程序员!
(教材:
①《数据结构与算法分析-C语言描述》机械工业出版社
②《C算法 第一卷 (第三版)》人民邮电出版社 )
24.情报检索与利用:这门课我可没涉猎过…… (教材:待定)
以上纯系复制,完全为了帮你!!!!
⑥ 哪里可以下载《编译原理》电子书
你需要开发环境,可以用集成的,也可以独立的。
windows下的话,一般用集成开发环境(IDE)。
微软的visual studio应该说最好了。我用2005版的,资料相对多一些。2008版的是为vista做的。你可以用那个体验版/学生版的,功能少一些,但对初学者来说足矣,免费。专业版和团队版的功能多、收费,网上有序列号。
devcpp是个相对很小的集成开发环境。程序简单的话,用它也可以。
linux下可以用命令行下的gcc,gdb,也有anjuta,netbeans,eclipse等IDE。
当然,你最好再下载C++的电子书如:
Visual C++ 2005 入门经典
C++面向对象程序设计基础教程
C++参考大全第四版
C++高级编程