Introduction to C language Features, Advantages, disadvantage, Algorithm.
Introduction to C language Features, Advantages, disadvantage, Algorithm, History.



Introduction To C Language

A structured programming language offers a variety of programming possibilities and capabilities. It support different control loops, different statements etc.
C language is a general purpose and structured programming language developed by'Dennis Ritchie' at AT&T's Bell Laboratories in the 1972s in USA.
C language combines the best elements of high-level language with control and flexibility of assembly language so it is a middle level language.
C language is also called as 'Procedure oriented Programming Language. C is a Middle level language that don't provide all the built-in functions found in high level languages, but provides all building blocks that we need to produce the result we want.
C language allows the programmer to write low level programs as well ashigh level programs so it is called as Middle Level Language.


C has now become a widely used professional language for following reasons:

1. C language is easy to learn.
2. Clanguage is structured language.
3. Clanguage produces efficient programs. 4. C language can handle low-level activities.
5. C language can be complled on a variety of computers.


Features of C language 

C language consist of following features:

 1. Middle Level Language:-
C is a middle level language as it combines elements of high-level language with the functional of assembly language. Callows direct manipulation of bits, bytes, words, and pointers.

2. Block Structured Language:-
C is referred as a structured language because it is similar in many ways to other structured languages like ALGOL, Pascal and the likes. Callows categorization of code and data. This is a distinguishing feature of any structured language.

3. Code Portability:- 
The code written in C is machine independent which means, there is no change in 'C' instructions, when you change the Operating System or Hardware. There is hardly any change required to compile when you move the
program from one environment to another.

4. Recursion:-
A function may call itself again and again this feature is called as recursion, is supported by C.

5. Efficiency:- 
C provides fast program execution.

6. High level language feature:- 
This feature allows the programmer to concentrate on the logic flow of the code. 

7. Low level features:-
C has a close relationship with assembly languages. So it is easy to make assembly program in C.

8. Powerful:-
C is very powerful language since low level commands have been
access like assembly language.

 9. Flexibility:- 
In C language, programmer has many ways to accomplish the same task.

10. Small size:- 
C language provides no input output facilities. This helps to keep program small.


Advantages:

Various advantages of C language are: 

1. C is a building block for many other currently known languages.

2. It is Portable Programming Language. This means a program written for one computer may run successfully on other computer also. 

3. It is fast for executing. This means that the executable program obtained after compiling and linking runs very fast. 

4. It is Compact Programming Language. The statements in C Language are generally short but very powerful.

5. It is simple/easy. The C Language has both the simplicity of High Level Language and the speed of Low Level Language. So it is also know as Middle Level Language.


Disadvantages:

Various disadvantages of C language are:

1. There is no run-time checking.

2. There is no strict type checking, (for example: We can pass an integer value for floating data type). 

3. As the program extends it is very difficult to fix the bugs.

4. It may be compile time overhead due to the misplacing and excessive use of pointers.

5. Now-a-days, it does not use to develop complex type of softwares.


Algorithm:

A sequential solution of any program that written in human language, called Algorithm.
In programming, algorithm is the set of well defined instruction in sequence to solve a program. Algorithm is first step of the solution process. After the analysis of problem, programmer writes the algorithm of that problem.
Example: Algorithm to find out number is odd or even?

Step 1: Start

Step 2: input number 

Step 3: rem=number mod 2

Step 4: if rem-0 then
print "number even
else
print "number odd"
endif

Step 5: Stop

C has influenced the development of many other programming languages, including C++, C#, Objective-C, and Java. It is still widely used today, particularly in systems programming, embedded systems, and areas where low-level control and performance are critical. Learning C can be a great foundation for understanding computer architecture and programming concepts.