Consultancy and Total Solutions Training Provider for Embedded Systems, Electronics and Electrical Engineering, Programming, Computing, Operations, ISO9000, ISO14000 and Management.

Bridging the Gap

Training Courses

Fundamentals of C & C++ Programming with the MS Visual Studio Environment

Course id: 0049


C and C++ are the programming languages of choice for most applications, and will be the dominant languages for the foreseeable future. This intensive course specifically covers programming and debugging C and C++ applications in the Microsoft Visual Studio environment. C & C++ concepts would be covered when necessary, and participants would be taught structured programming styles for system reliability and efficient coding.

Course highlight
Participants will have practical experiences using Visual Studio 2010.

What participants say about the course
The following are some verbatim statements from the participants:

  • The course touch on the basics as well as some of the advance topics -- June 2013
  • I liked the part when I learned about pointers, arrays, structures and and arrays -- June 2013
  • We can try the code on the spot (hands on) -- June 2013
  • A lots of knowledge shared, and gave a very good overview understanding about C++ -- July 2013
  • They are able to conduct very well-- July 2013

What you will learn

This course concentrates on the practical knowledge to allow participants to achieve the following learning outcomes. Upon completing the course, participants would be able to:
  • Understand the basics of C, such as operators, flow control, functions, pointers, arrays, structures and preprocessor directives
  • Develop console programs written in C with Visual Studio
  • Use Visual Studio and third party tools for debugging and improving programs
  • Understand the fundamentals of C++ such as objects, classes and namespaces
  • Program in the Object Oriented paradigm

Who should attend

This course is particularly suited for engineers who would like to acquire C/C++ programming knowledge. This course is also suited for those who intend to explore Visual Studio in detail.


Participants are required to have rudimentary C programming experience. C++ programming experience is beneficial, but not mandatory.

Course methodology

This course is presented in a workshop style with example-led lectures interlaced with demonstrations and hands-on practical for maximum understanding.

Course duration

4 days.

Course structure

  • Introduction to C
    • History of C
    • Comments
    • Data types: char, int, float, double, void, identifiers, storage classes, variable scope
    • Hands-on practical: Data Types
    • Operators: arithmetic, relational, logical, bitwise, increment, decrement, precedence and associativity, short circuit expressions
    • Hands-on practical: Operators
    • Typecasting: explicit typecasting methods, loss of precision/signedness, integer promotion, POSIX types
    • Hands-on practical: Typecasting
    • Flow control: conditional statements, loop statements, break, continue, switch statements, goto statements
    • Hands-on practical: Flow Control
  • Modularisation
    • Functions: definition, prototype, passing arguments, recursion, standard library function
    • Hands-on practical: Functions
    • Preprocessor directives: #define, #include, conditional compilation
    • Modular programming: advantages, linking
    • Hands-on practical: Modularisation
  • Arrays and Pointers
    • Arrays: declaration, storage, access
    • Hands-on practical: Arrays
    • Pointers: referencing and dereferencing, storage, void pointer, parameter passing, wild pointers, const qualifier
    • Hands-on practical: Pointers
  • Characters and strings
    • Characters and strings: storage, NUL termination, functions, parameter passing
    • Hands-on practical: String Handling
  • Structures and Unions
    • Structures: storage, declaration, access
    • Unions: storage, dangers, usage
    • Hands-on practical: Record Creation and Access
  • Inputs and Outputs
    • Standard I/O: printf, sscanf, perror
    • File handling: reading, writing, set/read pointer
    • Hands-on practical: File Access
  • Introduction to Visual Studio 2010
    • The VS 2012 development environment
    • Migrating projects to the VS 2010
    • Projects and solutions
    • Creating a console-based application
    • Hands-on practical: Console-based project in VS 2010
  • Application development tools
    • Configuring and using build configurations
    • Data tips, Visualizers, and Watches
    • Hands-on practical: Debugging with VS 2010
    • Using IntelliTrace for recording program flow
    • Using Visual Leak Detector for detecting memory leaks
    • Hands-on practical: Advanced Debugging Techniques
    • Automated code documentation with doxygen
    • Hands-on practical: Code documentation
  • The Object-Oriented Programming (OOP) paradigm
    • Introduction to C++
    • C versus C++
    • Advantages of OOP over procedural programming
  • IO streams
    • Overview of streams
    • Using cout instead of printf
    • cin, cerr and clog
  • Namespaces
    • Overview of namespaces
    • Using namespace
  • Classes and Objects
    • Overview of classes
    • Defining public, protected and private variables and methods
    • Instantiating objects
    • Constructors and destructors
    • Inheritance of classes
  • File access
    • Stream based file access
    • Reading and writing files in C++
  • Dynamic Linked Library (DLL)
    • How DLLs work
    • Methods of creating DLLs
    • Using DLLs


Dr Royan Ong

Course Schedule





News on ProvenPac

  ProvenPac Sdn. Bhd.
  C-4-3 Gembira Park,
  Jalan Riang, 58200
  Kuala Lumpur, Malaysia

  Tel: +603 03 5889 5889

No public course
currently scheduled.


Please inform me when
this course is scheduled.


Please contact me to
arrange in-house training.