Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more ➡
Download
Standard view
Full view
of .
Add note
Save to My Library
Sync to mobile
Look up keyword
Like this
44Activity
×
0 of .
Results for:
No results containing your search query
P. 1
C Programming Tutorial

C Programming Tutorial

Ratings:

4.5

(2)
|Views: 3,697|Likes:
Published by api-3781081

More info:

Published by: api-3781081 on Oct 16, 2008
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, DOC, TXT or read online from Scribd
See More
See less

03/18/2014

pdf

text

original

Node:Top, Next:Preface, Previous:(dir), Up:(dir)
C Programming Tutorial (K&R version 4)

This is a C Programming Tutorial for people who have a little experience with an interpreted
programming language, such as Emacs Lisp or a GNU shell.
Edition 4.02
Copyright \u00a9 1987,1999 Mark Burgess
Permission is granted to make and distribute verbatim copies of this manual provided the
copyright notice and this permission notice are preserved on all copies.

\u2022
Preface:
\u2022
Introduction:
\u2022
Reserved words & example:
\u2022
Operating systems:
\u2022
Libraries:
\u2022
Programming style:
\u2022
Form of a C program:
\u2022
Comments:
\u2022
Functions:
\u2022
Variables:
\u2022
Parameters:
\u2022
Scope:
\u2022
Preprocessor:
\u2022
Pointers:
\u2022
Standard Output and Standard Input:
\u2022
Assignments Expressions and Operators:
\u2022
Decisions:
\u2022
Loops:
\u2022
Arrays:
\u2022
Strings:
\u2022
Putting together a program:
\u2022
Special Library Functions and Macros:
\u2022
Hidden Operators:
\u2022
More on Data Types:
\u2022
Machine Level Operations:
\u2022
Files and Devices:
\u2022
Structures and Unions:
\u2022
Data structures:
\u2022
Recursion:
\u2022
Example Programs chapter:
\u2022
Errors and debugging:
\u2022
Summary:
\u2022
reserved words list:
\u2022
Comparisons:
\u2022
Character Conversion Table:
\u2022
Emacs style file:
\u2022
Answers to questions:
\u2022
Index:
Node:Preface, Next:Introduction, Previous:Top, Up:Top
1
Preface

Every program is limited by the language which is used to write it. C is a programmer's
language. Unlike BASIC or Pascal, C was not written as a teaching aid, but as an
implementation language. C is a computer language and a programming tool which has grown
popular because programmers like it! It is a tricky language but a masterful one. Sceptics have
said that it is a language in which everything which can go wrong does go wrong. True, it does
not do much hand holding, but also it does not hold anything back. If you have come to C in the
hope of finding a powerful language for writing everyday computer programs, then you will not
be disappointed. C is ideally suited to modern computers and modern programming.
This book is a tutorial. Its aim is to teach C to a beginner, but with enough of the details so as
not be outgrown as the years go by. It presumes that you have some previous aquaintance with
programming -- you need to know what a variable is and what a function is -- but you do not
need much experience. It is not essential to follow the order of the chapters rigorously, but if
you are a beginner to C it is recommended. When it comes down to it, most languages have
basically the same kinds of features: variables, ways of making loops, ways of making
decisions, ways of accessing files etc. If you want to plan your assault on C, think about what
you already know about programming and what you expect to look for in C. You will most
likely find all of those things and more, as you work though the chapters.
The examples programs range from quick one-function programs, which do no more than
illustrate the sole use of one simple feature, to complete application examples occupying
several pages. In places these examples make use of features before they have properly been
explained. These programs serve as a taster of what is to come.

Mark Burgess. 1987, 1999

This book was first written in 1987; this new edition was updated and rewritten in 1999. The
book was originally published by Dabs Press. Since the book has gone out of print, David
Atherton of Dabs and I agreed to release the manuscript, as per the original contract. This new
edition is written in Texinfo, which is a documentation system that uses a single source file to
produce both on-line information and printed output. You can read this tutorial online, using
either the Emacs Info reader, the standalone Info reader, or a World Wide Web browser, or you
can read this same text as a typeset, printed book.

Node:Introduction, Next:Reserved words & example, Previous:Preface, Up:Top
Introduction
What is C? What is it for? Why is it special?
\u2022
Levels:
\u2022
Basic ideas:
\u2022
The compiler:
\u2022
Errors:
\u2022
Use of Upper and Lower Case:
\u2022
Questions 1:
Node:Levels, Next:Basic ideas, Previous:Introduction, Up:Introduction
High Levels and Low Levels
2

Any kind of object that is sufficiently complicated can be thought of as having levels of detail;
the amount of detail we see depends upon how closely we scrutinize it. A computer falls
definitely into the category of complex objects and it can be thought of as working at many
different levels. The terms low level and high level are often used to describe these onion-layers
of complexity in computers. Low level is perhaps the easiest to understand: it describes a level
of detail which is buried down amongst the working parts of the machine: the low level is the
level at which the computer seems most primitive and machine-like. A higher level describes
the same object, but with the detail left out. Imagine stepping back from the complexity of the
machine level pieces and grouping together parts which work together, then covering up all the
details. (For instance, in a car, a group of nuts, bolts, pistons can be grouped together to make
up a new basic object: an engine.) At a high level a computer becomes a group of black boxes
which can then be thought of as the basic components of the computer.
C is called a high level, compiler language. The aim of any high level computer language is to
provide an easy and natural way of giving a programme of instructions to a computer (a
computer program). The language of the raw computer is a stream of numbers called machine
code. As you might expect, the action which results from a single machine code instruction is
very primitive and many thousands of them are required to make a program which does
anything substantial. It is therefore the job of a high level language to provide a new set of
black box instructions, which can be given to the computer without us needing to see what
happens inside them - and it is the job of a compiler to fill in the details of these "black boxes"
so that the final product is a sequence of instructions in the language of the computer.

C is one of a large number of high level languages which can be used for general purpose
programming, that is, anything from writing small programs for personal amusement to writing
complex applications. It is unusual in several ways. Before C, high level languages were
criticized by machine code programmers because they shielded the user from the working
details of the computer, with their black box approach, to such an extent that the languages
become inflexible: in other words, they did not not allow programmers to use all the facilities
which the machine has to offer. C, on the other hand, was designed to give access to any level
of the machine down to raw machine code and because of this it is perhaps the most flexible of

all high level languages.
3

Activity (44)

You've already reviewed this. Edit your review.
1 hundred reads
1 thousand reads
Dheerendra Singh liked this
Lokesh Pillai liked this
Lokesh Pillai liked this
radrick61 liked this
uksog liked this
biju liked this
ksundaresh85 liked this
bramoupi liked this

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->