0% found this document useful (0 votes)
43 views

Unit I Notes

The document provides an introduction to computer systems and their components. It discusses that a computer system consists of hardware and software. The hardware components include input devices, the central processing unit, primary storage, output devices, and auxiliary storage devices. The document also describes the different types of software, including system software like the operating system, and application software. It provides examples of each component and software type.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views

Unit I Notes

The document provides an introduction to computer systems and their components. It discusses that a computer system consists of hardware and software. The hardware components include input devices, the central processing unit, primary storage, output devices, and auxiliary storage devices. The document also describes the different types of software, including system software like the operating system, and application software. It provides examples of each component and software type.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 26

UNIT-I

I NTRODUCTI ON TO COMPUTERS

Computer System :
A computer is a system made up of two major components:

I. Computer Hardware.

II.Computer Software.

The following figure shows a computer system.



Fig : A Computer System

I. Computer Hardware:
The computer hardware is the physical equipment. The hardware
component of computer system consists of 5 parts
A. Input Devices.
B. Central Processing Unit ( CPU ).
C. Primary Storage.
D. Output Devices.
E. Auxiliary Storage Devices.
The following figure shows the hardware components.




Fig: Hardware Components
A. Input Devices: The input device is usually a keyboard where programs and
data are entered in to the computer. Other Input Devices : a touch screen , a mouse ,
a pen , an audio input unit.

B. Central Processing Unit ( CPU ): It is responsible for executing instructions such
as arithmetic calculations , comparisons among data and movement of data inside the
system. Todays computers may have one or more CPUs

C. Primary Storage: It is also known as main memory . It is a place where the
programs and data is stored temporarily during processing. The Data in primary
storage is erased , when we turn off a personal computer or when we log off
from a time-sharing computer ( volatile ).

D. Output Devices: The output device is usually a monitor or a printer to
show output. If the output is shown on the monitor, it is a soft copy and if the
output is printed on the printer, it is a hard copy.

E. Auxiliary Storage Devices ( secondary storage devices ): It is used for both input
and output. It is also known as secondary storage. It is a place where the programs
and data are stored permanently. when we turn off the computer the programs
and data remain in the secondary storage, ready for the next time when we need
them.

II. Computer Software:

Software is the collection of Programs ( instructions ) that allow the hardware to
do its job.
They are two types of Computer Software.
A. System Software
B. Application Software

The following figure shows the Computer Software.



Fig: Computer Software



A. System Software:
System Software consists of programs that manage the hardware resources
of a computer and perform required information processing tasks.

These programs are divided in to three classes.

i. Operating System Software.
ii. System Support Software.
iii. System Development Software.

i. Operating System Software: It provides services such as a user interface, files
and data base access and interfaces to communication systems such as Internet
protocols. The primary purpose of this software is to keep the system operating in
an efficient manner while allowing the users access to the system.
ii. System Support Software : System Support Software provides system utilities and
other operating services. Examples of system utilities are sort programs and disk
format programs. Operating services consist of programs that provide performance
statistics for the operational staff and security monitors to protect the system and data.
iii. System Development Software: It includes language translators that convert programs
in to machine language for execution , debugging tools to ensure that programs are
error - free and computer -assisted software engineering ( CASE ) systems.

B. Application Software: It is directly responsible for helping users to solve their
problems. Application software is broken in to two classes.
i. General - Purpose Software
ii. Application - Specific Software
i. General Purpose Software: It is purchased from a software developer and can be
used for more than one application. Examples: word processors, database management
systems, computer aided design systems. They are labeled general purpose because they
can solve a variety of user computing problems.
ii. Application Specific Software: It can be used only for its intended purpose.
Example: A general ledger system used by accountants.
They can be used only for the task for which they were designed.They can not
be used for other generalized tasks.
Relationship between system and application software is shown in the figure:



Fig: Relationship between System and Application Software
Each circle is an interface point. The inner core is hardware. The user is
represented by the outer layer. To work with the system , the typical user uses some
form of application software. The application software in turn interacts with operating
system ( OS ), which is part of system software layer. The System software provides the
direct interaction with the hardware. The opening at the bottom of the figure is
the path followed by the user who interacts directly with the Operating System
when necessary.

Generation of programming languages
The root of all modern languages is ALGOL which is introduced in early
1960s.ALGOL was the first computer language to use a block structure.ALGOL
gave the concept of structured programming to computer science community.In
1967,Martin richards developed a language called BCPL(Basic Combined
Programming Language)primarily for writing system software.

In 1970,Ken Thompson created a language using many features of BCPL
and called it as B.B was used to create early versions of UNIX operating
system at BELL laboratories.Both BCPL and B were typeless system
programming languages.C was evolved from ALGOL,BCPL and B by dennis
Ritchie at the Bell laboratories in 1972.The language became more popular after
publication of the book The C Programming Languageby Brain Kerningham and
Dennis Ritchie in 1978.C uses many concepts from these languages and added the
concept of datatypes and other powerful features.since it was developed along with
the UNIX operating system, it is strongly associated with UNIX.

For many years C was used mainly in academic environments but eventually
with the release of many C compilers for commerical use it increased its
popularity.This rapid growth of C led to the development of different versions of
the language that were similar but often incompatible,this possed a serious problem
for system developers.Inorder to assure that the C language remains standard in
1983 American National Standards Institute (ANSI) appointed a technical
committee to define a standard for C.The committee approved a version of C in
December 1989 which is now known as ANSI C which is approved by the
International Standards Organization(ISO)in 1990.This version of C is referred to
as C89.

During 1990's C++,a language entirely based on C which underwent a
number of improvements and changes and became an ANSI/ISO approved
language in November 1977.C++ added several new features to C is no exception.
Although C++ and Java were evolved out of C, the standardization committee of C
felt that a few features of C++/Java , if added to C, would enhance the usefulness
of the language. The result was the 1999 standard for C. This version is usually
referred to as C99. The history and development of C is shown as follows:






PRO
GRA
M
DEV
ELOP
MEN
T
STEP
S

CREA
TI NG
AND
RUNN
I NG
PROG
RAMS
:
It is
the
job of programmer to write and test the program.The following are four
steps for creating and running programs:
A. Writing and Editing the Program.
B. Compiling the Program.
C. Linking the Program with the required library modules.
D. Executing the Program.

A. Writing and Editing Program : The Software to write programs is known
as text editor. A text editor helps us enter , change and store character data.
Depending on the editor on our system, it could be used to write letters, create
reports or write programs. Example : word processor.
The text editor could be generalized word processor, but every compiler comes
with associated text editor. Some of the features of editors are
Search : To locate and replace statements.
Copy , Paste : To copy and move statements.
Format : To set tabs to align text.
After the program is completed the program is saved in a file to disk. This file
will be input to the compiler, it is known as source file. The following figure
shows the various steps in building a C program.

Fig: Building a C - program

B. Compiling Programs: The code in a source file on the disk must be
translated in to machine language. This is the job of compiler which translates
code in source file stored on disk in to machine language. The C compiler is
actually two separate programs: the preprocessor and the translator. The
preprocessor reads the source code and prepares it for the compiler. It scans
special instructions known as preprocessor commands. These commands tell the
preprocessor to take for special code libraries, make substitutions in the code.
The result of preprocessing is called translation unit. The translator reads the
translation unit and writes resulting object module to a file that can be
combined with other precompiled units to form the final program. An
object module is the code in machine language. This module is not ready for
execution because it does not have the required C and other functions included.

C. Linking Programs: C programs are made up of many functions.
Example: printf ( ) , cos ( ) etc
Their codes exists else where , they must be attached to our program. The
linker assembles all these functions , ours and the systems, in to a final
executable program.
D. Executing Programs : Once our program has been linked, it is ready for
execution. To execute a program, we use operating system command, such as
run to load the program in to main memory and execute it. Getting program
in to memory is the function of an Operating System programs called loader.
Loader locates the executable program and reads it in to memory. In a
typical program execution, the program reads data for processing, either from
user or from file. After the program processes the data, it prepares output. Data
output can be to users monitor or to a file. When program has executed,
Operating System removes the program from memory.

PROGRAM DEVELOPMENT:
Program Development is a multi step process as follows
A. Understand the Problem
B. Develop a Solution - Algorithm - Pseudo code - Flowchart
C. Write a Program
D. Test it.
For program development , developers are given
Program requirement statement
Design of program interfaces
Overview of the complete project

A. Understand the problem :The first step in solving any problem is understand
it. We begin by reading the requirements statements carefully.When we think that we
fully understand it, we review our understanding with the user and the system
analyst.
Example: Calculate the square footage of house.
The questions that arise are
1. What is definition of square footage ?
2. How is it useful ?

B. System requirement: We do planning of functional requirements -
Softwares Version, Non-functional requirements - Resources - Internet , table ,
A/cs , Coffee. User functional requirements - Problem Oriented and Language
used is in simple i.e. English.

C. Analysis: User requirements are transformed to technical terms like Blueprint
and
also look for different alternatives considering all risks.

D. Design: In UML software users will develop flowcharts, structure charts, data flow
diagrams
1. Choose the best way to find solution among different alternatives.
2. Choose in analysis , design files , databases and functions.

E. Code:
Unimportant in Software development life cycle
1. Uses software for code generation ( forward energy ).
2. Otherwise go for manual coding.
3. Basic testing is done ( compilation ).

F. System Test :Test if user requirements are met Blackbox Testing: Test
programs together, make sure system works as a whole. Whitebox Testing: Release -
version to customer, according to his/her feed back we develop -Version: - version
is released to selected group of people.
G.Maintenance :
Keeps the system working once it has been put in to production ?

ALGORI THM

Algorithm:
Algorithm is a finite set of instructions that , if followed accomplishes a particular
task.
Algorithm should satisfy the following criteria (OR) properties of algorithm
1. Input : Zero or more quantities are externally supplied.
2. Output : At least one quantity is produced.
3. Definiteness : Each instruction is clear and unambiguous.
Ex: Add B or C to A
4. Finiteness : Algorithm should terminate after finite number of steps
when traced in all cases
Ex: Go on adding elements to an array
5. Effectivenes: Every instruction must be basic i.e., it can be carried out, by a
person using pencil and paper.
Algorithm must also be general to deal with any situation.

Advantages of Algorithms:
It provides the core solution to a given problem.the solution can be implemented on a
computer system using any programming language of users choice.
It facilitates program development by acting as a design document or a blue print of a
given problem solution.
It ensures easy comprehension of a problem solution as compared to an equilavent
computer program.
It eases identification and removel of logical errors in a program.
It facilitates algorithm analysis to find out the most efficient solution to a given problem.

Dis advantages of Algorithms:
In large algorithms the flow of program control becomes difficult to track.
Algorithms lack visual representation of programming constructs like flowcharts; thus
understanding the logic becomes relatively difficult.
EXAMPLES

Example1 : Add two numbers.
Step 1: Start
Step 2: Read 2 numbers as A and B
Step 3: Add numbers A and B and store result in C
Step 4 : Display C
Step 5: Stop
Example2: Average of 3 numbers.
1. Start
2. Read the numbers a , b , c
3. Compute the sum and divide by 3
4. Store the result in variable d
5. Print value of d
6. End

Example3: Average of n inputted numbers.
1. Start
2. Read the number n
3. Initialize i to zero
4. Initialize sum to zero
5. If i is greater than n
6. Read a
7. Add a to sum
8. Go to step 5
9. Divide sum by n & store the result in avg
10. Print value of avg
11 . End







FLOWCHART
Flowchart:
A flowchart is a visual representation of the sequence of steps for solving
a problem . A flowchart is a set of symbols that indicate various operations in
the program. For every process , there is a corresponding symbol in the flowchart .
Once an algorithm is written , its pictorial representation can be done using flowchart
symbols. In other words, a pictorial representation of a textual algorithm is done using
a flowchart.
A flowchart gives a pictorial representation of an algorithm.
The first flowchart is made by John Von Neumann in 1945.
It is a symbolic diagram of operations sequence, dataflow, control flow and processing
logic in information processing.
The symbols used are simple and easy to learn.
It is a very helpful tool for programmers and beginners.

Purpose of a Flowchart :
Provides Communication.
Provides an Overview.
Shows all elements and their relationships.
Quick method of showing Program flow.
Checks Program logic.
Facilitates Coding.
Provides Program revision.
Provides Program documentation.

Advantages of a Flowchart :
Flowchart is an important aid in the development of an algorithm itself.
E asier to Understand than a Program itself.
Independent of any particular programming language.
Proper documentation.
Proper debugging.
Easy and Clear presentation.

Limitations of a Flowchart :
Complex logic.
Drawing is time consuming.
Difficult to draw and remember.
Technical detail.




Symbols used in Flowchart:
Symbols :
















Fig: Flow chart Symbols
with flowchart , essential steps of an algorithm are shown using the shapes above. The
flow of data between steps is indicated by arrows or flow lines.

EXAMPLES:
To Swap two integer numbers:
Algorithm : a. using third variable

Step 1 : Start
Step 2 : Input num1 , num2
Step 3 : temp = num1
Step 4 : num1 = num2
Step 5 : num2 = temp
Step 6 : Output num1 , num2
Step 7 : Stop

Algorithm : b. with out using third variable

Step 1 : Start
Step 2 : Input num1 , num2
Step 3 : calculate num1 = num1 + num2
Step 4 : calculate num2 = num1 num2
Step 5 : calculate num1 = num1 num2
Step 6 : Output num1 , num2
Step 7 : Stop



Flowcharts :

Start
Stop
READ num1,num2
PRINT num1,num222
temp = num1
num1 = num2
num2 = temp EMP
READ num1,num2
Stop
Start
PRINT num1,
num2

num1 = num1 + num2
num2 = num1 - num2
num1 = num1 - num2

















Fig a: With using third variable Fig b: Without using third variable



STRUCTURE OF C PROGRAM


Document
ation
section:
This
section
consists of
a set of
comment
lines
giving the
name of
the
program,
and other
details. In
which the
programm
er would
like to user later.
Ex:- /**/
Link section: Link section provides instructions to the compiler to link functions from the
system library.
Ex:- # include<stdio.h>
# include<conio.h>
Definition section: Definition section defines all symbolic constants.
Ex:- # define A 10.
Global declaration section: Some of the variables that are used in more than one function
throughout the program are called global variables and declared outside of all the functions. This
section declares all the user-defined functions.
Every C program must have one main ( ) function section. This contains two parts.
i) Declaration part: This part declares all the variables used in the executable part.
Ex:- int a,b;
ii) Executable part: This part contains at least one statement .These two parts must appear
between the opening and closing braces. The program execution begins at the opening brace and
ends at the closing brace. All the statements in the declaration and executable parts end with a
semicolon (;).
Sub program section:
This section contains all the user-defined functions, that are called in the main () function. User-
defined functions generally places immediately after the main() function, although they may
appear in any order.

C CHARACTER SET
In c the characters that can be used to form words, numbers and expressions depend upon the
computer on which the program is run. The characters in c are grouped into the following
categories.
1. Letters (A-Z,a-z)
2. Digits (0-9)
3. Special characters (, , &,.,^,;,*,:,-,?,+,,<,,#,!,>,|,/,(,\,),~,[,_,],$,{,},%)
4. White spaces (blank space, tab, carriage return, new line, form feed)

C TOKENS
C Tokens : These 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.





KEYWORDS
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 cant be used as variable name.
All keywords must be written in lower case.
C keywords can also be called as reserved words.
C language supports 32 keywords which are given below.
auto double int struct
break else long switch
case enum register typedef
char extern return union
const float short unsigned
continue for signed void
default goto sizeof volatile
do if static while

I DENTI FI ERS
Each program elements in a C program are given a name called identifiers.
Both upper case or lower case letters are permitted to write identifiers.
Names given to identify Variables, functions and arrays are examples for identifiers.
EX: x is a name given to integer variable in above program.

Rules for constructing identifier name:
1. First character should be an alphabet or underscore.
2. Succeeding characters might be digits or letter.
3. Punctuations and special characters arent allowed except underscore.
4. Identifiers should not be keywords.
5. Identifiers not contain white space.

VARI ABLES
It is a data name that may be used to store a data value. It cont be changed during the execution
of a program. A variable may taken different values at different times during execution.
Rules: Variable names may consist of letters, digits and under score( _ ) character.
First char must be an alphabet or an -
Length of the variable cont exceed upto 8 characters, some C compilers can be
recognized upto 31 characters.
No , and no white space, special symbols allowed.
Variables name should not be a keyword.
Both upper & lower case letters are used.
Ex:- mark,sum1,tot-

Primary type declaration of variables: I t tells the compiler what the name of the variable and
type of variables must be done before they are used in the program.
Syntax: data-type name of variables(v1,v2,vn);
Ex:- int count;
int number, total;
double ratio;
Ex:- main()
{
float x,y;
int code;
double d;

}

Assigning values to variables: values can be assigned to variables using the assignment
operator =
Variable-name = constant;
Ex:- initial-value = 0; balance = 75.84;
Final-value = 100; yes = x;
C permits multiple assignments in one line.
Ex:- initial-value = 0; final-value= 100;
It is also possible to assign a value to a variable at the time the variable is declared.
Data-type variable-name = constant;
Ex:- int final-value = 100;
Char yes = x;
Double balance = 75.84;
The process of giving initial values to variables is called initialization. C permits
initialization of more than one variable in one statement using multiple assignment
operators.
Ex:- p=q=r=o;
x=y=z=max;
Declaring a variable as constant:- The value of certain variables to remain constant during the
execution of a program. We can achieve this by declaring the variable with the qualifier const
at the time of initialization.
Ex:- const int class-size = 40;
Const is a new datatype qualifier. This tells the compiler that the value of the int variable class-
size must not be modified by the program.
Declaring a variable as volatile: Another qualifier volatile that could be used to tell explicitly
the compiler that a variables value may be changed at any time by some external sources(from
outside the program).
Ex:- volatile int date;
The value date may be altered by some external factors even if it doesnt appear on the left-hand
side of an assignment statement. When we declare a variable as volatile, the compiler will
examine the value of the variable each time it is encounters whether any external alteration has
changed the value.
The value of a variable declared as volatile can be modified by its own program as well. If we
wish that the value must not be modified by the program while it may be altered by some other
process, then we may declare the variable as both constant and volatile as
Volatile const int location = 100;
Defining symbolic constants:- Some constants may appear repeatedly in a number of places
in the program. One example of such a constant is 3.142 representing the value of the
mathematical constant pi. Assignment of such constants to a symbolic name frees us from this
problem.
Ex:- # define p1 3.14
# define MAX 200
Symbolic names are sometimes called constant identifiers. Since symbolic names are constants
(not variable), they dont appear in declarations.
Rules:-
Symbolic names have the same form as variable names.(symbolic names are written in
capital letters visually distinguish them from the normal variable names its not a rule).
No blank space between the pound sign # and the word define is permitted.
# must be the first char in the line.
Blank space is required between #define and symbolic name and between symbolic name
and constant.
#define statements must not end with a semicolon.
After definition, the symbolic name should not be assigned any other value within the
program.
Symbolic names are not declared for data types
# define statements may appear anywhere in the program but before it is referenced in the
program(usually place them in the beginning of the program).
#define statement is a preprocessor compiler directive and is much powerful.


DATA TYPES
Data type is the type of the data that are going to access within the program. C supports different
data types. Each data type may have pre-defined memory requirement and storage
representation. C supports 4 classes of data types.
1. Primary or (fundamental) data type(int, char, float, double)
2. User-defined data type(type def, enum)
3. Derived data type(arrays, pointers, structures, unions)
4. Empty data type(void)- void type has no value.

1. Primary or (fundamental) data type
All C compilers support 4 fundamentals data types, they are
i) Integer (int)
ii) Character(char)
iii) Floating (float)
iv) Double precision floating point(double)
Integer types: Integers are whole numbers with a range of values supported by a particular
machine. Integers occupy one word of storage and since the word size of the machine vary. If we
use 16 bit word length the size of an integer value is -32768 to +32767. In order to control over
the range of numbers and storage space, C has 3 classes of integer storage, namely short, long,
and unsigned.
DATA TYPES RANGE Size Control string
Int
-2
15
to 2
15
-1
-32768 to +32767
2 bytes %d (or) %i
Signed short int(or)
short int
-128 to +127

1 byte

%d (or) %i

Unsigned short int 0 to 255 1 byte
%d (or) %i

unsigned int 0 to 65535 2 bytes %u
Un signed long int 0 to 4294967295 4 bytes
long int (or)signed
long int
-2147483648 to
+2147483647
4 bytes %ld
long unsigned int 0 to 4294967295 4 bytes %lu

2. Character type:- Single character can be defined as a character (char) type data. Characters
are usually stored in 8 bits of internal storage. Two classes of char types are there.
Signed char, unsigned char.
- -

3. Floating point types: Floating point (real) numbers are stored in 32 bits, with 6 digits of
precision when accuracy provided by a float number is not sufficient
-
4.Double precision type: Double data type number uses 64 bits giving a precision of 14 digits.
These are known as double precision no.s. Double type represents the same data type that float
represents, but with a greater precision. To extend the precision further, we may we long double
which uses 80 bits.
-
-
2. User defined data types: C supports a feature known as type definition that allows
users define an identifier that would represents an existing type.
Ex:- typedef data-type identifier;
Where data-type indicates the existing datatype
Identifier indicates the new name that is given to the data type.
Ex:- typedef int marks;
Marks m1, m2, m3;
typedef is that we can create meaningful datatype names for increasing the readability of the
program.
Another user-defined datatype is enumerated data type(enum)
Syntax: enum identifier{value1, value2,.valuen};
Where identifier is user-defined datatype which is used to declare variables that can have one of
the values enclosed within the braces. Value1 ,value2,.valuen all these are known as enumeration
constants.
Ex:- enum identifier v1, v2,vn
V1=value3;
V2=value1;
Ex:- enum day {Monday,Tuesday. sunday};
Enum day week-f,week-end

Week-f = Monday
-
-
-
-
(or)
enum day{MondaySunday}week-f, week-end;
CONSTANTS
TYPES OF C CONSTANTS
1. Integer constants
2. Real constants
3. Character constants
4. String constants
1. Integer constants: An integer constant refers to a sequence of digits. There are three types of
integers, namely, decimal integer, octal integer and hexadecimal integer.
Examples of Integer Constant:
426 ,+786 , -34(decimal integers)
037, 0345, 0661(octal integers)
0X2, 0X9F, 0X (hexadecimal integers)
2. Real constants: These quantities are represented by numbers containing fractional parts like
18.234. Such numbers are called real (or floating point) constants.
Examples of Real Constants:
+325.34
426.0
-32.67 etc.
The exponential form of representation of real constants is usually used if the value of the
constant is either too small or too large. In exponential form of representation the Real Constant
is represented in two parts. The first part present before 'e' is called Mantissa and the part
following 'e' is called Exponent.
For ex. .000342 can be written in Exponential form as 3.42e-4.
3. Single Character constants: Single character constant contains a single character enclosed
within a pair of single quote marks.
For ex. 'A',5,;,
Note that the character constant5 is not same as the number 5. The last constant is a blank
space.Character constant has integer values known as ASCII values. For example, the statement
Printf(%d,a); would print the number 97,the ASCII value of the letter a. Similarly, the
statement printf(%c,97); would output the letter a
String constants: A string constant is a sequence of character enclosed in double quotes. the
characters may be letters, numbers, special characters and blank space.
Examples are:
HELLO!
1979
welcome
?.......!
5+3
X
OPERATORS
An operator is a symbol performs certain mathematical or logical manipulations. Operators are
used in programs to manipulate data variables.
C operators can be classified into a number of categories, they are
1. Arithmetic Operators
2. Relational Operators
3. Logical Operators
4. Assignment Operators
5. Increment and decrement operators
6. Conditional operators
7. Bitwise Operators
8. Special operators
1. Arihmetic Operators
The arithmetic operators are
Operator Meaning
+ Addition
- Subtraction
* Multiplication
/ Division
% Modulo division
Here a and b are operands, assign values for a=14 and b=4 we have the following results
a-b = 10
a+b = 18
a*b = 56
a/b = 3(coefficient)
a%b = 2(remainder)
2. Relational Operators
Relational operators are used for comparing two quantities, and take certain decision. For
example we may compare the age of two persons or the price of two items.these comparisons
can be done with the help of relational operators.
An expression containing a relational operator is termed as a relational expression. The value of
a relational expression is either one or zero. It is one if the specified relation is true and zero if
the relation is false.
Ex:- 13<34 (true) 23>35(false)
C supports 6 relational operators
Operator Meaning
< is less than
<= is less than or equal to
> is greater than t
>= is greater than or equal to
== is equal to
!= is not equal to
Ex:- 4.5<=10(true)
6.5<-10(false)
10<4+12(true)
When arithmetic expression are used on either side of a relational operator, the arithmetic
expression will be evaluated first and then the results compared, that means arithmetic operators
have a higher priority over relational operators.
3. Logical Operator
C has 3 logical operators. The logical operators are used when we want to test more than one
condition and make decisions.
Operator Meaning
&& Logical AND
|| Logical OR
! Logical NOT
The logical operators && and || are used when we test more than one condition and make
decisions.
Ex:- a>b && x==45
This expression combines two or more relational expressions, is termed as a logical expression
or a compound relational expression. The logical expression given above is true only if a>b is
true and x==10 is true. if both of them are false the expression is false.

OP1 OP2 && ||
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 1
Some examples of logical expression
1. if (age >55 && salary<1000)
2. if(number<0 || number>100)
4. Assignment operator: These operators are used to assign the result of an expression to a
variable. The usual assignment operator is =
V op = exp;
Where v is a variable, exp is an expression and op is a C binary arithmetic operator. The
operator op=is known as the shorthand assignment operator.
The assignment statement is V op=exp;
Ex:- X= X+(Y+1);
a*=a;-----
5. Increment and Decrement operator:
++ and - - are increment and decrement operators in C. The operator ++ adds 1 to the operand,
while - - subtracts 1.both are unary operators.

++m; or m++; is equal to m=m+1(m+=1;)
--m; or m- - is equal to m=m-1(m- = 1;)
We use the increment and decrement statements in for and while loops extensively.
Ex:- m=5;
Y=++m; the value of y=6 and m =6.
Suppose if we write the above statement as
m=5; y= m++; the value of y=5 and m=6.
A prefix operator first adds 1 to the operand and then the result is assigned to the variable on left.
On the other hand, a postfix operator first assigns the value to the variable on left and then
increments the operand.
6. Conditional operator: A ternary operator pair? : is available in C to construct
conditional expressions of the form
exp ? exp : exp3
Where exp1,exp2 and exp3 are expressions,
The operator?: works as follows: exp1 is evaluated first. If it is non-zero (true), then the
expression exp 2 is evaluated and becomes the value of the expression. If exp1 is false, exp3 is
evaluated and its value becomes the value of the expression.
Ex:- a=10; b=45;
X = (a>b) ? a:b;
o/p:- X value of b (45).
7. Bitwise Operator: C supports a special operator knows as bitwise operators for
manipulation of data at bit level. These operators are used for testing the bits, or shifting
them right to left. Bitwise operators may not be applied to float or double.
Operator Meaning
& Bitwise AND
| Bitwise OR

Bitwise exclusive OR
<< Shift left
>> Shift right
8. Special operators: C supports some special operators such as comma operator, size of
operator, pointer operator (& and *) and member selection operators (. and -> ).
The comma operator: The comma operator is used to link the related expression together. A
comma linked list of expressions is evaluated left to right and the value of right- most expression
is the value of the combined expression. For example, the statement
Value = (x=10, y=5, x+y);
In for loops: for (n=1 , m=10, n<=m; n++, m++);
The sizeof operator: The sizeof is a compile time operator and when used with an operand, it
returns the number of bytes the operand occupies. The operand may be variable, a constant or a
data type qualifier.
m = sizeof (sum);
n = sizeof (long int);
The sizeof operator is normally used to determine the lengths of arrays and structures when their
sizes are not known to the programmer. It is also used to allocate memory space dynamically to
variables during execution of a program.
TYPE CONVERSI ON
Converting a variable value or a constant value temporarily from one data type to other data type
for the purpose of calculation is known as type conversion.
There are two types of conversions
1. automatic type conversion (or) implicit.
2. casing a value (or) explicit.
1. Implicit: In this higher data type can be converted into lower data type.
* Float value can be converted into integral value by removing the fractional part.
* Double value can be converted into float value by rounding of the digits.
* Long int can be converted into int value by removing higher order bits.
2. Explicit: In this type of conversion, the programmer can convert one data type to other data
type explicitly.
Syntax: (datatype) (expression)
Expression can be a constant or a variable
Ex: y = (int) (a+b)
y= cos(double(x))
double a = 6.5
double b = 6.5
int result = (int) (a) + (int) (b)
result = 12 instead of 13.
int a=10
float(a)->10.00000
EXPRESSI ONS
Expressions are evaluated using an assignment statement of the form:
Syntax: variable = expression;
Variable is any valid C variable name. when the statement is encountered, the expression is
evaluated first and the result then replaces the previous value of the variable on the left-hand
side. All variables used in the expression must be assigned values before evaluation is attempted.
Ex:- x = a*b-c;
Y = b/c*a;
Z = a-b / c+d;
Ex:- x= a-b/3+c*2-1 when a=9, b=12, and c=3 the expression becomes.
x = 9-12/3 +3*2-1
Step1: x = 9-4+3*2-1
Step2: x = 9-4+6-1
Step3: x = 5+6-1
Step4: x = 11-1
Step5: x = 10
PRECEDENCE AND ORDER OF EVALUATI ON
Various relational operators have different priorities or precedence. If an arithmetic expression
contains more operators then the execution will be performed according to their properties. The
precedence is set for different operators in C.

Type of operator Operators Associativity
Unary operators
+,-,!,++,--,type,
,
size of
Right to left
Arithmetic operators *, /,%,+,- Left to right
Bit manipulation operators <<,>> Left to right
Relational operators >,<,>=,<=,==,!= Left to right
Logical operators &&,|| Left to right
Conditional operators ?,: Left to right
Assignment operators =,+=,-=,*=,/=,%= Right to left
Important note:
rules decide the order in which different operators are applied
Associativity rule decides the order in which multiple occurrences of the same level
operator are applied.






List of operators with priority wise:

You might also like