Sei sulla pagina 1di 8

C is a general-purpose, high-level language that was originally

developed by Dennis M. Ritchie to develop the UNIX operating


system at Bell Labs. C was originally first implemented on the
DEC PDP-11 computer in 1972.

In 1978, Brian Kernighan and Dennis Ritchie produced the first


publicly available description of C, now known as the K&R
standard.

The UNIX operating system, the C compiler, and essentially all


UNIX application programs have been written in C. C has now
become a widely used professional language for various reasons ?

Easy to learn
Structured language
It produces efficient programs
It can handle low-level activities
It can be compiled on a variety of computer platforms
Facts about C
C was invented to write an operating system called UNIX.
C is a successor of B language which was introduced around the
early 1970s.
The language was formalized in 1988 by the American National
Standard Institute (ANSI).
The UNIX OS was totally written in C.
Today C is the most widely used and popular System Programming
Language.
Most of the state-of-the-art software have been implemented using
C.
Today's most popular Linux OS and RDBMS MySQL have been written
in C.
Why use C?
C was initially used for system development work, particularly
the programs that make-up the operating system. C was adopted as
a system development language because it produces code that runs
nearly as fast as the code written in assembly language. Some
examples of the use of C might be ?

Operating Systems
Language Compilers
Assemblers
Text Editors
Print Spoolers
Network Drivers
Modern Programs
Databases
Language Interpreters
Utilities
C Programs
A C program can vary from 3 lines to millions of lines and it
should be written into one or more text files with extension
".c"; for example, hello.c. You can use "vi", "vim" or any other
text editor to write your C program into a file.
This tutorial assumes that you know how to edit a text file and
how to write source code inside a program file.Try it Option
Online
We have set up the C Programming environment on-line, so that you
can compile and execute all the available examples on line. It
gives you confidence in what you are reading and enables you to
verify the programs with different options. Feel free to modify
any example and execute it on-line.

Try the following example using our on-line compiler available at


CodingGround.

#include <stdio.h>

int main() {

/* my first program in C */
printf("Hello, World! \n");

return 0;
}
For most of the examples given in this tutorial, you will find a
Try it option in our website code sections at the top right
corner that will take you to the online compiler. So just make
use of it and enjoy your learning.

Local Environment Setup


If you want to set up your environment for C programming
language, you need the following two software tools available on
your computer, (a) Text Editor and (b) The C Compiler.

Text Editor
This will be used to type your program. Examples of few a editors
include Windows Notepad, OS Edit command, Brief, Epsilon, EMACS,
and vim or vi.

The name and version of text editors can vary on different


operating systems. For example, Notepad will be used on Windows,
and vim or vi can be used on windows as well as on Linux or UNIX.

The files you create with your editor are called the source files
and they contain the program source codes. The source files for C
programs are typically named with the extension ".c".

Before starting your programming, make sure you have one text
editor in place and you have enough experience to write a
computer program, save it in a file, compile it and finally
execute it.

The C Compiler
The source code written in source file is the human readable
source for your program. It needs to be "compiled", into machine
language so that your CPU can actually execute the program as per
the instructions given.
The compiler compiles the source codes into final executable
programs. The most frequently used and free available compiler is
the GNU C/C++ compiler, otherwise you can have compilers either
from HP or Solaris if you have the respective operating systems.

The following section explains how to install GNU C/C++ compiler


on various OS. We keep mentioning C/C++ together because GNU gcc
compiler works for both C and C++ programming languages.

Installation on UNIX/Linux
If you are using Linux or UNIX, then check whether GCC is
installed on your system by entering the following command from
the command line ?

$ gcc -v
If you have GNU compiler installed on your machine, then it
should print a message as follows ?

Using built-in specs.


Target: i386-redhat-linux
Configured with: ../configure --prefix=/usr .......
Thread model: posix
gcc version 4.1.2 20080704 (Red Hat 4.1.2-46)
If GCC is not installed, then you will have to install it
yourself using the detailed instructions available at
http://gcc.gnu.org/install/

This tutorial has been written based on Linux and all the given
examples have been compiled on the Cent OS flavor of the Linux
system.

Installation on Mac OS
If you use Mac OS X, the easiest way to obtain GCC is to download
the Xcode development environment from Apple's web site and
follow the simple installation instructions. Once you have Xcode
setup, you will be able to use GNU compiler for C/C++.

Xcode is currently available at


developer.apple.com/technologies/tools/.

Installation on Windows
To install GCC on Windows, you need to install MinGW. To install
MinGW, go to the MinGW homepage, www.mingw.org, and follow the
link to the MinGW download page. Download the latest version of
the MinGW installation program, which should be named MinGW-
<version>.exe.

While installing Min GW, at a minimum, you must install gcc-core,


gcc-g++, binutils, and the MinGW runtime, but you may wish to
install more.

Add the bin subdirectory of your MinGW installation to your PATH


environment variable, so that you can specify these tools on the
command line by their simple names.

After the installation is complete, you will be able to run gcc,


g++, ar, ranlib, dlltool, and several other GNU tools from the
Windows command line.
You have seen the basic structure of a C program, so it will be
easy to understand other basic building blocks of the C
programming language.

Tokens in C
A C program consists of various tokens and a token is either a
keyword, an identifier, a constant, a string literal, or a
symbol. For example, the following C statement consists of five
tokens ?

printf("Hello, World! \n");


The individual tokens are ?

printf
(
"Hello, World! \n"
)
;
Semicolons
In a C program, the semicolon is a statement terminator. That is,
each individual statement must be ended with a semicolon. It
indicates the end of one logical entity.

Given below are two different statements ?

printf("Hello, World! \n");


return 0;
Comments
Comments are like helping text in your C program and they are
ignored by the compiler. They start with /* and terminate with
the characters */ as shown below ?

/* my first program in C */
You cannot have comments within comments and they do not occur
within a string or character literals.

Identifiers
A C identifier is a name used to identify a variable, function,
or any other user-defined item. An identifier starts with a
letter A to Z, a to z, or an underscore '_' followed by zero or
more letters, underscores, and digits (0 to 9).

C does not allow punctuation characters such as @, $, and %


within identifiers. C is a case-sensitive programming language.
Thus, Manpower and manpower are two different identifiers in C.
Here are some examples of acceptable identifiers ?

mohd zara abc move_name a_123


myname50 _temp j a23b9 retVal
Keywords
The following list shows the reserved words in C. These reserved
words may not be used as constants or variables or any other
identifier names.

auto else long switch


break enum register typedef
case extern return union
char float short unsigned
const for signed void
continue goto sizeof volatile
default if static while
do int struct _Packed
double
Whitespace in C
A line containing only whitespace, possibly with a comment, is
known as a blank line, and a C compiler totally ignores it.

Whitespace is the term used in C to describe blanks, tabs,


newline characters and comments. Whitespace separates one part of
a statement from another and enables the compiler to identify
where one element in a statement, such as int, ends and the next
element begins. Therefore, in the following statement ?

int age;
there must be at least one whitespace character (usually a space)
between int and age for the compiler to be able to distinguish
them. On the other hand, in the following statement ?

fruit = apples + oranges; // get the total fruit


no whitespace characters are necessary between fruit and =, or
between = and apples, although you are free to include some if
you wish to increase readability.
Data types in c refer to an extensive system used for declaring
variables or functions of different types. The type of a variable
determines how much space it occupies in storage and how the bit
pattern stored is interpreted.

The types in C can be classified as follows ?

S.N. Types & Description


1
Basic Types

They are arithmetic types and are further classified into: (a)
integer types and (b) floating-point types.

2
Enumerated types

They are again arithmetic types and they are used to define
variables that can only assign certain discrete integer values
throughout the program.
3
The type void

The type specifier void indicates that no value is available.

4
Derived types

They include (a) Pointer types, (b) Array types, (c) Structure
types, (d) Union types and (e) Function types.

The array types and structure types are referred collectively as


the aggregate types. The type of a function specifies the type of
the function's return value. We will see the basic types in the
following section, where as other types will be covered in the
upcoming chapters.

Integer Types
The following table provides the details of standard integer
types with their storage sizes and value ranges ?

Type Storage size Value range


char 1 byte -128 to 127 or 0 to 255
unsigned char 1 byte 0 to 255
signed char 1 byte -128 to 127
int 2 or 4 bytes -32,768 to 32,767 or -2,147,483,648 to
2,147,483,647
unsigned int 2 or 4 bytes 0 to 65,535 or 0 to 4,294,967,295
short 2 bytes -32,768 to 32,767
unsigned short 2 bytes 0 to 65,535
long 4 bytes -2,147,483,648 to 2,147,483,647
unsigned long 4 bytes 0 to 4,294,967,295
To get the exact size of a type or a variable on a particular
platform, you can use the sizeof operator. The expressions
sizeof(type) yields the storage size of the object or type in
bytes. Given below is an example to get the size of int type on
any machine ?

#include <stdio.h>
#include <limits.h>

int main() {

printf("Storage size for int : %d \n", sizeof(int));

return 0;
}
When you compile and execute the above program, it produces the
following result on Linux ?

Storage size for int : 4


Floating-Point Types
The following table provide the details of standard floating-
point types with storage sizes and value ranges and their
precision ?

Type Storage size Value range Precision


float 4 byte 1.2E-38 to 3.4E+38 6 decimal places
double 8 byte 2.3E-308 to 1.7E+308 15 decimal places
long double 10 byte 3.4E-4932 to 1.1E+4932 19 decimal
places
The header file float.h defines macros that allow you to use
these values and other details about the binary representation of
real numbers in your programs. The following example prints the
storage space taken by a float type and its range values ?

#include <stdio.h>
#include <float.h>

int main() {

printf("Storage size for float : %d \n", sizeof(float));


printf("Minimum float positive value: %E\n", FLT_MIN );
printf("Maximum float positive value: %E\n", FLT_MAX );
printf("Precision value: %d\n", FLT_DIG );

return 0;
}
When you compile and execute the above program, it produces the
following result on Linux ?

Storage size for float : 4


Minimum float positive value: 1.175494E-38
Maximum float positive value: 3.402823E+38
Precision value: 6
The void Type
The void type specifies that no value is available. It is used in
three kinds of situations ?

S.N. Types & Description


1
Function returns as void

There are various functions in C which do not return any value or


you can say they return void. A function with no return value has
the return type as void. For example, void exit (int status);

2
Function arguments as void

There are various functions in C which do not accept any


parameter. A function with no parameter can accept a void. For
example, int rand(void);

3
Pointers to void

A pointer of type void * represents the address of an object, but


not its type. For example, a memory allocation function void
*malloc( size_t size ); returns a pointer to void which can be
casted to any data type.
Type Description
char Typically a single octet(one byte). This is an integer type.
int The most natural size of integer for the machine.
float A single-precision floating point value.
double A double-precision floating point value.
void Represents the absence of type.

Potrebbero piacerti anche