Wednesday, 11 September 2013

Introduction to c

| |
C is a general-purpose high level language that was originally developed by Dennis Ritchie for the Unix operating system. It was first implemented on the Digital Eqquipment Corporation PDP-11 computer in 1972.
The Unix operating system and virtually all Unix applications are written in the C language. 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 computers.

Facts about C

  • C was invented to write an operating system called UNIX.
  • C is a successor of B language which was introduced around 1970
  • The language was formalized in 1988 by the American National Standard Institue (ANSI).
  • By 1973 UNIX OS almost totally written in C.
  • Today C is the most widely used System Programming Language.
  • Most of the state of the art software have been implemented using C

    Why to use C ?

    C was initially used for system development work, in particular the programs that make-up the operating system. C was adoped as a system development language because it produces code that runs nearly as fast as 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
    • Data Bases
    • Language Interpreters
    • Utilities

    C Program File

    All the C programs are writen into text files with extension ".c" for example hello.c. You can use "vi" 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 programming insturctions inside a program file.

    C Compilers

    When you write any program in C language then to run that program you need to compile that program using a C Compiler which converts your program into a language understandable by a computer. This is called machine language (ie. binary format). So before proceeding, make sure you have C Compiler available at your computer. It comes alongwith all flavors of Unix and Linux.
    If you are working over Unix or Linux then you can type gcc -v or cc -v and check the result. You can ask your system administrator or you can take help from anyone to identify an available C Compiler at your computer.
    If you don't have C compiler installed at your computer then you can use below given link to download a GNU C Compiler and use it.

    A C program basically has the following form:
    • Preprocessor Commands
    • Functions
    • Variables
    • Statements & Expressions
    • Comments
    The following program is written in the C programming language. Open a text file hello.c using vi editor and put the following lines inside that file.
    #include <stdio.h>
    
    int main()
    {
       /* My first program */
       printf("Hello, World! \n");
       
       return 0;
    }
    
    Preprocessor Commands: These commands tells the compiler to do preprocessing before doing actual compilation. Like #include <stdio.h> is a preprocessor command which tells a C compiler to include stdio.h file before going to actual compilation. You will learn more about C Preprocessors in C Preprocessors session.
    Functions: are main building blocks of any C Program. Every C Program will have one or more functions and there is one mandatory function which is called main() function. This function is prefixed with keyword int which means this function returns an integer value when it exits. This integer value is retured using return statement.
    The C Programming language provides a set of built-in functions. In the above example printf()is a C built-in function which is used to print anything on the screen. Check Builtin functionsection for more detail.
    You will learn how to write your own functions and use them in Using Function session.
    Variables: are used to hold numbers, strings and complex data for manipulation. You will learn in detail about variables in C Variable Types.
    Statements & Expressions : Expressions combine variables and constants to create new values. Statements are expressions, assignments, function calls, or control flow statements which make up C programs.
    Comments: are used to give additional useful information inside a C Program. All the comments will be put inside /*...*/ as given in the example above. A comment can span through multiple lines.

    Note the followings

    • C is a case sensitive programming language. It means in C printf and Printf will have different meanings.
    • C has a free-form line structure. End of each C statement must be marked with a semicolon.
    • Multiple statements can be one the same line.
    • White Spaces (ie tab space and space bar ) are ignored.
    • Statements can continue over multiple lines.

    C Program Compilation

    To compile a C program you would have to Compiler name and program files name. Assuming your compiler's name is cc and program file name is hello.c, give following command at Unix prompt.
    $cc hello.c
    
    This will produce a binary file called a.out and an object file hello.o in your current directory. Here a.out is your first program which you will run at Unix prompt like any other system program. If you don't like the name a.out then you can produce a binary file with your own name by using -o option while compiling C program. See an example below
    $cc -o hello hello.c
    
    Now you will get a binary with name hello. Execute this program at Unix prompt but before executing / running this program make sure that it has execute permission set. If you don't know what is execute permission then just follow these two steps
    $chmod 755 hello
    $./hello
    
    This will produce following result
    Hello, World
    The following names are reserved by the C language. Their meaning is already defined, and they cannot be re-defined to mean anything else.
    autoelselongswitch
    breakenumregistertypedef
    caseexternreturnunion
    charfloatshortunsigned
    constforsignedvoid
    continuegotosizeofvolatile
    defaultifstaticwhile
    dointstruct_Packed
    double   
    While naming your functions and variables, other than these names, you can choose any names of reasonable length for variables, functions etc.

0 comments: