SlideShare a Scribd company logo
1 of 125
CS8251-PROGRAMMING IN
C
G.PRAVEENA,
Associate Professor,
Department of Computer Science & Engineering
UNIT I BASICS OF C PROGRAMMING
Introduction to programming paradigms - Structure
of C program - C programming: Data Types –
Storage classes - Constants – Enumeration
Constants - Keywords – Operators: Precedence and
Associativity - Expressions - Input/Output
statements, Assignment statements – Decision
making statements - Switch statement - Looping
statements – Pre-processor directives - Compilation
process
Introduction to Programming Paradigm
 a programming paradigm is a fundamental
style of computer programming that defines
how the structure and basic elements of a
computer program will be built.
• Classification of Programming Paradigms
s.No Type Purpose
1. Monolithic
Programming
Emphasis on finding a
solution
2. Procedural
Programming
Focus on modules
3. Structured
Programming
Specifies a series of
well-structured steps
and procedure
4. Object-Oriented
Programming
Focuses on classes and
objects
Monolithic Programming
• In these types of programming language, the
coding was written with a single function.
• A program is not divided into parts; hence it
is named as monolithic programming.
• Example
--BASIC(beginners all purpose symbolic
Instruction code)it was developed to enable
more people to write programs.
--Assembly Language
• Structured Programming
structured programming facilities program
understanding and modification and has top-
down design approach, where a system is
divided into compositional sub systems.
example
-- ALGOL (Algorithmic Language)-focused on
being an appropriate to define algorithms,while using
mathematical language terminology and targeting scientific
and engg problems just like FORTRAN.
• Procedural Programming
In procedural programming is a
programming paradigm, derived from
structural programming, based upon the
concept of the procedure call.
• Example
-FORTRON
-COBOL(Common Business oriented
language)-uses terms like file,move and copy.
• Object Oriented Programming
Programming Paradigm that views a
computer program as a combination of
objects which can exhange information in a
standard manner and can be combined with
one another as a module.
• Example
• ---C++
• C – a general-purpose programming language,
initially developed by Dennis Ritchie between 1969
and 1973 at AT&T Bell Labs.
• Features of C Programming Language
– C is a robust language with rich set of built-in functions and
operators.
– Programs written in C are efficient and fast.
– C is highly portable, programs once written in C can be run on
another machines with minor or no modification.
– C is basically a collection of C library functions, we can also
create our own function and add it to the C library.
– C is easily extensible.
• Advantages of C
– C is the building block for many other
programming languages.
– Programs written in C are highly portable.
– Several standard functions are there (like in-
built) that can be used to develop programs.
– C programs are basically collections of C library
functions, and it’s also easy to add own functions
in to the C library.
– The modular structure makes code debugging,
maintenance and testing easier.
•
• Disadvantages of C
– C does not provide Object Oriented Programming
(OOP) concepts.
– There is no concepts of Namespace in C.
– C does not provide binding or wrapping up of
data in a single unit.
– C does not provide Constructor and Destructor.
• Basic Structure of a C Program
C PROGRAMMING: DATA-TYPES
Primary Data Types with Variable Names
• After taking suitable variable names, they
need to be assigned with a data type. This is
how the data types are used along with
variables:
int age;
char letter;
float height, width;
Derived Data Types
C supports three derived data types:
data types Description
Arrays Arrays are sequences of data items
having homogeneous values . They
have adjacent memory locations to
store values.
Pointers These are powerful C features which
are used to access the memory and
deal with address
Structure It is a package of variables of
different types under a single
name . This is doneto handle
data efficiently. “struct”
keyword is used to define a
structure.
Union
These allow storing various
data types in the same memory
location. Programmers can
define a union with different
members but only a single
User Defined Data Types
• C allows the feature called type definition which allows
programmers to define their own identifier that would
represent an existing data type.
Enum
• Enumeration is a special data type that consists of integral
constants and each of them is assigned with a specific name.
“enum” keyword is used to define the enumerated data
type.
Data Types Memory Size Range
char 1 byte −128 to 127
signed char 1 byte −128 to 127
unsigned char 1 byte 0 to 255
short 2 byte −32,768 to 32,767
signed short 2 byte −32,768 to 32,767
unsigned short 2 byte 0 to 65,535
int 2 byte −32,768 to 32,767
signed int 2 byte −32,768 to 32,767
unsigned int 2 byte 0 to 65,535
short int 2 byte −32,768 to 32,767
signed short int 2 byte −32,768 to 32,767
char 1 byte −128 to 127
signed char 1 byte −128 to 127
unsigned char 1 byte 0 to 255
short 2 byte −32,768 to 32,767
Data Types Memory Size Range
unsigned short int 2 byte 0 to 65,535
long int 4 byte -2,147,483,648 to
2,147,483,647
signed long int 4 byte -2,147,483,648 to
2,147,483,647
unsigned long int 4 byte 0 to 4,294,967,295
float double
long double
4 byte 8 byte
10 byte
unsigned short int 2 byte 0 to 65,535
long int 4 byte -2,147,483,648 to
2,147,483,647
signed long int 4 byte -2,147,483,648 to
2,147,483,647
unsigned long int 4 byte 0 to 4,294,967,295
float double
long double
4 byte 8 byte
10 byte
unsigned short int 2 byte 0 to 65,535
long int 4 byte -2,147,483,648 to
2,147,483,647
Storage Classes
A storage class defines the scope (visibility) and a
location of variables and functions within a C Program.A
storage class in C is used to describe the following
things:
• the variable scope.
• The location where the variable will be stored.
• The initialized value of a variable.
• A lifetime of a variable.
• Who can access a variable?
Storage classes are auto, static, extern, and register.
• A storage class can be omitted in a declaration and a
default storage class is assigned automatically.
auto
• The variables defined using auto storage class are called as local variables.
Auto stands for automatic storage class. A variable is in auto storage class
by default if it is not explicitly specified.
• The scope of an auto variable is limited with the particular block only.
Once the control goes out of the block, the access is destroyed. This
means only the block in which the auto variable is declared can access it..
Example, auto int age;
int add(void)
{ int a=13;
auto int b=48;
return a+b;}
extern
• Extern stands for external storage class .Extern storage class is used when
we have global functions or variables which are shared between two or
more files..
• extern is used to declaring a global variable or function in another file to
provide the reference of variable or function which have been already
defined in the original file.
• The variables defined using an extern keyword are called as global
variables
example,
extern void display();
First File: main.c
#include <stdio.h>
extern i; main()
{ printf("value of the external integer is = %dn",
i); return 0;}
static
• The static variables are used within function/ file as local
static variables. They can also be used as a global variable
• Static local variable is a local variable that retains and stores
its value between function calls or block and remains visible
only to the function or block in which it is defined.
• Static global variables are global variables visible only to the
file in which it is declared.
Example: static int count = 10;
#include <stdio.h> /* function declaration */
void next(void);
static int counter = 7; /* global variable */
main(){
while(counter<10){
next();
counter++;
} return 0;}
void next( void ) { /* function definition */
static int iteration = 13; /* local static variable */
iteration ++;
printf("iteration=%d and counter= %dn", iteration, counter);}
• Register Storage Class in C
The register storage class when you want to store local
variables within functions or blocks in CPU registers
instead of RAM to have quick access to these variables.
For example, "counters" are a good candidate to be
stored in the register.
Example: register int age;
register is used to declare a register storage class. The
variables declared using register storage class has
lifespan throughout the program
Storage
Class
Declar
ation
Storage Default Initial
Value
Scope Lifetime
auto Inside
a
functi
on/bl
ock
Memory Unpredictable Within the
function/blo
ck
Within the
function/block
register Inside
a
functi
on/bl
ock
CPU
Registers
Garbage Within the
function/blo
ck
Within the
function/block
extern Outsid
e all
functi
ons
Memory Zero Entire the
file and
other files
where the
variable is
declared as
extern
program runtime
Storage
Class
Declarat
ion
Storag
e
Default Initial
Value
Scope Lifetime
Static
(local)
Inside a
function
/block
Memor
y
Zero Within the
function/blo
ck
program runtime
Static
(global)
Outside
all
function
s
Memor
y
Zero Global program runtime
Constants
• C Constants are also like normal variables. But, only
difference is, their values can not be modified by the
program once they are defined.
• Constants refer to fixed values. They are also called
as literals
• Constants may be belonging to any of the data type.
Syntax:
const data_type variable_name; (or) const data_type
*variable_name;
TYPES OF C CONSTANT:
1. Integer constants
2. Real or Floating point constants
3. Octal & Hexadecimal constants
4. Character constants
5. String constants
6. Backslash character constants
Constant type data type (Example)
Integer constants
int (53, 762, -478 etc )
unsigned int (5000u, 1000U etc)
long int, long long int
(483,647 2,147,483,680)
Real or Floating point constants
float (10.456789)
doule (600.123456789)
Octal constant int (Example: 013 /*starts with 0 */)
Hexadecimal constant int (Example: 0x90 /*starts with 0x*/)
character constants char (Example: ‘A’, ‘B’, ‘C’)
string constants char (Example: “ABCD”, “Hai”)
1. INTEGER CONSTANTS IN C:
• An integer constant must have at least one digit.
• It must not have a decimal point.
• It can either be positive or negative.
• No commas or blanks are allowed within an integer constant.
• If no sign precedes an integer constant, it is assumed to be positive.
• The allowable range for integer constants is -32768 to 32767.
2. REAL CONSTANTS IN C:
• A real constant must have at least one digit
• It must have a decimal point
• It could be either positive or negative
• If no sign precedes an integer constant, it is assumed to be positive.
• No commas or blanks are allowed within a real constant.
Eg: 2.5, 5.11, etc.
3. CHARACTER AND STRING CONSTANTS IN C:
• A character constant is a single alphabet, a single digit or a
single special symbol enclosed within single quotes.
• The maximum length of a character constant is 1 character.
• String constants are enclosed within double quotes.
Eg: ‘a’, ‘8’,’_’etc.
Eg: “Hello” ,”444”,”a” etc,.
4. BACKSLASH CHARACTER CONSTANTS IN C:
• There are some characters which have special
meaning in C language.
• They should be preceded by backslash symbol to
make use of special function of them.
Backslash_character Meaning
b Backspace
f Form feed
n New line
r Carriage return
t Horizontal tab
” Double quote
’ Single quote
 Backslash
v Vertical tab
a Alert or bell
? Question mark
N Octal constant (N is an octal constant)
XN Hexadecimal constant (N – hex.dcml cns
EXAMPLE PROGRAM USING CONST KEYWORD IN C:
#include <stdio.h>
void main()
{
const int height = 100; /*int constant*/
const float number = 3.14; /*Real constant*/
const char letter = 'A'; /*char constant*/
const char letter_sequence[10] = "ABC"; /*string constant*/
const char backslash_char = '?'; /*special char cnst*/
printf("value of height :%d n", height );
printf("value of number : %f n", number );
printf("value of letter : %c n", letter );
printf("value of letter_sequence : %s n", letter_sequence);
printf("value of backslash_char : %c n", backslash_char);
}
C – Tokens and keywords
C TOKENS:
• C tokens are the basic buildings blocks in C language which
are constructed together to write a C program.
• Each and every smallest individual units in a C program are
known as C tokens.
C tokens are of six types. They are,
1. Keywords (eg: int, while),
2. Identifiers (eg: main, total),
3. Constants (eg: 10, 20),
4. Strings (eg: “total”, “hello”),
5. Special symbols (eg: (), {}),
6. Operators (eg: +, /,-,*)
C TOKENS EXAMPLE PROGRAM:
int main()
{
int x, y, total;
x = 10, y = 20;
total = x + y;
printf ("Total = %d n", total); }
where,
main – identifier
{,}, (,) – delimiter
int – keyword
x, y, total – identifier
main, {, }, (, ), int, x, y, total – tokens
2. IDENTIFIERS IN C LANGUAGE:
• Each program elements in a C program are given a
name called identifiers.
• Names given to identify Variables, functions and
arrays are examples for identifiers. eg. x is a name
given to integer variable in above program.
RULES FOR CONSTRUCTING IDENTIFIER NAME IN C:
• First character should be an alphabet or underscore.
• Succeeding characters might be digits or letter.
• Punctuation and special characters aren’t allowed
except underscore.
• Identifiers should not be keywords.
3. KEYWORDS IN C LANGUAGE:
Keywords are pre-defined words in a C
compiler.
Each keyword is meant to perform a specific
function in a C program.
Since keywords are referred names for
compiler, they can’t be used as variable name.
C language supports 32 keywords which are
given below
auto double
int struct
const float
short unsigned
break else
long switch
continue for
signed void
case enum
register typedef
default goto
sizeof volatile
char extern
return union
do if
static while
Operators in C
• An operator is a symbol used to do a
mathematical or logical manipulations.
1. Arithmetic operators
2. Relational Operators
3. Logical Operators
4. Assignment Operators
5. Increments and Decrement Operators
6. Conditional Operators
7. Bitwise Operators
8. Special Operators
Arithmetic Operators
Operator Meaning
+ Addition or Unary Plus
– Subtraction or Unary Minus
* Multiplication
/ Division
% Modulus Operator
Arithmetic Operations
• Integer Arithmetic
Let x = 27 and y = 5
x + y = 32 x – y = 22 x * y = 115
x % y = 2 x / y = 5
• Floating point Arithmetic
Let x = 14.0 and y = 4.0 then
x + y = 18.0 x – y = 10.0
x * y = 56.0
• Mixed mode Arithmetic
15/10.0 = 1.5
Sample program
include <stdio.h>
int main()
{
int a=40,b=20, add,sub,mul,div,mod;
add = a+b;
sub = a-b;
mul = a*b;
div = a/b;
mod = a%b;
printf("Addition of a, b is : %dn", add);
printf("Subtraction of a, b is : %dn", sub);
printf("Multiplication of a, b is : %dn", mul);
printf("Division of a, b is : %dn", div);
printf("Modulus of a, b is : %dn", mod); }
output
Addition of a, b is : 60
Subtraction of a, b is : 20
Multiplication of a, b is : 800
Division of a, b is : 2
Modulus of a, b is : 0
ASSIGNMENT OPERATORS IN C:
values for the variables are assigned using assignment
operators.
For example, if the value “10” is to be assigned for the
variable “sum”, it can be assigned as “sum = 10;”
• There are 2 categories of assignment operators in C
language. They are,
1. Simple assignment operator ( Example: = )
2. Compound assignment operators ( Example: +=, -
=, *=, /=, %=, &=, ^= )
Operators Example/Description
=
sum = 10;
10 is assigned to variable sum
+=
sum += 10;
This is same as sum = sum + 10
-=
sum -= 10;
This is same as sum = sum – 10
*=
sum *= 10;
This is same as sum = sum * 10
/=
sum /= 10;
This is same as sum = sum / 10
%=
sum %= 10;
This is same as sum = sum % 10
&=
sum&=10;
This is same as sum = sum & 10
^=
sum ^= 10;
This is same as sum = sum ^ 10
include <stdio.h>
int main()
{
int Total=0,i;
for(i=0;i<10;i++)
{
Total+=i; // This is same as Total = Total+i
}
printf("Total = %d", Total);
}
Total = 45
OUTPUT:
RELATIONAL OPERATORS IN C:
• Relational operators are used to find the relation
between two variables. i.e. to compare the values of
two variables in a C program.
Operators Example/Description
> 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)
== x == y (x is equal to y)
!= x != y (x is not equal to y)
#include <stdio.h>
int main()
{
int m=40,n=20;
if (m == n)
{ printf("m and n are equal");
} else
{ printf("m and n are not equal");
}}
OUTPUT:
m and n are not equal
LOGICAL OPERATORS IN C:
• These operators are used to perform logical operations on the
given expressions.
Operators Example/Description
&& (logical AND)
(x>5)&&(y<5)
It returns true when both conditions
are true
|| (logical OR)
(x>=10)||(y>=10)
It returns true when at-least one of
the condition is true
! (logical NOT)
!((x>5)&&(y<5))
It reverses the state of the operand
“((x>5) && (y<5))”
If “((x>5) && (y<5))” is true, logical
NOT operator makes it false
EXAMPLE PROGRAM FOR LOGICAL OPERATORS IN C:
#include <stdio.h>
int main()
{
int m=40,n=20;
int o=20,p=30;
if (m>n && m !=0)
{
printf("&& Operator : Both conditions are truen");
}
if (o>p || p!=20)
{
printf("|| Operator : Only one condition is truen");
}
if (!(m>n && m !=0))
{
printf("! Operator : Both conditions are truen");
}
else
{ printf("! Operator : Both conditions are true. " 
"But, status is inverted as falsen") }
&& Operator : Both conditions are true
|| Operator : Only one condition is true
! Operator : Both conditions are true. But, status is
inverted as false
BIT WISE OPERATORS IN C:
These operators are used to perform bit operations. Decimal values are converted
into binary values which are the sequence of bits and bit wise operators work on
these bits.
Bit wise operators in C language are
& (bitwise AND), | (bitwise OR), ~ (bitwise NOT), ^ (XOR), << (left shift) and >>
(right shift).
BELOW ARE THE BIT-WISE OPERATORS AND THEIR NAME IN C
LANGUAGE.
1. & – Bitwise AND
2. | – Bitwise OR
3. ~ – Bitwise NOT
4. ^ – XOR
5. << – Left Shift
6. >> – Right Shift
EXAMPLE PROGRAM FOR BIT WISE OPERATORS IN C:
#include <stdio.h>
int main()
{
int m = 40,n = 80,AND_opr,OR_opr,XOR_opr,NOT_opr ;
AND_opr = (m&n);
OR_opr = (m|n);
NOT_opr = (~m);
XOR_opr = (m^n);
printf("AND_opr value = %dn",AND_opr );
printf("OR_opr value = %dn",OR_opr );
printf("NOT_opr value = %dn",NOT_opr );
printf("XOR_opr value = %dn",XOR_opr );
printf("left_shift value = %dn", m << 1);
printf("right_shift value = %dn", m >> 1);
}
o/p
AND_opr value = 0
OR_opr value = 120
NOT_opr value = -41
XOR_opr value = 120
left_shift value = 80
right_shift value = 20
Consider x=40 and y=80. Binary form of these values are given below.
x = 00101000
y= 01010000
All bit wise operations for x and y are given below.
x&y = 00000000 (binary) = 0 (decimal)
x|y = 01111000 (binary) = 120 (decimal)
~x = 11111111111111111111111111
11111111111111111111111111111111010111 = -41
(decimal)
x^y = 01111000 (binary) = 120 (decimal)
x << 1 = 01010000 (binary) = 80 (decimal)
x >> 1 = 00010100 (binary) = 20 (decimal)
CONDITIONAL OPERATORS IN C:
Conditional operators return one value if condition is true and returns another value is
condition is false.
This operator is also called as ternary operator.
Syntax : (Condition? true_value: false_value);
Example : (A > 100 ? 0 : 1);
In above example, if A is greater than 100, 0 is returned else 1 is returned. This is
equal to if else conditional statements.
EXAMPLE PROGRAM FOR CONDITIONAL/TERNARY OPERATORS IN C
#include <stdio.h>
int main()
{
int x=1, y ;
y = ( x ==1 ? 2 : 0 ) ;
printf("x value is %dn", x);
printf("y value is %d", y);
}
x value is 1
y value is 2
Increment and Decrement Operators
1. ++ variable name (Pre Increment)
2. variable name++ (Post Increment)
3. – –variable name (Pre Decrement)
4. variable name– – (Post Decrement) .
Syntax:
Increment operator: ++var_name; (or) var_name++;
Decrement operator: – -var_name; (or) var_name – -;
Example:
Increment operator : ++ i ; i ++ ;
Decrement operator : – – i ; i – – ;
EXAMPLE PROGRAM FOR PRE – INCREMENT OPERATORS IN C:
/Example for increment operators
#include <stdio.h>
int main()
{
int i=0;
while(++i < 5 )
{
printf("%d ",i);
}
return 0;
}
1 2 3 4
OUTPUT:
Conditional or Ternary Operator
It is used to checks the condition and execute the
statement depending on the condition.
The conditional operator consists of 2 symbols the
question mark (?) and the colon (:)
syntax:
exp1 ? exp2 : exp3
a = 10;
b = 15;
x = (a > b) ? a : b
Sample Program
#include<stdio.h>
#include <conio.h>
void main ( )
{
int a=5,b=8,c;
clrscr( );
c = a>b?a:b; //Conditional operator
printf(" n The Larger Value is%d",c);
getch( );
}
Output: The Larger Value is 8
Bitwise Operators
Operator Meaning
& Bitwise AND
| Bitwise OR
^ Bitwise Exclusive
<< Shift left
>> Shift right
 It is used to manipulate data at bit level.
 Eg: a=5 i.e 0000 0101
b=4 i.e 0000 0100
Then a & b = 0000 0100
a | b = 0000 0101 etc,.
Sample program
#include<stdio.h>
#include <conio.h>
void main ( )
{
int a=5,b=4,c;
//char a=5,b=4,c;
clrscr( );
c = a&b;
printf(" n value a&b is:%d",c);
getch( );
}
Output: value a&b is:4
Special Operator
comma operator ( , )
sizeof operator
pointer operator (& and *)
member selection operators (. and ->).
The Comma Operator -to link related
expressions together. Eg: int x=5,y=10;
Contd…sizeof
#include<stdio.h>
#include <conio.h>
void main ( )
{
int c;
clrscr( );
printf(" n size of int is:%d",sizeof(c));
getch( );
}
Output: size of int is: 2
Expression
 An expression represent data item such as variable, constant
are interconnected using operators.
 Eg:
Expression C Expression
a + b + c a + b + c
a2+b2 a*a + b*b
Operator Precedence & Associativity
 The arithmetic expressions evaluation are carried out based on
the precedence and associativity.
 The evaluation are carried in two phases.
First Phase: High Priority operators are
evaluated.
Second Phase: Low Priority operators are
evaluated.
Contd…
Precedence Operator
High * , / , %
Low + , -
Operator Type Operator Associatively
Primary Expression Operators () [] . -> expr++ expr-- left-to-right
Unary Operators
* & + - ! ~ ++expr --expr (typecast)
sizeof()
right-to-left
Binary Operators
* / %
left-to-right
+ -
>> <<
< > <= >=
== !=
&
^
|
&&
||
Ternary Operator ?: right-to-left
Assignment Operators = += -= *= /= %= >>= <<= &= ^= |= right-to-left
Comma , left-to-right
Operator Precedence Chart
Implicit type conversion
• C allows mixing of constants and variables of
different types in an expression.
• C automatically converts intermediate values
to the proper type so that the expression can
be evaluated without loosing any significance.
• Adheres to very strict rules and type
conversion.
• If operands are of different types then lower
type is automatically converted to higher type
before the operation proceeds.
• The result is of higher type.
Explicit Conversion
• We want to force a type conversion that is different
from automatic conversion.
int female_students=30, male_students=50;
Radio=female_students / male_students;
Above gives wrong result
Ratio = (float) female_students / male_students
 Type Conversion: Converting the type of an expression
from one type to another type.
 Eg: x = (int)10.45
Sample Program
#include<stdio.h>
#include <conio.h>
void main ( )
{
int a=30,b=50;
float c;
clrscr( );
c=(float)a/b;
printf("nOutput is:%f",c);
getch( );
}
OUTPUT
Output is: 0.6
Character Test Function
 It is used to test the character taken from the input.
 isalpha(ch)
 isdigit(ch)
 islower(ch)
 isupper(ch)
 tolower(ch)
 toupper(ch) etc,.
Decision Making
 It is used to change the execution order of the program based
on condition.
 Categories:
Selection structure (or) conditional branching
statements
Looping structure (or) Iterative statements
break, continue & goto statements
Decision Making (cont)
Sequential structure
In which instructions are executed in sequence.
Selection structure
In which instruction are executed once based on
the result of condition.
Iteration structure
In which instruction are executed repeatedly based
on the result of condition.
Conditional Branching
 It allows the program to make a choice from alternative
paths.
 C provide the following selection structures
if statement
if - else statement
if-else if statement
Nested if-else statement
switch-case
if Statement
Syntax
if (condition is true)
{
Statements;
}
If
condition
False
True
Statements
Example:1 (if)
if (a>b)
{
printf (“a is larger than b”);
}
Example
#include<stdio.h>
#include <conio.h>
void main ( )
{
int a;
clrscr( );
printf("nEnter the number:");
scanf("%d",&a);
if(a>10)
{
printf(" n a is greater than 10");
}
getch( );
}
Output
Enter the number: 12
a is greater than 10
if…else Statement
Syntax
if (condition)
{
True statements;
}
else
{
False statements;
}
If
Condition
True False
True
statements
False
statements
Example:2 (if-else)
if(n > 0)
average = sum / n;
else
{
printf("can't compute averagen");
average = 0;
}
#include<stdio.h>
#include <conio.h>
void main ( )
{
int a;
clrscr( );
printf("nEnter the number:");
scanf("%d",&a);
if(a>10)
{
printf(" n a is greater than 10");
}
else
{
printf(" n a is less than 10");
}
getch( );
}
Output
Enter the number: 2
a is less than 10
if..else if statement
Syntax
if (condition1)
{
Tstatements;
}
else if (condition2)
{
Tstatements;
}
else if (condition3)
{
Tstatements;
}
else
{
Fstatements;
}
if..else if statement
Condition
1
TStatements
Condition
2
TStatements
Condition
3
TStatements FStatements
TRUE
TRUE
TRUE FALSE
FALSE
FALSE
Example
#include<stdio.h>
#include<conio.h>
void main()
{
int m1,m2,m3;
float avg;
printf("nEnter 3 marks:");
scanf("%d%d%d",&m1,&m2,&m3);
avg=(m1+m2+m3)/3;
printf("n The average is:%f",avg);
printf("n The Grade is:");
if(avg>=60)
{
printf("First class");
}
else if(avg>=50)
{
printf("Second class");
}
else if(avg>=35)
{
printf("Thrid class");
}
else
{
printf("Fail");
}
getch();
}
Output
Enter 3 marks:65 75 70
The average is:70.000000
The Grade is: First class
Example: 3 (if-else if-else)
#include <stdio.h>
void main() {
int invalid_operator = 0;
char operator;
float number1, number2, result;
printf("Enter two numbers and an operator in the formatn");
printf(" number1 operator number2n");
scanf("%f %c %f", &number1, &operator, &number2);
if(operator == '*') result = number1 * number2;
else if(operator == '/') result = number1 / number2;
else if(operator == '+') result = number1 + number2;
else if(operator == '-') result = number1 - number2;
else invalid _ operator = 1;
if( invalid _ operator != 1 )
printf("%f %c %f is %fn", number1, operator, number2, result );
else
printf("Invalid operator.n");
}
Nested if..else
If
Condition
2
True False
True
statements
False
statements
If
Condition
1
False
Statements2
True
Syntax
if (condition1)
{
if (condition2)
{
True statements;
}
else
{
False statements;
}
}
else
{
False statements2;
}
Example:4 (Nested-if)
if(x > 0)
{
if(y > 0)
printf("Northeast.n");
else
printf("Southeast.n");
}
else
{
if(y > 0)
printf("Northwest.n");
else
printf("Southwest.n");
}
Switch Case
• Multi way decision. It is well structured, but
can only be used in certain cases;
• Only one variable is tested, all branches must
depend on the value of that variable. The
variable must be an integral type. (int, long,
short or char).
• Each possible value of the variable can control
a single branch. A default branch may
optionally be used to trap all unspecified
cases.
switch-case structure
case 1:
case 2:
default:
switch(expression)
Syntax
switch (expression)
{
case constant 1:
block1;
break;
case constant 2:
block2;
break;
.
.
default :
default block;
break;
}
Example: switch-case
#include<stdio.h>
#include<conio.h>
void main()
{
int i,n;
printf("nEnter the Number:");
scanf("%d",&n);
switch(n)
{
case 1:
{
printf("n Its in case 1");
break;
}
case 2:
{
printf("n Its in case 2");
break;
}
default:
{
printf("n Its in default");
break;
}
}
getch();
}
Output:
Enter the Number:2
Its in case 2
Looping structure
 It is used to execute set of instructions in several time based on condition.
 while
– The while loop evaluates the test expression.
– If the test expression is true (nonzero), codes inside the
body of while loop is executed. The test expression is
evaluated again. The process goes on until the test
expression is false.
– When the test expression is false, the while loop is
terminated.
 do…while
– The code block (loop body) inside the braces is executed
once.
– Then, the test expression is evaluated. If the test
expression is true, the loop body is executed again. This
process goes on until the test expression is evaluated to 0
(false).
– When the test expression is false (nonzero),
the do...while loop is terminated.
Looping structure
for
– The initialization statement is executed only once.
– Then, the test expression is evaluated. If the test
expression is false (0), for loop is terminated. But
if the test expression is true (nonzero), codes
inside the body of for loop is executed and the
update expression is updated.
– This process repeats until the test expression is
false.
while loop
Syntax
.
while(condition)
{
.
Body of the loop;
.
} Body of The loop
condition
False
True
do…while Loop
Syntax
do
{
Body of the loop
}
while (condition);
Body of The loop
condition
False
True
Initialization
condition
false
Body of the loop
Inc / Decrement
Syntax - for loop
for (initialization; condition; Increment/Decrement)
{
Body of the loop
}
True
Example: 6 (while) Example: 7 (for)
int x = 2;
while(x < 100)
{
printf("%dn", x);
x = x * 2;
}
int x;
for(x=2;x<100;x*=2)
printf("%dn", x);
Example: 8 (do-while)
do{
printf("Enter 1 for yes, 0 for no :");
scanf("%d", &input_value);
} while (input_value == 1);
Calculate factorial using while & for
#include<stdio.h>
#include<conio.h>
void main()
{
int i=1,fact=1,n;
printf("nEnter the Number:");
scanf("%d",&n);
while(i<=n)
{
fact =fact *i;
i++; // i=i+1
}
printf("n The value of %d! is:%d",n,fact);
getch();
}
Output
Enter the Number:3
The value of 3! is: 6
for(i=1;i<=n;i++)
{
fact =fact *i;
}
// add numbers until user enters zero using do-while
#include <stdio.h>
void main()
{
double number, sum = 0;
do {
printf("Enter a number: ");
scanf("%lf", &number);
sum += number;
} while(number != 0.0);
printf("Sum = %.2lf",sum);
}
goto
Syntax
goto label;
... .. ... ... .. ...
label:
statement;
Syntax
label:
statement;
... .. ... ... .. ...
goto label;
-used to alter the normal sequence of a C
program.
-The label is an identifier.
-When goto statement is encountered, control
of the program jumps to label: and starts
executing the code.
The break Statement
• It is used to exit from a loop or a switch,
• Control passing to first statement beyond the loop or
switch.
• Force an early exit from the loop
• Protected by an if statement
The continue Statement
• It only works within
• Force an immediate jump to loop control statement.
• In a while loop & do while loop, jump to the test
statement.
• In a for loop, jump to increment/decrement then test,
and perform the iteration.
• Protected by an if statement.
Example: 9 (continue & break)
int i;
for (i=0;i<10;i++) {
if (i==5)
continue;
printf("%d",i);
if (i==8)
break;
}
This code will print 1 to 8 except 5.
Input/Output Function
Input/output
Function
Unformatted
Formatted
Output
printf()
fprintf()
Input
scanf()
fscanf()
Input
getc()
gets()
getchar()
Output
putc()
puts()
putchar()
IO Statements
The Standard Input Output File
• Character Input / Output
– getchar, getc
– putchar, putc
• Formatted Input / Output
– printf
– scanf
• Whole Lines of Input and Output
– gets
– puts
Formatted Input/Output
 C uses two functions for formatted input and output.
 Formatted input : reads formatted data from the
keyboard.
 Formatted output : writes formatted data to the
monitor.
Formatted Input and Output
Format of printf Statement
Formatted Input (scanf)
The standard formatted input function in C is scanf (scan
formatted).
scanf consists of :
 a format string .
 an address list that identifies where data are to be
placed in memory.
scanf ( format string, address list );
(“%c….%d…..%f…..”, &a,….&i,…..,&x…..)
Format of scanf Statement
printf
• More structured output than putchar.
• Arguments: a control string (which controls what gets
printed) and a list of values to be substituted for
entries in the control string
Example: int a,b; printf(“ a = %d,b=%d”,a,b);
• possible to insert numbers into the control string to
control field widths for values to be displayed.
Example
 %6d would print a decimal value in a field 6 spaces wide
 %8.2f would print a real value in a field 8 spaces wide with
room to show 2 decimal places.
• Display is left justified by default, but can be right
justified by putting a - before the format information
Example
%-6d, a decimal integer right justified in a 6 space field
scanf
• Formatted reading of data from the keyboard.
• Arguments-control string, followed by the list of
items to be read.
• Wants to know the address of the items to be
read, the names of variables are preceded by &
sign.
• Character strings are an exception to this.
Example:
int a,b;
scan f(“%d%d”, &a, &b);
getchar
• It returns the next character of keyboard input as an
int.
• If there is an error then EOF (end of file) is returned
instead.
• Always compare this value against EOF before using it.
• If the return value is stored in a char, it will never be
equal to EOF, so error conditions will not be handled
correctly.
• As an example, here is a program to count the number
of characters read until an EOF is encountered.
• EOF can be generated by typing Control - d.
Example: (getchar)
#include <stdio.h>
void main()
{
int ch, i = 0;
while((ch = getchar()) != EOF)
i ++;
printf("%dn", i);
}
putchar
• It puts the character argument on the standard
output (usually the screen).
• The following example program converts any
typed input into capital letters.
#include <ctype.h>
#include <stdio.h>
void main()
{
char ch;
while((ch = getchar()) != EOF)
putchar (toupper(ch));
}
gets
• It reads a whole line of input into a string until a new
line or EOF is encountered.
• It is critical to ensure that the string is large enough to
hold any expected input lines.
• When all input is finished, NULL as defined in studio is
returned.
#include <stdio.h>
main()
{
char ch[20];
gets(x);
puts(x);
}
puts
• It writes a string to the output, and follows it with a new
line character.
• putchar, printf and puts can be freely used together
#include <stdio.h>
main()
{
char line[256]; /* large to store a line of input */
while(gets(line) != NULL) /* Read line */
{
puts(line); /* Print line */
printf("n"); /* Print blank line */
}
}
C - PREPROCESSOR
• The C preprocessor, often known as cpp
C Source code PreprocessorCompiler
• It is a macro preprocessor (allows you to define
macros, which are brief abbreviations for longer
constructs) that transforms your program before
it is compiled.
• These transformations can be inclusion of header
file, macro expansions etc.
• Begins with a # symbol.
• The C preprocessor is intended to be used only
with C, C++, and Objective-C source code.
Eg: #define PI 3.14
Common Uses of cpp
• Inclusion of Header files
• Macros
• Conditional Compilation
• Diagnostics
• Line control
• Pragmas
Include Syntax
• Both user and system header files are included using the
preprocessing directive `#include'.
• Replace the file inclusion line with content of included file
#include <file name>
• This variant is used for system header files.
• It searches for a file named file in a standard list of system
directories.
Eg: #include<stdio.h>
#include "file name"
• This variant is used for header files of your own program.
• It searches for a file named file first in the directory
containing the current file, then in the quote directories
and then the same directories used for <file>.
Eg: #include “user_header.h”
Macros using #define
#define PI 3.14
X=PI*2; expanded like X=3.14*2;
#define NUMBERS 1, 
2, 
3
int x[] = { NUMBERS };
expanded like int x[] = { 1, 2, 3 };
#define circleArea(r) (3.1415*r*r)
X=circleArea(5); expands to X=3.1415*5*5;
Assign currently in effect
#define TABLESIZE BUFSIZE
#define BUFSIZE 1024
#define BUFSIZE 1020
#define TABLESIZE BUFSIZE
#undef BUFSIZE
#define BUFSIZE 37
Function-like Macros
#include <stdio.h>
#define PI 3.1415 // #define circleArea(r) (PI*r*r)
void main()
{
float radius, area;
printf("Enter the radius: ");
scanf("%d", &radius);
area = PI*radius*radius; // area = circleArea(radius);
printf("Area=%.2f",area);
}
Conditional Compilation
• Instruct preprocessor whether to include certain
chuck of code or not
• Similar like a if statement. But big difference exist.
(if- block of code gets executed or not;
conditional if-block of code is included/ skipped
for execution)
• Use different code depending on the machine, OS
• Compile same source file in two different
programs
• To exclude certain code from the program but to
keep it as reference for future purpose
Conditional directives
#ifdef MACRO
conditional codes
#endif
#if expression
conditional codes
#elif expression1
conditional codes if expression is non-zero
#else
conditional if expression is 0
#endif
#if defined BUFF_SIZE && BUFF_SIZE >= 2048
conditional codes
Predefined Macros
Predefined macro Value
__DATE__ String containing the current date
__FILE__ String containing the file name
__LINE__
Integer representing the current
line number
__STDC__
If follows ANSI standard C, then
value is a nonzero integer
__TIME__ String containing the current date.
#include <stdio.h>
void main()
{
printf("Current time: %s",__TIME__);
}
O/P:
Current time: 19:54:39
Enumeration
• User-defined data type that consists of
integral constants.
• To define - keyword enum is used
enum flag { const1, const2, ..., constN };
• Default values of enum elements is 0,1 so on
enum suit
{
club = 0, diamonds = 10,
hearts = 20, spades = 3,
};
Enumerated Type Declaration
• When declaration of an enumerated type,
only blueprint for the variable is created.
enum boolean { F, T}; enum boolean check;
enum boolean { F, T} check;
• Enum variable takes only one value out of
many possible values.
• Good choice to work with flags
enum suit card ;
card = club;
printf("Size of enum variable = %d bytes", sizeof(card));

More Related Content

What's hot

Oop c++class(final).ppt
Oop c++class(final).pptOop c++class(final).ppt
Oop c++class(final).pptAlok Kumar
 
C programming - String
C programming - StringC programming - String
C programming - StringAchyut Devkota
 
Modular Programming in C
Modular Programming in CModular Programming in C
Modular Programming in Cbhawna kol
 
Dynamic memory allocation in c
Dynamic memory allocation in cDynamic memory allocation in c
Dynamic memory allocation in clavanya marichamy
 
User defined functions in C programmig
User defined functions in C programmigUser defined functions in C programmig
User defined functions in C programmigAppili Vamsi Krishna
 
Input and output in C++
Input and output in C++Input and output in C++
Input and output in C++Nilesh Dalvi
 
C formatted and unformatted input and output constructs
C  formatted and unformatted input and output constructsC  formatted and unformatted input and output constructs
C formatted and unformatted input and output constructsGopikaS12
 
358 33 powerpoint-slides_7-structures_chapter-7
358 33 powerpoint-slides_7-structures_chapter-7358 33 powerpoint-slides_7-structures_chapter-7
358 33 powerpoint-slides_7-structures_chapter-7sumitbardhan
 
Basics of pointer, pointer expressions, pointer to pointer and pointer in fun...
Basics of pointer, pointer expressions, pointer to pointer and pointer in fun...Basics of pointer, pointer expressions, pointer to pointer and pointer in fun...
Basics of pointer, pointer expressions, pointer to pointer and pointer in fun...Jayanshu Gundaniya
 
Files in c++ ppt
Files in c++ pptFiles in c++ ppt
Files in c++ pptKumar
 
classes and objects in C++
classes and objects in C++classes and objects in C++
classes and objects in C++HalaiHansaika
 

What's hot (20)

Pointers in c++
Pointers in c++Pointers in c++
Pointers in c++
 
Structure in C language
Structure in C languageStructure in C language
Structure in C language
 
Oop c++class(final).ppt
Oop c++class(final).pptOop c++class(final).ppt
Oop c++class(final).ppt
 
C programming - String
C programming - StringC programming - String
C programming - String
 
Function in C program
Function in C programFunction in C program
Function in C program
 
Functions in c
Functions in cFunctions in c
Functions in c
 
Basics of c++
Basics of c++Basics of c++
Basics of c++
 
Modular Programming in C
Modular Programming in CModular Programming in C
Modular Programming in C
 
Dynamic memory allocation in c
Dynamic memory allocation in cDynamic memory allocation in c
Dynamic memory allocation in c
 
User defined functions in C programmig
User defined functions in C programmigUser defined functions in C programmig
User defined functions in C programmig
 
Structure c
Structure cStructure c
Structure c
 
Input and output in C++
Input and output in C++Input and output in C++
Input and output in C++
 
C formatted and unformatted input and output constructs
C  formatted and unformatted input and output constructsC  formatted and unformatted input and output constructs
C formatted and unformatted input and output constructs
 
358 33 powerpoint-slides_7-structures_chapter-7
358 33 powerpoint-slides_7-structures_chapter-7358 33 powerpoint-slides_7-structures_chapter-7
358 33 powerpoint-slides_7-structures_chapter-7
 
Basics of pointer, pointer expressions, pointer to pointer and pointer in fun...
Basics of pointer, pointer expressions, pointer to pointer and pointer in fun...Basics of pointer, pointer expressions, pointer to pointer and pointer in fun...
Basics of pointer, pointer expressions, pointer to pointer and pointer in fun...
 
Functions in C
Functions in CFunctions in C
Functions in C
 
Files in c++ ppt
Files in c++ pptFiles in c++ ppt
Files in c++ ppt
 
classes and objects in C++
classes and objects in C++classes and objects in C++
classes and objects in C++
 
5bit field
5bit field5bit field
5bit field
 
Strings
StringsStrings
Strings
 

Similar to cs8251 unit 1 ppt

Similar to cs8251 unit 1 ppt (20)

Lecture 2
Lecture 2Lecture 2
Lecture 2
 
Technical Interview
Technical InterviewTechnical Interview
Technical Interview
 
object oriented programming part inheritance.pptx
object oriented programming part inheritance.pptxobject oriented programming part inheritance.pptx
object oriented programming part inheritance.pptx
 
c++ Unit I.pptx
c++ Unit I.pptxc++ Unit I.pptx
c++ Unit I.pptx
 
C language
C languageC language
C language
 
INTRODUCTION TO C PROGRAMMING in basic c language
INTRODUCTION TO C PROGRAMMING in basic c languageINTRODUCTION TO C PROGRAMMING in basic c language
INTRODUCTION TO C PROGRAMMING in basic c language
 
C Programming - Refresher - Part IV
C Programming - Refresher - Part IVC Programming - Refresher - Part IV
C Programming - Refresher - Part IV
 
Fundamentals of Data Structures Unit 1.pptx
Fundamentals of Data Structures Unit 1.pptxFundamentals of Data Structures Unit 1.pptx
Fundamentals of Data Structures Unit 1.pptx
 
C language
C languageC language
C language
 
c-introduction.pptx
c-introduction.pptxc-introduction.pptx
c-introduction.pptx
 
Programming in C [Module One]
Programming in C [Module One]Programming in C [Module One]
Programming in C [Module One]
 
C programming language tutorial
C programming language tutorialC programming language tutorial
C programming language tutorial
 
Programming Language
Programming  LanguageProgramming  Language
Programming Language
 
Learn c++ Programming Language
Learn c++ Programming LanguageLearn c++ Programming Language
Learn c++ Programming Language
 
Structured Languages
Structured LanguagesStructured Languages
Structured Languages
 
C language updated
C language updatedC language updated
C language updated
 
venkatesh.pptx
venkatesh.pptxvenkatesh.pptx
venkatesh.pptx
 
Chapter-2 edited on Programming in Can refer this ppt
Chapter-2 edited on Programming in Can refer this pptChapter-2 edited on Programming in Can refer this ppt
Chapter-2 edited on Programming in Can refer this ppt
 
Storage classes, linkage & memory management
Storage classes, linkage & memory managementStorage classes, linkage & memory management
Storage classes, linkage & memory management
 
Oop(object oriented programming)
Oop(object oriented programming)Oop(object oriented programming)
Oop(object oriented programming)
 

Recently uploaded

Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxPoojaBan
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHC Sai Kiran
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfAsst.prof M.Gokilavani
 
8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitterShivangiSharma879191
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxk795866
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catcherssdickerson1
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
 
Comparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization TechniquesComparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization Techniquesugginaramesh
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxKartikeyaDwivedi3
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)dollysharma2066
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncssuser2ae721
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .Satyam Kumar
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...121011101441
 

Recently uploaded (20)

Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptx
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECH
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
 
8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptx
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
 
Comparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization TechniquesComparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization Techniques
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...
 

cs8251 unit 1 ppt

  • 2. UNIT I BASICS OF C PROGRAMMING Introduction to programming paradigms - Structure of C program - C programming: Data Types – Storage classes - Constants – Enumeration Constants - Keywords – Operators: Precedence and Associativity - Expressions - Input/Output statements, Assignment statements – Decision making statements - Switch statement - Looping statements – Pre-processor directives - Compilation process
  • 3. Introduction to Programming Paradigm  a programming paradigm is a fundamental style of computer programming that defines how the structure and basic elements of a computer program will be built.
  • 4. • Classification of Programming Paradigms s.No Type Purpose 1. Monolithic Programming Emphasis on finding a solution 2. Procedural Programming Focus on modules 3. Structured Programming Specifies a series of well-structured steps and procedure 4. Object-Oriented Programming Focuses on classes and objects
  • 5. Monolithic Programming • In these types of programming language, the coding was written with a single function. • A program is not divided into parts; hence it is named as monolithic programming. • Example --BASIC(beginners all purpose symbolic Instruction code)it was developed to enable more people to write programs. --Assembly Language
  • 6. • Structured Programming structured programming facilities program understanding and modification and has top- down design approach, where a system is divided into compositional sub systems. example -- ALGOL (Algorithmic Language)-focused on being an appropriate to define algorithms,while using mathematical language terminology and targeting scientific and engg problems just like FORTRAN.
  • 7. • Procedural Programming In procedural programming is a programming paradigm, derived from structural programming, based upon the concept of the procedure call. • Example -FORTRON -COBOL(Common Business oriented language)-uses terms like file,move and copy.
  • 8. • Object Oriented Programming Programming Paradigm that views a computer program as a combination of objects which can exhange information in a standard manner and can be combined with one another as a module. • Example • ---C++
  • 9. • C – a general-purpose programming language, initially developed by Dennis Ritchie between 1969 and 1973 at AT&T Bell Labs. • Features of C Programming Language – C is a robust language with rich set of built-in functions and operators. – Programs written in C are efficient and fast. – C is highly portable, programs once written in C can be run on another machines with minor or no modification. – C is basically a collection of C library functions, we can also create our own function and add it to the C library. – C is easily extensible.
  • 10. • Advantages of C – C is the building block for many other programming languages. – Programs written in C are highly portable. – Several standard functions are there (like in- built) that can be used to develop programs. – C programs are basically collections of C library functions, and it’s also easy to add own functions in to the C library. – The modular structure makes code debugging, maintenance and testing easier. •
  • 11. • Disadvantages of C – C does not provide Object Oriented Programming (OOP) concepts. – There is no concepts of Namespace in C. – C does not provide binding or wrapping up of data in a single unit. – C does not provide Constructor and Destructor.
  • 12. • Basic Structure of a C Program
  • 14. Primary Data Types with Variable Names • After taking suitable variable names, they need to be assigned with a data type. This is how the data types are used along with variables: int age; char letter; float height, width;
  • 15. Derived Data Types C supports three derived data types: data types Description Arrays Arrays are sequences of data items having homogeneous values . They have adjacent memory locations to store values. Pointers These are powerful C features which are used to access the memory and deal with address Structure It is a package of variables of different types under a single name . This is doneto handle data efficiently. “struct” keyword is used to define a structure. Union These allow storing various data types in the same memory location. Programmers can define a union with different members but only a single
  • 16. User Defined Data Types • C allows the feature called type definition which allows programmers to define their own identifier that would represent an existing data type. Enum • Enumeration is a special data type that consists of integral constants and each of them is assigned with a specific name. “enum” keyword is used to define the enumerated data type.
  • 17. Data Types Memory Size Range char 1 byte −128 to 127 signed char 1 byte −128 to 127 unsigned char 1 byte 0 to 255 short 2 byte −32,768 to 32,767 signed short 2 byte −32,768 to 32,767 unsigned short 2 byte 0 to 65,535 int 2 byte −32,768 to 32,767 signed int 2 byte −32,768 to 32,767 unsigned int 2 byte 0 to 65,535 short int 2 byte −32,768 to 32,767 signed short int 2 byte −32,768 to 32,767 char 1 byte −128 to 127 signed char 1 byte −128 to 127 unsigned char 1 byte 0 to 255 short 2 byte −32,768 to 32,767
  • 18. Data Types Memory Size Range unsigned short int 2 byte 0 to 65,535 long int 4 byte -2,147,483,648 to 2,147,483,647 signed long int 4 byte -2,147,483,648 to 2,147,483,647 unsigned long int 4 byte 0 to 4,294,967,295 float double long double 4 byte 8 byte 10 byte unsigned short int 2 byte 0 to 65,535 long int 4 byte -2,147,483,648 to 2,147,483,647 signed long int 4 byte -2,147,483,648 to 2,147,483,647 unsigned long int 4 byte 0 to 4,294,967,295 float double long double 4 byte 8 byte 10 byte unsigned short int 2 byte 0 to 65,535 long int 4 byte -2,147,483,648 to 2,147,483,647
  • 19. Storage Classes A storage class defines the scope (visibility) and a location of variables and functions within a C Program.A storage class in C is used to describe the following things: • the variable scope. • The location where the variable will be stored. • The initialized value of a variable. • A lifetime of a variable. • Who can access a variable? Storage classes are auto, static, extern, and register. • A storage class can be omitted in a declaration and a default storage class is assigned automatically.
  • 20. auto • The variables defined using auto storage class are called as local variables. Auto stands for automatic storage class. A variable is in auto storage class by default if it is not explicitly specified. • The scope of an auto variable is limited with the particular block only. Once the control goes out of the block, the access is destroyed. This means only the block in which the auto variable is declared can access it.. Example, auto int age; int add(void) { int a=13; auto int b=48; return a+b;} extern • Extern stands for external storage class .Extern storage class is used when we have global functions or variables which are shared between two or more files.. • extern is used to declaring a global variable or function in another file to provide the reference of variable or function which have been already defined in the original file. • The variables defined using an extern keyword are called as global variables
  • 21. example, extern void display(); First File: main.c #include <stdio.h> extern i; main() { printf("value of the external integer is = %dn", i); return 0;}
  • 22. static • The static variables are used within function/ file as local static variables. They can also be used as a global variable • Static local variable is a local variable that retains and stores its value between function calls or block and remains visible only to the function or block in which it is defined. • Static global variables are global variables visible only to the file in which it is declared. Example: static int count = 10;
  • 23. #include <stdio.h> /* function declaration */ void next(void); static int counter = 7; /* global variable */ main(){ while(counter<10){ next(); counter++; } return 0;} void next( void ) { /* function definition */ static int iteration = 13; /* local static variable */ iteration ++; printf("iteration=%d and counter= %dn", iteration, counter);}
  • 24. • Register Storage Class in C The register storage class when you want to store local variables within functions or blocks in CPU registers instead of RAM to have quick access to these variables. For example, "counters" are a good candidate to be stored in the register. Example: register int age; register is used to declare a register storage class. The variables declared using register storage class has lifespan throughout the program
  • 25. Storage Class Declar ation Storage Default Initial Value Scope Lifetime auto Inside a functi on/bl ock Memory Unpredictable Within the function/blo ck Within the function/block register Inside a functi on/bl ock CPU Registers Garbage Within the function/blo ck Within the function/block extern Outsid e all functi ons Memory Zero Entire the file and other files where the variable is declared as extern program runtime
  • 26. Storage Class Declarat ion Storag e Default Initial Value Scope Lifetime Static (local) Inside a function /block Memor y Zero Within the function/blo ck program runtime Static (global) Outside all function s Memor y Zero Global program runtime
  • 27. Constants • C Constants are also like normal variables. But, only difference is, their values can not be modified by the program once they are defined. • Constants refer to fixed values. They are also called as literals • Constants may be belonging to any of the data type. Syntax: const data_type variable_name; (or) const data_type *variable_name;
  • 28. TYPES OF C CONSTANT: 1. Integer constants 2. Real or Floating point constants 3. Octal & Hexadecimal constants 4. Character constants 5. String constants 6. Backslash character constants
  • 29. Constant type data type (Example) Integer constants int (53, 762, -478 etc ) unsigned int (5000u, 1000U etc) long int, long long int (483,647 2,147,483,680) Real or Floating point constants float (10.456789) doule (600.123456789) Octal constant int (Example: 013 /*starts with 0 */) Hexadecimal constant int (Example: 0x90 /*starts with 0x*/) character constants char (Example: ‘A’, ‘B’, ‘C’) string constants char (Example: “ABCD”, “Hai”)
  • 30. 1. INTEGER CONSTANTS IN C: • An integer constant must have at least one digit. • It must not have a decimal point. • It can either be positive or negative. • No commas or blanks are allowed within an integer constant. • If no sign precedes an integer constant, it is assumed to be positive. • The allowable range for integer constants is -32768 to 32767. 2. REAL CONSTANTS IN C: • A real constant must have at least one digit • It must have a decimal point • It could be either positive or negative • If no sign precedes an integer constant, it is assumed to be positive. • No commas or blanks are allowed within a real constant. Eg: 2.5, 5.11, etc.
  • 31. 3. CHARACTER AND STRING CONSTANTS IN C: • A character constant is a single alphabet, a single digit or a single special symbol enclosed within single quotes. • The maximum length of a character constant is 1 character. • String constants are enclosed within double quotes. Eg: ‘a’, ‘8’,’_’etc. Eg: “Hello” ,”444”,”a” etc,.
  • 32. 4. BACKSLASH CHARACTER CONSTANTS IN C: • There are some characters which have special meaning in C language. • They should be preceded by backslash symbol to make use of special function of them.
  • 33. Backslash_character Meaning b Backspace f Form feed n New line r Carriage return t Horizontal tab ” Double quote ’ Single quote Backslash v Vertical tab a Alert or bell ? Question mark N Octal constant (N is an octal constant) XN Hexadecimal constant (N – hex.dcml cns
  • 34. EXAMPLE PROGRAM USING CONST KEYWORD IN C: #include <stdio.h> void main() { const int height = 100; /*int constant*/ const float number = 3.14; /*Real constant*/ const char letter = 'A'; /*char constant*/ const char letter_sequence[10] = "ABC"; /*string constant*/ const char backslash_char = '?'; /*special char cnst*/ printf("value of height :%d n", height ); printf("value of number : %f n", number ); printf("value of letter : %c n", letter ); printf("value of letter_sequence : %s n", letter_sequence); printf("value of backslash_char : %c n", backslash_char); }
  • 35. C – Tokens and keywords C TOKENS: • C tokens are the basic buildings blocks in C language which are constructed together to write a C program. • Each and every smallest individual units in a C program are known as C tokens. C tokens are of six types. They are, 1. Keywords (eg: int, while), 2. Identifiers (eg: main, total), 3. Constants (eg: 10, 20), 4. Strings (eg: “total”, “hello”), 5. Special symbols (eg: (), {}), 6. Operators (eg: +, /,-,*)
  • 36. C TOKENS EXAMPLE PROGRAM: int main() { int x, y, total; x = 10, y = 20; total = x + y; printf ("Total = %d n", total); } where, main – identifier {,}, (,) – delimiter int – keyword x, y, total – identifier main, {, }, (, ), int, x, y, total – tokens
  • 37. 2. IDENTIFIERS IN C LANGUAGE: • Each program elements in a C program are given a name called identifiers. • Names given to identify Variables, functions and arrays are examples for identifiers. eg. x is a name given to integer variable in above program. RULES FOR CONSTRUCTING IDENTIFIER NAME IN C: • First character should be an alphabet or underscore. • Succeeding characters might be digits or letter. • Punctuation and special characters aren’t allowed except underscore. • Identifiers should not be keywords.
  • 38. 3. KEYWORDS IN C LANGUAGE: Keywords are pre-defined words in a C compiler. Each keyword is meant to perform a specific function in a C program. Since keywords are referred names for compiler, they can’t be used as variable name. C language supports 32 keywords which are given below
  • 39. auto double int struct const float short unsigned break else long switch continue for signed void case enum register typedef default goto sizeof volatile char extern return union do if static while
  • 40. Operators in C • An operator is a symbol used to do a mathematical or logical manipulations. 1. Arithmetic operators 2. Relational Operators 3. Logical Operators 4. Assignment Operators 5. Increments and Decrement Operators 6. Conditional Operators 7. Bitwise Operators 8. Special Operators
  • 41. Arithmetic Operators Operator Meaning + Addition or Unary Plus – Subtraction or Unary Minus * Multiplication / Division % Modulus Operator
  • 42. Arithmetic Operations • Integer Arithmetic Let x = 27 and y = 5 x + y = 32 x – y = 22 x * y = 115 x % y = 2 x / y = 5 • Floating point Arithmetic Let x = 14.0 and y = 4.0 then x + y = 18.0 x – y = 10.0 x * y = 56.0 • Mixed mode Arithmetic 15/10.0 = 1.5
  • 43. Sample program include <stdio.h> int main() { int a=40,b=20, add,sub,mul,div,mod; add = a+b; sub = a-b; mul = a*b; div = a/b; mod = a%b; printf("Addition of a, b is : %dn", add); printf("Subtraction of a, b is : %dn", sub); printf("Multiplication of a, b is : %dn", mul); printf("Division of a, b is : %dn", div); printf("Modulus of a, b is : %dn", mod); }
  • 44. output Addition of a, b is : 60 Subtraction of a, b is : 20 Multiplication of a, b is : 800 Division of a, b is : 2 Modulus of a, b is : 0
  • 45. ASSIGNMENT OPERATORS IN C: values for the variables are assigned using assignment operators. For example, if the value “10” is to be assigned for the variable “sum”, it can be assigned as “sum = 10;” • There are 2 categories of assignment operators in C language. They are, 1. Simple assignment operator ( Example: = ) 2. Compound assignment operators ( Example: +=, - =, *=, /=, %=, &=, ^= )
  • 46. Operators Example/Description = sum = 10; 10 is assigned to variable sum += sum += 10; This is same as sum = sum + 10 -= sum -= 10; This is same as sum = sum – 10 *= sum *= 10; This is same as sum = sum * 10 /= sum /= 10; This is same as sum = sum / 10 %= sum %= 10; This is same as sum = sum % 10 &= sum&=10; This is same as sum = sum & 10 ^= sum ^= 10; This is same as sum = sum ^ 10
  • 47. include <stdio.h> int main() { int Total=0,i; for(i=0;i<10;i++) { Total+=i; // This is same as Total = Total+i } printf("Total = %d", Total); } Total = 45 OUTPUT:
  • 48. RELATIONAL OPERATORS IN C: • Relational operators are used to find the relation between two variables. i.e. to compare the values of two variables in a C program. Operators Example/Description > 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) == x == y (x is equal to y) != x != y (x is not equal to y)
  • 49. #include <stdio.h> int main() { int m=40,n=20; if (m == n) { printf("m and n are equal"); } else { printf("m and n are not equal"); }} OUTPUT: m and n are not equal
  • 50. LOGICAL OPERATORS IN C: • These operators are used to perform logical operations on the given expressions. Operators Example/Description && (logical AND) (x>5)&&(y<5) It returns true when both conditions are true || (logical OR) (x>=10)||(y>=10) It returns true when at-least one of the condition is true ! (logical NOT) !((x>5)&&(y<5)) It reverses the state of the operand “((x>5) && (y<5))” If “((x>5) && (y<5))” is true, logical NOT operator makes it false
  • 51. EXAMPLE PROGRAM FOR LOGICAL OPERATORS IN C: #include <stdio.h> int main() { int m=40,n=20; int o=20,p=30; if (m>n && m !=0) { printf("&& Operator : Both conditions are truen"); } if (o>p || p!=20) { printf("|| Operator : Only one condition is truen"); } if (!(m>n && m !=0)) { printf("! Operator : Both conditions are truen"); } else { printf("! Operator : Both conditions are true. " "But, status is inverted as falsen") } && Operator : Both conditions are true || Operator : Only one condition is true ! Operator : Both conditions are true. But, status is inverted as false
  • 52. BIT WISE OPERATORS IN C: These operators are used to perform bit operations. Decimal values are converted into binary values which are the sequence of bits and bit wise operators work on these bits. Bit wise operators in C language are & (bitwise AND), | (bitwise OR), ~ (bitwise NOT), ^ (XOR), << (left shift) and >> (right shift). BELOW ARE THE BIT-WISE OPERATORS AND THEIR NAME IN C LANGUAGE. 1. & – Bitwise AND 2. | – Bitwise OR 3. ~ – Bitwise NOT 4. ^ – XOR 5. << – Left Shift 6. >> – Right Shift
  • 53. EXAMPLE PROGRAM FOR BIT WISE OPERATORS IN C: #include <stdio.h> int main() { int m = 40,n = 80,AND_opr,OR_opr,XOR_opr,NOT_opr ; AND_opr = (m&n); OR_opr = (m|n); NOT_opr = (~m); XOR_opr = (m^n); printf("AND_opr value = %dn",AND_opr ); printf("OR_opr value = %dn",OR_opr ); printf("NOT_opr value = %dn",NOT_opr ); printf("XOR_opr value = %dn",XOR_opr ); printf("left_shift value = %dn", m << 1); printf("right_shift value = %dn", m >> 1); } o/p AND_opr value = 0 OR_opr value = 120 NOT_opr value = -41 XOR_opr value = 120 left_shift value = 80 right_shift value = 20
  • 54. Consider x=40 and y=80. Binary form of these values are given below. x = 00101000 y= 01010000 All bit wise operations for x and y are given below. x&y = 00000000 (binary) = 0 (decimal) x|y = 01111000 (binary) = 120 (decimal) ~x = 11111111111111111111111111 11111111111111111111111111111111010111 = -41 (decimal) x^y = 01111000 (binary) = 120 (decimal) x << 1 = 01010000 (binary) = 80 (decimal) x >> 1 = 00010100 (binary) = 20 (decimal)
  • 55. CONDITIONAL OPERATORS IN C: Conditional operators return one value if condition is true and returns another value is condition is false. This operator is also called as ternary operator. Syntax : (Condition? true_value: false_value); Example : (A > 100 ? 0 : 1); In above example, if A is greater than 100, 0 is returned else 1 is returned. This is equal to if else conditional statements. EXAMPLE PROGRAM FOR CONDITIONAL/TERNARY OPERATORS IN C #include <stdio.h> int main() { int x=1, y ; y = ( x ==1 ? 2 : 0 ) ; printf("x value is %dn", x); printf("y value is %d", y); } x value is 1 y value is 2
  • 56. Increment and Decrement Operators 1. ++ variable name (Pre Increment) 2. variable name++ (Post Increment) 3. – –variable name (Pre Decrement) 4. variable name– – (Post Decrement) . Syntax: Increment operator: ++var_name; (or) var_name++; Decrement operator: – -var_name; (or) var_name – -; Example: Increment operator : ++ i ; i ++ ; Decrement operator : – – i ; i – – ;
  • 57. EXAMPLE PROGRAM FOR PRE – INCREMENT OPERATORS IN C: /Example for increment operators #include <stdio.h> int main() { int i=0; while(++i < 5 ) { printf("%d ",i); } return 0; } 1 2 3 4 OUTPUT:
  • 58. Conditional or Ternary Operator It is used to checks the condition and execute the statement depending on the condition. The conditional operator consists of 2 symbols the question mark (?) and the colon (:) syntax: exp1 ? exp2 : exp3 a = 10; b = 15; x = (a > b) ? a : b
  • 59. Sample Program #include<stdio.h> #include <conio.h> void main ( ) { int a=5,b=8,c; clrscr( ); c = a>b?a:b; //Conditional operator printf(" n The Larger Value is%d",c); getch( ); } Output: The Larger Value is 8
  • 60. Bitwise Operators Operator Meaning & Bitwise AND | Bitwise OR ^ Bitwise Exclusive << Shift left >> Shift right  It is used to manipulate data at bit level.  Eg: a=5 i.e 0000 0101 b=4 i.e 0000 0100 Then a & b = 0000 0100 a | b = 0000 0101 etc,.
  • 61. Sample program #include<stdio.h> #include <conio.h> void main ( ) { int a=5,b=4,c; //char a=5,b=4,c; clrscr( ); c = a&b; printf(" n value a&b is:%d",c); getch( ); } Output: value a&b is:4
  • 62. Special Operator comma operator ( , ) sizeof operator pointer operator (& and *) member selection operators (. and ->). The Comma Operator -to link related expressions together. Eg: int x=5,y=10;
  • 63. Contd…sizeof #include<stdio.h> #include <conio.h> void main ( ) { int c; clrscr( ); printf(" n size of int is:%d",sizeof(c)); getch( ); } Output: size of int is: 2
  • 64. Expression  An expression represent data item such as variable, constant are interconnected using operators.  Eg: Expression C Expression a + b + c a + b + c a2+b2 a*a + b*b
  • 65. Operator Precedence & Associativity  The arithmetic expressions evaluation are carried out based on the precedence and associativity.  The evaluation are carried in two phases. First Phase: High Priority operators are evaluated. Second Phase: Low Priority operators are evaluated.
  • 67. Operator Type Operator Associatively Primary Expression Operators () [] . -> expr++ expr-- left-to-right Unary Operators * & + - ! ~ ++expr --expr (typecast) sizeof() right-to-left Binary Operators * / % left-to-right + - >> << < > <= >= == != & ^ | && || Ternary Operator ?: right-to-left Assignment Operators = += -= *= /= %= >>= <<= &= ^= |= right-to-left Comma , left-to-right Operator Precedence Chart
  • 68. Implicit type conversion • C allows mixing of constants and variables of different types in an expression. • C automatically converts intermediate values to the proper type so that the expression can be evaluated without loosing any significance. • Adheres to very strict rules and type conversion. • If operands are of different types then lower type is automatically converted to higher type before the operation proceeds. • The result is of higher type.
  • 69. Explicit Conversion • We want to force a type conversion that is different from automatic conversion. int female_students=30, male_students=50; Radio=female_students / male_students; Above gives wrong result Ratio = (float) female_students / male_students  Type Conversion: Converting the type of an expression from one type to another type.  Eg: x = (int)10.45
  • 70. Sample Program #include<stdio.h> #include <conio.h> void main ( ) { int a=30,b=50; float c; clrscr( ); c=(float)a/b; printf("nOutput is:%f",c); getch( ); } OUTPUT Output is: 0.6
  • 71. Character Test Function  It is used to test the character taken from the input.  isalpha(ch)  isdigit(ch)  islower(ch)  isupper(ch)  tolower(ch)  toupper(ch) etc,.
  • 72. Decision Making  It is used to change the execution order of the program based on condition.  Categories: Selection structure (or) conditional branching statements Looping structure (or) Iterative statements break, continue & goto statements
  • 73. Decision Making (cont) Sequential structure In which instructions are executed in sequence. Selection structure In which instruction are executed once based on the result of condition. Iteration structure In which instruction are executed repeatedly based on the result of condition.
  • 74. Conditional Branching  It allows the program to make a choice from alternative paths.  C provide the following selection structures if statement if - else statement if-else if statement Nested if-else statement switch-case
  • 75. if Statement Syntax if (condition is true) { Statements; } If condition False True Statements Example:1 (if) if (a>b) { printf (“a is larger than b”); }
  • 76. Example #include<stdio.h> #include <conio.h> void main ( ) { int a; clrscr( ); printf("nEnter the number:"); scanf("%d",&a); if(a>10) { printf(" n a is greater than 10"); } getch( ); } Output Enter the number: 12 a is greater than 10
  • 77. if…else Statement Syntax if (condition) { True statements; } else { False statements; } If Condition True False True statements False statements Example:2 (if-else) if(n > 0) average = sum / n; else { printf("can't compute averagen"); average = 0; }
  • 78. #include<stdio.h> #include <conio.h> void main ( ) { int a; clrscr( ); printf("nEnter the number:"); scanf("%d",&a); if(a>10) { printf(" n a is greater than 10"); } else { printf(" n a is less than 10"); } getch( ); } Output Enter the number: 2 a is less than 10
  • 79. if..else if statement Syntax if (condition1) { Tstatements; } else if (condition2) { Tstatements; } else if (condition3) { Tstatements; } else { Fstatements; }
  • 81. Example #include<stdio.h> #include<conio.h> void main() { int m1,m2,m3; float avg; printf("nEnter 3 marks:"); scanf("%d%d%d",&m1,&m2,&m3); avg=(m1+m2+m3)/3; printf("n The average is:%f",avg); printf("n The Grade is:"); if(avg>=60) { printf("First class"); } else if(avg>=50) { printf("Second class"); } else if(avg>=35) { printf("Thrid class"); } else { printf("Fail"); } getch(); } Output Enter 3 marks:65 75 70 The average is:70.000000 The Grade is: First class
  • 82. Example: 3 (if-else if-else) #include <stdio.h> void main() { int invalid_operator = 0; char operator; float number1, number2, result; printf("Enter two numbers and an operator in the formatn"); printf(" number1 operator number2n"); scanf("%f %c %f", &number1, &operator, &number2); if(operator == '*') result = number1 * number2; else if(operator == '/') result = number1 / number2; else if(operator == '+') result = number1 + number2; else if(operator == '-') result = number1 - number2; else invalid _ operator = 1; if( invalid _ operator != 1 ) printf("%f %c %f is %fn", number1, operator, number2, result ); else printf("Invalid operator.n"); }
  • 83. Nested if..else If Condition 2 True False True statements False statements If Condition 1 False Statements2 True Syntax if (condition1) { if (condition2) { True statements; } else { False statements; } } else { False statements2; }
  • 84. Example:4 (Nested-if) if(x > 0) { if(y > 0) printf("Northeast.n"); else printf("Southeast.n"); } else { if(y > 0) printf("Northwest.n"); else printf("Southwest.n"); }
  • 85. Switch Case • Multi way decision. It is well structured, but can only be used in certain cases; • Only one variable is tested, all branches must depend on the value of that variable. The variable must be an integral type. (int, long, short or char). • Each possible value of the variable can control a single branch. A default branch may optionally be used to trap all unspecified cases.
  • 86. switch-case structure case 1: case 2: default: switch(expression) Syntax switch (expression) { case constant 1: block1; break; case constant 2: block2; break; . . default : default block; break; }
  • 87. Example: switch-case #include<stdio.h> #include<conio.h> void main() { int i,n; printf("nEnter the Number:"); scanf("%d",&n); switch(n) { case 1: { printf("n Its in case 1"); break; } case 2: { printf("n Its in case 2"); break; } default: { printf("n Its in default"); break; } } getch(); } Output: Enter the Number:2 Its in case 2
  • 88. Looping structure  It is used to execute set of instructions in several time based on condition.  while – The while loop evaluates the test expression. – If the test expression is true (nonzero), codes inside the body of while loop is executed. The test expression is evaluated again. The process goes on until the test expression is false. – When the test expression is false, the while loop is terminated.  do…while – The code block (loop body) inside the braces is executed once. – Then, the test expression is evaluated. If the test expression is true, the loop body is executed again. This process goes on until the test expression is evaluated to 0 (false). – When the test expression is false (nonzero), the do...while loop is terminated.
  • 89. Looping structure for – The initialization statement is executed only once. – Then, the test expression is evaluated. If the test expression is false (0), for loop is terminated. But if the test expression is true (nonzero), codes inside the body of for loop is executed and the update expression is updated. – This process repeats until the test expression is false.
  • 90. while loop Syntax . while(condition) { . Body of the loop; . } Body of The loop condition False True
  • 91. do…while Loop Syntax do { Body of the loop } while (condition); Body of The loop condition False True
  • 92. Initialization condition false Body of the loop Inc / Decrement Syntax - for loop for (initialization; condition; Increment/Decrement) { Body of the loop } True
  • 93. Example: 6 (while) Example: 7 (for) int x = 2; while(x < 100) { printf("%dn", x); x = x * 2; } int x; for(x=2;x<100;x*=2) printf("%dn", x); Example: 8 (do-while) do{ printf("Enter 1 for yes, 0 for no :"); scanf("%d", &input_value); } while (input_value == 1);
  • 94. Calculate factorial using while & for #include<stdio.h> #include<conio.h> void main() { int i=1,fact=1,n; printf("nEnter the Number:"); scanf("%d",&n); while(i<=n) { fact =fact *i; i++; // i=i+1 } printf("n The value of %d! is:%d",n,fact); getch(); } Output Enter the Number:3 The value of 3! is: 6 for(i=1;i<=n;i++) { fact =fact *i; }
  • 95. // add numbers until user enters zero using do-while #include <stdio.h> void main() { double number, sum = 0; do { printf("Enter a number: "); scanf("%lf", &number); sum += number; } while(number != 0.0); printf("Sum = %.2lf",sum); }
  • 96. goto Syntax goto label; ... .. ... ... .. ... label: statement; Syntax label: statement; ... .. ... ... .. ... goto label; -used to alter the normal sequence of a C program. -The label is an identifier. -When goto statement is encountered, control of the program jumps to label: and starts executing the code.
  • 97. The break Statement • It is used to exit from a loop or a switch, • Control passing to first statement beyond the loop or switch. • Force an early exit from the loop • Protected by an if statement The continue Statement • It only works within • Force an immediate jump to loop control statement. • In a while loop & do while loop, jump to the test statement. • In a for loop, jump to increment/decrement then test, and perform the iteration. • Protected by an if statement.
  • 98. Example: 9 (continue & break) int i; for (i=0;i<10;i++) { if (i==5) continue; printf("%d",i); if (i==8) break; } This code will print 1 to 8 except 5.
  • 100. IO Statements The Standard Input Output File • Character Input / Output – getchar, getc – putchar, putc • Formatted Input / Output – printf – scanf • Whole Lines of Input and Output – gets – puts
  • 101. Formatted Input/Output  C uses two functions for formatted input and output.  Formatted input : reads formatted data from the keyboard.  Formatted output : writes formatted data to the monitor.
  • 103. Format of printf Statement
  • 104. Formatted Input (scanf) The standard formatted input function in C is scanf (scan formatted). scanf consists of :  a format string .  an address list that identifies where data are to be placed in memory. scanf ( format string, address list ); (“%c….%d…..%f…..”, &a,….&i,…..,&x…..)
  • 105. Format of scanf Statement
  • 106. printf • More structured output than putchar. • Arguments: a control string (which controls what gets printed) and a list of values to be substituted for entries in the control string Example: int a,b; printf(“ a = %d,b=%d”,a,b); • possible to insert numbers into the control string to control field widths for values to be displayed. Example  %6d would print a decimal value in a field 6 spaces wide  %8.2f would print a real value in a field 8 spaces wide with room to show 2 decimal places. • Display is left justified by default, but can be right justified by putting a - before the format information Example %-6d, a decimal integer right justified in a 6 space field
  • 107. scanf • Formatted reading of data from the keyboard. • Arguments-control string, followed by the list of items to be read. • Wants to know the address of the items to be read, the names of variables are preceded by & sign. • Character strings are an exception to this. Example: int a,b; scan f(“%d%d”, &a, &b);
  • 108. getchar • It returns the next character of keyboard input as an int. • If there is an error then EOF (end of file) is returned instead. • Always compare this value against EOF before using it. • If the return value is stored in a char, it will never be equal to EOF, so error conditions will not be handled correctly. • As an example, here is a program to count the number of characters read until an EOF is encountered. • EOF can be generated by typing Control - d.
  • 109. Example: (getchar) #include <stdio.h> void main() { int ch, i = 0; while((ch = getchar()) != EOF) i ++; printf("%dn", i); }
  • 110. putchar • It puts the character argument on the standard output (usually the screen). • The following example program converts any typed input into capital letters. #include <ctype.h> #include <stdio.h> void main() { char ch; while((ch = getchar()) != EOF) putchar (toupper(ch)); }
  • 111. gets • It reads a whole line of input into a string until a new line or EOF is encountered. • It is critical to ensure that the string is large enough to hold any expected input lines. • When all input is finished, NULL as defined in studio is returned. #include <stdio.h> main() { char ch[20]; gets(x); puts(x); }
  • 112. puts • It writes a string to the output, and follows it with a new line character. • putchar, printf and puts can be freely used together #include <stdio.h> main() { char line[256]; /* large to store a line of input */ while(gets(line) != NULL) /* Read line */ { puts(line); /* Print line */ printf("n"); /* Print blank line */ } }
  • 113. C - PREPROCESSOR • The C preprocessor, often known as cpp C Source code PreprocessorCompiler • It is a macro preprocessor (allows you to define macros, which are brief abbreviations for longer constructs) that transforms your program before it is compiled. • These transformations can be inclusion of header file, macro expansions etc. • Begins with a # symbol. • The C preprocessor is intended to be used only with C, C++, and Objective-C source code. Eg: #define PI 3.14
  • 114. Common Uses of cpp • Inclusion of Header files • Macros • Conditional Compilation • Diagnostics • Line control • Pragmas
  • 115. Include Syntax • Both user and system header files are included using the preprocessing directive `#include'. • Replace the file inclusion line with content of included file #include <file name> • This variant is used for system header files. • It searches for a file named file in a standard list of system directories. Eg: #include<stdio.h> #include "file name" • This variant is used for header files of your own program. • It searches for a file named file first in the directory containing the current file, then in the quote directories and then the same directories used for <file>. Eg: #include “user_header.h”
  • 116. Macros using #define #define PI 3.14 X=PI*2; expanded like X=3.14*2; #define NUMBERS 1, 2, 3 int x[] = { NUMBERS }; expanded like int x[] = { 1, 2, 3 }; #define circleArea(r) (3.1415*r*r) X=circleArea(5); expands to X=3.1415*5*5;
  • 117. Assign currently in effect #define TABLESIZE BUFSIZE #define BUFSIZE 1024 #define BUFSIZE 1020 #define TABLESIZE BUFSIZE #undef BUFSIZE #define BUFSIZE 37
  • 118. Function-like Macros #include <stdio.h> #define PI 3.1415 // #define circleArea(r) (PI*r*r) void main() { float radius, area; printf("Enter the radius: "); scanf("%d", &radius); area = PI*radius*radius; // area = circleArea(radius); printf("Area=%.2f",area); }
  • 119. Conditional Compilation • Instruct preprocessor whether to include certain chuck of code or not • Similar like a if statement. But big difference exist. (if- block of code gets executed or not; conditional if-block of code is included/ skipped for execution) • Use different code depending on the machine, OS • Compile same source file in two different programs • To exclude certain code from the program but to keep it as reference for future purpose
  • 120. Conditional directives #ifdef MACRO conditional codes #endif #if expression conditional codes #elif expression1 conditional codes if expression is non-zero #else conditional if expression is 0 #endif
  • 121. #if defined BUFF_SIZE && BUFF_SIZE >= 2048 conditional codes
  • 122. Predefined Macros Predefined macro Value __DATE__ String containing the current date __FILE__ String containing the file name __LINE__ Integer representing the current line number __STDC__ If follows ANSI standard C, then value is a nonzero integer __TIME__ String containing the current date.
  • 123. #include <stdio.h> void main() { printf("Current time: %s",__TIME__); } O/P: Current time: 19:54:39
  • 124. Enumeration • User-defined data type that consists of integral constants. • To define - keyword enum is used enum flag { const1, const2, ..., constN }; • Default values of enum elements is 0,1 so on enum suit { club = 0, diamonds = 10, hearts = 20, spades = 3, };
  • 125. Enumerated Type Declaration • When declaration of an enumerated type, only blueprint for the variable is created. enum boolean { F, T}; enum boolean check; enum boolean { F, T} check; • Enum variable takes only one value out of many possible values. • Good choice to work with flags enum suit card ; card = club; printf("Size of enum variable = %d bytes", sizeof(card));