1. Menu
Search tutorials, courses and ebooks...
HTML
CSS
Javascript
SQL
Python
Java
C
C++
PHP
Scala
C#
Node.Js
MySQL
MongoDB
PL/SQL
Swift
Bootstrap
R
Machine Learning
Blockchain
Angular
2. React Native
Computer Fundamentals
Compiler Design
Operating System
Data Structure And Algorithms
Computer Network
DBMS
Excel
C++ Basics
C++ Home
C++ Overview
C++ Environment Setup
C++ Basic Syntax
C++ Comments
C++ Data Types
C++ Variable Types
C++ Variable Scope
C++ Constants/Literals
C++ Modifier Types
C++ Storage Classes
C++ Operators
C++ Loop Types
C++ Decision Making
C++ Functions
C++ Numbers
3. C++ Arrays
C++ Strings
C++ Pointers
C++ References
C++ Date & Time
C++ Basic Input/Output
C++ Data Structures
C++ Object Oriented
C++ Classes & Objects
C++ Inheritance
C++ Overloading
C++ Polymorphism
C++ Abstraction
C++ Encapsulation
C++ Interfaces
C++ Advanced
C++ Files and Streams
C++ Exception Handling
C++ Dynamic Memory
C++ Namespaces
C++ Templates
C++ Preprocessor
C++ Signal Handling
C++ Multithreading
C++ Web Programming
4. C++ Useful Resources
C++ Questions and Answers
C++ Quick Guide
C++ Object Oriented
C++ STL Tutorial
C++ Standard Library
C++ Useful Resources
C++ Discussion
Selected Reading
UPSC IAS Exams Notes
Developer's Best Practices
Questions and Answers
Effective Resume Writing
HR Interview Questions
Computer Glossary
Who is Who
C++ Tutorial
PDF Version
Quick Guide
Resources
5. Job Search
Discussion
C++ is a middle-level programming language developed by Bjarne Stroustrup starting in 1979 at Bell
Labs. C++ runs on a variety of platforms, such as Windows, Mac OS, and the various versions of UNIX.
This C++ tutorial adopts a simple and practical approach to describe the concepts of C++ for beginners to
advanded software engineers.
ADVERTISEMENT
ADVERTISEMENT
Why to Learn C++
C++ is a MUST for students and working professionals to become a great Software Engineer. I will list
down some of the key advantages of learning C++:
C++ is very close to hardware, so you get a chance to work at a low level which gives you lot of control in
terms of memory management, better performance and finally a robust software development.
C++ programming gives you a clear understanding about Object Oriented Programming. You will
understand low level implementation of polymorphism when you will implement virtual tables and
virtual table pointers, or dynamic type identification.
C++ is one of the every green programming languages and loved by millions of software developers. If
you are a great C++ programmer then you will never sit without work and more importantly you will get
highly paid for your work.
C++ is the most widely used programming languages in application and system programming. So you can
choose your area of interest of software development.
6. C++ really teaches you the difference between compiler, linker and loader, different data types, storage
classes, variable types their scopes etc.
There are 1000s of good reasons to learn C++ Programming. But one thing for sure, to learn any
programming language, not only C++, you just need to code, and code and finally code until you become
expert.
ADVERTISEMENT
ADVERTISEMENT
Hello World using C++
Just to give you a little excitement about C++ programming, I'm going to give you a small conventional
C++ Hello World program, You can try it using Demo link
C++ is a super set of C programming with additional implementation of object-oriented concepts.
Live Demo
#include <iostream>
using namespace std;
// main() is where program execution begins.
int main() {
cout << "Hello World"; // prints Hello World
return 0;
}
There are many C++ compilers available which you can use to compile and run above mentioned
program:
7. Apple C++. Xcode
Bloodshed Dev-C++
Clang C++
Cygwin (GNU C++)
Mentor Graphics
MINGW - "Minimalist GNU for Windows"
GNU CC source
IBM C++
Intel C++
Microsoft Visual C++
Oracle C++
HP C++
8. It is really impossible to give a complete list of all the available compilers. The C++ world is just too large
and too much new is happening.
ADVERTISEMENT
ADVERTISEMENT
Applications of C++ Programming
As mentioned before, C++ is one of the most widely used programming languages. It has it's presence in
almost every area of software development. I'm going to list few of them here:
Application Software Development - C++ programming has been used in developing almost all the major
Operating Systems like Windows, Mac OSX and Linux. Apart from the operating systems, the core part of
many browsers like Mozilla Firefox and Chrome have been written using C++. C++ also has been used in
developing the most popular database system called MySQL.
Programming Languages Development - C++ has been used extensively in developing new programming
languages like C#, Java, JavaScript, Perl, UNIX’s C Shell, PHP and Python, and Verilog etc.
Computation Programming - C++ is the best friends of scientists because of fast speed and
computational efficiencies.
Games Development - C++ is extremely fast which allows programmers to do procedural programming
for CPU intensive functions and provides greater control over hardware, because of which it has been
widely used in development of gaming engines.
Embedded System - C++ is being heavily used in developing Medical and Engineering Applications like
softwares for MRI machines, high-end CAD/CAM systems etc.
This list goes on, there are various areas where software developers are happily using C++ to provide
great softwares. I highly recommend you to learn C++ and contribute great softwares to the community.
9. ADVERTISEMENT
ADVERTISEMENT
Audience
This C++ tutorial has been prepared for the beginners to help them understand the basic to advanced
concepts related to C++.
Prerequisites
Before you start practicing with various types of examples given in this C++ tutorial,we are making an
assumption that you are already aware of the basics of computer program and computer programming
language.
Menu
Search tutorials, courses and ebooks...
HTML
CSS
Javascript
SQL
Python
Java
C
C++
PHP
Scala
C#
Node.Js
11. C++ Variable Scope
C++ Constants/Literals
C++ Modifier Types
C++ Storage Classes
C++ Operators
C++ Loop Types
C++ Decision Making
C++ Functions
C++ Numbers
C++ Arrays
C++ Strings
C++ Pointers
C++ References
C++ Date & Time
C++ Basic Input/Output
C++ Data Structures
C++ Object Oriented
C++ Classes & Objects
C++ Inheritance
C++ Overloading
C++ Polymorphism
C++ Abstraction
C++ Encapsulation
C++ Interfaces
C++ Advanced
12. C++ Files and Streams
C++ Exception Handling
C++ Dynamic Memory
C++ Namespaces
C++ Templates
C++ Preprocessor
C++ Signal Handling
C++ Multithreading
C++ Web Programming
C++ Useful Resources
C++ Questions and Answers
C++ Quick Guide
C++ Object Oriented
C++ STL Tutorial
C++ Standard Library
C++ Useful Resources
C++ Discussion
Selected Reading
UPSC IAS Exams Notes
Developer's Best Practices
Questions and Answers
Effective Resume Writing
HR Interview Questions
Computer Glossary
Who is Who
13. C++ Overview
C++ is a statically typed, compiled, general-purpose, case-sensitive, free-form programming language
that supports procedural, object-oriented, and generic programming.
C++ is regarded as a middle-level language, as it comprises a combination of both high-level and low-
level language features.
C++ was developed by Bjarne Stroustrup starting in 1979 at Bell Labs in Murray Hill, New Jersey, as an
enhancement to the C language and originally named C with Classes but later it was renamed C++ in
1983.
C++ is a superset of C, and that virtually any legal C program is a legal C++ program.
Note − A programming language is said to use static typing when type checking is performed during
compile-time as opposed to run-time.
Object-Oriented Programming
C++ fully supports object-oriented programming, including the four pillars of object-oriented
development −
Encapsulation
Data hiding
Inheritance
Polymorphism
ADVERTISEMENT
14. ADVERTISEMENT
Standard Libraries
Standard C++ consists of three important parts −
The core language giving all the building blocks including variables, data types and literals, etc.
The C++ Standard Library giving a rich set of functions manipulating files, strings, etc.
The Standard Template Library (STL) giving a rich set of methods manipulating data structures, etc.
The ANSI Standard
The ANSI standard is an attempt to ensure that C++ is portable; that code you write for Microsoft's
compiler will compile without errors, using a compiler on a Mac, UNIX, a Windows box, or an Alpha.
The ANSI standard has been stable for a while, and all the major C++ compiler manufacturers support
the ANSI standard.
ADVERTISEMENT
ADVERTISEMENT
Learning C++
The most important thing while learning C++ is to focus on concepts.
The purpose of learning a programming language is to become a better programmer; that is, to become
more effective at designing and implementing new systems and at maintaining old ones.
15. C++ supports a variety of programming styles. You can write in the style of Fortran, C, Smalltalk, etc., in
any language. Each style can achieve its aims effectively while maintaining runtime and space efficiency.
Use of C++
C++ is used by hundreds of thousands of programmers in essentially every application domain.
C++ is being highly used to write device drivers and other software that rely on direct manipulation of
hardware under realtime constraints.
C++ is widely used for teaching and research because it is clean enough for successful teaching of basic
concepts.
Anyone who has used either an Apple Macintosh or a PC running Windows has indirectly used C++
because the primary user interfaces of these systems are written in C++
C Tutorial
PDF Version
Quick Guide
Resources
Job Search
Discussion
C programming is a general-purpose, procedural, imperative computer programming language
developed in 1972 by Dennis M. Ritchie at the Bell Telephone Laboratories to develop the UNIX
operating system. C is the most widely used computer language. It keeps fluctuating at number one
16. scale of popularity along with Java programming language, which is also equally popular and most
widely used among modern software programmers.
Why to Learn C Programming?
C programming language is a MUST for students and working professionals to become a great Software
Engineer specially when they are working in Software Development Domain. I will list down some of the
key advantages of learning C Programming:
Easy to learn
Structured language
It produces efficient programs
It can handle low-level activities
It can be compiled on a variety of computer platforms
Facts about C
C was invented to write an operating system called UNIX.
C is a successor of B language which was introduced around the early 1970s.
The language was formalized in 1988 by the American National Standard Institute (ANSI).
The UNIX OS was totally written in C.
17. Today C is the most widely used and popular System Programming Language.
Most of the state-of-the-art software have been implemented using C.
Hello World using C Programming.
Just to give you a little excitement about C programming, I'm going to give you a small conventional C
Programming Hello World program, You can try it using Demo link.
Live Demo
#include <stdio.h>
int main() {
/* my first program in C */
printf("Hello, World! n");
return 0;
}
Applications of C Programming
C was initially used for system development work, particularly the programs that make-up the operating
system. C was adopted as a system development language because it produces code that runs nearly as
fast as the code written in assembly language. Some examples of the use of C are -
Operating Systems
Language Compilers
Assemblers
18. Text Editors
Print Spoolers
Network Drivers
Modern Programs
Databases
Language Interpreters
Utilities
Audience
This tutorial is designed for software programmers with a need to understand the C programming
language starting from scratch. This C tutorial will give you enough understanding on C programming
language from where you can take yourself to higher level of expertise.
Prerequisites
Before proceeding with this tutorial, you should have a basic understanding of Computer Programming
terminologies. A basic understanding of any of the programming languages will help you in
understanding the C programming concepts and move fast on the learning track.
C Language - Overview
19. C is a general-purpose, high-level language that was originally developed by Dennis M. Ritchie to
develop the UNIX operating system at Bell Labs. C was originally first implemented on the DEC PDP-11
computer in 1972.
In 1978, Brian Kernighan and Dennis Ritchie produced the first publicly available description of C, now
known as the K&R standard.
The UNIX operating system, the C compiler, and essentially all UNIX application programs have been
written in C. C has now become a widely used professional language for various reasons −
Easy to learn
Structured language
It produces efficient programs
It can handle low-level activities
It can be compiled on a variety of computer platforms
ADVERTISEMENT
ADVERTISEMENT
Facts about C
C was invented to write an operating system called UNIX.
C is a successor of B language which was introduced around the early 1970s.
The language was formalized in 1988 by the American National Standard Institute (ANSI).
The UNIX OS was totally written in C.
Today C is the most widely used and popular System Programming Language.
20. Most of the state-of-the-art software have been implemented using C.
Today's most popular Linux OS and RDBMS MySQL have been written in C.
Why use C?
C was initially used for system development work, particularly the programs that make-up the operating
system. C was adopted as a system development language because it produces code that runs nearly as
fast as the code written in assembly language. Some examples of the use of C might be −
Operating Systems
Language Compilers
Assemblers
Text Editors
Print Spoolers
Network Drivers
Modern Programs
Databases
Language Interpreters
Utilities
ADVERTISEMENT
ADVERTISEMENT
C Programs
A C program can vary from 3 lines to millions of lines and it should be written into one or more text files
with extension ".c"; for example, hello.c. You can use "vi", "vim" or any other text editor to write your C
program into a file.
21. This tutorial assumes that you know how to edit a text file and how to write source code inside a
program file.