SlideShare a Scribd company logo
1 of 74
C PROGRAMMING
TUTORIAL
By Ms. P. P. Jaini
OUTLINE
 Overview
 History
 Features
 Role of C Compiler
 Flowchart
 Sample C Program 1
 Character Set
 Data Types
 Variables
 C is Case Sensitive
 C Token
 Sample C Program 2
 Control Statements
 Common Programming Errors
 Assignment
2
OVERVIEW OF C
 C language is
 Structured
 High level
 Machine independent
 Follows top down approach
3
HISTORY
 ALGOL
 In 1960’s
 First language using a block structure
 BCPL
 In 1967
 Basic Combined Programming Language
 B
 In 1970
 Added feature of BCPL
4
CONTD…
 C
Evolved from ALGOL, BCPL & B
Developed between 1969 and 1973 along with Unix
Developed at AT & T’s Bell Laboratories of USA
Designed and written by Dennis Ritchie
5
FEATURES
 C is PortableThis means a program written for
one computer may run successfully on other
computer also.
 C is fast
This means that the executable program
obtained after compiling and linking runs very
fast.
 C is compact
The statements in C Language are generally
short but very powerful.
6
CONTD…
 Simple / Easy
The C Language has both the simplicity of High Level
Language and speed of Low Level Language. So it is
also known as Middle Level Language
 C has only 32 Keywords
 C Compiler is easily available
 C has ability to extend itself. Users can add their own
functions to the C Library
7
ROLE OF C COMPILER
Compiler: converts source to object code for a specific
platform
Linker: resolves external references and produces the
executable module
 Typically C programs when executing, have four different files
Source Code – file that is created by user and the
executable statements are written. This file is saved with a
file extension of ‘.c’.
Header files – contains the declaration of functions and pre-
processors statements. Header files have ‘.h’ as their
extension.
Object files – are the output from the compilers. ‘.o’ or
‘.obj’ are the typical extension to such files.
Binary executables – are an output of the process of
linking. Binary executables have ‘.exe’ as their extension.
8
FLOWCHART
 Flow charts are symbolic diagrams of operations
and the sequence, data flow, control flow and
processing logic in information processing.
 These charts are used to understand any working
sequence of the program.
 Flow char is a graphical representation of
algorithm. I
 An algorithm defines as the step by step
procedure or method that can be carried out for
solving programming problems.
9
CONTD…
Advantages of flowchart:-
 It provides an easy way of communication
because any other person besides the
programmer can understand the way they are
represented.
 It represents the data flow.
 It provides a clear overview of the entire program
and problem and solution. 10
CONTD…
 It checks the accuracy in logic flow.
 It documents the steps followed in an algorithm.
 It provides the facility for coding.
 It provides the way of modification of running
program.
 They shows all major elements and their
relationship. 11
FLOWCHART SYMBOLS
12
CONTD…
 Terminator
This symbol represents the beginning and end
point in a program. We use start and stop option
in it.
 Input / Output Symbol
This symbol is used to take any input or output
in the algorithm.
 Process Symbol
A rectangle indicates the processing, calculation
and arithmetic operations 13
CONTD…
 Decision Symbol
It is used when we want to take any decision in
the program.
 Connector Symbol
This symbol is used to connect the various
portion of a flow chart. This is normally used
when the flow chart is split between two pages
 Data Flow Symbol
This symbol is used to display the flow of the
program. It shows the path of logic flow in a
program.
14
SAMPLE C PROGRAM
main() --------------Function name
{ ------------Start of Program
….
…. -------- Program statements
….
} --------------- End of Program
15
CONTD…
#include <stdio.h>
void main ( )
{
printf ( “Hello, World!n);
}
#include <stdio.h>
int main ( void )
{
printf ( “Hello, World!n” ) ;
return 0 ;
}
/* Filename : hello.c
Description : This program prints the greeting
“Hello, World!”
*/
16
17
FLOWCHART FOR HELLO.C
int main ()
{
printf("Hello, world!n");
}
An oval denotes either
the start or the end of
the program, or a halt
operation within the
program (which we’ll
learn about later).
A parallelogram
denotes either an input
operation or an output
operation.
An arrow denotes the
flow of the program.
Start
End
Output “Hello, world!”
CONTD…
 Comments
Text surrounded by /* and */ is ignored by computer
Used to describe program
 int main()
Program’s execution starts from the main function
Parenthesis used to indicate a function
int means that main "returns" an integer value
Braces ({ and }) indicate a block
The bodies of all functions must be contained in braces
18
CONTD…
o Preprocessor directives
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
 The #include directives “paste” the contents of the files
like stdio.h and conio.h into your source code, at the
very place where the directives appear.
19
CONTD…
 These files contain information about some library
functions used in the program:
stdio stands for “standard I/O”,
conio stands for “console I/O”
stdlib stands for “standard library”,
string.h includes useful string manipulation functions.
 Want to see the files? Look in /TC/include
20
CONTD…
#define MAX_COLS 20
#define MAX_INPUT 1000
 The #define directives perform “global replacements”:
every instance of MAX_COLS is replaced with 20,
and every instance of MAX_INPUT is replaced with
1000
21
CONTD…
 commonly used stdio.h functions:
printf() – Output function
Syntax:
printf(“….”) ;
scanf() – Input function
Syntax:
scanf(“format specifier”, &var,&var2…); 22
CONTD…
 commonly used conio.h functions:
clrscr()
Used to clear the screen
getch()
Used to get a character from ouput screen to
come into the edit screen.
23
CHARACTER SET
These are the characters that C recognizes.
 Letters (upper case and lower case)
A B C D E F G H I J K L M
N O P Q R S T U V W X Y Z
a b c d e f g h i j k l m
n o p q r s t u v w x y z
 Digits
0 1 2 3 4 5 6 7 8 9
 Special Characters (punctuation etc)
space (also known as blank)
’ " ( ) * + - / : =
! & $ ; < > % ? , .
ˆ # @ ˜ ‘ { } [ ]  | 24
CONTD…
 256 characters are allowed in C.
A – Z : 65 to 90 26
a – z : 97 to 122 26
0 – 9 : 48 to 57 10
Special symbols[ #, &, `…] 32
Control characters[n, t . ..] 34
Graphic characters 128
Total 256 25
DATA TYPES
1] Primary
 Integer
 Float
 Double
 Character
2] Derived
 Arrays
 Pointers
 Structure
o C support several different types of data, which may be
represented differently within the computers memory.
o Types
3] User Defined
 typedef
 enum
26
CONTD…
 Primary Data Types
Data Types Byte Format Specifier
1] char 1 %c
signed char 1 %c
unsigned char 1 %c
2] short 2 %d
short signed int 2 %d
short unsigned int 2 %u
3] int 2 %d
signed int 2 %d
unsigned int 2 %u
27
CONTD…
Data Types Byte Format Specifier
4] long 4 %l
long signed int 4 %ld
long unsigned int 4 %lu
5] float 4 %f
signed float 4 %f
unsigned float 4 %uf
6] double 8 %lf
7] Long Double 10 %Lf
28
TYPE CASTING
 It is used to convert on data at a time.
 We can have two types of type casting.
 Implicit
 Explicit
 Implicit : This converts narrow type to wider type so
that use can avoid the information to the system.
 Explicit : Explicit type casting is done by the
programmer manually. When the programmer
wants a result of an expression to be in
particular type, then we use explicit type casting.
This type casting is done by casting operators ‘( )’
and data type.
29
CONTD…
#include <stdio.h>
void main ( )
{
int base, height, area;
base = 5;
height =3;
area = (base * height)/2;
printf ( “Area = %d n”, area);
}
Output : Area = 7 ……………………. Incorrect
30
CONTD…
#include <stdio.h>
void main ( )
{
int base, height, area;
base = 5;
height = 3;
area = ((float) (base * height)/2);
printf ( “Area = %d n”, area);
}
Output : Area = 7.5 …………………….Correct
31
USER DEFINED DATA TYPE
[A] Type Definition
Allows user to define an identifier that would
represent an existing data type
Syntax: typedef type identifier
Eg: typedef int units;
units batch1, batch2;
32
CONTD…
[B] Enumerated data type
 Syntax: enum identifier { value1, value2...
valuen}
 Eg: enum day{ Monday, Tuesday, Wednesday,
Thursday, Friday, Saturday, Sunday}
33
VARIABLES
 Variable names correspond to locations in the computer's
memory
 Data name that may be used to store a data value
 It may take different values at different times during
execution
 Eg:
char x;
char y = ‘e’;
34
CONTD…
 Rules
Must begin with a letter(), some system permits
underscore as first character.
Length should be not more than 8 characters
Uppercase and lowercase are significant, (i.e.) total
and TOTAL are different
Variable should not be a keyword
White space is not allowed
35
C IS CASE SENSITIVE
C is case sensitive: it distinguishes between UPPER case
(CAPITAL) and lower case (small) letters.
Keywords in C — for example, the keyword int — MUST be
in lower case. For example:
#include <stdio.h>
int main ()
{ /* main */
int height_in_cm;
height_in_cm = 160;
printf("My height is %d cm.n",height_in_cm);
} /* main */
36
C TOKENS
 Keywords
 Identifiers
 Constants
 Strings
 Special Symbol
 Operators
37
CONTD…
Keywords
auto double int struct
break else long switch
case enum register typedef
char extern return union
const float short unsigned
continue for signed void
default goto sizeof volatile
do if static while
 Keywords
C uses 32 keyword
have fixed meaning and cannot be changed
38
CONTD…
 Constants
Quantity that does not change is called a constant.
Types
Numeric constants
Integer constants – 123, -33
Real constants – 0.992, 3.5e2
Character constants
Single character constants – ‘5’, ‘a’
String Constants – ‘Hello’, ‘1999’
39
CONTD…
Backslash Characters Constants
 n – Newline
 b – Backspace
 f – Form feed
 t – Tab or horizontal tab
 a – Audible alert
 r – Carriage return
 v – Vertical Tab
 ’ – Single Quote
 ” – Double Quote
 ? – Question Mark
  - Backslash
 0 - Null
40
CONTD…
 Identifiers
Names of arrays, function and variable
 Operators
Arithmetic
Relational
Logical
Bitwise
41
ARITHMETIC OPERATORS
C operation Arithmetic
operator
Algebraic
expression
C expression
Addition + f + 7 f + 7
Subtraction - p – c p - c
Multiplication * bm b * m
Division / x / y x / y
Modulus % r mod s r % s
CONTD….
42
CONTD….
 Equality and Relational Operators
Standard algebraic
equality operator or
relational operator
C equality or
relational
operator
Example of C
condition
Meaning of C
condition
Equality Operators
= == x == y x is equal to y
not = != x != y x is not equal to y
Relational Operators
> > x > y x is greater than y
< < x < y x is less than y
>= >= x >= y x is greater than or
equal to y
<= <= x <= y x is less than or
equal to y
43
CONTD….
 Logical Operators:
&& logical And
|| logical Or
! logical Not
 Bitwise Operators
 & bitwise And
 | bitwise Or
 ^ bitwise Xor
 ~ bitwise Not
 << shift left
 >> shift right 44
SAMPLE C PROGRAM 2
/* Program for multiplication of two variables */
#include< stdio.h>
#include < conio.h>
void main()
{
int a,b,c;
clrscr();
printf(“Enter two numbers”);
scanf(“%d%d”,&var1,&var2);
c=a*b;
printf (“n Multiplication of two numbers is %d ”,c);
getch();
}
45
CONTD…
 OUTPUT:
Enter two numbers: 12 3
Multiplication of two numbers is 36
46
CONTROL STATEMENTS
 These statements are used to control the flow of
program by using these statements. We can have
four types of control statements:-
 decision making
 case control statement or switch statement
 looping / iteration statement
 jump / branching statement
47
DECISION MAKING
 These statements are used when we want to take
any decision according to the condition or user
requirement. These conditions are used by using
‘if’ statement. We can have four types of
conditional statements
 if
 if-else
 if – else if
 nested if
48
 if
if statement is simple decision making statement,
which is used to take any decision when the
condition is true.
if (statement)
{
Statement;
}
 if (expression / condition)
Statement;
CONTD….
49
CONTD….
 If-else
This statement is used to make decision in C
language. If the given condition is true then the
cursor will move to the true portion else it will
move to the false portion.
if (condition)
{
Statement;
}
else
{
Statement;
}
50
 If else-if
if (condition)
{
Statement;
}
else if (condition)
{
Statement;
}
else if (condition)
{
Statement;
}
else
{
Statement;
51
SWITCH CASE / SELECT CASE
 These statements are used with the replacement
of if-else and these statements are used when we
have multiple options or choices.
 These choices can be limited and when we use
switch case we can use only integer or character
variable as expression.
52
 Syntax:
switch( expression)
{
case value-1:
block-1;
break;
case value-2:
block-2;
break;
----
default:
default-block;
break;
}
statement -X;
53
LOOPING
 These statements are used to control the flow of
the program and repeat any process multiple
times according to user’s requirement.
 We can have three types of looping control
statements.
 while
 do-while
 for 54
CONTD…
While
 It is an entry control loop statement, because it
checks the condition first and then if the
condition is true the statements given in while
loop will be executed.
 SYNTAX:-
Initialization;
while (condition)
{
Statements;
Incremental / decrement;
}
55
CONTD…
Do-while
 Do-while loop is also called exit control loop.
 It is different from while loop because in this
loop the portion of the loop is executed minimum
once and then at the end of the loop the condition
is being checked and if the value of any given
condition is true or false the structure of the loop
is executed and the condition is checked after the
completion of true body part of the loop. 56
CONTD…
 SYNTAX:-
Initialization
do
{
Statement;
Increment / decrement;
}
while (condition)
57
CONTD….
For loop
 It is another looping statement or construct used
to repeat any process according to user
requirement but it is different from while and do-
while loop because in this loop all the three steps
of constructions of a loop are contained in single
statement.
 It is also an entry control loop.
 We can have three syntaxes to create for loop:- 58
CONTD….
for (initialization; Test condition; Increment /
decrement)
{
Statement;
}
…………………………………….
for (; test condition; increment / decrement)
{
Statement;
}
………………………………………
59
CONTD….
for (; test condition;)
{
Statement;
Increment / decrement
}
60
JUMPS STATEMENTS
 These are also called as branching statements.
 These statements transfer control to another part
of the program. When we want to break any loop
condition or to continue any loop with skipping
any values then we use these statements. There
are three types of jumps statements.
 Continue
 Break
 Goto
61
CONTD…
 Continue
This statement is used within the body of the
loop. The continue statement moves control in
the beginning of the loop means to say that is
used to skip any particular output.
 WAP to print series from 1 to 10 and skip only 5
and 7.
#include
void main ( )
{
int a;
62
CONTD…
clrscr ( );
for (a=1; a<=10; a++)
{
if (a= =5 | | a= = 7)
continue;
printf (“%d n”,a);
}
getch ( );
}
63
CONTD…
Break
 This statement is used to terminate any
sequence or sequence of statement in switch
statement. This statement enforce indicate
termination. In a loop when a break statement is
in computer the loop is terminated and a cursor
moves to the next statement or block;
 Example:
 WAP to print series from 1 to 10 and break
on 5
#include
void main ( )
{
64
CONTD…
int a;
clrscr ( );
for (a=1; a<=10; a++)
{
if (a= =5)
break;
printf (“%d n”,a);
}
getch ( );
} 65
CONTD…
Goto statement
 It is used to alter or modify the normal sequence
of program execution by transferring the control
to some other parts of the program. the control
may be move or transferred to any part of the
program when we use goto statement we have to
use a label.
 Syntax:
 Forward Loop:
goto label;
….
….
label:
statement;
66
CONTD…
 Backward Loop:
label:
statement
….
….
goto label;
67
COMMON PROGRAMMING
ERRORS
 Missing Semicolons
Eg: a = x+y …… is wrong
c= b/d; …… is right
 Misuse of Semicolon
Eg:
for(i = 1; i <= 10; i++);
sum = sum + i;
 is wrong
for(i = 1; i <= 10; i++)
sum = sum + i;
is right
68
CONTD…
 Use of = instead of = =
 Missing Braces
 Missing Quotes
 Improper Comment Characters
 Undeclared Variables
And many more……
69
ASSIGNMENT
 Write a C program to swap two entered number.
 Write a C program to perform all the arithmetic
operations.
 Write a C program to find the area of a circle,
triangle and rectangle.
 Write a C program to calculate the area of circle,
triangle and rectangle.
 Write a C program to get a number from user
and print a square and cube of that number.
70
CONTD…
 Write a C program to display the greatest of
three number using if else statement.
 Write a C program to find the number is positive
or negative.
 Write a C program to find the number is odd or
even.
 Write a program to display the spelling of
number using switch case. 71
 Write a C program to display the entered letter
is vowel or a character.
 Write a C program to display odd number from 1
to n using while loop and do while loop.
 Write a C program to display even number from
1 to n using for loop.
CONTD…
72
QUERIES?
73
THANK YOU!!!
74

More Related Content

What's hot

Introduction to c programming
Introduction to c programmingIntroduction to c programming
Introduction to c programming
Alpana Gupta
 

What's hot (20)

Variables in C++, data types in c++
Variables in C++, data types in c++Variables in C++, data types in c++
Variables in C++, data types in c++
 
Function in C
Function in CFunction in C
Function in C
 
Introduction to c programming
Introduction to c programmingIntroduction to c programming
Introduction to c programming
 
Introduction to c++ ppt 1
Introduction to c++ ppt 1Introduction to c++ ppt 1
Introduction to c++ ppt 1
 
Presentation on Function in C Programming
Presentation on Function in C ProgrammingPresentation on Function in C Programming
Presentation on Function in C Programming
 
Lecture 5 - Structured Programming Language
Lecture 5 - Structured Programming Language Lecture 5 - Structured Programming Language
Lecture 5 - Structured Programming Language
 
Loops in C Programming Language
Loops in C Programming LanguageLoops in C Programming Language
Loops in C Programming Language
 
Data types in C
Data types in CData types in C
Data types in C
 
Programming in c Arrays
Programming in c ArraysProgramming in c Arrays
Programming in c Arrays
 
Data Type in C Programming
Data Type in C ProgrammingData Type in C Programming
Data Type in C Programming
 
Functions in c language
Functions in c language Functions in c language
Functions in c language
 
c-programming
c-programmingc-programming
c-programming
 
C basics
C   basicsC   basics
C basics
 
Loops c++
Loops c++Loops c++
Loops c++
 
CONDITIONAL STATEMENT IN C LANGUAGE
CONDITIONAL STATEMENT IN C LANGUAGECONDITIONAL STATEMENT IN C LANGUAGE
CONDITIONAL STATEMENT IN C LANGUAGE
 
C++ presentation
C++ presentationC++ presentation
C++ presentation
 
Data types
Data typesData types
Data types
 
Operators in c programming
Operators in c programmingOperators in c programming
Operators in c programming
 
History of c
History of cHistory of c
History of c
 
If else statement in c++
If else statement in c++If else statement in c++
If else statement in c++
 

Viewers also liked

2 3. standard io
2 3. standard io2 3. standard io
2 3. standard io
웅식 전
 
2 3. standard io
2 3. standard io2 3. standard io
2 3. standard io
웅식 전
 
01 c++ Intro.ppt
01 c++ Intro.ppt01 c++ Intro.ppt
01 c++ Intro.ppt
Tareq Hasan
 

Viewers also liked (14)

Pointers in C Programming
Pointers in C ProgrammingPointers in C Programming
Pointers in C Programming
 
2 3. standard io
2 3. standard io2 3. standard io
2 3. standard io
 
2 3. standard io
2 3. standard io2 3. standard io
2 3. standard io
 
Input output streams
Input output streamsInput output streams
Input output streams
 
Formatted input and output
Formatted input and outputFormatted input and output
Formatted input and output
 
Managing console
Managing consoleManaging console
Managing console
 
Introduction to programming with c,
Introduction to programming with c,Introduction to programming with c,
Introduction to programming with c,
 
C Pointers
C PointersC Pointers
C Pointers
 
Lan and wan
Lan and wanLan and wan
Lan and wan
 
Introduction to Programming Languages
Introduction to Programming LanguagesIntroduction to Programming Languages
Introduction to Programming Languages
 
C ppt
C pptC ppt
C ppt
 
01 c++ Intro.ppt
01 c++ Intro.ppt01 c++ Intro.ppt
01 c++ Intro.ppt
 
INTRODUCTION TO C PROGRAMMING
INTRODUCTION TO C PROGRAMMINGINTRODUCTION TO C PROGRAMMING
INTRODUCTION TO C PROGRAMMING
 
Basics of C programming
Basics of C programmingBasics of C programming
Basics of C programming
 

Similar to Introduction to c programming

C programming session 01
C programming session 01C programming session 01
C programming session 01
Dushmanta Nath
 
C LANGUAGE UNIT-1 PREPARED BY MVB REDDY
C LANGUAGE UNIT-1 PREPARED BY MVB REDDYC LANGUAGE UNIT-1 PREPARED BY MVB REDDY
C LANGUAGE UNIT-1 PREPARED BY MVB REDDY
Rajeshkumar Reddy
 

Similar to Introduction to c programming (20)

Introduction to c programming
Introduction to c programmingIntroduction to c programming
Introduction to c programming
 
Introduction to C Unit 1
Introduction to C Unit 1Introduction to C Unit 1
Introduction to C Unit 1
 
Chap 2 c++
Chap 2 c++Chap 2 c++
Chap 2 c++
 
Learn c language Important topics ( Easy & Logical, & smart way of learning)
Learn c language Important topics ( Easy & Logical, & smart way of learning)Learn c language Important topics ( Easy & Logical, & smart way of learning)
Learn c language Important topics ( Easy & Logical, & smart way of learning)
 
C notes.pdf
C notes.pdfC notes.pdf
C notes.pdf
 
C programming session 01
C programming session 01C programming session 01
C programming session 01
 
The smartpath information systems c pro
The smartpath information systems c proThe smartpath information systems c pro
The smartpath information systems c pro
 
C Programming ppt for beginners . Introduction
C Programming ppt for beginners . IntroductionC Programming ppt for beginners . Introduction
C Programming ppt for beginners . Introduction
 
c-introduction.pptx
c-introduction.pptxc-introduction.pptx
c-introduction.pptx
 
(Lect. 2 & 3) Introduction to C.ppt
(Lect. 2 & 3) Introduction to C.ppt(Lect. 2 & 3) Introduction to C.ppt
(Lect. 2 & 3) Introduction to C.ppt
 
C LANGUAGE UNIT-1 PREPARED BY MVB REDDY
C LANGUAGE UNIT-1 PREPARED BY MVB REDDYC LANGUAGE UNIT-1 PREPARED BY MVB REDDY
C LANGUAGE UNIT-1 PREPARED BY MVB REDDY
 
C prog ppt
C prog pptC prog ppt
C prog ppt
 
C Programming Unit-1
C Programming Unit-1C Programming Unit-1
C Programming Unit-1
 
C programming notes
C programming notesC programming notes
C programming notes
 
C programming.pdf
C programming.pdfC programming.pdf
C programming.pdf
 
Chapter3
Chapter3Chapter3
Chapter3
 
Unit 2 introduction to c programming
Unit 2   introduction to c programmingUnit 2   introduction to c programming
Unit 2 introduction to c programming
 
C tutorials
C tutorialsC tutorials
C tutorials
 
Programming in C - interview questions.pdf
Programming in C - interview questions.pdfProgramming in C - interview questions.pdf
Programming in C - interview questions.pdf
 
C programming day#1
C programming day#1C programming day#1
C programming day#1
 

Recently uploaded

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Recently uploaded (20)

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

Introduction to c programming

  • 2. OUTLINE  Overview  History  Features  Role of C Compiler  Flowchart  Sample C Program 1  Character Set  Data Types  Variables  C is Case Sensitive  C Token  Sample C Program 2  Control Statements  Common Programming Errors  Assignment 2
  • 3. OVERVIEW OF C  C language is  Structured  High level  Machine independent  Follows top down approach 3
  • 4. HISTORY  ALGOL  In 1960’s  First language using a block structure  BCPL  In 1967  Basic Combined Programming Language  B  In 1970  Added feature of BCPL 4
  • 5. CONTD…  C Evolved from ALGOL, BCPL & B Developed between 1969 and 1973 along with Unix Developed at AT & T’s Bell Laboratories of USA Designed and written by Dennis Ritchie 5
  • 6. FEATURES  C is PortableThis means a program written for one computer may run successfully on other computer also.  C is fast This means that the executable program obtained after compiling and linking runs very fast.  C is compact The statements in C Language are generally short but very powerful. 6
  • 7. CONTD…  Simple / Easy The C Language has both the simplicity of High Level Language and speed of Low Level Language. So it is also known as Middle Level Language  C has only 32 Keywords  C Compiler is easily available  C has ability to extend itself. Users can add their own functions to the C Library 7
  • 8. ROLE OF C COMPILER Compiler: converts source to object code for a specific platform Linker: resolves external references and produces the executable module  Typically C programs when executing, have four different files Source Code – file that is created by user and the executable statements are written. This file is saved with a file extension of ‘.c’. Header files – contains the declaration of functions and pre- processors statements. Header files have ‘.h’ as their extension. Object files – are the output from the compilers. ‘.o’ or ‘.obj’ are the typical extension to such files. Binary executables – are an output of the process of linking. Binary executables have ‘.exe’ as their extension. 8
  • 9. FLOWCHART  Flow charts are symbolic diagrams of operations and the sequence, data flow, control flow and processing logic in information processing.  These charts are used to understand any working sequence of the program.  Flow char is a graphical representation of algorithm. I  An algorithm defines as the step by step procedure or method that can be carried out for solving programming problems. 9
  • 10. CONTD… Advantages of flowchart:-  It provides an easy way of communication because any other person besides the programmer can understand the way they are represented.  It represents the data flow.  It provides a clear overview of the entire program and problem and solution. 10
  • 11. CONTD…  It checks the accuracy in logic flow.  It documents the steps followed in an algorithm.  It provides the facility for coding.  It provides the way of modification of running program.  They shows all major elements and their relationship. 11
  • 13. CONTD…  Terminator This symbol represents the beginning and end point in a program. We use start and stop option in it.  Input / Output Symbol This symbol is used to take any input or output in the algorithm.  Process Symbol A rectangle indicates the processing, calculation and arithmetic operations 13
  • 14. CONTD…  Decision Symbol It is used when we want to take any decision in the program.  Connector Symbol This symbol is used to connect the various portion of a flow chart. This is normally used when the flow chart is split between two pages  Data Flow Symbol This symbol is used to display the flow of the program. It shows the path of logic flow in a program. 14
  • 15. SAMPLE C PROGRAM main() --------------Function name { ------------Start of Program …. …. -------- Program statements …. } --------------- End of Program 15
  • 16. CONTD… #include <stdio.h> void main ( ) { printf ( “Hello, World!n); } #include <stdio.h> int main ( void ) { printf ( “Hello, World!n” ) ; return 0 ; } /* Filename : hello.c Description : This program prints the greeting “Hello, World!” */ 16
  • 17. 17 FLOWCHART FOR HELLO.C int main () { printf("Hello, world!n"); } An oval denotes either the start or the end of the program, or a halt operation within the program (which we’ll learn about later). A parallelogram denotes either an input operation or an output operation. An arrow denotes the flow of the program. Start End Output “Hello, world!”
  • 18. CONTD…  Comments Text surrounded by /* and */ is ignored by computer Used to describe program  int main() Program’s execution starts from the main function Parenthesis used to indicate a function int means that main "returns" an integer value Braces ({ and }) indicate a block The bodies of all functions must be contained in braces 18
  • 19. CONTD… o Preprocessor directives #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <string.h>  The #include directives “paste” the contents of the files like stdio.h and conio.h into your source code, at the very place where the directives appear. 19
  • 20. CONTD…  These files contain information about some library functions used in the program: stdio stands for “standard I/O”, conio stands for “console I/O” stdlib stands for “standard library”, string.h includes useful string manipulation functions.  Want to see the files? Look in /TC/include 20
  • 21. CONTD… #define MAX_COLS 20 #define MAX_INPUT 1000  The #define directives perform “global replacements”: every instance of MAX_COLS is replaced with 20, and every instance of MAX_INPUT is replaced with 1000 21
  • 22. CONTD…  commonly used stdio.h functions: printf() – Output function Syntax: printf(“….”) ; scanf() – Input function Syntax: scanf(“format specifier”, &var,&var2…); 22
  • 23. CONTD…  commonly used conio.h functions: clrscr() Used to clear the screen getch() Used to get a character from ouput screen to come into the edit screen. 23
  • 24. CHARACTER SET These are the characters that C recognizes.  Letters (upper case and lower case) A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z  Digits 0 1 2 3 4 5 6 7 8 9  Special Characters (punctuation etc) space (also known as blank) ’ " ( ) * + - / : = ! & $ ; < > % ? , . ˆ # @ ˜ ‘ { } [ ] | 24
  • 25. CONTD…  256 characters are allowed in C. A – Z : 65 to 90 26 a – z : 97 to 122 26 0 – 9 : 48 to 57 10 Special symbols[ #, &, `…] 32 Control characters[n, t . ..] 34 Graphic characters 128 Total 256 25
  • 26. DATA TYPES 1] Primary  Integer  Float  Double  Character 2] Derived  Arrays  Pointers  Structure o C support several different types of data, which may be represented differently within the computers memory. o Types 3] User Defined  typedef  enum 26
  • 27. CONTD…  Primary Data Types Data Types Byte Format Specifier 1] char 1 %c signed char 1 %c unsigned char 1 %c 2] short 2 %d short signed int 2 %d short unsigned int 2 %u 3] int 2 %d signed int 2 %d unsigned int 2 %u 27
  • 28. CONTD… Data Types Byte Format Specifier 4] long 4 %l long signed int 4 %ld long unsigned int 4 %lu 5] float 4 %f signed float 4 %f unsigned float 4 %uf 6] double 8 %lf 7] Long Double 10 %Lf 28
  • 29. TYPE CASTING  It is used to convert on data at a time.  We can have two types of type casting.  Implicit  Explicit  Implicit : This converts narrow type to wider type so that use can avoid the information to the system.  Explicit : Explicit type casting is done by the programmer manually. When the programmer wants a result of an expression to be in particular type, then we use explicit type casting. This type casting is done by casting operators ‘( )’ and data type. 29
  • 30. CONTD… #include <stdio.h> void main ( ) { int base, height, area; base = 5; height =3; area = (base * height)/2; printf ( “Area = %d n”, area); } Output : Area = 7 ……………………. Incorrect 30
  • 31. CONTD… #include <stdio.h> void main ( ) { int base, height, area; base = 5; height = 3; area = ((float) (base * height)/2); printf ( “Area = %d n”, area); } Output : Area = 7.5 …………………….Correct 31
  • 32. USER DEFINED DATA TYPE [A] Type Definition Allows user to define an identifier that would represent an existing data type Syntax: typedef type identifier Eg: typedef int units; units batch1, batch2; 32
  • 33. CONTD… [B] Enumerated data type  Syntax: enum identifier { value1, value2... valuen}  Eg: enum day{ Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday} 33
  • 34. VARIABLES  Variable names correspond to locations in the computer's memory  Data name that may be used to store a data value  It may take different values at different times during execution  Eg: char x; char y = ‘e’; 34
  • 35. CONTD…  Rules Must begin with a letter(), some system permits underscore as first character. Length should be not more than 8 characters Uppercase and lowercase are significant, (i.e.) total and TOTAL are different Variable should not be a keyword White space is not allowed 35
  • 36. C IS CASE SENSITIVE C is case sensitive: it distinguishes between UPPER case (CAPITAL) and lower case (small) letters. Keywords in C — for example, the keyword int — MUST be in lower case. For example: #include <stdio.h> int main () { /* main */ int height_in_cm; height_in_cm = 160; printf("My height is %d cm.n",height_in_cm); } /* main */ 36
  • 37. C TOKENS  Keywords  Identifiers  Constants  Strings  Special Symbol  Operators 37
  • 38. CONTD… Keywords auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if static while  Keywords C uses 32 keyword have fixed meaning and cannot be changed 38
  • 39. CONTD…  Constants Quantity that does not change is called a constant. Types Numeric constants Integer constants – 123, -33 Real constants – 0.992, 3.5e2 Character constants Single character constants – ‘5’, ‘a’ String Constants – ‘Hello’, ‘1999’ 39
  • 40. CONTD… Backslash Characters Constants  n – Newline  b – Backspace  f – Form feed  t – Tab or horizontal tab  a – Audible alert  r – Carriage return  v – Vertical Tab  ’ – Single Quote  ” – Double Quote  ? – Question Mark  - Backslash  0 - Null 40
  • 41. CONTD…  Identifiers Names of arrays, function and variable  Operators Arithmetic Relational Logical Bitwise 41
  • 42. ARITHMETIC OPERATORS C operation Arithmetic operator Algebraic expression C expression Addition + f + 7 f + 7 Subtraction - p – c p - c Multiplication * bm b * m Division / x / y x / y Modulus % r mod s r % s CONTD…. 42
  • 43. CONTD….  Equality and Relational Operators Standard algebraic equality operator or relational operator C equality or relational operator Example of C condition Meaning of C condition Equality Operators = == x == y x is equal to y not = != x != y x is not equal to y Relational Operators > > x > y x is greater than y < < x < y x is less than y >= >= x >= y x is greater than or equal to y <= <= x <= y x is less than or equal to y 43
  • 44. CONTD….  Logical Operators: && logical And || logical Or ! logical Not  Bitwise Operators  & bitwise And  | bitwise Or  ^ bitwise Xor  ~ bitwise Not  << shift left  >> shift right 44
  • 45. SAMPLE C PROGRAM 2 /* Program for multiplication of two variables */ #include< stdio.h> #include < conio.h> void main() { int a,b,c; clrscr(); printf(“Enter two numbers”); scanf(“%d%d”,&var1,&var2); c=a*b; printf (“n Multiplication of two numbers is %d ”,c); getch(); } 45
  • 46. CONTD…  OUTPUT: Enter two numbers: 12 3 Multiplication of two numbers is 36 46
  • 47. CONTROL STATEMENTS  These statements are used to control the flow of program by using these statements. We can have four types of control statements:-  decision making  case control statement or switch statement  looping / iteration statement  jump / branching statement 47
  • 48. DECISION MAKING  These statements are used when we want to take any decision according to the condition or user requirement. These conditions are used by using ‘if’ statement. We can have four types of conditional statements  if  if-else  if – else if  nested if 48
  • 49.  if if statement is simple decision making statement, which is used to take any decision when the condition is true. if (statement) { Statement; }  if (expression / condition) Statement; CONTD…. 49
  • 50. CONTD….  If-else This statement is used to make decision in C language. If the given condition is true then the cursor will move to the true portion else it will move to the false portion. if (condition) { Statement; } else { Statement; } 50
  • 51.  If else-if if (condition) { Statement; } else if (condition) { Statement; } else if (condition) { Statement; } else { Statement; 51
  • 52. SWITCH CASE / SELECT CASE  These statements are used with the replacement of if-else and these statements are used when we have multiple options or choices.  These choices can be limited and when we use switch case we can use only integer or character variable as expression. 52
  • 53.  Syntax: switch( expression) { case value-1: block-1; break; case value-2: block-2; break; ---- default: default-block; break; } statement -X; 53
  • 54. LOOPING  These statements are used to control the flow of the program and repeat any process multiple times according to user’s requirement.  We can have three types of looping control statements.  while  do-while  for 54
  • 55. CONTD… While  It is an entry control loop statement, because it checks the condition first and then if the condition is true the statements given in while loop will be executed.  SYNTAX:- Initialization; while (condition) { Statements; Incremental / decrement; } 55
  • 56. CONTD… Do-while  Do-while loop is also called exit control loop.  It is different from while loop because in this loop the portion of the loop is executed minimum once and then at the end of the loop the condition is being checked and if the value of any given condition is true or false the structure of the loop is executed and the condition is checked after the completion of true body part of the loop. 56
  • 58. CONTD…. For loop  It is another looping statement or construct used to repeat any process according to user requirement but it is different from while and do- while loop because in this loop all the three steps of constructions of a loop are contained in single statement.  It is also an entry control loop.  We can have three syntaxes to create for loop:- 58
  • 59. CONTD…. for (initialization; Test condition; Increment / decrement) { Statement; } ……………………………………. for (; test condition; increment / decrement) { Statement; } ……………………………………… 59
  • 60. CONTD…. for (; test condition;) { Statement; Increment / decrement } 60
  • 61. JUMPS STATEMENTS  These are also called as branching statements.  These statements transfer control to another part of the program. When we want to break any loop condition or to continue any loop with skipping any values then we use these statements. There are three types of jumps statements.  Continue  Break  Goto 61
  • 62. CONTD…  Continue This statement is used within the body of the loop. The continue statement moves control in the beginning of the loop means to say that is used to skip any particular output.  WAP to print series from 1 to 10 and skip only 5 and 7. #include void main ( ) { int a; 62
  • 63. CONTD… clrscr ( ); for (a=1; a<=10; a++) { if (a= =5 | | a= = 7) continue; printf (“%d n”,a); } getch ( ); } 63
  • 64. CONTD… Break  This statement is used to terminate any sequence or sequence of statement in switch statement. This statement enforce indicate termination. In a loop when a break statement is in computer the loop is terminated and a cursor moves to the next statement or block;  Example:  WAP to print series from 1 to 10 and break on 5 #include void main ( ) { 64
  • 65. CONTD… int a; clrscr ( ); for (a=1; a<=10; a++) { if (a= =5) break; printf (“%d n”,a); } getch ( ); } 65
  • 66. CONTD… Goto statement  It is used to alter or modify the normal sequence of program execution by transferring the control to some other parts of the program. the control may be move or transferred to any part of the program when we use goto statement we have to use a label.  Syntax:  Forward Loop: goto label; …. …. label: statement; 66
  • 68. COMMON PROGRAMMING ERRORS  Missing Semicolons Eg: a = x+y …… is wrong c= b/d; …… is right  Misuse of Semicolon Eg: for(i = 1; i <= 10; i++); sum = sum + i;  is wrong for(i = 1; i <= 10; i++) sum = sum + i; is right 68
  • 69. CONTD…  Use of = instead of = =  Missing Braces  Missing Quotes  Improper Comment Characters  Undeclared Variables And many more…… 69
  • 70. ASSIGNMENT  Write a C program to swap two entered number.  Write a C program to perform all the arithmetic operations.  Write a C program to find the area of a circle, triangle and rectangle.  Write a C program to calculate the area of circle, triangle and rectangle.  Write a C program to get a number from user and print a square and cube of that number. 70
  • 71. CONTD…  Write a C program to display the greatest of three number using if else statement.  Write a C program to find the number is positive or negative.  Write a C program to find the number is odd or even.  Write a program to display the spelling of number using switch case. 71
  • 72.  Write a C program to display the entered letter is vowel or a character.  Write a C program to display odd number from 1 to n using while loop and do while loop.  Write a C program to display even number from 1 to n using for loop. CONTD… 72