C and C++ Programming
60 hrs Theory Sessions
100 hrs of Practice Sessions
50 hrs of Hands-on Project
Introduction
C/C++ is general Purpose Programming language which supports Object Oriented Concepts., generally C++ is a Super Set of C Language Every C application can be upgraded in C++ with Object Oriented Concepts There are many application like Operating Systems.
Unix, Windows, Linux, NoCrysis Warhead and Other Cool games, No Photoshop, No FireFox, No VLC, No FL Studio, No Playstation, No XBOX and the list continue. 90% of the applications in the world are written in C and C++.
Course Objective
- Have a comprehensive understanding of C programming fundamentals.
- Be able to write, compile, and debug C programs with confidence.
- Master essential programming concepts, including functions, pointers, and data structures.
- Develop strong problem-solving skills through practical exercises.
- Gain knowledge of memory management and file handling techniques.
- The developed application of C can change into with classes and can add all the Object Oriented Concepts.
- Developing in C++ the application is more optimized and efficient than C.
Pre-requisites
- Basic familiarity with computer operations and programming logic.
- A willingness to learn and tackle new challenges.
- No prior programming experienceis required, making our C Language Online Classes accessible to everyone.
Course Curriculum
Fundamentals of C
- Program
- Programming
- Programming Languages
- Types of software
- Introduction to C
- History of C
- Features of C
- Applications of C
- Character set, ASCII Table
- Tokens
- Keywords
- Identifiers & Naming Rules
- constants
- Data Types
- Type Qualifiers
- How does the data stored in Computers Memory
- Variables
- Variable Declaration
- Variable Assignment
- Variable Initialization
- Comments
- Defining Constants
- MCQs
Operators And Expressions
- Arithmetic operators
- Arithmetic expressions
- Evaluation of expressions
- Relational operators
- Logical operators
- Assignment operators
- Increment & decrement operators
- Conditional operator
- Bitwise operators
- Type casting
- Size of operator
- Comma operator
- Operators Precedence and Associativity
- Expressions
- Evaluation of Expressions
- MCQs
Input-Output Functions
- Input-Output Library Functions
- Non-formatted Input and Output
- Character oriented Library functions
- Compiler, Linker and Loader
- Program execution phases
- Formatted Library Functions
- Mathematical Library Functions
- Structure of a C Program
- IDE
- Basic programs
- MCQs
Control Statements
- Conditional Control Statements
- Multiple Branching Control Structure
- Loop Control statements
- Nested Loops
- Jump Control structures
- Programs
- MCQs
Arrays
- Arrays
- One dimensional arrays
- Declaration of 1D arrays
- Initialization of 1D arrays
- Accessing element of 1D arrays
- Reading and displaying elements
- Programs on 1D Arrays
- Two dimensional arrays
- Declaration of 2D arrays
- Initialization of 2D arrays
- Accessing element of 2D arrays
- Reading and displaying elements
- Programs on 2D Arrays
- Three dimensional arrays
- MCQs
Strings
- String Concept
- Introduction to String in C
- Storing Strings
- The string Delimiter
- String Literals (String Constants)
- Strings and Characters
- Declaring Strings
- Initializing Strings
- Strings and the Assignment Operator
- String Input Functions / Reading Strings
- String Output Functions / Writing Strings
- String Input-Output using fscanf() and fprintf() Functions
- Single Character Library Functions / Character Manipulation in the String
- String Manipulation Library Functions
- Programs Using Character Arrays
- Array of Strings (2D Character Arrays)
- Programs Using Array of Strings
- MCQs
Pointers
- Understanding Memory Addresses
- Pointer Operators
- Pointer
- Pointer Advantages and Disadvantages
- Declaration of Pointer Variables
- Initialization of Pointer Variables
- Dereferencing / Redirecting Pointer Variables
- Declaration versus Redirection
- Void Pointer
- Null Pointer
- Compatibility
- Array of Pointers
- Pointer to Pointer
- Pointer Arithmetic
- Dynamic Memory Allocation Functions
Functions
- Understanding Memory Addresses
- Pointer Operators
- Pointer
- Pointer Advantages and Disadvantages
- Declaration of Pointer Variables
- Initialization of Pointer Variables
- Dereferencing / Redirecting Pointer Variables
- Declaration versus Redirection
- Void Pointer
- Null Pointer
- Compatibility
- Array of Pointers
- Pointer to Pointer
- Pointer Arithmetic
- Dynamic Memory Allocation Functions
Storage Classes
- Object Attributes
- Scope
- Extent
- Linkage
- auto
- static
- extern
- register
- MCQs
Preprocessor Directives
- The #include Preprocessor Directive & User defined header files
- The #define Preprocessor Directive: Symbolic Constants
- The #define Preprocessor Directive: Macros
- Conditional Compilation Directives
- #if
- #else
- #elif
- #endif
- #ifdef
- #ifndef
- #undef
- #error
- #line
- #pragma
- MCQs
Structures, Unions,Enumerations and Type def
- Structures
- Structure Type Declaration
- Structure Variable Declaration
- Initialization of Structure
- Accessing the members of a structure
- Programs Using Structures
- Operations on Structures (Copying and Comparing Structures)
- Nested structures (Complex Structures)
- Structures Containing Arrays (Complex Structures)
- Array of Structures (Complex Structures)
- Pointer to Structure
- Accessing structure member through pointer using dynamic memory allocation
- Pointers within Structures
- Self-referential structures
- Passing Structures to Functions
- Functions returning Structures
- Unions
- Differences between Structures & Unions
- Enumerated Types / enum keyword
- Enumerated Types / enum keyword
- Bit fields
- MCQs
Command line arguments Files
- Concept of a file
- Streams
- Text File and Binary Files
- State of a File
- Opening and Closing Files
- File Input / Output Functions
- Formatted Input-Output Functions
- Character Input-Output Functions
- Line Input-Output Functions
- Block Input-Output Functions
- File Status Functions (Error Handling)
- Positioning Functions
- System File Operations
- MCQs
Graphics
- Initialization of graphics
- Drawing shapes using pre-defined functions
- Finding the resolution of screen
- Setting colors to text and window
- Font settings
- Fill styles
- Basic GUI applications
Basics Of C++
- Introduction to C++
- Different paradigms of problem solving
- POP vs OOP
- Features of Object Oriented Programming Languages
- Object
- Class
- Abstraction
- Encapsulation
- Inheritance
- Polymorphism
- Dynamic Binding
- Message Communication
- Constants
- Variables
- Keywords
- Data types
- Declaration of Variables
- Output Stream (cout) & Manipulators
- Input Stream (cin)
- Comments
- Operators
- Arithmetic operators
- Relational operators
- Logical operators
- Assignment operators & compound assessment operations
- Increment & decrement operators
- Conditional operators
- Bitwise operators
- Shift operators
- Type casting
- Compound assignment operators
- Address operators
- Comma operator
- Pointer operator
- Sizeof operator
- new operator
- delete operator
- Control Statements
- Conditional Control Statements
- If, if-else
- nested if-else, if-else-if ladder
- Multiple Branching Control Structure
- switch-case
- Loop Control statements
- While
- do-while
- for
- Nested Loops
- Jump Control structures
- break
- continue
- goto
- return
- Arrays
- Strings
- Structures
- Pointers
- Dynamic memory allocation using new and delete
Functions
- Defining a Function
- Calling a Function
- Return statement
- Function Prototype
- Basic Function Designs
- Scope
- Reference variables
- Recursion
- Parameter Passing Methods
- Call by value
- Call by address
- Call by reference
- Function Overloading
- Default Arguments
- Inline Functions
Classes and Objects
- Defining a Class
- Creating Objects
- Access specifiers
- Accessing Class Members
- Scope Resolution Operator ( :: )
- Defining Member Functions
- Outside the class
- Inside the class
- Member function with argument
- This pointer
- Passing Objects as Arguments
- Returning Objects
- Array of objects
- Pointer to object
- Dynamic objects
- Friend Functions
- Friend Class
- Composition
- Container class
- Contained class
- Programs
- Student Class
- Employee Class
- Complex Class
- Matrix Class
- Rational Class
- Circle Class
- Rectangle Class
Constructors & Destructors
- Constructors
- Properties of constructors
- Types of constructors
- Default Constructors
- Parameterized Constructors
- Copy Constructors
- Constructor Overloading
- Constructors with Default Arguments
- Destructors
- Differences between Member functions & Constructors
- Differences between Constructors & Destructors
- Static Data Members
- Static member functions
- Constant data members
- Constant Member Functions
Operator Overloading
- Defining Operator Overloading Function
- Overloading Unary Operators
- Overloading Binary Operators
- Overloading Unary Operators using Friend Functions
- Overloading Binary Operators using Friend Functions
- Overloading << & >>
- Programs
Inheritance
- Class hierarchies
- Base classes
- Derived Classes
- Derived Class Definition
- Access specifier : protected
- Types of Inheritance & Programs
- Single inheritance
- Multiple inheritance
- Hierarchical inheritance
- Multi-level inheritance
- Hybrid inheritance
- Multi-path inheritance
- Constructors in Derived Classes
- Destructors in Derived Classes
Polymorphism and Virtual Functions
- Static Binding
- Dynamic Binding
- Virtual Destructor
- Function Overriding
- Accessing Members using Pointers
- Virtual Functions
- Pure Virtual Functions
- Abstract Classes
- Virtual Destructors
Templates
- Introduction
- Advantages
- Function Templates
- Over loading function template
- Class Templates
- Inheritance Class Templates
Exception Handling
- Types of Errors
- Benefits of exception handling
- try, catch, throw keywords
- Throwing an exception
- ‘try’ block
- Catching an exception
- Exception objects
- Rethrowing an exception
- Exception Handling Mechanism
- Catching all exceptions
- Nested try blocks
Files
- File Streams Classes
- Opening & Closing a File
- Detection End of File
- File Pointers & Their Manipulation
- Sequential Files
- Random Access Files
I-O Streams
- I-O stream Class hierarchies
- Unformatted I-O Operation
- get(), put(), getline()
- write()
- in cout
- cin
- Formatted I-O Operations
- width(), precision()
- fill(), setf()
- unsetf()
- Manipulators
- Manipulator operators
- Endl, ends
- manipulator functions
- setw(), setfill()
- setprecision()
- setiosflags()
- setbase()
- resetiosflags()
- User defined manipulators
- Operator and Overloading
Standard Template Libraries
- Containers
- vector
- list, deque
- arrays
- forward_list
- queue
- priority_queue
- stack
- set, multiset
- map, multimap
- Algorithms
- Sorting, Searching
- Important STL Algorithms
- Useful Array algorithms
- Partition Operations
- Iterators