C C++ Programming

Embed Size (px)

Citation preview

  • 7/28/2019 C C++ Programming

    1/3

    C (programming language)

    Incomputing,C(/si/, as inthe letter C) is a general-purposeprogramming languageinitially developed

    byDennis Ritchiebetween 1969 and 1973 atAT&T Bell Labs.[3]

    Like mostimperative languagesin

    theALGOLtradition, C has facilities forstructured programmingand allowslexical variablescopeandrecursion, while astatic type systemprevents many unintended operations. Its design

    provides constructs that map efficiently to typicalmachine instructions, and therefore it has found lasting

    use in applications that had formerly been coded in assembly language, most notablysystem

    softwarelike theUnixcomputeroperating system.[4]

    C is one of the most widely used programming languages of all time,[5][6]

    and C compilers are available for

    the majority of availablecomputer architecturesandoperating systems.

    Many later languages have borrowed directly or indirectly from C,

    includingC#,D,Go,Java,JavaScript,Limbo,LPC,Perl,PHP,Python, and Unix'sC shell. The most

    pervasive influence on these languages (excluding Python) has beensyntactical, and they tend to

    combine the recognizable expression and statementsyntax of Cwith underlying type systems, data

    models, and semantics that can be radically different.C++started as a preprocessor for C and is

    currentlynearly a superset of C.[7]

    C is animperative(procedural) language. It was designed to be compiled using a relatively

    straightforwardcompiler, to provide low-level access to memory, to provide language constructs that map

    efficiently to machine instructions, and to require minimalrun-time support. C was therefore useful for

    many applications that had formerly been coded in assembly language, such as insystem programming.

    Despite its low-level capabilities, the language was designed to encouragecross-platformprogramming.

    A standards-compliant andportablywritten C program can be compiled for a very wide variety ofcomputer platforms and operating systems with few changes to its source code. The language has

    become available on a very wide range of platforms, from embeddedmicrocontrollerstosupercomputers.

    Major Differences Between C And C++

    C++, as the name suggests, is a superset of C. As a matter of fact, C++ can run most of C

    code while C cannot run C++ code. Here are the 10 major differences between C++ & C

    1. C follows the procedural programming paradigm while C++ is amulti-

    paradigmlanguage(procedural as well as object oriented)

    http://en.wikipedia.org/wiki/Computinghttp://en.wikipedia.org/wiki/Computinghttp://en.wikipedia.org/wiki/Computinghttp://en.wikipedia.org/wiki/Help:IPA_for_Englishhttp://en.wikipedia.org/wiki/Help:IPA_for_Englishhttp://en.wikipedia.org/wiki/Help:IPA_for_English#Keyhttp://en.wikipedia.org/wiki/Help:IPA_for_English#Keyhttp://en.wikipedia.org/wiki/Help:IPA_for_English#Keyhttp://en.wikipedia.org/wiki/Help:IPA_for_Englishhttp://en.wikipedia.org/wiki/Help:IPA_for_Englishhttp://en.wikipedia.org/wiki/Help:IPA_for_Englishhttp://en.wikipedia.org/wiki/Chttp://en.wikipedia.org/wiki/Chttp://en.wikipedia.org/wiki/Chttp://en.wikipedia.org/wiki/Programming_languagehttp://en.wikipedia.org/wiki/Programming_languagehttp://en.wikipedia.org/wiki/Programming_languagehttp://en.wikipedia.org/wiki/Dennis_Ritchiehttp://en.wikipedia.org/wiki/Dennis_Ritchiehttp://en.wikipedia.org/wiki/Dennis_Ritchiehttp://en.wikipedia.org/wiki/AT%26T_Bell_Labshttp://en.wikipedia.org/wiki/AT%26T_Bell_Labshttp://en.wikipedia.org/wiki/C_(programming_language)#cite_note-ie-3http://en.wikipedia.org/wiki/C_(programming_language)#cite_note-ie-3http://en.wikipedia.org/wiki/C_(programming_language)#cite_note-ie-3http://en.wikipedia.org/wiki/Imperative_languagehttp://en.wikipedia.org/wiki/Imperative_languagehttp://en.wikipedia.org/wiki/Imperative_languagehttp://en.wikipedia.org/wiki/ALGOLhttp://en.wikipedia.org/wiki/ALGOLhttp://en.wikipedia.org/wiki/ALGOLhttp://en.wikipedia.org/wiki/Structured_programminghttp://en.wikipedia.org/wiki/Structured_programminghttp://en.wikipedia.org/wiki/Structured_programminghttp://en.wikipedia.org/wiki/Lexical_scopehttp://en.wikipedia.org/wiki/Lexical_scopehttp://en.wikipedia.org/wiki/Lexical_scopehttp://en.wikipedia.org/wiki/Lexical_scopehttp://en.wikipedia.org/wiki/Recursion_(computer_science)http://en.wikipedia.org/wiki/Recursion_(computer_science)http://en.wikipedia.org/wiki/Recursion_(computer_science)http://en.wikipedia.org/wiki/Static_type_systemhttp://en.wikipedia.org/wiki/Static_type_systemhttp://en.wikipedia.org/wiki/Static_type_systemhttp://en.wikipedia.org/wiki/Machine_instructionhttp://en.wikipedia.org/wiki/Machine_instructionhttp://en.wikipedia.org/wiki/Machine_instructionhttp://en.wikipedia.org/wiki/Assembly_languagehttp://en.wikipedia.org/wiki/Assembly_languagehttp://en.wikipedia.org/wiki/Assembly_languagehttp://en.wikipedia.org/wiki/System_softwarehttp://en.wikipedia.org/wiki/System_softwarehttp://en.wikipedia.org/wiki/System_softwarehttp://en.wikipedia.org/wiki/System_softwarehttp://en.wikipedia.org/wiki/Unixhttp://en.wikipedia.org/wiki/Unixhttp://en.wikipedia.org/wiki/Unixhttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/C_(programming_language)#cite_note-AutoTX-1-4http://en.wikipedia.org/wiki/C_(programming_language)#cite_note-AutoTX-1-4http://en.wikipedia.org/wiki/C_(programming_language)#cite_note-AutoTX-1-4http://en.wikipedia.org/wiki/C_(programming_language)#cite_note-AutoTX-2-5http://en.wikipedia.org/wiki/C_(programming_language)#cite_note-AutoTX-2-5http://en.wikipedia.org/wiki/C_(programming_language)#cite_note-AutoTX-2-5http://en.wikipedia.org/wiki/Computer_architectureshttp://en.wikipedia.org/wiki/Computer_architectureshttp://en.wikipedia.org/wiki/Computer_architectureshttp://en.wikipedia.org/wiki/Operating_systemshttp://en.wikipedia.org/wiki/Operating_systemshttp://en.wikipedia.org/wiki/Operating_systemshttp://en.wikipedia.org/wiki/C_Sharp_(programming_language)http://en.wikipedia.org/wiki/C_Sharp_(programming_language)http://en.wikipedia.org/wiki/C_Sharp_(programming_language)http://en.wikipedia.org/wiki/D_(programming_language)http://en.wikipedia.org/wiki/D_(programming_language)http://en.wikipedia.org/wiki/D_(programming_language)http://en.wikipedia.org/wiki/Go_(programming_language)http://en.wikipedia.org/wiki/Go_(programming_language)http://en.wikipedia.org/wiki/Go_(programming_language)http://en.wikipedia.org/wiki/Java_(programming_language)http://en.wikipedia.org/wiki/Java_(programming_language)http://en.wikipedia.org/wiki/Java_(programming_language)http://en.wikipedia.org/wiki/JavaScripthttp://en.wikipedia.org/wiki/JavaScripthttp://en.wikipedia.org/wiki/JavaScripthttp://en.wikipedia.org/wiki/Limbo_(programming_language)http://en.wikipedia.org/wiki/Limbo_(programming_language)http://en.wikipedia.org/wiki/Limbo_(programming_language)http://en.wikipedia.org/wiki/LPC_(programming_language)http://en.wikipedia.org/wiki/LPC_(programming_language)http://en.wikipedia.org/wiki/LPC_(programming_language)http://en.wikipedia.org/wiki/Perlhttp://en.wikipedia.org/wiki/Perlhttp://en.wikipedia.org/wiki/Perlhttp://en.wikipedia.org/wiki/PHPhttp://en.wikipedia.org/wiki/PHPhttp://en.wikipedia.org/wiki/PHPhttp://en.wikipedia.org/wiki/Python_(programming_language)http://en.wikipedia.org/wiki/Python_(programming_language)http://en.wikipedia.org/wiki/Python_(programming_language)http://en.wikipedia.org/wiki/C_shellhttp://en.wikipedia.org/wiki/C_shellhttp://en.wikipedia.org/wiki/C_shellhttp://en.wikipedia.org/wiki/Syntax_(programming_languages)http://en.wikipedia.org/wiki/Syntax_(programming_languages)http://en.wikipedia.org/wiki/Syntax_(programming_languages)http://en.wikipedia.org/wiki/C_syntaxhttp://en.wikipedia.org/wiki/C_syntaxhttp://en.wikipedia.org/wiki/C_syntaxhttp://en.wikipedia.org/wiki/C%2B%2Bhttp://en.wikipedia.org/wiki/C%2B%2Bhttp://en.wikipedia.org/wiki/C%2B%2Bhttp://en.wikipedia.org/wiki/Compatibility_of_C_and_C%2B%2Bhttp://en.wikipedia.org/wiki/Compatibility_of_C_and_C%2B%2Bhttp://en.wikipedia.org/wiki/C_(programming_language)#cite_note-AutoTX-4-7http://en.wikipedia.org/wiki/C_(programming_language)#cite_note-AutoTX-4-7http://en.wikipedia.org/wiki/C_(programming_language)#cite_note-AutoTX-4-7http://en.wikipedia.org/wiki/Imperative_programminghttp://en.wikipedia.org/wiki/Imperative_programminghttp://en.wikipedia.org/wiki/Imperative_programminghttp://en.wikipedia.org/wiki/Procedural_programminghttp://en.wikipedia.org/wiki/Procedural_programminghttp://en.wikipedia.org/wiki/Procedural_programminghttp://en.wikipedia.org/wiki/Compilerhttp://en.wikipedia.org/wiki/Compilerhttp://en.wikipedia.org/wiki/Compilerhttp://en.wikipedia.org/wiki/Run-time_systemhttp://en.wikipedia.org/wiki/Run-time_systemhttp://en.wikipedia.org/wiki/Run-time_systemhttp://en.wikipedia.org/wiki/Assembly_languagehttp://en.wikipedia.org/wiki/Assembly_languagehttp://en.wikipedia.org/wiki/Assembly_languagehttp://en.wikipedia.org/wiki/System_programminghttp://en.wikipedia.org/wiki/System_programminghttp://en.wikipedia.org/wiki/System_programminghttp://en.wikipedia.org/wiki/Cross-platformhttp://en.wikipedia.org/wiki/Cross-platformhttp://en.wikipedia.org/wiki/Cross-platformhttp://en.wikipedia.org/wiki/Portinghttp://en.wikipedia.org/wiki/Portinghttp://en.wikipedia.org/wiki/Portinghttp://en.wikipedia.org/wiki/Microcontrollerhttp://en.wikipedia.org/wiki/Microcontrollerhttp://en.wikipedia.org/wiki/Microcontrollerhttp://en.wikipedia.org/wiki/Supercomputerhttp://en.wikipedia.org/wiki/Supercomputerhttp://en.wikipedia.org/wiki/Supercomputerhttp://durofy.com/programming/c-as-a-multi-paradigm-programming-language/http://durofy.com/programming/c-as-a-multi-paradigm-programming-language/http://durofy.com/programming/c-as-a-multi-paradigm-programming-language/http://durofy.com/programming/c-as-a-multi-paradigm-programming-language/http://durofy.com/programming/c-as-a-multi-paradigm-programming-language/http://durofy.com/programming/c-as-a-multi-paradigm-programming-language/http://en.wikipedia.org/wiki/Supercomputerhttp://en.wikipedia.org/wiki/Microcontrollerhttp://en.wikipedia.org/wiki/Portinghttp://en.wikipedia.org/wiki/Cross-platformhttp://en.wikipedia.org/wiki/System_programminghttp://en.wikipedia.org/wiki/Assembly_languagehttp://en.wikipedia.org/wiki/Run-time_systemhttp://en.wikipedia.org/wiki/Compilerhttp://en.wikipedia.org/wiki/Procedural_programminghttp://en.wikipedia.org/wiki/Imperative_programminghttp://en.wikipedia.org/wiki/C_(programming_language)#cite_note-AutoTX-4-7http://en.wikipedia.org/wiki/Compatibility_of_C_and_C%2B%2Bhttp://en.wikipedia.org/wiki/C%2B%2Bhttp://en.wikipedia.org/wiki/C_syntaxhttp://en.wikipedia.org/wiki/Syntax_(programming_languages)http://en.wikipedia.org/wiki/C_shellhttp://en.wikipedia.org/wiki/Python_(programming_language)http://en.wikipedia.org/wiki/PHPhttp://en.wikipedia.org/wiki/Perlhttp://en.wikipedia.org/wiki/LPC_(programming_language)http://en.wikipedia.org/wiki/Limbo_(programming_language)http://en.wikipedia.org/wiki/JavaScripthttp://en.wikipedia.org/wiki/Java_(programming_language)http://en.wikipedia.org/wiki/Go_(programming_language)http://en.wikipedia.org/wiki/D_(programming_language)http://en.wikipedia.org/wiki/C_Sharp_(programming_language)http://en.wikipedia.org/wiki/Operating_systemshttp://en.wikipedia.org/wiki/Computer_architectureshttp://en.wikipedia.org/wiki/C_(programming_language)#cite_note-AutoTX-2-5http://en.wikipedia.org/wiki/C_(programming_language)#cite_note-AutoTX-2-5http://en.wikipedia.org/wiki/C_(programming_language)#cite_note-AutoTX-1-4http://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Unixhttp://en.wikipedia.org/wiki/System_softwarehttp://en.wikipedia.org/wiki/System_softwarehttp://en.wikipedia.org/wiki/Assembly_languagehttp://en.wikipedia.org/wiki/Machine_instructionhttp://en.wikipedia.org/wiki/Static_type_systemhttp://en.wikipedia.org/wiki/Recursion_(computer_science)http://en.wikipedia.org/wiki/Lexical_scopehttp://en.wikipedia.org/wiki/Lexical_scopehttp://en.wikipedia.org/wiki/Structured_programminghttp://en.wikipedia.org/wiki/ALGOLhttp://en.wikipedia.org/wiki/Imperative_languagehttp://en.wikipedia.org/wiki/C_(programming_language)#cite_note-ie-3http://en.wikipedia.org/wiki/AT%26T_Bell_Labshttp://en.wikipedia.org/wiki/Dennis_Ritchiehttp://en.wikipedia.org/wiki/Programming_languagehttp://en.wikipedia.org/wiki/Chttp://en.wikipedia.org/wiki/Help:IPA_for_Englishhttp://en.wikipedia.org/wiki/Help:IPA_for_English#Keyhttp://en.wikipedia.org/wiki/Help:IPA_for_English#Keyhttp://en.wikipedia.org/wiki/Help:IPA_for_Englishhttp://en.wikipedia.org/wiki/Help:IPA_for_Englishhttp://en.wikipedia.org/wiki/Computing
  • 7/28/2019 C C++ Programming

    2/3

    In case of C, importance is given to the steps or procedure of the program while C++

    focuses on the data rather than the process.

    Also, it is easier to implement/edit the code in case of C++ for the same reason.

    2. In case of C, the data is not secured while the data is secured(hidden) in C++

    This difference is due to specificOOP featureslike Data Hiding which are not present in C.

    3. C is a low-level language while C++ is a middle-level language (Relatively, Please see

    the discussion at the end of the post)

    C is regarded as a low-level language(difficult interpretation & less user friendly) while

    C++ has features of both low-level(concentration on whats going on in the machine

    hardware) & high-level languages(concentration on the program itself) & hence is regarded

    as a middle-level language.

    4. C uses the top-down approach while C++ uses the bottom-up approach

    In case of C, the program is formulated step by step, each step is processed into detail

    while in C++, the base elements are first formulated which then are linked together to give

    rise to larger systems.

    5. C is function-driven while C++ is object-driven

    Functions are the building blocks of a C program while objects are building blocks of a

    C++ program.

    6. C++ supports function overloading while C does not

    Overloading means two functions having the same name in the same program. This can be

    done only in C++ with the help ofPolymorphism(an OOP feature)

    7. We can use functions inside structures in C++ but not in C.

    In case of C++, functions can be used inside a structure while structures cannot contain

    functions in C.

    8. The NAMESPACE feature in C++ is absent in case of C

    C++ uses NAMESPACE which avoid name collisions. For instance, two students enrolled inthe same university cannot have the same roll number while two students in different

    universities might have the same roll number. The universities are two different namespace

    & hence contain the same roll number(identifier) but the same university(one namespace)

    cannot have two students with the same roll number(identifier)

    9. The standard input & output functions differ in the two languages

    http://durofy.com/programming/the-basics-of-object-oriented-programming/http://durofy.com/programming/the-basics-of-object-oriented-programming/http://durofy.com/programming/the-basics-of-object-oriented-programming/http://durofy.com/programming/the-basics-of-object-oriented-programming/http://durofy.com/programming/the-basics-of-object-oriented-programming/http://durofy.com/programming/the-basics-of-object-oriented-programming/http://durofy.com/programming/the-basics-of-object-oriented-programming/http://durofy.com/programming/the-basics-of-object-oriented-programming/
  • 7/28/2019 C C++ Programming

    3/3

    C uses scanf & printf while C++ uses cin>> & cout