C, C++
Course Overview
The C and C++ Programming course at NexGen Pro Academy equips beginners and intermediate learners with a solid foundation in both structured and object-oriented programming. Starting with C, students learn core concepts like syntax, logic building, and memory management. The course then advances to C++, introducing OOP principles such as classes, inheritance, and polymorphism. Through hands-on exercises and mini projects, learners enhance coding skills and prepare for academic, competitive, and career-oriented programming challenges.
Objectives
- Understand the basic syntax and structure of C and C++
- Develop logical thinking through control structures and loops
- Use functions, arrays, strings, and pointers effectively
- Perform file operations and memory management
- Grasp Object-Oriented Programming (OOP) concepts in C++
- Implement classes, objects, inheritance, and polymorphism
- Strengthen debugging and problem-solving skills using both languages
- Write efficient, modular, and reusable code
Trainer Name
- Noor
Course Duration
2-3 Months
Course Mode
Online & Offline
Curriculum
C Language
Fundamentals in 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
- Sizeof 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
- 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
Arrays
- 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
- Programs
- 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
- Functions
- Advantages of using functions
- Defining a function
- Calling a function
- Return statement
- Function Prototype
- Basic Function Designs
- Programs Using Functions
- Scope
- Recursion
- Iteration vs Recursion
- Nested functions
- Variable Length Number of Arguments
- Parameter Passing Techniques – Call by value & Call by Address
- Functions Returning Pointers
- Pointers and One-Dimensional Arrays
- Pointers and Two-Dimensional Arrays
- Passing 1D arrays to Functions
- Passing 2D arrays to Functions
- Pointers and Strings
- Passing Strings to Functions
- Pointer to Function
- MCQs
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 Typedef
- 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
- The Type Definition / typedef 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
C++ Language
Basics
- 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
- Size of 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
Share This Course
Loved this course? Share it with your friends and network on social media!