Introduction to C

Home Forums Introduction to C

1 voice
2 replies
  • Author
  • #6442

    The article is written with the view that its readers are able to have a basic knowledge about C programming.
    Prior Knowledge:
    What is a programming language?
    A formal language with some basic structure and can perform following operations is called a programming language.
    ->Takes input i.e. raw data from the user.
    ->Stores data i.e. saving data and instructions.
    ->Processes it i.e. performs logical and arithmetic operations.
    ->Produces output i.e. useful information which is desired by the user.
    ->Controls the work i.e. the manner and the technique in which all the above operations execute.

    C Language:
    -> C Language is a type of structural/procedural programming.
    -> C Language works on “top-down” programming approach which means the problem is viewed as a sequence of tasks to be performed.
    -> While solving a problem, C Language divides it into segments which behave as subprograms.

    Compilation Phases:
    The process can be split into four separate stages: Preprocessing, compilation, assembly, and linking.
    ->Let us have a C program which is saved as “.c” file.
    ->The first stage of compilation is called preprocessing.
    “.c” file goes to preprocessor, which produces “.i” file.
    ->The second stage of compilation is confusingly enough called compilation.
    “.i” file goes to compiler, which produces “.s” file.
    ->The third stage of compilation is called assembly.
    “.s” file goes to assembler, which produces “.o” file, which is in machine language/object type.
    ->The last stage of compilation is called linking.
    “.o” file goes to linker, which produces “.exe” file in windows or “.out” file in Linux.
    (The image attached with the article has a diagrammatic representation of this process)

    click here to view–> Compilation phases

    Function of Preprocessor:
    ->performs “find and replace” operation.
    ->processes ‘#’ directives.
    Function of Compiler:
    ->checks the grammar of program.
    ->checks for syntax and errors.
    ->converts into assembly code.
    Function of Assembler:
    ->converts assembly code to machine language.
    Function of Linker:
    ->links all the files such as printf.o, scanf.o, sin.o, cos.o, etc.

    Let us have a look on the very first code snippet to understand the basic structure of a C code:

    #include <—–header file/bin folder
    int <—–data type
    main() <—–function
    printf(“Hello, World!”); <—–desired output
    return 0; <—–endpoint of the function


You must be logged in to reply to this topic.