By Sidhant Garg. C was developed between 1969-1973 by Dennis Ritchie at Bell Laboratories for use...

14
By Sidhant Garg

Transcript of By Sidhant Garg. C was developed between 1969-1973 by Dennis Ritchie at Bell Laboratories for use...

Page 1: By Sidhant Garg.  C was developed between 1969-1973 by Dennis Ritchie at Bell Laboratories for use with the Unix Operating System.  Unlike previously.

By Sidhant Garg

Page 2: By Sidhant Garg.  C was developed between 1969-1973 by Dennis Ritchie at Bell Laboratories for use with the Unix Operating System.  Unlike previously.

C was developed between 1969-1973 by Dennis Ritchie at Bell Laboratories for use with the Unix Operating System.

Unlike previously developed languages C provides facilities for structured programming and allows lexical variable scope and recursion

C is one of the most popular programming languages and there are a very few computer architecture for which the C compiler does not exist.

Page 3: By Sidhant Garg.  C was developed between 1969-1973 by Dennis Ritchie at Bell Laboratories for use with the Unix Operating System.  Unlike previously.

C programs basically contains the following:

Preprocessor Commands VariablesConstants Input/outputFunctions

Page 4: By Sidhant Garg.  C was developed between 1969-1973 by Dennis Ritchie at Bell Laboratories for use with the Unix Operating System.  Unlike previously.

The #include pre-processor directive is used to link required library files to the main program file (.cpp)

Some of the common header files and their functions are as follows: Stdio.h : Standard input /output functions Math.h: Basic math functions such as tan, log, pow(x,y) etc. String.h: String operations such as strcpy, strcat etc. Stlib.h: Standard functions such as malloc, rand, srand etc. Ctype.h: Character classification functions such as isalnum,

isalpha, isdigit etc. Iso646.h: To use macros for logical operators

E.g.#include<stdio.h>void main(){

int x;scanf(“%d”,x); //needs the stdio.h header file

}

Page 5: By Sidhant Garg.  C was developed between 1969-1973 by Dennis Ritchie at Bell Laboratories for use with the Unix Operating System.  Unlike previously.

#include <stdio.h> /* print Fahrenheit-Celsius table for fahr = 0, 20, ..., 300 */ main() { int fahr, celsius; int lower, upper, step; lower = 0; /* lower limit of temperature scale */ upper = 300; /* upper limit */ step = 20; /* step size */ fahr = lower; while (fahr <= upper) { celsius = 5 * (fahr-32) / 9; printf("%d\t%d\n", fahr, celsius); fahr = fahr + step; }

Page 6: By Sidhant Garg.  C was developed between 1969-1973 by Dennis Ritchie at Bell Laboratories for use with the Unix Operating System.  Unlike previously.

In C, variables can be broadly of the following data types: char – character type char stringname [x] (x=1,2..n)- string of ‘x’ characters int array [x] – array containing ‘x’ elements int- integer type float- real numbers including decimals etc. double- extended form of float (larger range)

The above can also be used in conjunction with the following ‘datatype’ modifiers: long short signed unsigned

cont…

Page 7: By Sidhant Garg.  C was developed between 1969-1973 by Dennis Ritchie at Bell Laboratories for use with the Unix Operating System.  Unlike previously.

In addition to the previously described standard datatypes, C allows the following user defined datatypes: typedef- Allows users to change the name of a standard

data type. For e.g. typedef float money will allow the user to use money as a data type

enum- Enumerated data types similar to C++ e.g. enum color{red,blue,white}

struct- Structures are heterogeneous user-defined datatypes They are often used to create nodes and listsThey are like the data members of classes but do not have the

concept of associated functions` e.g. struct features{

int height;double weight;char[5] color;}

Page 8: By Sidhant Garg.  C was developed between 1969-1973 by Dennis Ritchie at Bell Laboratories for use with the Unix Operating System.  Unlike previously.

In C, constants can be defined in the following two ways- Using #define

e.g. #define pi 3.14 Using const

e.g. const double x=3.0

Constants are often declared globally instead of being used directly in the main program.

Page 9: By Sidhant Garg.  C was developed between 1969-1973 by Dennis Ritchie at Bell Laboratories for use with the Unix Operating System.  Unlike previously.

User input from the keyboard is done using ‘scanf ‘ Output to the screen is done using ‘printf’ Here are the format specifiers that are required %d - int %c - char %f - float %lf -double %s -string %x- hexadecimal For e.g.

#include<stdio.h>void main(){

int x;scanf(“Enter integer: %d”,x);printf(“The integer you entered is: %d,x,”. Goodbye!”);

}

Page 10: By Sidhant Garg.  C was developed between 1969-1973 by Dennis Ritchie at Bell Laboratories for use with the Unix Operating System.  Unlike previously.

Functions are modules or subprograms that accept certain parameters and return values to the calling function / main program

They have the following format:

Return_type function_name(parameters){

local variables;C statements;return return_value;

}

Page 11: By Sidhant Garg.  C was developed between 1969-1973 by Dennis Ritchie at Bell Laboratories for use with the Unix Operating System.  Unlike previously.

In C all the function arguments are passed by value. This means that the functions are given the values of it arguments in temporary variable rather than the originals.

It usually leads to more compact

programs with fewer extraneous variables, because parameters can be treated as conveniently initialized local variables in the called routine

Page 12: By Sidhant Garg.  C was developed between 1969-1973 by Dennis Ritchie at Bell Laboratories for use with the Unix Operating System.  Unlike previously.

• For example, here is a• version of power that makes use of this property.• /* power: raise base to n-th power; n >= 0; version 2

*/• int power(int base, int n)• {• int p;• for (p = 1; n > 0; --n)• p = p * base;• return p;• }• The parameter n is used as a temporary variable,

and is counted down (a for loop that runs backwards) until it becomes zero;

• there is no longer a need for the variable i. Whatever is done to n inside power has no effect on the argument that power was

• originally called with.

Page 13: By Sidhant Garg.  C was developed between 1969-1973 by Dennis Ritchie at Bell Laboratories for use with the Unix Operating System.  Unlike previously.

Operators and Expressions Arrays Linked Lists Pointers Stacks and Queues Hash Tables

Page 14: By Sidhant Garg.  C was developed between 1969-1973 by Dennis Ritchie at Bell Laboratories for use with the Unix Operating System.  Unlike previously.