CONTENTS
Chapter 1: INTRODUCTION
1.0 Origin and versions of the C language
1.1 Characteristics of the C language
1.2 Essential elements of the C language
1.2.1 Types
1.2.2 Objects
1.2.3 Variables
1.2.5 Addresses
1.3 General scheme of a C language program
1.4 Compilation
Chapter 2: NUMBERS, DATA AND TYPES
2.1 Numbers
2.2 Data
2.3 Types
2.3.1 Basic types
2.3.2 Floating or decimal types
2.3.3 Character type
2.4 Variables
2.4.1 C patterns
2.5 Operatos
2.6 Standard library function printf()
2.7 Memory
2.8 Pointers types
2.9 Assignment sign actions
2.10 Identifiers
2.11 Keywords in C language
2.12 Operators in C
2.12.1 Arithmetic operators
2.12.2 Relational operators
2.12.3 Logical operators
2.12.4 Bit-level operators
2.12.5 Assignment operators
2.12.6 Precedence of operators in C language
2.12.6.1 Operators' Associativity
2.12.7 Conversions and cast
2.13 Pointers Arithmetic
2.14 Properties of pointers
2.15 NULL pointer
2.16 Pointer to pointer
2.17 Pointer to void
2.18 Use of const
Chapter 3: ARRAYS AND DYNAMIC MEMORY ALLOCATION
3.1 Arrays
3.2 Declaration of arrays
3.2.1 Initialization of an array
3.2.2 Designated initialization of an array
3.3 Two and three dimensional arrays
3.3.1 Two-dimensional arrays
3.3.2 Three-dimensional arrays
3.4 Pointers on arrays
3.5 Size of an array
3.6 Statement of arrays with empty parentheses
3.7 Character arrays
3.7.1 Arrays of pointers to characters
3.7.2 Variable dimension arrays
3.8 Dynamic memory allocation
3.8.1 malloc()
3.8.2 realloc()
3.8.3 calloc()
3.8.4 Declaration and initialization of a pointer with malloc()
3.8.5 Release of the memory reserved by malloc()
3.8.6 Dynamic creation of two or more dimensional arrays
Chapter 4: EXPRESSIONS, LOOPS, SENTENCES OF SELECTION
STATICS VARIABLES and scanf
4.1 Expressions
4.1.1 Expressions with relational operators
4.1.2 Expressions with logical operators67
4.1.3 Expressions with increment and decrement operators
4.1.4 Expressions with arithmetic operators
4.2 Loops
4.2.1 The for statement
4.2.1.1 Nested for loops
4.2.2 The while statement
4.2.3 The do-while statement
4.3 Selection statements
4.3.1 The if and if-else statements
4.3.2 The switch statement
4.4 Static variables
4.4.1 Blocks in C language
4.4.2 Declaration of static variables
4.4.3 Differences between static and local variables
4.5 scanf function
4.6 Resolved exercises
4.6.1 up to 4.6.10
Chapter 5: FUNCTIONS, typedef, POINTERS TO FUNCTIONS, STACKS AND
RECURSION
5.1 Functions
5.2 Passing arguments by value
5.3 Passing arguments by reference
5.4 Passing an array as an argument to a function
5.5 Return of a function
5.6 Using exit() in a function
5.7 Static variables in a function
5.8 typedef
5.9 Pointers to function
5.10 Stack
5.11 Recursion
5.12 CallBack Functions
5.13 Function returning another function
5.14 inline Functions
5.15 Resolved exercises
5.15.1 up to 5.15.10
Chapter 6: STRUCTURES, UNIONS AND ENUMERATIONS
Chapter 7: COMPILATION AND MEMORY MODEL
Chapter 8: STANDARD LIBRARY
Chapter 9: INPUT/OUTPUT
Chapter 10: to be defined