一份 c 的網路資源整理, 在本文後半部有許多教學手冊URL
喜歡 c 的同好可以參考看看...
Archive-name: C-faq/learn-c-cpp-today
Last-modified: Saturday - April 15, 1995
Copyright (c) 1994 Vinit Carpenter
All rights reserved
Introduction:
-------------
This is a list of a few C and C++ language tutorials available to a
user. This list includes interactive tutorials, public-domain code
collections, books etc. I've developed this FAQ purely as a volunteer
effort as a service to the Internet community. Although every effort
has been made to insure that all the information here is as accurate as
possible, no guarantee is implied or intended.
I welcome comments, suggestions or criticism for all the people out
there on the net that read this. If you can help me make this list a
little better, you will be helping a lot of people out there on the
net. I am a horrible writer and an even worse speller. If you find
any errors or would like to suggest any additions please feel free to
email me at the address below:
carpenterv@vms.csd.mu.edu
What's new in this issue:
-------------------------
This section of the document will point out all the new additions,
corrections, updates etc. If there is enough interest, I will start
producing a 'diff' version.
1. Added a second web server that has the HTML and PS version of this
document.
2. Updated the information on the 'C++ on the WWW'. The address has
of the web server has changes. The author also converted Dordill's
C++ course to HTML which is online.
3. Updated the information in the MSDOS/Windows compilier section.
4. Added a new item called `Programming in C' that contains a great
collection of C and programming items.
5. Updated the information on the C++ FAQ.
6. Added a lot of information on OS/2. (Joe Dougherty)
7. Added more information about Scott Meyers new book titled "More
Effective C++".
8. Updated the oak.oakland.edu info and the directory structure has
been changed.
9. Update the information on the C Snippets packages. The author
released a new package that includes 400+ files.
I am switching to URL in place of the standard ftp and filename format.
URL stands for "Uniform Resource Locator". Think of it as a networked
extension of the standard filename concept: not only can you point to a
file in a directory, but that file and that directory can exist on any
machine on the network, can be served via any of several different
methods, and might not even be something as simple as a file: URLs can
also point to queries, documents stored deep within databases, the
results of a finger or archie command, or whatever.
File URL:
---------
file://oak.oakland.edu/simtel/msdos/c/00_index.txt
Gopher URL:
-----------
To connect to a particular gopher server, use this URL:
gopher://gopher.tc.umn.edu/
News URL:
---------
To point to a Usenet Newsgroups, the URL is simply:
news:comp.lang.c
HTTP URL:
---------
HTTP stands for HyperText Transport Protocol. HTTP servers are
commonly used for serving hypertext documents
http://vinny.csd.mu.edu
This file is posted on the 1st and the 15th of each month to the Usenet
Newsgroups COMP.LANG.C, COMP.LANG.C++, NEWS.ANSWERS & COMP.ANSWERS.
The HTML and postscript version of this documents are available.
Here's the URL:
http://vinny.csd.mu.edu
NOTE: This is my Linux PC that does get inundated with request. The
last time I checked the stats, there were about 27 connections every
minute. If you get timed out, please try again. The most recently
posted version of this document is kept on the news.answers archive on
rtfm.mit.edu. You can receive it via anonymous ftp. The URL is listed
below.
ftp://rtfm.mit.edu/pub/usenet/news.answers/C-faq/learn-c-cpp-today
If you don't have access to ftp, you can also receive this file via
e-mail by sending mail to mail-server@rtfm.mit.edu with:
send /pub/usenet/news.answers/C-faq/learn-c-cpp-today
in the body (not subject line) of your message. You can also receive
the latest version via electronic mail by e-mailing me.
To: learncpp@vinny.csd.mu.edu
Subject: send learn-c-cpp-today
Body: ignored. Can be blank.
A lot of tutorials discussed here are available via anonymous ftp. If
you don't have ftp, you can also retrieve these files via a ftp-email
gateway. To retrieve files via e-mail, send mail to
ftpmail@decwrl.dec.com with the command HELP in the body of the message
to receive a complete list of all commands. A typical message would
look something like this:
connect oak.oakland.edu
chdir /simtel/msdos/c
binary
uuencode
get xxx.zip
quit
Some of the items discussed here are platform-dependent, but most of
the items are applicable across all platforms (portable). If you have
any comments, suggestions, complaints, additions, etc, please feel free
to e-mail me at the following address:
carpenterv@vms.csd.mu.edu
If you are working on a tutorial or would like something added to this
list, please e-mail me at the address given above.
The Origins of C and C++:
-------------------------
The 'C' programming language was originally developed for and
implemented on the UNIX operating system, on a DEC PDP-11 by Dennis
Ritchie. One of the best features of C is that it is not tied to any
particular hardware or system. This makes it easy for a user to write
programs that will run without any changes on practically all machines.
C is often called a middle-level computer language as it combines the
elements of high-level languages with the functionalism of assembly
language.
C allows the manipulation of bits, bytes and addresses- the basic
elements with which the computer functions. Another good point about C
is its portability which makes it possible to adapt software written
for one type of computer to another. C was created, influenced, and
field tested by working programmers. The end result is that C gives
the programmer what the programmer wants. C offers the speed of
assembly language and the extensibility of FORTH, but few of the
restrictions of Pascal and Modula-2.
C++ is an enhanced version of the C language. C++ includes everything
that is part of C and adds support for object-oriented programming
(OOP). In addition, C++ also contains many improvements and features
that make it a "better C", independent of object oriented programming.
C++ is actually an extendible language since we can define new types in
such a way that they act just like the predefined types which are part
of the standard language.
If you just use C++ as a better C, you will not be using all of its
power. Like any quality tool, C++ must be used the way it was designed
to be used to exploit its richness. Some of the new features include
encapsulation, inline function calls, overloading operators,
inheritance and polymorphism. I am not going to explain what they mean
here as that would simply take me away from my purpose here, but you
can refer to any good C++ book or the C++ FAQ (Item 7) for more
information.
What do you need to get started?
--------------------------------
The first thing you need is a compiler. A compiler reads the entire
program and converts it into object code, which is a translation of the
program source code into a form that the computer can execute directly.
UNIX SYSTEM:
Type cc at the % prompt. If you don't get any error messages, you
probably have a C compiler . If you get an error message, try acc, gcc
or g++. If any of these don't work, contact your local system
administrator and ask him/her to get you a C/C++ compiler. GNU C/C++
compiler is available from a lot of anonymous ftp sites free of charge.
Look into it. (I've got g++ running on my Linux box without any
problems)
MSDOS/Windows/OS2/Linux (IBM COMPATIBLES):
There are a lot of good compilers available to you. Microsoft Quick C
and Borland Turbo C/C++ are both good products for beginners. You can
buy both of them for under $50.00. I use Microsoft Quick C and
MS-Visual C/C++, and I prefer Quick-C for all my DOS programs as it is
small, and yet very powerful. Most of my programming is now on my
Linux PC with gcc/g++. (If you want a great 32 bit operating system,
you should look into Linux. E-mail me for details). You can also get
the DOS port of GNU C/C++ called DJGPP from oak.oakland.edu
/simtel/msdos/djgpp.
The increased popularity of OS/2 and it's latest incarnation Warp, has
provided programmers with a wider selection of compilers and
programming tools. Still available for free is the GNU gcc package
under the name emx. Emx integrates nicely with the Extended Editor
included with OS/2. It's available on ftp.cdrom.com, hobbes.nmsu.edu,
and other sites. IBM provides the CSet++ 2.x, as well as a smaller,
less-expensive package on CD-ROM called CSet++ First Step. Other
popular compilers include Borland C++ 1.0 for OS/2, and Watcom C/C++
for OS/2 10.0, and CA-C++ for OS/2 from Computer Associates.
OpenVMS (VAX & AXP)
If you're on a VAX, type in CC to check and see if you have a C
compiler. VAX C is not the best compiler around, but it certainly does
the job. If you don't have a C compiler, look into the GNU C/C++
compiler GCC. You can get the VAX version of GCC from ftp.spc.edu via
anonymous ftp. If on a AXP system, you should have access to DEC
C/C++. Please contact your local system administrator or computer
consultant for more site specific questions.
Macintosh (Apple/PowerMac)
There are three main players in the Mac compiler market: MPW (from
Apple), THINK C / Symantec C++ (both from Symantec), or CodeWarrior
(from Metroworks): THINK C is $225 (only a C compiler), while Symantec
C++ is $375 (includes C and C++ compilers). CodeWarrior comes in three
versions: bronze, silver, and gold, at $199/299/399, respectively.
Bronze generates 68K code, silver generates PowerPC code, and gold
generates both. All three versions include C, C++, and Pascal
compilers. The Symantec C++ compiler (ver 7.0) can be bought with a
cross-compiler for the PowerMac.
There have been two attempts at freeware/shareware Mac C compilers:
Sesame C and Harvest. Harvest C was an ambitious attempt at a
production-quality freeware compiler which was later abandoned by the
author.
Tutorials:
----------
1) Title: A C tutorial.
Filename: C-LESSON.ZIP
Author: Christopher Sawtell.
E-mail: chris@gerty.equinox.gen.nz
URL: ftp://garbo.uwasa.fi/pc/c-lang/c-lesson.zip
This tutorial contains a complete course for you to learn the 'C'
computer language itself. Some knowledge, of computers and the jargon
is assumed, but complicated concepts are fully explained. This
tutorial is geared towards the UNIX operating system, but everything
discussed here applies across all platforms. Most of the source code
included here compiles under all the platforms. This is a good effort
and is worth your time. Updates to this tutorials are posted to the
USENET group comp.lang.c.
2) Title: Coronado;s Generic C tutor v2.0
Filename: GENCSRC.ZIP
GENCTXT.ZIP
Author: Gordon Dodrill
E-mail: --
URL: ftp://oak.oakland.edu/simtel/msdos/c/gencsrc.zip
ftp://oak.oakland.edu/simtel/msdos/c/genctxt.zip
This is one of the most complete tutorials out there. Once again, most
of the items covered here are apply across all platforms. There are
some items discussed here that are DOS dependent. The tutorial
includes a manual that covers all the aspects of the C language. The
archive also includes a huge collection of C code that is discussed in
this tutorial. The best way to learn anything is by practical
application and this tutorial does just that. A payment of $10.00 is
requested by the author if you find the tutorial helpful, but the
payment is not required. I think you should send in the $10.00 as a
lot of time and effort went into this project.
3) Title: Thread An On-Line C Help File V 1.01
Filename: THREAD.ZIP
Author: Fran Horvath
E-mail: --
URL: ftp://oak.oakland.edu/simtel/msdos/c/thread.zip
Thread is a C language help utility. It was written by a member of the
U.S.D.A. Grad School faculty to help students learning the C language.
Thread is a variable record-length database, together with an index,
that enables the fast lookup and display of C keywords, standard
library functions, and other items. There are a few important
functions missing from this help utility, but it is still a pretty good
resource. Give it a shot.
4) Title: Collection of C-Snippets
Filename: SNIP9404.ZIP
Author: Bob Stout
E-mail: bobstout@neosoft.com
URL: ftp://oak.oakland.edu/simtel/msdos/c/snip9503.zip
This is the March 95 release of SNIPPETS which is a public
domain/freeware portable C source code & instructional text. According
to the author, the 1.6 MB archive contains over 400 files and
approximately 35% of it is PC-specific. The rest of it is completely
portable. The PC-specific functions are system-level utility code with
no multimedia or GUI code. This archive has been tested on all popular
PC compilers and gcc, SCO, and HP/UX compilers where possible. An
eclectic collection containing everything from macros to complete
cut-and-paste C code solutions & utilities, along with FAQ and
instructional files.
There is a piece of code for every single task starting with macros to
complete cut-and-paste C code solution and utilities, along with some
frequently asked questions and instructional files. This archive is a
must for every programmer. If you already have a copy of snip9404.zip,
see snpd9503.zip which includes the diff needed to upgrade to
snip9503.zip. Numerous bug fixes and enhancements were made in this
archive and 60 New files added.
This is Public Domain/freeware created by the archivist, ex Fidonet
C_Echo moderator and author, Bob Stout
5) Title: COMP.LANG.C FAQ
Filename: FAQ
Author: Steve Summit
E-mail: scs@eskimo.com
URL: ftp://rtfm.mit.edu/pub/usenet/news.answers/C-faq/faq
The FAQ (Frequently Asked Questions) is a compilation of frequently-
asked questions of the usenet group, COMP.LANG.C along with the
answers. Steve's put in a lot of work and this compilation shows it.
I found that the FAQ answered a lot of my questions. I even learned a
lot of new things browsing through the document. I think this FAQ
should should be on your computer desk right next to a good C
programming book. The FAQ is posted to COMP.LANG.c and news.answers
every month along with the diff version.
6) Title: TUTOR v3.10
Filename: CTUTORDE.ZIP
Author: Gordon Dodrill
E-mail: rowe@netcom.com
URL: ftp://oak.oakland.edu/simtel/msdos/c/ctutorde.zip
This is an educational learning tool which helps expedite the difficult
process of learning the C Programming Language. It includes a
tutorial, style guide, and interactive quiz program all integrated
together in one program. The tutorial covers both K&R version of C and
ANSI C. One of the biggest limitation of this tutorial is that it is
only available for DOS computers.
7) Title: Programming in C
Filename: CE.html
Author: Dave Marshall
E-mail: Dave.Marshall@cm.cf.ac.uk
URL: http://www.cm.cf.ac.uk/Dave/C/CE.html
This is one of the best C programming tutorials out there on the World
Wide Web (WWW). See tutorial #11 for more information on the web and
tools to access the web. This tutorial starts out with some basic
ideas and then extends to some more advanced features of C. With the
popularity of the World Wide Web, items on the web servers are going to
be very popular. This is really a great tutorial and worth checking
out. Some of the items discussed here are loops, arrays, string
manipulation, pointers, dynamic memory allocation, I/O, UNIX, C
preprocessor and some exercises. While you're out there, check out
Ceilidh, the online C tutoring system.
8) Title: ANSI C for Programmers on UNIX systems.
Filename: love_C.ps.z, love_C.shar
Author: Tim Love
E-mail: tpl@eng.cam.ac.uk
URL: ftp://svr-ftp.eng.cam.ac.uk/pub/misc/love_C.ps.Z
This is a really nice C tutorial geared towards people on UNIX system
as the title would suggest. This document introduces C by providing
sample programming tasks. One of the good things about this tutorial
is that all the source code included is ANSI compliant. This tutorial
also includes programming exercises to aid or gauge your progress as
you go through the material (answers included in back). The tutorial
covers some of the basics such as functions, pointers and string
manipulation followed by some programming examples to apply the items
you've just learned.
There is also a section on memory allocation that illustrates the use
and dangers of malloc. The section on the Make utility helped me a lot
as I really don't like make and makefiles. The section of debugging is
also extensive and has some great tips. The appendix of this tutorial
also has a section of converting from K&R to ANSI C. Really great job
and well worth the checking into.
9) Title: Coronado Enterprises C++ Tutorial (v2.20)
Filename: CPTUTS22.ZIP
CPTUTT22.ZIP
Author: Gordon Dodrill
E-mail: --
Phone: (505) 293-5464
URL: ftp://oak.oakland.edu/simtel/msdos/cpluspls/cptuts22.zip
ftp://oak.oakland.edu/simtel/msdos/cpluspls/cptutt22.zip
Just like its C counterpart, this is really one of the best and most
complete C++ tutorial out there. This tutorial is not for the person
just starting out in programming as C++ is not an ideal first language.
But if you are familiar with C or any other programming language, this
tutorial will get you started with C++. All the source discussed in
this tutorial is included and learning is really accelerated as you can
compile the code while you are reading about it. This tutorial will
assume a thorough knowledge of the C programming language and little
time will be spent on the fundamental aspects of the language. Special
attention has be devoted to explaining the newer additions as provided
by the ANSI-C standard, as many programmers are used to the old K&R
school of thought.
10) Title: COMP.LANG.C++ FAQ
Filename: FAQ
Author: Marshall P. Cline, Ph.D.
E-mail: cline@parashift.com
URL: ftp://sun.soe.clarkson.edu/pub/C++/FAQ
Wow!!! That's really all I can say about this collection of questions
and answers for C++ and Object Oriented Programming (OOP). This is the
complete FAQ for the Newsgroups COMP.LANG.C++ compiled by Dr. Marshall
Cline. I have been programming in C++ for a few months and am far away
from being an 'expert', and this compilation helped me enormously.
Once again, this is not for the person that is starting to learn C++,
but if you've already taken the first step, this FAQ is for you. If
you don't have ftp, you can also receive it via e-mail by sending a
message to archive-server@sun.soe.clarkson.edu with the subject `send
C++/FAQ'.
The C++ FAQ has been released as a book called `C++ FAQS -- Frequently
Asked Questions' by Addison-Wesley. The book is a complete re-write
and contains about 5 times the material that is indexed and cross
referenced. Check out the book section for a review of the book. The
FAQ will still be posted in the Newsgroup comp.lang.c++, but if you
find the FAQ helpful, you should really buy the book.
11) Title: C++ on the World Wide Web
Filename: C++.html
Author: Marcus Speh
E-mail: marcus@x4u.desy.de
URL: http://uu-gna.mit.edu:8001/uu-gna/text/cc/index.html
This is one of the award wining courses at the 1st WWW conference
(congratulations Marcus. great job). One of the newest addition here
is the Dorill C++ course converted to HTML. There is a wealth of
information on C++ available on the World Wide Web (WWW). The World
Wide Web (WWW) is a wide area hypermedia information retrieval system
that gives the user universal access to a large universe of documents.
One of the most popular to the Web is called Mosaic developed by NCSA.
Mosaic is an Internet based global hypermedia browser that allows you
to discover, retrieve and display documents and data from all over the
world. Global hypermedia means that information located around the
world is interconnected in an environment that allows you to travel
through the information by clicking on hyperlinks-- terms, icons or
images in documents that point to other related documents. Here's the
URL (Uniform Resource Locator) for the C++ Virtual Course.
http://uu-gna.mit.edu:8001/uu-gna/text/cc/index.html
You might also want to connect to info.desy.de and browse. I found a
lot of great items such as documents and sources on C++ and Object
oriented programming, Internet groups for discussions and questions on
C++, discussion of Object-Oriented Literate Programming and many other
postscript papers.
http://info.desy.de/general/users.html
12) Title: Programming in C
Filename: index.html
Author: Jutta Degener
E-mail: jutta@cs.tu-berlin.de
URL: http://www.lysator.liu.se/c/index.html
This is really one of the best collection of C related items out there
on the World Wide Web maintained by the Lysator computer society, an
association of computer science students at Linkoping University,
Sweden. Here's a list of some of the items. There is a great section
on ANSI C, reviews of 3 books and a list of errata from 2 books. There
is a very interesting paper called `A development of the C language' by
Dennis Ritchie that traces the origin of the language we know and love
today.
There is a HTML version of Kernighan's historical "Programming in C: A
Tutorial" from 1974 (that describes an early version of C, four years
before K&R. WARNING: DO NOT USE THIS DOCUMENT AS A TUTORIAL); also
included are the "Ten Commandments for C Programmers (Annotated
Version)" and a HTML version of Steve Summit's comp.lang.c FAQ.
13) Title: C++ Annotations (ver 3.3.3)
Filename: cplusplus.html
Author: Frank Brokken & Karel Kubat
E-mail: frank@icce.rug.nl, karel@icce.rug.nl
URL: http://www.icce.rug.nl/docs/cplusplus/cplusplus.html
This web based tutorial is intended for knowledgeable users of C who
would like to make the transition to C++. This document presents an
introduction to programming in C++. It is a guide for programming
courses taught at State University of Groningen This document is not a
complete C/C++ handbook, but rather serves as an great addition to
other documentation sources. The reader should take note of the fact
that an extensive knowledge of the C programming language is assumed
and required.
This document continues where topics of the C programming language end,
such as pointers, memory allocation and compound types which makes it a
very good programming guide. I highly recommend this tutorial to any
individual who is really interested in becoming extremely knowledgeable
on C++ and a proficient programmer. Here is a listing of the chapters.
1. Introduction to C++
2. A first impression of C++
3. Classes
4. Classes and memory allocation
5. Static data and functions
6. Inheritance
7. Polymorphism, late binding and virtuality
8. Concrete examples of C++
9. Templates
14) Title: C programming reference 1.1
Filename: cref.html
Author: Martin Leslie
E-mail: leslim@gatwick.Geco-Prakla.slb.com
URL: http://vinny.csd.mu.edu/martin/DOC/C/cref.html
This is not an ordinary C language tutorial, rather it is a great
reference guide for the C programming language. As the author states,
"I have found several C tutorials and lessons on the net but no
reference documents. This is not an attempt to replace the many high
quality books available, but does try to provide an on-line reference
that can give answers to questions quickly and without hassle".
Martin has put a lot of work in this and the archive is definitely
worth checking out. One of the nicest item is the `Function Quick
Reference'. It is a summary of a lot of useful functions including
ANSI standard functions, Non Standard functions from CONIO.H, non
Standard UNIX functions, user written functions and variable length
argument lists including the library, prototype, syntax and example
programs. Here's a sample.
FGETC/GETC FUNCTION 08-MAY-94
fgetc and getc both read a character from a file (input stream) and
have the same syntax. They are for all intents and purposes the same!
Library: stdio.h
Prototype: int fgetc(FILE *stream);
Syntax: ch = fgetc(file_pointer);
ch = getc(file_pointer);
[IMAGE] example program.
See also:
getchar, fgets, gets
getch, getche (non standard)
And if you're really nice to him, he will give a really cool program to
randomly change the root window color on X Displays. :) The program
randomly selects a target color and then performs a basic interpolation
to move from the current color to the target color. When the target
has been reached, a new target is selected and the process is repeated.
Books currently being reviewed:
------------------------------
If you have any thoughs or comments, please feel free to e-mail me at
carpenterv@vms.csd.mu.edu
1. Scientific and Engineering C++: An introdcution with Advanced
Techniques and Examples by John J. Barton and Lee R. Nackman
(ISBN 0-201-53393-6)
2. C++ A Pratical Introduction by Brian Hahn (ISBN 1-85554-325-7)
3. C++ For Dummies by Stephen R. Davis (ISBN 1-56884-163-9)
4. The Craft of C: Take Charge Programming by Herbert Schildt (ISBN
0-07-881882-6)
5. C By Discovery by L.S.Foster (ISBN 1-881991-29-6)
6. Teach yourself C++ programming in 21 days by Jesse Liberty (ISBN
0-672-39541-0)
Books:
------
[1] "The C Programming Language" (2nd ed.)
Brian W. Kernighan & Dennis Ritchie
Prentice Hall ISBN: 0-13-110362-8
This is the second edition of the original Kernighan & Ritchie (K&R)
text. This book is commonly referred to as the New Testament as it
includes the modifications incorporated by the ANSI standard, while
retaining the nature of the 1st edition. This book assumes that the
reader has some basic programming knowledge. So if you're just
starting to program and C is the first language, this might not be the
ideal book. This is one of THE BEST books on C and a must have,
especially if you're starting your own little programming library.
[2] "Programming in ANSI C" (Revised edition: 1994)
Kochan, Steven
SAMS Publishing ISBN 0-672-30339-6
This book by Steve Kochan is absolutely the best book for anyone
starting out programming in C. This is an excellent introductory text
with frequent examples and good text. This book makes no assumptions
about the particular computer system or operating system on which the C
language is implemented. This books is written for novices and
experienced programmers alike. I love this book as the comprehensive
'teach by examples' book can help you master the unique features of the
C language. There is complete coverage of program looping, decision
making, arrays, strings, pointers and bit operations and helpful
end-of-chapter exercises. This is the book I used to learn C and it
really is a great book. The K&R book is really great as a reference,
but not as the first book.
[3] "Expert C Programming: Deep C Secrets"
Peter Van Der Linden
SunSoft Press. (ISBN 0-13-177429-8)
Peter has written one of the greatest books to hit the computer book
stands in a long time! This is not your typical C book, but is rather
a fun book to read. As I told Peter, most C programming texts are
really boring as all they do is describe the functions, give a abstract
example and then move onto something different. This book is chock
full of real world C stories and folklore, including a story about the
C bug that brought down the AT&T network. I found the tongue-in-cheek
attitude and real world examples/stories very, very interesting. Run,
don't walk, down to your local store and buy this book. I really
really loved this book, and I read most of it in one sitting. There is
also a great introduction to C++ for C programmers that will get you
started with C++ and Object-Oriented programming. This book is not for
beginners, but is a great second book on C.
Expert C Programming is also ideal for those C programmers who want to
move to C++. According to the author, the book puts the "fun" back in
"functions" :)
[4] "C: The Complete Reference" (2nd ed.)
Schildt, Herbert.
Osbourne/McGraw-Hill. (ISBN 0-07-881538-X).
This is a pretty good C language reference book. I am more partial to
the Microsoft C Bible as a reference but this is not a bad book at all.
If you're a beginning C programmer or a seasoned pro, the answers to
most of C questions can be found in this one-step resource. This book
presents an extensive summary of C library functions defined by ANSI
and many common extensions including UNIX. This book is a must for
that perfect programmer library.
[5] Absolute Beginner's Guide to C
Perry, Greg
SAMS Publishing. ISBN 0-672-30341-8
This is a absolutely beginner's book. If you have never programmed
before, this book is for you. No knowledge of any programming concept
is assumed. I like the fact that this book talks to you at your level
without ever talking down to you. This book does not try to overwhelm
the beginners with a lot of technical details while emphasizing
introductory principles. If you've never programmed, this is the book
for you. If you are familiar with programming, I would suggest either
'The C programming language' by Kernighan & Ritchie or 'Programming in
ANSI C' by Kochan.
[6] Microsoft C Bible. 1990 (2nd ed.)
Waite Group Staff.
Howard W. Sams & Company. ISBN 0-672-22620-0
This book is a must for every programmer, especially those who program
in the DOS environment. The Bible organizes and simplifies the
information contained in Microsoft's C library. Each function page
gives the purpose, syntax, example call, includes, common uses, returns
and examples. The book also has compatibility check boxes, so you can
be sure your program compiles with the Microsoft C v5.0-7.0, Microsoft
Quick C, Borland Turbo C and UNIX system V compilers.
[7] Programming C in 12 Easy Lessons
Greg Perry ISBN:0-672-30522-4
Sams (1st edition, 4/94)
Reviewed by: Don Lockhart (dlock@nlbbs.com)
In a nutshell: This book is very well thought out. It is very clear
and easy to follow for the new user. It categorizes information into
Notes, Tips, Warnings, and starts each lesson with an overview of the
concepts to be presented as well as a review of them at the end of each
lesson. Sidebars are also presented with useful relevant information.
When new terms appear a definition of them appears in the page margin
to further explain their usage. Each lesson ends with some practice
"homework" and "extra credit" work to further enhance what you've just
learned. In the front of the book, there's a tear-out reference card
with C functions, operators etc on one side, and Turbo C++ editing keys
and functions on the other side. In the back of the book there's an
offer for Borland C++ 4.0 or full blown Turbo C++ at "discount rates".
All lesson coding is also pre-typed on the included diskette. Also on
the disk you'll find the answers to all the homework as well as a
"lite" version of Borland's Turbo C++ compiler. Differences from ANSI
C to C++ are always noted.
I have been "threatening" to learn C for a couple of years. This book
has quickly taken me from the sidelines to diving in head first, and
actually gotten me excited about it. The info is well presented, and I
haven't come up with any questions yet that I have not been able to
find the answer in the book. I'm not 100% sure, but I believe when I
was at the book store there is also a sequel to this book that even
gets into more of actually developing applications using C.
[8] Teach Yourself C++ 1992
Herbert Schildt
Osborne McGraw-Hill. ISBN 0-07-881760-9
Teach Yourself C++ is another great book from Herbert Schildt who is
more popular for his great C books. This book is especially designed
for programmers who already know how to program in C. Based on a
15-minute lesson format, this book includes a lot of exercise and skill
checks to make sure your programming abilities grow by each chapter.
This book is really the perfect introductory guide for anyone who
already knows how to program in C.
According to my sources, this book is currently under revision. There
are several items missing from this book as it was written before C++
was finalized. I still think it is a pretty nice book.
[9] The C++ Programming Language (2nd edition)
Bjarne Stroustrup
Addison Wesley (ISBN 0-201-53992-6)
Bjarne Stroustrup is the designer of C++ and has written 2 great books
on C++. This book is divided into three parts: The first part provides
a tutorial introduction to C++. The second part presents a discussion
of design and software development issues arising in connection with
the use of C++ and the third part is a complete reference manual. With
the popularity of C++, several independent distributions of C++ have
come forward, but the book discusses 'pure C++;' that is, no
implementation dependent extensions are used. I have been programming
in C++ for a while and yet found this book very helpful. One of the
best way to learn a programming language is by writing small programs
relevant to the item you study. There are exercises at the end of each
chapter to test/apply what you learned in that particular chapter.
This wasn't the book I used to learn C++ and I only recently got it
from DEC [DEC ships this book with their C++ compiler in lieu of real
documentation :)], but I wish I had gotten it sooner. This is really a
great book and worth every penny.
There is also a book called "The C++ answer book" by Tony L. Hansen.
(Addison-Wesley ISBN # is 0-201-11497-6) and it contains the solutions
to the problems in "The C++ Programming Language" by Bjarne Stroustrup.
[10]Using Visual C++
Shammas, Namir
Que Corporation ISBN: 1-56529-626-5
A lot of people have e-mailed me asking for recommendation for a Visual
C++/MS-Windows programming book and the one I use/recommend is 'Using
Visual C++'. This book is aimed at readers who are already familiar
with C++ and Windows. This book covers many programming topics that
use C++ and the Microsoft Foundation Classes (MFC). This book starts
with an overview of the Visual C++ workbench and the MFC hierarchy.
The book also discusses the AppWizard, ClassWizard and App Studio
utility. This book really lets you take full advantage of the C++
compiler and all the utilities that come with it. Microsoft provides a
lot of great information with the compiler package, but I found it hard
to look through 20 different manuals to find some basic information.
By the time you finish this book, you will be ready to create your own
MS-Windows applications. Windows programming is pretty complex, but
this comprehensive guide shows you efficient and proven techniques to
build powerful applications.
Another great book is 'Visual C++: A Developer's Guide' by Alex
Leavens. (ISBN 1-55851-339-6) This book explores the comprehensive set
of programming tools that come with Visual C++. This book shows you
how to take advantage of MFC, OLE 2.0, add sounds to various Windows
systems events and creating icons, cursors and bitmaps images.
[11]C++ Primer (2nd edition)
Lippman, Stanley B
Addison Wesley ISBN 0-201-54848-8
The C++ Primer is a great book and will make learning C++ a joy. This
really is one of the best books C++ book out there, but it assumes a
lot of familiarity with programming concepts and a proficiency in C.
Everyone I know who uses C++ recommends this book very highly. If you
are interested in learning more about Object Oriented Program, you
might consider buying "Object Oriented Design" by Peter Coad and Edward
Yourdon" (ISBN 0-13-630070-7)
[12]"C++ FAQs: Frequently Asked Questions"
Marshall P. Cline and Greg A. Lomow
Addison-Wesley ISBN 0-201-58958-3
When I first heard about the book, it thought it would just be a
reprint of the electronic version of the FAQ, but I was pleasantly
surprised when I got my hands on the book (Thanks Deborah) This is no
mere reprint. This is a *great great* book that contains answers to
about 500 questions on programming, design, analysis and testing. This
book is not for beginners, but for programmers who have figured out the
syntax of the language, and are looking to implement them. If you have
questions like "What is a class invariant?", "How should I use
exceptions?", "What happens when a destructor is executed?", then this
is the book for you.
This is a very practical book that contains answers to some real-world
programming questions that will really help anyone involved with
software development. I just wish I had this book around when I was
taking my C++ classes. Unlike other books, this book contains about
200 complete program rather than code snippets that leave you guessing
about the implementation. This book is a definite jem and should be in
every single programmers library. Go out and buy 2 copies of this
book: One for the office and one for the nightstand at home.
[13]Learn C++ on the Macintosh
Dave Mark
Addison-Wesley ISBN 0-201-62204-1
This book comes with a customized version of Symantec C++ for the
Macintosh. In addition, there is a coupon for obtaining the complete
version of Symantec C++ at a much reduced price. I would recommend
this book for those who are just beginning to program in C++; however,
it does assume at least a working knowledge of C. There is a quick
review of C at the beginning. Dave Mark also has a book 'Learn C on
the Macintosh'. It has the same great style and comes highly
recommended. Thanks Lizann Bolinger.
[14]Effective C++
Scott Meyers
Addison-Wesley ISBN 0-201-56364-9
This is just a great great book on C++ and is a must for every
programming library. The book is a listing of things which you must
get right if your program is to be safe and reliable, and a clear
description of what it means to get them `right.' The book raises some
very interesting issues that every programmer faces. C++ provides the
structure and the means to talk about them in a concrete way and to
program them explicitly.
The author is working on another C++ book, and the title will be "More
Effective C++. " Here's more information that the author posted in
comp.lang.c++. If all goes according to plan, "More Effective C++"
should be available around the end of September.
As for the book itself, "More Effective C++" will use the same
Item-based organization that I used in "Effective C++," but it will
cover all new material, and it will not assume that readers have read
"Effective C++." (If they have, so much the better, but it's not a
prerequisite.) As suc
--
=========================================================================
mbox: a8474148@stmail.fju.edu.tw "Information Management" Major.
紅色魔鬼電腦技術站 bsd.im.fju.edu.tw 輔大資管藍色精靈 bbs.im.fju.edu.tw
如果一個programer知道程式應該做什麼,那麼他就一定能夠實現怎樣做.
儘管理解程式界面的能力必需具備,但你應該專心研究構造程式的方法.
而非花太多時間去記住某個界面的細節... D.E Comer.
=========================================================================
--
Origin: 紅色魔鬼(bsd.im.fju.edu.tw) ◆ From: TS3-PPP-18.fju.edu.tw
☆ 輔大資訊網 ☆