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

Signal Integrity PCB Vias and Remedies

Wednesday January 15 2025

30 minute session (All Time Zones)

This webinar will explore the effects of routing vias and connector plated through holes on very high data rate signals using actual test results from as-built PCBs.

Register Now

Image 1

Edge Machine Learning - Project Tips & Tricks

Friday January 17 2025

1 hour session (All Time Zones)

This webinar will provide some useful directions for incorporating machine learning within your next embedded project.

Register Now

Image 1

Software-defined Radio on an AMD Zynq™ RFSoC

Tuesday January 21 2025

1 hour session (All Time Zones)

This webinar looks at the challenges of traditional RF conversion techniques as well as benefits and solutions of direct RF sampling whilst using the AMD RFSoC platform.

Register Now

Image 1

Getting Started with the Yocto Project

Friday January 24 2025

1 hour session (All Time Zones)

This webinar investigates how a minimal Linux system can be extended to include custom, packaged software.

Register Now

Image 1

Designing with AMD Kria SOMs

Friday January 31 2025

1 hour session (All Time Zones)

This webinar will walk through the design process for using AMD Kria SOMs, including the use of Vivado and Vitis.

Register Now

Image 1

What Can Formal Do for Me?

Friday February 14 2025

1 hour session (All Time Zones)

This webinar will look at the ways formal helps your design verification process, including complexity analysis, bounded reachability analysis, overconstraining the design, setting cut points, and creating abstractions.

Register Now