Introduction to C

Course

Online

Price on request

Description

  • Type

    Course

  • Methodology

    Online

This is an intensive introduction to ANSI C programming using the GNU C compiler. At the end of the course attendees should be reasonably confident in reading and writing C programs and have a good practical understanding of advanced topics such as the use of C pointers, the relationship between pointers and arrays, as well as dynamic memory allocation and memory management. In addition, they will be able to understand makefiles and version control using RCS and CVS.

Questions & Answers

Add your question

Our advisors and other users will be able to reply to you

Who would you like to address this question to?

Fill in your details to get a reply

We will only publish your name and question

Reviews

Subjects

  • IT
  • C++

Course programme

First steps

  • How C became
  • Getting to know the GNU C compiler
  • The basic anatomy of a C program

Data types, operators and expressions (the basics)

  • Base data types and their sizes
  • Constants and declarations
  • Variable names
  • Arithemetic operators
  • Relational and logical operators
  • Increment and decrement operators
  • Increment and decrement operators
  • Assignment operators
  • Expressions
  • Operator precedence
  • Casting and type conversion

Program flow control

  • if - else
  • switch
  • while , do-while and for-loops
  • Statements and blocks

Functions

  • Functions and function prototypes
  • Returning values from functions
  • External variables and scope rules
  • Static variables
  • call by value and recursion

Pointers and arrays

  • Pointers and addresses
  • Pointers as arguments to functions
  • Arrays
  • The relationship of pointers and arrays
  • Pointer arithmetic
  • How C deals with multi-dimensional arrays
  • Arrays of pointers - their uses and initialisation
  • Strings and string functions

Structures

  • Fundamentals of structures
  • Passing structures as arguments to functions
  • Returning structures as return values from functions
  • Arrays of structures
  • Pointers to structures
  • Using pointers to structures to pass values to a function and return values from a function
  • Typedef and its uses in developing well structured and maintainable code

An introduction to data structures and algorithms

  • Sorting arrays of records
  • Allocating and freeing memory (malloc and free)
  • Linked lists and queues
  • Indexing (table lookup, binary trees, hashing)

Input-output

  • Standard input and standard output
  • Formatted output - printf
  • Formatted input - scanf
  • The dangers of scanf
  • File access and file I/O
  • An overview of input-output in a windowing environment

Further topics

  • The MACRO pre-processor and how to use it wisely
  • Unions
  • Bit fields
  • Date and Time functions in the C Standard Library
  • Diagnostics- the assert macro

Makefiles, Libraries, RCS and CVS

  • Simple make files
  • MACROS in make files
  • Use of dummy targets
  • Recursive makefiles
  • Building and using libraries
  • The importance of version control
  • RCS and CVS

Introduction to C

Price on request