|
Softpanorama |
May the source be with you, but remember the KISS principle ;-)
Softpanorama Search
|
| Old News ;-) | See also |
Books Reviews |
Recommended Links | Language | University courses | Articles and chapters | Humor | Etc |
See also TutorialSearch Two good books on C were at some point of time available online from InformIt.com (still might be available elsewhere on the web :-)
Teach Yourself C in 24 Hours by Tony Zhang -- very basic, but still good
Teach Yourself C in 21 Days by Peter G. Aitken -- solid intermediate level book
Do not waste time browsing the WEB searching for tutorials, but a good sicounted book first. Believe me it would be difficult to find something even close to the quality of a published book on the WEB, unless this is a WEB variant of a published book ;-). See C bookshelf. for printed books recommendations.
All reference below are supplementary. You can also try to buy a decent book , actually you can do this for approximately the cost of your monthly WEB access ;-).
As for sites with similar collections of links also LEARN CC++ TODAY - a list of C/C++ tutorials by Vinit Carpenter (old, last updated in 1996), and CSS Program Web Library; C programming.
There are not the best overall, but used in tandem can probably substitute any paper book if you have no money to buy it.
Welcome to the Steve Oualline WEB Server
Steve Oualline C Elements of Style Free online book
This is a decent, but not great introductory C book. This is a really good intermediate book. Level of chapters after 5 is too high for the introductory book. Special chapter (ch.8) is devoted to explaining scope. Chapter 15 explains how to use pointers with lists. Ch.19 "Exploring the C Function Library" contains a lot of useful material absent in other books. The book contains both exercises and quizzes. Better deal is to buy is with Visual C++ 6.0 introductory edition
Anthony
Michael Tregre (desenee@netscape.net) from Austin, Texas, United States
of America , July 18, 1998 *****
An easy to follow, comprensive tool for learning C.
An excellent example of Sam's Teach Yourself series, TYC in 21 Days
is perfect for those who want to get into the field of computer programming.
This book offers a chance to learn the basics of C (which is an extremely
useful language in and of itself, as well as a gateway to learning other
popular languages such as C++ and Java) in an easy-to-understand format.
Everything you learn here will prove invaluable in a career of programming.
If I had to recommend a first book to buy for the aspiring coder, this
one would be it.
The C Programming Language Answers To Exercises
*****
C Programming Notes by Steve Summit -- this is an excellent online
course that contains both notes and assignments (Introductory course
Assignments. and
Intermediate C Programming Assignments). Very knowledgeable and
generous author. Highly recommended if you have K&R book (you should
!)
***+ C Language Tutorial Coronado Enterprises (shareware); This is more or less honest attempt to create a turotial that can is usable.
***+ C Programming www.eskimo.com Contains Introductory C Programming Class Notes by Steve Summit -- Noted to K&R.
These notes are part of the UW Experimental College course on Introductory C Programming. They are based on notes prepared (beginning in Spring, 1995) to supplement the book The C Programming Language, by Brian Kernighan and Dennis Ritchie, or K&R as the book and its authors are affectionately known. (The second edition was published in 1988 by Prentice-Hall, ISBN 0-13-110362-8.) These notes are now (as of Winter, 1995-6) intended to be stand-alone, although the sections are still cross-referenced to those of K&R, for the reader who wants to pursue a more in-depth exposition.
ANSI C for Programmers on UNIX Systems by Tim Love, Cambridge University.
redistibutable for educational purposes
C Traps and Pitfalls ps (Andrew Koenig). Also available from
C-Style Page
Learn C Programming -- a learning CD with an audio track
***** C Programming Notes by Steve Summit -- this is an excellent online course that contains both notes and assignments (Introductory course Assignments. and Intermediate C Programming Assignments). Very knowledgeable and generous author. Highly recommended.
The notes on these pages are for the courses in C Programming I used to teach in the Experimental College at the University of Washington in Seattle, WA. Normally these notes accompany fairly traditional classroom lecture presentations, but they are intended to be reasonably complete (more so, for that matter, than the lectures!) and should be usable as standalone tutorials.
I originally designed the first, Introductory course around The C Programming Language (2nd Edition) by Kernighan and Ritchie, and the notes were designed to complement that text, highlighting important points and explaining subtleties which might be lost on the general reader. Later, I rewrote the notes to stand on their own (in part because, in spite of the first set of notes, too many of my students found K&R a bit too technical for an informal, introductory course). Finally, I occasionally teach an Intermediate course, which covers the topics which tend to be skipped or glossed over in introductory courses (bitwise operators, structures, file I/O, etc.). The Intermediate course has its own set of notes.
All three sets of notes are available here. If you have a copy of K&R2 and would like a thorough treatment of the language, read K&R and the ``Notes to Accompany K&R'' side by side. If you're just getting your feet wet and would like a somewhat simpler introduction, read the ``Introductory Class Notes.'' If you have had an introduction to C (either here or elsewhere) and are now looking to fill in some of the missing pieces, read the ``Intermediate Class Notes.''
Of course, just reading a book or these notes won't really teach you C; you will also want to write and run your own programs, for practice and so that the language concepts will make some kind of practical sense. Most of my programming assignments (including review questions) are here as well, along with their solution sets. (No peeking at the answers until you've given the problems your best shot!)
These notes are arranged for the web in the usual hierarchy by section and subsection. If you want to read through all of them, without keeping track of your own stack to implement a depth-first tree traversal, just follow the ``read sequentially'' links at the bottom of each page.
C Programming Course - Course notes by Steve Holmes. (Strathclyde, Scotland). -- Unix oriented.
EL165 Introduction to Computing using C by Martin Brown
Phil's C Course -- Version 1.1 © Phil Ottewell 1995,1996
[Jan 9, 2000]redhat.com support An Introduction to C Development on Linux by Nathan Thomas <nthomas@redhat.com>
Switching to Linux for your development projects can seem like a daunting task at first but given a little direction, you will find that the development environment is both powerful and easy to use.
This paper is designed as an introduction to development under Linux, and will help you get your feet wet with all of the tools that you will need for a large scale development project. For now, the scope of this tutorial is writing a program in C, and includes information on text editing, compiling, debugging, and version control.
Overview
Setting Up Your Shell
Developing a Simple C Program with vi and gcc
Using gdb to Debug a C Program
Compiling Multiple .c and .h Files
Using make to Simplify the Build Process
Using the Concurrent Versions System for Source Management
Final Thoughts and Resources
**** C Traps and Pitfalls ps (Andrew Koenig). Also available from C-Style Page
The C programmer's pages -- C and Pascal: The Love Story
C vs Pascal notes -- useful comparison. Need work...
C-Style Page -- good collection of papers
Selected Computing Sciences Technical Reports from Bell Labs
Why Pascal is Not My Favorite Programming Language by B. W. Kernighan -- Must read. A rebellious paper written at the time of when structured programming and verification religious movement was close to its top, and to criticize Pascal what rather dangerous undertaking. Kerningan has problems with finding a publisher.
| howstuffworks : C tutorial | Complete, thoroughly-illustrated C Programming Language tutorial with many examples to assist in becoming a C programmer. |
| C library reference guide | Complete reference to the ANSI C language. |
| tutorial: Pointers and Arrays | A tutorial on pointers and arrays in the C programming language by Ted Jensen. |
| c course | a very good online course |
| c programming notes | c programming notes |
| c in 5 hours | c in 5 hours |
| Programming in C: A Tutorial | Programming in C: A Tutorial |
| C Tutorial For Beginners | Intends to teach C to someone with no previous experience. |
| C for C++ Programmers | Highlights the differences with C++ including comments, input/output, memory allocation, variable declarations, constants, structures, booleans, libraries and suggested reading. |
| C For C++ Programmers | Introduction to the subset of C++ and differences between the languages including scope, data structures, function behavior, library functions, input/output and compiling. |
| Outputting text | outputting text in C |
| Use of variables in C | The use of Variables in 'C'. - Variable types -Global, local, static. Where to Declare Variables. Strings can't be declared as a string. |
| Intro to C | covers a little about C, printf, and newline esc. |
| C variables | a little about variables in C |
| Ground cero guide to C | Attempts to introduce absolute beginners to C. |
| The basics of singly linked lists | The basics of singly linked lists |
| Crash proof C/C++ code | Christopher McGee explains the different causes of crashes and how to make them a thing of the past by following a few simple rules as you write code. |
| C elements of style | This book covers only the C language and is a bit out dated. However it still contains a lot of good advice. HTML and pdf versions available |
| Intro to pointers | An article showing the use of pointers in C and C++ |
| First C program | Hello world in C |
| Constants and variables | Constants and variables in C |
| Data types | All about C's data types |
| type modifiers | type modifiers |
| Arithmetic operators | Arithmetic operators |
| Input And Output | Input And Output in C |
| Printf and Scanf | Displaying output and recieving input |
| Comparison and Logical Operators | Comparison and Logical Operators |
| Conditional Branching 1 and 2 | Conditional Branching 1 and 2 |
| Looping | looping in C |
| Bitwise operators 1 | Bitwise operators part 1 |
| Bitwise operators 2 | Bitwise operators part 2 |
| Bitwise operators 3 | Bitwise operators part 3 |
| Functions | All about functions |
| Arrays 1 | Arrays in C part 1 |
| Arrays 2 | Arrays in C part 2 |
| Passing arrays to functions | passing arrays to functions |
| Pointers 1 | Pointers tutorial part 1 |
| Pointers 2 | Pointers tutorial part 2 |
| Pointers 3 | Pointers tutorial part 3 |
| Strings 1 | About strings in C part 1 |
| Strings 2 | About strings in C part 2 |
| String / Number conversion | Converting between strings and numbers in C |
| String functions | Functions to manipulate strings in C |
| Enum and Typedef | About enum and typedef in C |
| Structures 1 | Structures part 1 |
| Structures 2 | Structures in C part 2 |
| Structures 3 | About structures and C part 3 |
| Unions | Unions and C |
| Memory allocation | Memory management in your programs |
| Simply C | An intro to C |
| Advanced Linked Lists | This tutorial will cover the rest of the more advanced features and uses of linked lists |
| Bit manipulation | This tutorial will introduce you to the binary and hexadecimal number systems, and teach you how to manipulate individual bits |
| loading a wav file | A tutorial with code, that shows how to load a .wav file in C |
| loops in C | a short tutorial about loops in C |
| pointers in C | This is a small primer on pointers in C. A must for a beginner. |
| Pointers and arrays in C | A well-written and comprehensive tutorial, about pointers and arrays in C. |
| C windows programming | Large tutorial on Windows Programming with C. Explains how to deal with menus, dialogs, windows, files and more... |
| Bug free C code | Online book by Jerry Jongerius advocates a style of programming based upon classes, data abstraction, run-time type checking, and fault tolerant functions which results in bug-free C code. |
| ansi c reference | This is a guide to all ANSI-C functions that exists. |
| gametutorials C tutorials | A nice collection of downloadable code examples . Well documented . |
| Coronado C course (commercial) | The C tutorial teaches you the entire C language. It covers the ANSI-C standard and gives a few illustrations of the original K&R C language. It is composed of 13 chapters which should be studied in order since topics are introduced in a logical sequence and build upon topics introduced in previous chapters. |
| Pointers to functions in C | This article explains Pointers to Functions in C. There may be thousands of programmers who know how to use pointers to functions, but I know that there are many, many more who have no idea what it is and how to use it. This article is for those who know C programming very well, but are not yet familiar with this wonderful concept of using pointers to functions. |
| Variables | Variables in C |
| Operators | Operators in C |
| Constructs | constructs for program flow |
| Arrays | Arrays in C |
| Functions | Functions in C |
| Pointers and strings | Pointers and strings in C |
| Memory | Memory allocation in C |
| Structures | Structures in C |
| Linked lists | Linked lists in C |
| File handling | File handling in C |
| Command line arguments | Command line arguments in C |
| bitwise operators | Bitwise operators in C |
| Debugging | Debugging and testing in C |
| First program | your first ever program - Hello World |
| declaring, variables, keywords, case sensitivness | declaring, variables, keywords, case sensitivness |
| declaring, constants, directives | declaring, constants, directives |
| I/O | input, output, conversion characters, gets, puts, scanf, printf - I/O |
| if.. else and else if - selection statements | if.. else and else if - selection statements |
| logical operators | logical operators - short summary |
| the switch() case statement | the switch() case statement |
| iteration statements | while loop, do..while loop, for loop - iteration statements |
| one dimensional arrays, string literals | one dimensional arrays, string literals |
| strings | strings, strcpy(),
|
| introduction to pointers | introduction to pointers |
| functions, function protytypes | functions, function protytypes |
| Introduction to C/C++ Compilers | Introduction to C/C++ Compilers |
| Input, Output and Libraries | Input, Output and Libraries |
| Using Different Data Types | Using Different Data Types |
| Initializing Variables and Arithmetic Operators | Initializing Variables and Arithmetic Operators |
| Declaring Constants and Preprocessor Directives | Declaring Constants and Preprocessor Directives |
| Comments, Errors, clrscr(), writing good readable programs | Comments, Errors, clrscr(), writing good readable programs |
| One Dimensional Arrays and Strings | One Dimensional Arrays and Strings |
| Relational Operators | Relational Operators, the switch statement and use of indentation |
| for loops | for loops |
| while and do ...while Loops | while and do ...while Loops |
| Functions, Local and Global Variables | Functions, Local and Global Variables |
| using atoi(), atof(), strcpy(), toupper(), stdlib.h, ctype.h, string.h header files | using atoi(), atof(), strcpy(), toupper(), stdlib.h, ctype.h, string.h header files |
| Keywords | C Keywords |
| libraries | libraries in C |
| c guide | programmers guide to C |
| ctutorde | C language tutorial, style, and quiz program |
| Lesson 1: Hello World | Lesson 1: Hello World |
| Lesson 2: Variables | Lesson 2: Variables |
| Lesson 3: Constants | Lesson 3: Constants |
| Lesson 4: Input and Output | Lesson 4: Input and Output |
| Lesson 6: Conditional Processing, Part 2 | Lesson 6: Conditional Processing, Part 2 |
| Lesson 7: Looping | Lesson 7: Looping |
| Lesson 8: Introduction to Pointers | Lesson 8: Introduction to Pointers |
| Lesson 10: Strings | Lesson 10: Strings |
| Lesson 11: Structures | Lesson 11: Structures |
| Lesson 12: Memory Allocation | Lesson 12: Memory Allocation |
| Lesson 13: File I/0 and Command Line Arguments | Lesson 13: File I/0 and Command Line Arguments |
| Lesson 14: Functions | Lesson 14: Functions |
| Lesson 15: Scope and Program Structure | Lesson 15: Scope and Program Structure |
| VGA Basics | Setting the video mode, plotting a pixel, and mode 0x13 memory. |
| Primitive Shapes & Lines | Drawing lines, polygons, rectangles, and circles. Also, Bresenham's algorithm, fixed-point math and pre-computing tables. |
| Bitmaps & Palette Manipulation | The BMP file format, drawing bitmaps, and palette manipulation. |
| Mouse Support & Animation | Mouse status, motion, and buttons. Also, animation. |
| Double Buffering, Page Flipping, & Unchained Mode | Double buffering, page flipping, structure of unchained mode, and 256-color modes other than 320x200. |
| Pointers | Pointers |
| Pointers And Arrays | Pointers And Arrays |
| Brief Intro on Recursion | Brief Intro on Recursion |
| Codevision C turorial | A simple tutorial in PDF format to get up and running with codevision C compiler for AVR microcontrollers |
Copyright © 1996-2009 by Dr. Nikolai Bezroukov. www.softpanorama.org was created as a service to the UN Sustainable Development Networking Programme (SDNP) in the author free time. Submit comments This document is an industrial compilation designed and created exclusively for educational use and is placed under the copyright of the Open Content License(OPL). Site uses AdSense so you need to be aware of Google privacy policy. Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.
Disclaimer:
Last modified: August 15, 2009