From: SMTP%"carpenterv@vmsf.csd.mu.edu" 4-APR-1994 10:53:02.65 To: EVERHART CC: Subj: Learn C TODAY (A list of resources) From: carpenterv@vmsf.csd.mu.edu (V.S.Carpenter) X-Newsgroups: comp.lang.c,comp.lang.c++,comp.unix.questions,comp.os.vms Subject: Learn C TODAY (A list of resources) Date: 3 Apr 1994 05:43:14 GMT Organization: Marquette University - Computer Services Lines: 235 Message-Id: <0097C60A.FCBB1240@vms.csd.mu.edu> Reply-To: carpenterv@vmsf.csd.mu.edu Nntp-Posting-Host: vmsb.csd.mu.edu To: Info-VAX@CRVAX.SRI.COM X-Gateway-Source-Info: USENET Archive-name: C-Language-Tutorials-List Last-modified: Monday - March 27, 1994 Copyright (c) 1993 Vinit Carpenter All rights reserved Introduction: ------------- This is a list of all C language tutorials available to a user. This list will include interactive tutorials, public-domain code collections, books etc. 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, e-mail at the following address: carpenterv@vms.csd.mu.edu The Origins of C: ----------------- The 'C' programming language was designed and developed by Brian Kernighan, and Dennis Ritchie at The Bell Research Labs on a DEC PDP-11. C is the result of a development process that started with an older language called BCPL. 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. 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 like "Command not found", try acc or gcc. If either of these don't work, contact your local system administrator and ask him/her to get you a C/C++ compiler. GNU C compiler is available from a lot of anonymous ftp site free of charge.. Look into it. FOR MSDOS (IBM COMPATIBLES): There are a lot of good compiler 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 Borland C/C++, and I prefer Quick-C as it is small, and yet very powerful. I do all my initial coding in Quick-C and later move all the code to Borland C/C++. FOR VMS: If you're on a VAXen, you probably have access to a C compiler. DEC C is not the best compiler around, but it certainly does the job. Type cc at the '$' prompt to check and see if you have access to a C compiler. If you don't have a C compiler, look into the GNU C compiler GCC. You can get the VMS version of GCC from ftp.spc.edu via anonymous ftp. Tutorials: ---------- 1) Title: A C tutorial. Filename: C-LESSON.ZIP Author: Christopher Sawtell. E-mail: chris@gerty.equinox.gen.nz FTP: garbo.uwasa.fi /pub/pc/c 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: -- FTP: oak.oakland.edu /pub/msdos/c 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 include a huge collection of C code that are 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 is 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: -- FTP: oak.oakland.edu /pub/msdos/c 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 fast look up 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: SNIP0493.ZIP Author: Bob Stout E-mail: FTP: oak.oakland.edu /pub/msdos/c SNIP0493 is one of the most comprehensive collection of public domain C code. If I remember correctly, there are atleast 200-300 fully functional programs in this archive. There is a piece of code for every single task you might want to program starting from data/file manipulation to turning on your PC speaker. I found that most of the code snippets complied right out of the box. This archive is a must for any C programmer. 5) Title: COMP.LANG.C FAQ Filename: FAQ Author: Steve Summit E-mail: scs@eskimo.com FTP: rtfm.mit.edu /pub/usenet/news.answers/C-faq The FAQ (Frequently Asked Questions) is a compilation of frequently asked question 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 should FAQ 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. Books: ------ [1] "C: The Complete Reference" (2nd ed.) Schildt, Herbert. Osbourne/McGraw-Hill. (ISBN 0-07-881538-X). This is one of the best C reference out there. 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. A must for that prefect programmer library. [2] Microsoft C Bible. 1990 (2nd ed.) Waite Group Staff. Howard W. Sams & Company. (ISBN 0-672-22620-0). This box is a must for every programmer, specially 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. [3] "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 books 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 is a must have, specially if you're starting your own little programming library. [4] "Programming in ANSI C" Kochan, Steven Hayden Books ISBN: 0-672-48408-0 Another good book with multiple recommendations as being an excellent introductory text with frequent examples and good text. This book makes no assumption about a particular computer system or operating system on which the C language is implemented. [5] Programming in C. 2nd ed. (UNIX Library) Kochan, Steven Howard W. Sams, & Company. (ISBN 0-672-48420-X). Another gem.. This book is designed as a tutorial and will help a lot. Most of the code and concepts presented here are ANSI compatible, special attention is given to using C under UNIX. Conclusion: C is a great programming language that can make programming a lot of fun. One of the best ways to learn is by taking a programming class. See if you can take a class at your school, or take a class at night school. Programming in C is a skill that could end up saving you your job or help you get a better job. I hope these tutorials help you in your quest to learn the C language. 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. If you find any errors, additions or just misspelling, please feel free to email me. --------- * List of C tutorials Last Update: 3/27/94 * * Compiled By: Vinit Carpenter - carpenterv@vms.csd.mu.edu * Copyright (c) 1994 Vinit Carpenter. No CHANGES are to be made to this document without the author's written consent. Reproduction/distribution without my permission IS ALLOWABLE as long as this document is left fully intact.