
C Programming
- Course type:
- Performance (What does this mean?)

| RRP | £1820 exc. VAT |
|---|---|
| Days | 4 |
| Code | LGCPRG1 |
- view dates / book course
- course description
- blogs
Course dates
We currently do not have public dates scheduled for this course.
Please contact us for details on a closed event for your company or to be added to the public course waitlist.
Overview
C is one of the most widely-used languages for systems software and workstation application programming, largely due to its power and flexibility. This course will provide you a highly effective, structured approach to learning the C language.
Programming skills will be enhanced as delegates will be able to use the powerful features of C to best effect and avoid errors that lead to faulty code or code that cannot be maintained. QA’s programming course is outstanding because of its emphasis on writing style, pitfalls to avoid and techniques to use that make the code clear, concise and maintainable.
In addition to the lecture material there are graded practical sessions that cover each of the major areas of C. There are also optional exercises for further study after the course. Delegates may take away worked solutions, together with some small sample demonstration programmes.
Prerequisites
Delegates must have professional programming skills and a good working knowledge of a block-structured language, such as Basic/Visual Basic, Pascal/Modula2, Fortran, Algol or PL/1, and be familiar with a programming environment.
Delegates will learn how to
- Use the major elements of the C language
- Write programs using the strengths of the C language
- For example, pointers
- Write and use the data structuring features of the language, which can result in better program design
- Work with the C run-time library: a major source of programmer productivity
- Spot and remedy common programming errors in C
- Write in a good C programming style
Course outline
An Overview of C
History and evolution of C; Key characteristics of C
Writing a Simple Program
Program structure; Data and code statements; C software development life cycle
Data Types
Scalar types; Variables and constants; Storage considerations; Initialising variables
Operators and Expressions
Standard arithmetic operators; Increment, decrement, assignment and relational operators; Automatic and programmer-controlled type conversion
Program Looping
Boolean expressions; While, Do and For loops; Looping style considerations
Decision Making
If, Else and Switch statements; Other statements affecting flow of control; Decision-making style considerations
Functions and Program Structure
Inter-function communication; Function prototypes, calls and definitions; Scope and storage classes
Structured Data Types
Arrays, structures and unions; Nested data structures
Pointers
The concept of indirection; Pointers and address arithmetic; Pointers and functions
Pointers and Data Structures
Pointers and arrays; Pointers and structures; Complex data structures
Preprocessor
Tokens and macros; Include files; Conditional compilation
Input and Output
Using run-time routines; Character and formatted I/O; File I/O
Further Data Types
Bit manipulation; User-defined types
Working with Larger Programs
C and modular programming; C’s standard library considerations
The Way Ahead
Further C information sources; Support after this course
Related blogs
Using sed From The Command Line To Edit Files
Posted by Andrew Mallett on 08 September 2010
I have more than likely said this before: I am lazy and I want an easy life. This is why I use Linux Command Line Tools to help me. If you have a similar passion for all things simple then take a look at this article that uses sed to edit files.
SQL Server for the passive aggressive
Posted by Phil Stirpe on 05 September 2010
How would you react if you walked into a classroom to deliver a course and came face to face with a delegate who three years earlier ripped you off for several thousand pounds?
Learning about learning
Posted by Stephanie Dedhar on 03 September 2010
A recent trip to the Science Museum proved that, with a little imagination, learning absolutely can be fun as well as effective.
Using the Novell ZCM 10.3 Agent to Display Closest Server Rules
Posted by Andrew Mallett on 02 September 2010
QA have been training and consulting with Novell ZCM 10 ( desktop management ) since the early days of the product back in 2007. So you know coming that by on training with us you are going to get the latest and most accurate advice and knowledge. A new feature of the 10.3 agent is that it allows support staff to display the evaluated closest server rules from the view point of the agent. This is great in trouble shoot as it is an easy mechanism to test the rules that you have created.
Creating Dynamic RAID Arrays with BTRFS
Posted by Andrew Mallett on 28 August 2010
You may have used Logical Volumes on Linux before with either LVM or EVMS and, of course, software raid. Now though we have a file-system that supports volumes that can dynamically increase and support RAID : BTRFS. With the complete implementation in the file-system the deployment and management is simplified and performance is increased. Although still EXPERIMENTAL it is worth looking at BTRFS as it has become to ship in many of the leading Linux Distributions.
