Friday, April 25, 2014

Language Characteristics Characteristics of C

Language Characteristics

Characteristics of C

Some of the important characteristics of C are as follows:

  1. Structured programming facilities
  2. Confirming to the ALGOL traditions
  3. Short circuit evaluation – usage of only one operand if the result can be determined with it alone
  4. Static typing system for avoiding unintended operations
  5. Value passed parameters with relevance to pointer value passing
  6. Heterogeneous data combination & manipulation
  7. Reserved keywords and free-format source text
  8. Larger number of compound operators, such as +=, ++
  9. Huge variable hiding capacity, though function definitions being non-nestable
  10. Character – integer usage similar to assembly language
  11. Low-level access to computer memory via machine addresses and typed pointers
  12. Function pointers allow rudimentary forms of closures & polymorphic runtime
  13. Pointer arithmetic defined Array indexing (secondary notion)
  14. Standardized processor for defining macros, including source code files & conditional compilations
  15. Complex Input/Output and mathematical functions with consistent delegation to library routines
  16. Syntax same as “B” (C’s predecessor) but different from ALGOL e.g.: { ... } replaced begin ... end, && and || replaced and & or, which
  17. While B used & and | in both meanings, C made them syntactically distinct from the bit-wise operators
  18. Similarities to Fortran e.g: the equal- sign for assignment (copying) & two consecutive equal-signs to test for equality (compare to EQ) or the equal-sign in BASIC)

                                             C                                                                       C++                                         


Designed byDennis RitchieBjarne Stroustrup
ParadigmsImperative (procedural) systems implementation languageMulti-paradigm, object-oriented programming, generic programming, procedural programming, functional programming, metaprogramming
Typing DisciplineStatic, Weakstatic, strong, unsafe, nominative
Influencedawk, csh, C++, C#, Objective-C, BitC, D, Concurrent C, Java, JavaScript, Limbo, Perl, PHPAda 95, C#, Java, PHP, D, Aikido
Major ImplementationsGCC, MSVC, Borland C, Watcom CGNU Compiler Collection, Microsoft Visual C++, Borland C++ Builder, Intel C++ Compiler, LLVM/Clang
Influenced byB (BCPL,CPL), ALGOL 68, AssemblyC, Simula, Ada 83, ALGOL 68, CLU, ML
Appeared in19721985
Garbage CollectionManual; allows better management of memory.No
SpeedC applications are faster to compile and execute than C++ applications+-5% when compare with C if you know how to make a good use of C++.The performance of C++ and C are equal, since compilers are mature.
Usual filename extensions.c.cc, .cpp, .cxx, .h, .hh, .hpp
Programming-includeuse #include<stdio.h>include

15 Most Important Differences Between C And C++

Relationship b/w C and C++

 Basic Introduction:
  • C++ is derived from C Language. It is a Superset of C. 
  • Earlier C++ was known as C with classes. 
  • In C++, the major change was the addition of classes and a mechanism for inheriting class objects into other classes. 
  • Most C Programs can be compiled in C++ compiler. 
  • C++ expressions are the same as C expressions. 
  • All C operators are valid in C++. 


Following are the differences Between C and C++ :


                               C                              C++
1. C is Procedural Language.1. C++ is non Procedural i.e Object oriented Language.
2. No virtual Functions are present in C2. The concept of virtual Functions are used in C++.
3. In C, Polymorphism is not possible.3. The concept of polymorphism is used in C++.
Polymorphism is the most Important Feature of OOPS.
4. Operator overloading is not possible in C.4. Operator overloading is one of the greatest Feature of C++.
5. Top down approach is used in Program Design.5. Bottom up approach adopted in Program Design.
6. No namespace Feature is present in C Language.6. Namespace Feature is present in C++ for avoiding Name collision.
7. Multiple Declaration of global variables are allowed.7. Multiple Declaration of global varioables are not allowed.
8. In C
  • scanf() Function used for Input.
  • printf() Function used for output.
8. In C++
  • Cin>> Function used for Input.
  • Cout<< Function used for output.
9. Mapping between Data and Function is difficult and complicated.9. Mapping between Data and Function can be used using "Objects"
10. In C, we can call main() Function through other Functions10. In C++, we cannot call main() Function through other functions.
11. C requires all the variables to be defined at the starting of a scope.11. C++ allows the declaration of variable anywhere in the scope i.e at time of its First use.
12. No inheritance is possible in C.12. Inheritance is possible in C++
13. In C, malloc() and calloc() Functions are used for Memory Allocation and free() function for memory Deallocating.13.In C++,  new and delete operators are used for Memory Allocating and Deallocating.
14. It supports built-in and primitive data types.14. It support both built-in and user define data types.
15. In C, Exception Handling is not present.15. In C++, Exception Handling is done with Try and Catch block.