Presentation is loading. Please wait.

Presentation is loading. Please wait.

Programming Paradigms

Similar presentations


Presentation on theme: "Programming Paradigms"— Presentation transcript:

1 Programming Paradigms
The C Programming Language

2 Components of a C Program
A C program is a collection of function definitions, (global) variable definitions, declarations and compiler directives Functions ( e.g., void push( char c ) { … } ) Variables ( e.g., int top; char Store[MAX]; ) Declarations ( e.g., void push( char c ); ) Compiler directives ( e.g., #define MAX 100 #include <stdio.h> ) 6/15/2005 Copyright 2005, by the authors of these slides, and Ateneo de Manila University. All rights reserved.

3 Built-in Data Types in C
int, char, float Short and long versions of these data types short, long, double, long double, … No explicit boolean type in C Control structures that require conditions expect an int value 0 => false, non-zero => true 6/15/2005 Copyright 2005, by the authors of these slides, and Ateneo de Manila University. All rights reserved.

4 Composite Types Arrays Structures
Collection of elements of the same type Declaration: type varname[integer-value]; Structures Collection of elements of different types or with different names Declaration: struct strname { field declarations… }; struct strname varname; dot operator: varname.field 6/15/2005 Copyright 2005, by the authors of these slides, and Ateneo de Manila University. All rights reserved.

5 Pointers Address operator: & De-referencing operator: *
Pointers and arrays Array names as addresses Pointer arithmetic Array access [] Dynamic allocation malloc, free, NULL Multi-dimensional arrays Pointers and structures: the -> operator 6/15/2005 Copyright 2005, by the authors of these slides, and Ateneo de Manila University. All rights reserved.

6 Strings String: sequence of characters (stored in a character array)
The null (‘\0’) terminator String literals ( e.g., “hello” ) String functions (<string.h>) strcpy strlen strcmp strcat 6/15/2005 Copyright 2005, by the authors of these slides, and Ateneo de Manila University. All rights reserved.

7 Statements expression-statement Block or compound-statement
Expression followed by a semicolon expr; where expr consists of variables, constants, operators, parentheses, function calls Block or compound-statement 0 or more statements enclosed in { } Declarations may precede statements { decl decl decl … stmt stmt stmt } 6/15/2005 Copyright 2005, by the authors of these slides, and Ateneo de Manila University. All rights reserved.

8 Statements (decision)
if-statement Condition bounded by parentheses Numeric expression expected in condition Optional else clause switch-statement Can be viewed as a special kind of block Has entry points (through the case labels) and exit points (through break; statements ) switch expression should be of ordinal type 6/15/2005 Copyright 2005, by the authors of these slides, and Ateneo de Manila University. All rights reserved.

9 Statements (loops) while-statement do-while-statement for-statement
Loop test at the beginning of the loop Loop body may not be executed at all do-while-statement Loop test at the end of the loop Loop body executed at least once for-statement for( expr1; expr2; expr3 ) stmt Has an equivalent while-loop formulation Used if there is an explicit loop control variable 6/15/2005 Copyright 2005, by the authors of these slides, and Ateneo de Manila University. All rights reserved.

10 Statements (others) break; continue; return-statement
Breaks out of the nearest enclosing loop or switch continue; Proceeds to the loop test return-statement return expr; Provides value return by a function Without expr (if return type is void), the statement simply causes control to be returned to the caller 6/15/2005 Copyright 2005, by the authors of these slides, and Ateneo de Manila University. All rights reserved.

11 Functions Function definition: Return type Name Parameters
Body (block) 6/15/2005 Copyright 2005, by the authors of these slides, and Ateneo de Manila University. All rights reserved.

12 Parameter Passing In C, all parameters are pass by value
Pointers and the address operator enable a function to update data outside of the function But the parameter passed (the address) is still a value 6/15/2005 Copyright 2005, by the authors of these slides, and Ateneo de Manila University. All rights reserved.

13 Library Functions The C standard library
I/O, math, string functions and others Prototypes are in: <stdio.h> <math.h> <string.h> <stdlib.h> 6/15/2005 Copyright 2005, by the authors of these slides, and Ateneo de Manila University. All rights reserved.


Download ppt "Programming Paradigms"

Similar presentations


Ads by Google