| Why
C? |
|
Portability
Efficiency
Structure
Standard Libraries |
| A
Sample Program |
|
The
layout of a C Program
Comments
Declaring Variables
Naming Conventions |
| C
data types |
|
Characters
Integers
Floating Point/Doubles |
| Standard
terminal I/O |
|
printf,
scanf, gets, puts, getchar, putchar.
Using an address vs data |
| Strings |
|
Declaring
and using strings
The null terminator
Built in string functions |
| Storage
Classes |
|
Automatic,
register, static and external
The pitfalls of incorrect types of data |
| Operators
and Expressions |
|
True
and False
Numeric & Relational Operators |
| Structures |
|
Why
structures?
Declaring a structure template
Declaring structure variables
Structure pointers
Arrays of structures |
| Unions |
|
What
is a union?
Declaring a union template
Declaring union variables
Union pointers
Arrays of unions |
| The
Precedence Table |
|
Operator
Precedence
Associativity |
| Data
Conversion |
|
Types
of data revisited
Casting data |
| Functions |
|
Declaring
a function prototype
Pass by value
Returning a value
Scope of data |
| Decision
Making |
|
If/else
constructs
Nested if statements
Using a switch statement
The conditional operator |
| Logical
Operators |
|
Boolean
Conditions
Not
And
Or |
| Arrays |
|
Declaring
arrays
Manipulating arrays
Multidimensional arrays |
| Pointers
- an introduction |
|
Declaring
pointers
Pointers and arrays
Derefencing pointers
Pointer arithmetic |
| Looping |
|
while,
do and for loops
Multiple loop variables
break and continue |
| Functions
revisited |
|
Pass
by Reference
Passing array pointers |
| Library Functions |
|
Review
the standard C library
Math functions
String functions
Input/Output
Memory functions
Error Handling
Time functions |
| Pointers
revisited |
|
Dynamic
Memory Allocation
Using Linked Lists
Pointers to pointers. |
| Miscellaneous |
|
Bit
manipulation
Typedef
Enumerated data types
Header files |
| The
Pre Processor |
|
Tokens
Writing and using macros
Conditional Compilations |