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

AXI based Design & Verification

Friday November 07 2025

1 hour session (All Time Zones)

This webinar will cover the basics of on-chip buses, key terminologies and why we need them, before going deeper into AMBA : AXI bus architecture.

Register Now

Image 1

Beginners' Guide to Using AI for Hardware Engineers

Friday November 14 2025

1 hour session (All Time Zones)

This webinar will examine how AI can help do a better job of engineering. Learn how to start integrating AI into your projects with real examples of AI used in hardware design and verification.

Register Now

Image 1

C/C++ Memory Management: Design and Debugging

Friday November 21 2025

1 hour session (All Time Zones)

This webinar explores best practices for avoiding memory issues in design and debugging memory usage issues in C and C++.

Register Now

Image 1

Getting Started with Embedded Linux Security

Tuesday November 25 2025

1 hour session (All Time Zones)

This webinar will examine some of the main features and tools which can be used to make your embedded Linux system more secure.

Register Now

Image 1

Rust Insights: Embedded Rust Toolchain

Friday December 05 2025

1 hour session (All Time Zones)

This webinar introduces the essential components of an Embedded Rust toolchain, from the minimal setup through to interactive debugging and logging.

Register Now

Image 1

Creating UVM Components from MATLAB Models and SystemVerilog-DPI

Wednesday December 10 2025

60 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