C Programming Tutorial

[Pages:146]C Programming Tutorial

C PROGRAMMING TUTORIAL

Simply Easy Learning by



i

COPYRIGHT & DISCLAIMER NOTICE

All the content and graphics on this tutorial are the property of . Any content from

or this tutorial may not be redistributed or reproduced in any way, shape, or form without the written permission of . Failure to do so is a violation of copyright laws. This tutorial may contain inaccuracies or errors and tutorialspoint provides no guarantee regarding the accuracy of the site or its contents including this tutorial. If you discover that the site or this tutorial content contains some errors, please contact us at webmaster@

ii

Table of Contents

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

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download