C Programming tutorial 09-11-2017, 02:05 PM
#1
![[Image: c55ac1fc6147b4b41dc44f66931066cd.png]](https://i.gyazo.com/c55ac1fc6147b4b41dc44f66931066cd.png)
Code:
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 auto Storage Class................................................................................ 22
The register Storage Class ........................................................................... 22
The static Storage Class............................................................................... 23
The 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 Standard Files.................................................................................... 108
The getchar() & putchar() functions ........................................................... 108
The gets() & puts() functions ..................................................................... 109
The 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![[Image: Vs4P58c.png]](https://i.imgur.com/Vs4P58c.png)




![[+]](https://sinister.ly/images/modern/collapse_collapsed.png)