Global training solutions for engineers creating the world's electronics

C++ Self-Assessment Test

Do you know enough C to attend C++ Programming for Embedded Systems or C++ Programming for Embedded Systems Online?

You need to be able to write C programs using functions, variables, typedefs, operators, and statements. You need to be fluent in the use of the control flow statements if-else, switch, for, and while. You need to be familiar with the bitwise operators ~ & | ^. You need to feel very comfortable using structs and pointers. You need to be very sure of the difference between pointers (*) and addresses (&).

Ask yourself whether you could write a C program to do the following:

  1. Read in a series of lower-case characters one at a time from the keyboard.
  2. If the character is 'h', display the string Hello World in the terminal window.
  3. If the character is 'g', display the string Goodbye World in the terminal window.
  4. If the character is 'x', display the string Hello World 10 times using a loop, displaying the value of the loop index 1 to 10 as well as the string
  5. If the character is 'e', exit the program, but only after displaying the values of all the characters read from the keyboard, in the correct order, by storing each character, as it is read from the keyboard, in a linked list that is coded using C structs and pointers.
  6. If the character is anything else, do nothing except read the next character.

Step 5 is the most tricky and the most important!

You will be expected to be able to write C programs such as this, without help from the instructor, when you arrive on the first day of C++ Programming for Embedded Systems.

As well as knowing C, delegates should have a basic understanding of embedded systems, microcontroller architecture, and how to read a datasheet. If you are still unsure whether you meet the pre-requisites, please contact Doulos to discuss.

Upcoming Live Webinars

Image 1

Connecting AI to IoT Applications

Wednesday June 11 2025

1 hour session (All Time Zones)

This webinar will examine the application of AI in Edge / IoT situations. Although it uses an example for an industrial application, it will be of interest to anyone considering the use of AI technology for constrained devices.

Register Now

Image 1

Zephyr Insights: Scheduling and Threads

Wednesday June 18 2025

1 hour session (All Time Zones)

This webinar delves into the services offered by Zephyr to ensure real-time behaviour, with a primary focus on threads, priority management, and scheduling, highlighting similarities and differences to other RTOSs.

Register Now

Image 1

Developments in Accelerated Adaptable Technology

Friday June 20 2025

1 hour session (All Time Zones)

In this webinar you will learn about the core concepts behind the new Adaptable Compute Acceleration Platforms from AMD.

Register Now

Image 1

Formal Verification for Non-Specialists

Wednesday June 25 2025

1 hour session (All Time Zones)

This webinar explores the strengths and weaknesses of formal verification and what you need to know to use formal effectively without acquiring deep knowledge of how it works under-the-hood.

Register Now

Image 1

Introduction to Android Automotive

Friday July 18 2025

1 hour session (All Time Zones)

This webinar provides a valuable insight into the Android Automotive OS that runs "In Vehicle Infotainment" systems.

Register Now