Basics of C

Basics of C programming

C is a general purpose high-level language most popular amongst coders, it is the most compatible, easy to learn and effective programming language. It is a successor of B language that came out way back in the 70s and has been the most popular programming language ever since.

Sorting element in array by frequency in C

 Features of C programming:-

  • C is a Middle level language. 
  • It is case sensitive.
  • It is easy to extend.
  • Highly portable.
  • It is fast and efficient.
  • It is more widely used language in operating systems and embedded system.
  • It is the simple language.
features of c

Why C is a middle level language?

To understand this let us first understand what higher and lower level languages are with example.

A higher level language would be the language that we humans speaks like simple English and lower level language is that a computer can understand like binary (1s and 0s) called machine language, while C is a middle level language that is between higher and lower level and is also called assembly language. It uses simple words from English like for, if, while, include and also symbols like +, ++, <, %, & to carry out tasks and to interact with our computer.

 

We Used C Language in Following Areas:-

  • We can create an Operating System with the help of the C language. Mostly all operating systems are developed in C language like Unix, Windows operating system.
  • We can develop assemblers in C language.
  • We can develop compilers in C language.
  • Network Drivers are also created using C language.
  • Text Editors are developed using the C language like Notepad++,gedit e.t.c.
  • Database Management System are developed using the C language like oracle database.

 

Limitations of C language:-

  • No exception handling is done.
  • We can not reuse the code in C language.
  • In C language, no run time type checking is done.
  • C language doesn’t support Object Oriented programming.

10 comments on “Basics of C”


  • Asra

    while C is a middle level language that is between higher and lower level and is also called assembly language.
    is this mean that c is also called assembly language ? how can it be ?


    • PrepInsta

      Let’s dispense with several misconceptions.

      C is not called “an assembly” or “an assembly language” or “an assembled language” by anyone who actually knows C and actually knows at least one assembly language. If you really know C and at least one assembly language, the distinction is crystal clear.

      C is compiled, not assembled. Assembly language code is assembled by an assembler. C code is compiled by a compiler. (There are some C interpreters out there, but they are outliers.)

      C is a high-level language.

      C is not a “portable assembly language” or any type of assembly language. It is a portable high-level language, if used with discipline. It’s actually very easy to write non-portable code in C, if you don’t know what disciplines are required in writing portable code.

      C is not a “low-level language.” Machine language and assembly language are low-level languages.

      While C (and some other languages) allow you do dip into assembly language inline, that doesn’t change the fact that C is a high-level language. C with some assembly mixed in is just that…a mix of C and assembly language. C can be used for “low-level programming,” but C is not a low-level language.

      K&R state in their preface to The C Programming Language that “C is not a ‘very high level’ language, “ and later in the introduction, they state that C is a “relatively ‘low level’ language.” The key words here are “very” and “relatively.” C is a general-purpose, high-level programming language that appears on the low end of the high-level language spectrum. It is lower-level compared to some other high-level languages, but it is still a high-level language.

      C is not a “middle-level language” or a “medium-level language.” These terms are contrived and are unnecessarily misleading. Instructors, books, videos, and websites have picked up these terms and propagated them. We don’t need a contrived and confusing middle step between low-level and high-level languages. The line between high and low is crystal clear, if you’ve written non-trivial code in C and in at least one assembly language.

      C is a “system programming language.” In fact, that’s what it was originally designed for. That doesn’t limit it only to system programming tasks, but it is perfectly suited for them.

      We know this is more than you asked, but I have recently run into a lot of misinformation on this point, so I thought I would try to clear things up a bit.


        • Manik

          Why C doesn’t support object oriented programming language

          20