Global training solutions for engineers creating the world's electronics
Menu

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

Clock Domain Crossing

Wednesday May 06 2026

1 hour session (All Time Zones)

This webinar discusses situations in which CDC problems can occur and more importantly presents solutions for the most frequent scenarios.

Register Now

Image 1

Migrating from Embedded C to C++

Wednesday May 13 2026

1 hour session (All Time Zones)

Explores the key features of C++ and shows where they provide useful advantages over traditional C approaches while producing code with comparable size and performance.

Register Now

Image 1

Rapid Creation of Edge AI Solutions on an FPGA

Friday May 15 2026

1 hour session (All Time Zones)

This webinar will explore ideas on identifying and deploying trained AI models on FPGAs and look at contemporary software tools and APIs which help in putting together an FPGA-based Edge AI solution.

Register Now

Image 1

Structured Verification with cocotb

Wednesday May 27 2026

1 hour session (All Time Zones)

This webinar will explain how Python+cocotb provides all that is necessary to a develop configurable, class-based verification framework with reusable components.

Register Now

Image 1

Making Cybersecurity Compliance Easier: Risk Analysis and Threat Modeling

Friday May 29 2026

1 hour session (All Time Zones)

This session will help you understand how to implement a risk assessment strategy that’s aligned with evolving regulatory requirements.

Register Now