Standard C Programming  Course

Learning C is one of the best foundations for any programmer. Many of the principles in C are used in other languages, and C will give you a better understanding of what happens when your code runs. This course will teach you the fundamentals of the C language so that you can write C programs, or maintain existing C code. You will learn to write portable code that can be used on different platforms and devices. This course is also an essential foundation for anyone who wants to learn C++.

"Renier has indepth knowledge about the course and his explanations were clear with immense emphasis placed on important concepts!"

K. Govindsamy, Private   (Lecturer: Renier)

"The best course I have been on in years. Renier is passionate about his subject and really has a need to impart his knowledge. He makes sure that concepts are understood and practised."

A. Hendricks, ABSA   (Lecturer: Renier)

"Excellent! Thank you very much for focussing on insight while teaching the mechanics and not just the how to!"

N. de Vries, CSIR   (Lecturer: Renier)

Do you need a quote? Want to discuss your requirements? We promise to get back to you within 1 working day.

Fields marked with * are required.

Please enter your name

Please enter your surname

Please enter a valid phone number eg. 0126662020

Please enter a valid email address

Incus Data does not sell or otherwise distribute email addresses. We will not divulge your personal information to anyone unless specifically authorised by you.

Audience: Is This The Right Course For Me?

You should attend the Standard C Programming course if:

  • You are a programmer and you want to learn the C language.
  • You need to support existing C systems.
  • You want to learn C++ but do not yet know C.
  • You have already learnt some C - perhaps on your own or at university - but struggle with some concepts or have gaps in your knowledge.
  • You need to use C for embedded systems.

Prerequisites: Am I Ready For The Course?

Before you attend the Standard C Programming course:

  • You must already be a programmer and have experience in programming.

Please ensure you meet the prerequisites for this course before you attend. Read the importance of course prerequisites to understand why this is necessary.

If you are not sure which is the right course for you, please call us. We will be happy to advise you, based on your training goals and your experience.

Objectives: What Will I Learn?

After you have completed the Standard C Programming course, you will be able to:

  • Write your own C programs for any operating system.
  • Read and maintain C programs.
  • Debug C code to find and correct mistakes.
  • Understand the C compiler and the pre-processor.
  • Use pre-processor directives.
  • Understand the importance of portable code and standards compliance.

Download the Standard C Programming course contents in PDF format

Technical Contents: What Does The Course Cover?

  • Overview of the C language.
  • Portability.
  • Terminology.
  • Programming fundamentals.
  • Structured programming principles.
The C Compiler
  • Compiler operation in general.
  • The preprocessor.
  • Output results of the compilation phases.
  • Object files and libraries.
  • Installing a C compiler.
  • Creating program files.
  • Compiler code generation, the linking process and executing programs.
  • The C startup module and the main function.
  • Separate compilation.
C Language Fundamentals
  • Keywords.
  • Program structure and conventions.
  • The standard library.
  • Header files.
  • Functions and I/O functions.
  • Character set.
  • Literal values.
  • Comments.
  • Preprocessor directives.
  • Fundamental types, derived types, structured types, enumerated types, user defined types.
  • Storage classes.
Expressions and Operators
  • Expressions and expression results.
  • Operators in expressions.
  • Type requirements of operators.
  • Implicit and inherent type conversions.
  • Types of operands and the resulting types.
  • Bitwise, relational, logical, compound assignment and other operators.
Functions and Statements
  • Function definitions, declarations and prototypes.
  • Passing parameters.
  • Recursive functions.
  • Function returns.
  • The function call operator.
  • Local variables.
  • Function pointers and the pointers-to-function data type.
  • Types of statements.
Pointers, Arrays and Structs
  • Pointer types and operators.
  • Pointer arithmetic.
  • Array subscripts.
  • Indirection.
  • Multi-dimensional arrays.
  • Pointer-to-array and pointer-to-function types.
  • Structs and unions.
  • Member selection, indirect member selection.

Testimonials: What Other Delegates Say About This Course

"The course gives a good understanding of C independant of the tools used."

F. van Eeden, Transnet   (Lecturer: Renier)

"Lecturer is very knowledgeable."

J. Kruger, Transnet   (Lecturer: Renier)

"Great course, and more to the day to day programmer wanting to learn a new language. Will definitely be beneficial and an ongoing learning experience for me when I leave here today."

G. Holtzhausen, Nedbank   (Lecturer: Renier)

"I am completely satisfied with the Standard C Programming course I received at Incus Data and it was very insightful."

G. Scheepers, DetNet SA   (Lecturer: Renier)

"The course was nicely detailed: All the basics and fundamentals of standard C was explained in full detail. The most satisfying aspects was the practical “hands-on” sessions."

P. Mendes, Nanoteq   (Lecturer: Renier)

"I appreciate all the effort put in by Renier to help me get a better understanding of the C language. I know that I walk away a more knowledgeable person."

D. Naude, GEW Technologies   (Lecturer: Renier)

"Best training I've had to date"

F. van Lill, North Tech   (Lecturer: Renier)

"The course was extremely interesting. It filled all the gaps in my knowledge that I had before coming to the course. The lecturer is very knowledgeable in his field and it was a pleasure to learn from him."

J. Prinsloo, Nanoteq   (Lecturer: Renier)

"Very informative and interesting. The approach to the course was very holistic and the lecturer's knowledge on the subject is immense."

D. Seshai, CSIR   (Lecturer: Renier)

"A very good course given by a person who understands the work very much. It's a lot to fit into a week but is definitely a good foundation."

T. Moyo, CSIR   (Lecturer: Renier)

"The 1st course I ever attended that really teaches the fundamentals! Worth every penny, and highly recommended."

A. Netter, Private   (Lecturer: Renier)

"Really enjoyed and learnt a lot. Renier is a C god."

M. Roberts, Fugro   (Lecturer: Renier)

"Everything was excellent. Examples of applications of subject contents were interesting and accurate."

N. Lazola, Telkom   (Lecturer: Lewis)

"The course was worth money spent for. I am sure I will be able to apply what I learned and contribute to the development of my team."

C. Kgophane, Telkom   (Lecturer: Lewis)

"The lecturer was very knowledgable and he really made abstract concepts understandable."

P. van Zyl, RiskCafè   (Lecturer: Renier)

"What I like most is the repetitive and increasing scope of the course content (every topic was continuously re-emphasised and viewed from different dimensions). I achieved my personal target for the course: to gain a general overview of programming and in particular terminologies of the C language."

I. Dennis, Unisa   (Lecturer: Renier)

"One of the best programming courses I have been on for a while."

T. Watt, DetNet   (Lecturer: Lewis)

"The course was fun, I learned a lot about C and writing safer and neat code."

S. Ngcobo, ABSA   (Lecturer: Lewis)

"Very good course and lecturer explains all concepts well."

G. Mabule, ABSA   (Lecturer: Lewis)

"Renier must keep up the good work !!! I enjoyed the course and it was because he left no question unanswered and we, the students, were involved throughout the course."

V. Thomas, Accenture   (Lecturer: Renier)

"More than I expected. I will use Incus again and will recommend it to others"

F. Brazzoli, SAAB GrIDS   (Lecturer: Renier)

"Excellence course. Lecture has a vast knowledge on C."

N. Al-Ismaily, Nanoteq   (Lecturer: Renier)

"Very impressed. The lecturer has a very wide knowledge of other aspects of the computer world I wanted to know as well. Very good course"

L. du Plooy, Private   (Lecturer: Renier)

"I enjoyed this course and felt that the instructor is very knowledgeable. Also the venue was very good in terms of it being relatively quiet."

I. Manthree, Telkom   (Lecturer: Renier)

"I was pleasantly surprised by the level of knowledge displayed by the lecturer. The field of programming obviously has a higher standard as far as experience and knowledge is concerned."

A. Venter, ABSA   (Lecturer: Lewis)

"The content of the course was very well structured and the lecturer always gave very interesting solutions and insights to the C language."

J. Strydom, Accenture   (Lecturer: Renier)

"Always better to learn new tricks in a stimulating environment. Renier knows his stuff and explains clearly, enunciates well and has a neat handwriting on the whiteboard. Presented material worthwhile learning about! Excellent stuff!"

J. Bourhill, Nedbank   (Lecturer: Renier)

"Renier is highly experienced and brings concepts and definitions across to delegates extremely well. I learnt a lot and thoroughly enjoyed the lecturer's enthusiasm and personality. His passion helps us understand."

K. Reid, Nanoteq   (Lecturer: Renier)

"The course was an absolute pleasure! Really enjoyed every aspect of it."

B. Drotsche, Nanoteq   (Lecturer: Renier)

"Renier has indepth knowledge about the course and his explanations were clear with immense emphasis placed on important concepts!"

K. Govindsamy, Private   (Lecturer: Renier)

"The best course I have been on in years. Renier is passionate about his subject and really has a need to impart his knowledge. He makes sure that concepts are understood and practised."

A. Hendricks, ABSA   (Lecturer: Renier)

"Excellent! Thank you very much for focussing on insight while teaching the mechanics and not just the how to!"

N. de Vries, CSIR   (Lecturer: Renier)

Duration: 5 days. Courses are presented from 08:30 to 16:30.
Price: R12,900.00 excluding VAT per delegate.

This price includes everything that you need:

  • All course material.
  • An attendance certificate.
  • Lunch and refreshments.
  • A voucher to re-attend the course for a minimal fee within 6 months.
  • A voucher for a free competency assessment within 6 months.

All you have to bring to the course is the desire to learn.

Prices are valid from 1 January 2020.

Location: The Incus Data Training Venue in Centurion, Pretoria.

If that doesn't suit you, we also offer:

Date: Please check the course schedule for the next date.
You can also contact us at tel: (+27) 12-666-2020 or cell/WhatsApp: (+27) 76-694-7705, or email us at to find out about dates that suit you.

How Do I Book?

It's easy to book: Fill in our course enrolment form (editable PDF file) and email it to us at

After we have received your booking, we will send you a confirmation that you are booked on the course, an invoice and directions to the venue.

Tip: Most PDF readers, other than Adobe Reader, will let you save the form with the data you have entered. If you are using Adobe Reader, however, you might not be able to do this. But don't despair: when you have typed in the information, just print the file to PDF - and you'll have a completed enrolment form ready to email to us.