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

Getting Started with UVM

Wednesday April 30 2025

1 hour session (All Time Zones)

This webinar will introduce you to the Universal Verification Methodology. The aim is to provide you with a base to start learning the rest of UVM, starting at why you would want to use it and the key components of a UVM test bench.

Register Now

Image 1

Debugging Features of UVM

Wednesday May 14 2025

1 hour session (All Time Zones)

This webinar explores the various features in UVM to help you debug your UVM environment, your test cases, and your design under test.

Register Now

Image 1

Deep Learning with FPGAs

Wednesday May 21 2025

1 hour session (All Time Zones)

This webinar examines Deep Learning with particular emphasis on the use of FPGAs as inference engines for convolutional neural networks.

Register Now

Image 1

Anatomy of an Embedded Linux System

Wednesday May 28 2025

1 hour session (All Time Zones)

This introductory webinar will examine each of the components required for Linux to work on an embedded system. It will review how these components fit into the system and what functionality they provide for development and in the final deployed product.

Register Now

Image 1

How to Achieve IoT Security Compliance Globally

Friday June 06 2025

1 hour session (All Time Zones)

This webinar will highlight the core principles of a Secure-by-Design development lifecycle to enable compliance, and how this can be achieved across international boundaries.

Register Now