Sei sulla pagina 1di 6

C Language Overview ..............................................................

1
Facts about C ............................................................................................... 1
Why to use C ? ............................................................................................. 2
C Programs .................................................................................................. 2

C Environment Setup ............................................................... 3


Text Editor ................................................................................................... 3
The C Compiler ............................................................................................ 3
Installation on Unix/Linux ............................................................................. 4
Installation on Mac OS .................................................................................. 4
Installation on Windows ............................................................................... 4

C Program Structure ................................................................ 5


C Hello World Example ................................................................................. 5
Compile & Execute C Program ....................................................................... 6

C Basic Syntax ......................................................................... 7


Tokens in C .................................................................................................. 7
Semicolons ; ................................................................................................ 7
Comments ................................................................................................... 8
Identifiers .................................................................................................... 8
Keywords .................................................................................................... 8
Whitespace in C ........................................................................................... 9

C Data Types ......................................................................... 10


Integer Types ............................................................................................. 10
Floating-Point Types ................................................................................... 11
The void Type ............................................................................................ 12

C Variables ............................................................................ 13
Variable Declaration in C ................................ Error! Bookmark not defined.
Variable Initialization in C ............................... Error! Bookmark not defined.
Lvalues and Rvalues in C ............................................................................. 15

C Constants and Literals ........................................................ 17


Integer literals ............................................................................................ 17
Floating-point literals .................................................................................. 18
Character constants .................................................................................... 18

iii

String literals .............................................................................................. 19


Defining Constants ..................................................................................... 19
The #define Preprocessor ...................................................................... 19
The const Keyword ................................................................................. 20

C Storage Classes ................................................................. 22


The
The
The
The

auto Storage Class ................................................................................ 22


register Storage Class ........................................................................... 22
static Storage Class ............................................................................... 23
extern Storage Class ............................................................................. 24

C Operators ........................................................................... 25
Arithmetic Operators .................................................................................. 25
Relational Operators................................................................................... 26
Logical Operators ....................................................................................... 28
Bitwise Operators ....................................................................................... 29
Assignment Operators ................................................................................ 31
Misc Operators sizeof & ternary .............................................................. 33
Operators Precedence in C .......................................................................... 33

Decision Making in C.............................................................. 35


if statement ............................................................................................... 36
Syntax ..................................................................................................... 36
Flow Diagram .......................................................................................... 36
Example .................................................................................................. 36

if...else statement ...................................................................................... 37


Syntax ..................................................................................................... 37
Flow Diagram .......................................................................................... 38
Example .................................................................................................. 38

The if...else if...else Statement ..................................................................... 39


Syntax ..................................................................................................... 39
Example .................................................................................................. 39

Nested if statements .................................................................................. 40


Syntax ..................................................................................................... 40
Example .................................................................................................. 40

switch statement ....................................................................................... 41


Syntax ..................................................................................................... 41
Flow Diagram .......................................................................................... 42
Example .................................................................................................. 42

Nested switch statements ........................................................................... 43


Syntax ..................................................................................................... 43
Example .................................................................................................. 43

iii

The ? : Operator ......................................................................................... 44

C Loops .................................................................................. 45
while loop in C ........................................................................................... 46
Syntax ..................................................................................................... 46
Flow Diagram .......................................................................................... 46
Example .................................................................................................. 47

for loop in C ............................................................................................... 47


Syntax ..................................................................................................... 47
Flow Diagram .......................................................................................... 48
Example .................................................................................................. 48

do...while loop in C ..................................................................................... 49


Syntax ..................................................................................................... 49
Flow Diagram .......................................................................................... 50
Example .................................................................................................. 50

nested loops in C ........................................................................................ 51


Syntax ..................................................................................................... 51
Example .................................................................................................. 52

break statement in C .................................................................................. 53


Syntax ..................................................................................................... 53
Flow Diagram .......................................................................................... 53
Example .................................................................................................. 54

continue statement in C .............................................................................. 54


Syntax ..................................................................................................... 54
Flow Diagram .......................................................................................... 55
Example .................................................................................................. 55

goto statement in C .................................................................................... 56


Syntax ..................................................................................................... 56
Flow Diagram .......................................................................................... 56
Example .................................................................................................. 57

The Infinite Loop ........................................................................................ 57

C Functions ............................................................................ 59
Defining a Function .................................................................................... 59
Example .................................................................................................. 60

Function Declarations ................................................................................. 60


Calling a Function ....................................................................................... 60
Function Arguments ................................................................................... 61
Function call by value ............................................................................. 62
Function call by reference ....................................................................... 63

C Scope Rules ....................................................................... 65

iii

Local Variables ........................................................................................... 65


Global Variables ......................................................................................... 66
Formal Parameters ..................................................................................... 67
Initializing Local and Global Variables ........................................................... 67

C Arrays ................................................................................. 69
Declaring Arrays ......................................................................................... 69
Initializing Arrays ........................................................................................ 70
Accessing Array Elements ............................................................................ 70
Multi-dimensional Arrays ............................................................................ 71
Two-Dimensional Arrays ............................................................................. 71
Initializing Two-Dimensional Arrays .............................................................. 72
Accessing Two-Dimensional Array Elements ................................................. 72
Passing Arrays as Function Arguments .......................................................... 73
Way-1 ...................................................................................................... 73
Way-2 ...................................................................................................... 74

Way-3 ....................................................................................................... 74
Example .................................................................................................. 74

Return array from function.......................................................................... 75


Pointer to an Array ..................................................................................... 77

C Pointers .............................................................................. 79
What Are Pointers? .................................................................................... 80
How to use Pointers? .................................................................................. 80
NULL Pointers in C ...................................................................................... 81
Pointer arithmetic ...................................................................................... 81
Incrementing a Pointer ............................................................................... 82
Decrementing a Pointer .............................................................................. 83
Pointer Comparisons .................................................................................. 83
Array of pointers ........................................................................................ 84
Pointer to Pointer ....................................................................................... 86
Passing pointers to functions ....................................................................... 87
Return pointer from functions ..................................................................... 88

C Strings ................................................................................ 91
C Structures ........................................................................... 94
Defining a Structure .................................................................................... 94
Accessing Structure Members ..................................................................... 95
Structures as Function Arguments ............................................................... 96
Pointers to Structures ................................................................................. 97

C Unions .............................................................................. 100


Defining a Union ...................................................................................... 100

iii

Accessing Union Members ........................................................................ 101

Bit Fields .............................................................................. 103


Bit Field Declaration ................................................................................. 104

Typedef ................................................................................ 106


typedef vs #define .................................................................................... 107

Input & Output ...................................................................... 108


The
The
The
The

Standard Files .................................................................................... 108


getchar() & putchar() functions ........................................................... 108
gets() & puts() functions ..................................................................... 109
scanf() and printf() functions ............................................................... 110

File I/O ................................................................................. 111


Opening Files ........................................................................................... 111
Closing a File ............................................................................................ 112
Writing a File ........................................................................................... 112
Reading a File........................................................................................... 113
Binary I/O Functions ................................................................................. 114

Preprocessors ...................................................................... 115


Preprocessors Examples ............................................................................ 115
Predefined Macros ................................................................................... 116
Preprocessor Operators ............................................................................ 117
Macro Continuation (\) .......................................................................... 117
Stringize (#) ........................................................................................... 117
Token Pasting (##)................................................................................ 118
The defined() Operator ......................................................................... 118

Parameterized Macros .............................................................................. 119

Header Files ......................................................................... 120


Include Syntax .......................................................................................... 120
Include Operation .................................................................................... 121
Once-Only Headers .................................................................................. 121
Computed Includes................................................................................... 122

Type Casting ........................................................................ 123


Integer Promotion .................................................................................... 124
Usual Arithmetic Conversion ..................................................................... 124

Error Handling ...................................................................... 126


The errno, perror() and strerror() ............................................................... 126
Divide by zero errors ................................................................................ 127
Program Exit Status .................................................................................. 128

Recursion ............................................................................. 129


Number Factorial ..................................................................................... 129

iii

Fibonacci Series ....................................................................................... 130

Variable Arguments .............................................................. 131


Memory Management .......................................................... 133
Allocating Memory Dynamically ................................................................. 133
Resizing and Releasing Memory ................................................................. 134

Command Line Arguments ................................................... 136


TUTORIALS

Potrebbero piacerti anche