GE6151-Computer Programming
Sem/Year: I/I
Regulation: 2013
Unit-1
Generations of Computer:
It means step by step growth in the technology.
Each phase of computer has been extended to include both hardware and software, together make up
an entire computer system.
Based on the period of development, the features and technological advancement, the computer has
been classified into various generations.
There are five generations of computer:
1. First generation
2. Second generation
3. Third generation
4. Fourth generation
5. Fifth generation
1. First generation:
The late forties and the early fifties have seen computer hardware using vacuum tubes.
The concept of stored program was introduced by von newmann.
Vacuum tube circuitry as such these were quite large.
Vacuum tube was one of the high speed electronic devices and could perform computations in
milliseconds.
In this generation used the machine language binary language.(0s &1s)
No operating system used.
MEMORY: 10000 to 20000 characters.
Advantages:
1) Vacuum tubes were the only electronic components.
2) The fastest calculating device.
3) It performs computations in milliseconds.
4) It first digital computers.
Disadvantages:
1. very big in size
2. high heat production
3. high power consumption
4. no reliability
5. need constant maintenance
2. Second generation:
John Bardeen invented a new electronic device called transistor.
It is very small in size &less expensive &produces less heat.
The storage capacity: up to 64000 characters.
They used Assembly level programming language.
Memory: magnetic core & magnetic disk.
Batch operating systems ruled the second generation compute in micro seconds.
Advantages:
1) Small in size
2) Better reliability
3) Computational time is micro seconds
4) Less heat generated
5) Better speed & portability
Disadvantages:
1) Need air-conditioning
2) High cost
3) Frequent maintenance required
3. Third generation:
These generations were introduced in the mid sixties.
these were based on Integrated circuits(IC)
The IC chips were made of silicon.
MEMORY:semi conductor memory.
WWW.VIDYARTHIPLUS.COM
ENGG
WWW.VIDYARTHIPLUS.COM
Programming language high level language used
Memory capacity: up to 4 million characters.
It performs computations in nano seconds.
FORTRAN, BASIC, PASCAL, COBOL languages are used.
Advantages:
1) Small in size
2) More reliability
3) Less heat generated
4) Computational time in nano seconds.
5) Low maintenance cost
Disadvantages:
1. need air-conditioning
2. special technology for manufacture of IC chips
Example: IBM, CDC, PDP, ICL, Honeywell.
4. Fourth generation:
Development of the microprocessor in 1972.
when integrated with storage, input & output units, a microprocessors produces a micro
computer
They are interactive & respond directly * immediately to the users input.
the languages used: 4th generation language
MEMORY: semi conductor memory(no range)
Processing speed: 1 to 10 nano seconds.
Advantages:
1) Small in size
2) Very cheap
3) Consumed less power
4) Having more reliability
5) Object oriented languages are supported
Disadvantages:
1) Special technology required for manufacture of LSI chips.
Example: INTEL, APPLE, IBM
5. Fifth generation:
Computers are machines that perform only when instructed.
They may operate at fast speed & perform with unbelievable accuracy.
But they are unable to act (or) think on their own.
artificial intelligence machine could be developed which will be think & decide
MEMORY: magnetic bubble memories(CMOS).
Speed: 1 to 100 nano seconds.
Languages: artificial intelligence
Advantages:
1) More user friendly
2) Support parallel programming & user friendly environment.
3) This generation is super computers.
4) It supports power applications.
Characteristics of computer:
o The computer is an intelligent machine that solves problems and performed much faster,
accurately and efficiently.
o The characteristics of computers are listed below:
1. Speed
2. Accuracy
3. Automatic
4. Endurance
5. Versatility
6. Storage
7. Reduction in cost
8. No intelligent quotient
1. Speed:
o Speed is the most important characteristic of a computer.
M
ENGG
M
o
It can perform in few seconds, the amount of work that a human being can do in an entire
year.
Example:
10 digit numbers multiply with 5 digit number human take hours and hours. But computer
take only few nano seconds.
2. Accuracy:
o The computers are perfect, accurate and precise(correct)
o Accuracy signifies (mention) the reliability of the hardware components of a computer.
Example:
Only an accurate computer can guide a rocket to reach the space in the pre determined path.
3. Automatic:
o The computers are works automatically.
o Once programs are stored & data given to it, then every instruction automatically transferred one
by one for execution.
o The CPU follows these instructions until it meets the last instruction execution.
4. Endurance:
o The computer can go on working continuously and does not suffer tiredness and lack of
concentration.
Example:
If three million calculations given to computer, three millionth calculate give the same
accuracy and same speed of first calculation.
5. Versatility:
o The computer can be put to various jobs and has applications in various fields.
Example: Weather forecasting, teaching, railways, medicine, industry and banking, etc.,
6. Storage:
o The computer processes limitless quantities of data and information.
o Various memories such as primary, secondary.
Example: Random Access Memory (RAM), Hard Disk Drive (HDD), Floppy, Magnetic tapes.
7. Reduction in cost:
o Initial investment cost may be high, but reduces the cost of each transaction and cost of
computers.
o It reduces man power and space requirements and greater efficiency.
8. No intelligent quotient:
o The computer carryout task much faster than human being.
o But computer cannot think its own.
Classification of computers:
Computes are available in different shape, size &weights.
The computers are classified as following:
Based on Hardware Design
Analog
Digital
Hybrid
Based on Utility
General Purpose Computer
Special Purpose Computer
Based on Size & Capacity
Micro Computers
Mini Computers
Main Frame Computers
Super Computer
Based on Mode of use
Palmtop
laptop
Personal Computer
Work Station
Main Frame System
Clients & Server
ENGG
WWW.VIDYARTHIPLUS.COM
(b)Digital Computer
(c)Hybrid Computer
(a)Analog Computer
The Analog computer operate by Measuring instead of Counting
Computers are carried out with physical qualities such as voltage, length, current, Temperature.
Analog Computer, the input data is Continuously Changing electrical (or) non-electrical
information.
Example: Electronic weighing scale, patient heart beat, blood pressure, temperature.
(b)Digital Computer
Digital computer with quintiles represented as digits
It both numeric & non-numeric information is representation as strings of digits.
It represented by binary numbers 0s &1s.
A digital signal consists of discrete voltage level represent binary 1 (ON) (or) binary 0(OFF)
It is much faster than Analog Computers
Example: Business, Scientific Applications
(c)Hybrid Computer
Hybrid Computers, made combine the qualities of both analog & Digital Computers.
Measuring functions are performed by the analog way.
Logic functions are designed in nature
Example: Personal Computer
Analog
Digital
1)It operates by measuring
1)It operates by Counting
2)the calculations are converted to equation &
2)the calculations are converted into Binary
converted into electrical signals
values(0s&1s)
3)Less accurate
3)More accurate
4)lass Speed
4)High Speed
5)Limited Memory
5)More Memory
6)Lack of Flexible
6)Highly Flexible
7)Limited Applications
7)Many number of Applications
BASED ON UTILITY:
Based on utility the computers can be classified into
(a)General Purpose Computer
(b)Special Purpose Computer
(a)General Purpose Computer
These are designed & constructed to satisfy almost all the need of the society.
They are able to perform according to the program created to meet different needs.
These can used for Varity of tasks financial accounting, Designing textile prints and etc.
They are also flexible & can be used to work on business & scientific problems.
(b)Special Purpose Computer
Special Purpose Computer can be designed to perform specific functions.
In such devices, the instructions are permanently pre programmed in internal memory.
Some of Special Purpose Computers are aircraft control system, electronic voting machines &
Computer in hospital, etc.
BASED ON SIZE & CAPACITY:
Based on size & capacity, Computers are classified into the following:
(a) Micro Computer
(b) Mini Computer
(c) Main frame Computer
(d) Super Computer
(a)Micro Computer
Micro computers are small in size use of microprocessor
A microprocessor is a processor whose components of input, output & CPU are in single IC chip
These are used in office, homes, schools, shops, stores, .etc.
(b) Mini Computer
Mini computers larger than micro computers &more powerful in terms of processing speed
It mainly multiprocessor systems where many operations can perform simultaneously.
It has greater storage capacity & larger memories as compared to micro computer
WWW.VIDYARTHIPLUS.COM
ENGG
WWW.VIDYARTHIPLUS.COM
These are handling more Input & Output devices.
c) Mainframe computer:
Mainframe computer are larger, faster &more expensive than other computers.
These are used to handle huge volumes of data.
These computers work with more than one processor at same time.
These are multiuser, multi processor system.
These are used to solve the very complex calculations.
It is used in large industries, government organizations, banks, airline reservations. Where large
database is required.
d) Super computer:
Super computer is the most powerful of all computers.
They are high speed.
They are mainly used for purposes handle very large amount of data & to be processed within a
very short time.
It is used in weather forecasting, space research, weapons research, atomic research, design of
aircrafts, etc.
BASED ON MODE OF USE:
Based on made of use can be classified into
A. Palmtop,
B. Laptop,
C. Personal computer,
D. Work station,
E. Clients & server.
a) Palmtop:
Palmtop is accepting hand written inputs using an electronic pen.
These have small disk storage &connected to a wireless network.
A palmtop computer has also facilities to be used as phone &tablets.
b) Laptop computer:
Laptops are portable computer with less weight & small in size to rest on the lap.
Laptops are attached with keyboard, mouse, monitor & CPU in single booklet.
It will run in batteries & connected to a network.
It used for miniature components which consume low power.
c) Personal computer:
The personal computer is name itself implies the use of personal things.
It mainly designed to meet personal computing requirements of users at working place (or) at home.
It is non-portable & general purpose computer. This can easily fit in on office table.
It is rapidly changed the work culture &individuals.
The pc used by children & all the peoples & everywhere.
It is usually designed two models:
i) Desktop model--------- bed type CPU
ii) Tower model-------------stand type CPU.
d) Workstation:
It is a powerful desktop computer designed to meet computing needs of users or clients.
It has better processing, high storage &effective graphics display.
It is similar to pc can be used through local area network (LAN).
e) Clients & server:
With the increased gain of computer networks, it is possible to interconnect several computers.
It is very useful to share resources & services among the multiple users.
There are two varieties of system used.
Server:
It is a large computer that manages a shared resources &services to the clients.
Clients:
It is single pc & supports a user friendly interface with end user.
It sends the request to the server &accesses the resources in server.
BASIC ORGANIZATION OF COMPUTER
WWW.VIDYARTHIPLUS.COM
ENGG
WWW.VIDYARTHIPLUS.COM
The architecture of the computer has not changed, but the technology may be vary from one computer
to another computer.
However, the basic organization of computers remains the same for all computers.
The basic computer architecture shown in the figure.
Control Unit
Input Unit
Control Flow
Memory Unit
Output Unit
Arithmetic and
Logic Unit
Data Flow
Secondary storage
1. INPUT UNIT:
o Computer must need the data and instructions in order to solve any problem.
o Therefore we need to give data and instruction through the input unit.
o The input unit consists of one or more input devices.
Input Device Functions:
i. Accept data and instruction from the outside word.
ii. Convert it to a form that the computer can understand.
iii. Supply the converted data to the computer.
Following are some of the input devices:
Keyboard, mouse, light pen, joystick, Optical Character Recognizer (OCR), Optical Mark Recognizer
(OMR), Track ball, etc.,
2. CENTRAL PROCESSING UNIT:
o It is the heart and brain of the computer.
o Because of all operations are carried out in CPU only.
o CPU doing the following operations :
(i) All calculations and all decisions.
(ii) Controls and co-ordinates all units
(iii) Interprets (converts) instructions of program.
(iv) Stores data temporarily and monitors the external request.
CPU is sub divided into following:
(i) Control unit
(ii) Arithmetic & logic unit
(iii) Memory unit
a) Primary storage
b) Secondary storage
i) Control unit:
o The control unit instructs the computer how to carry out program instruction.
o It drives the flow of data between memory and arithmetic and logic unit
o It controls and co-ordinates the all other units.
WWW.VIDYARTHIPLUS.COM
ENGG
WWW.VIDYARTHIPLUS.COM
o
o
o
The input unit does not know when receive data & where to put the data.
It drives & instruct the receiving it.
It controls the flow of data & instruction from & to of
(i) Storage, ALU
(ii) ALU, storage.
o The control unit also controls what should be sent to the output unit.
o During program execution, control unit fetches instruction from primary memory, decodes them
to determine which operation required.
ii) Arithmetic & logic unit:
Arithmetic& logic unit performs all the arithmetic &logical operations.
Arithmetic operations like additions, subtractions, multiplications, divisions.
Logical operations like AND, OR, NOT for comparisons.
ALU also does comparisons &takes decision; the control unit transfers the required data from storage
unit to ALU.
Calculations finished data transferred to storage unit.
iii) Memory unit:
o Memory is the part of computer holds data for processing.
o Memory is divided into two categories:
a) Primary memory
b) Secondary memory
o A memory that stores program instructions (or) data used by CPU for performing any operations.
o Memory is device which store information temporarily (or) permanently.
a) Primary memory:
o The primary memory also called as main memory.
o It hold the program being currently executed in the computer,
o This primary memory is temporarily store the data for processing by CPU.
o The RAM (Random Access Memory) used as primary memory.
o Each &ever information can process through any main memory.
o It is fast & expensive.
o Computer speed also include with this memory.
RAM
ROM
Random Access Memory or RAM is a form of data
Read-only memory or ROM is also a form of data
storage that can be accessed randomly at any time, in
storage that cannot be easily altered or
any order and from any physical location. Allowing
reprogrammed.
quick access and manipulation.
Random Access Memory
Read-only memory
RAM allows the computer to read data quickly to run
ROM stores the program required to initially boot
applications. It allows reading and writing.
the computer. It only allows reading.
RAM is volatile i.e. its contents are lost when the
It is non-volatile i.e. its contents are retained even
device is powered off.
when the device is powered off.
The two main types of RAM are static RAM and
The types of ROM include PROM, EPROM and
dynamic RAM.
EEPROM.
b) Secondary storage:
The secondary storage is also known as auxiliary storage.
It is used like an archive (secure) & permanent storage.
It may store several programs, documents, database, etc.
After running the program, we need to save the results and program, transfer them to secondary
storage.
Secondary memory is slower, cheaper than the primary memory
It holds the larger amount of data &b it is also call non-volatile memory.
Some devices are floppy, hard disk drive, CD-ROM (Compact Disc), Pen drive, etc.
3. Output Unit
Devices used to get the response or result of process from the computer is called output
The output unit of computer provides the information and the result of computation to the outside
world
M
ENGG
Computer can understand only binary system, so that output device convert into human understand
format
Output devices: Monitor, Printer, Plotter, and Speaker etc.
Number System
Introduction:
A number is required for counting or express the amount of some quantity.
It consists of group of symbols called digits, which are arranged in definite manner.
There are many ways to digits are arranged to form a number.
various ways of representing number system:
1. Decimal number system(0,1,2,......9)
2. Octal number system(0,1,2,.....7)
3. Hexadecimal number system(0,1,2,........9,A,B,C,D,E,F)
4. Binary number system(0&1)
The number of digits in system is called radix or base.
The number systems are basically two types:
a. Non positional number system.
b. Positional number system.
a. Non positional number system:
o This method of counting uses non positional number system or additive approach
o Using this system, the symbols are
o I for 1
II for 2
III for 3
IIII for 4
etc...,
Disadvantage:
o It is difficult to perform arithmetic operations.
b. Positional Number System:
o It is uses few symbols called digits.
o Such symbols specify different values depending on the position.
Example: 7734.25(10)
o The base or radix is the total number of digits available in the number system
1. Decimal Number System:
o This system is base 10 or radix 10 number system.
o There contain all 10 numbers.
o 0,1,2,3,4,5,6,7,8,9.
o In this representation has two types of digits
1) Most significant digit (MSD)
2) Least significant digit (LSD)
o Base of this number system may be represented or not
Example:
7293.25
1
5 x 10-2
5 x 100
2 x 10-1
2 x 10
0.20
3 x 100
3x1
3.00
9 x 101
9 x 10
90.00
2 x 102
2 x 100
200.00
7 x 103
7 x 1000
7000.00
0.05
7293.25
o
o
o
o
o
-3
-4
WWW.VIDYARTHIPLUS.COM
24
23
22
21
Weights
16
8
4
2
Values
Binary representation of some numbers
Decimal Octal Hexadecimal Binary
0
0
0
0000
1
1
1
0001
2
2
2
0010
3
3
3
0011
4
4
4
0100
5
5
5
0101
6
6
6
0110
7
7
7
0111
8
8
1000
9
9
1001
10
A
1010
11
B
1011
12
C
1100
13
D
1101
14
E
1110
15
F
1111
20
1
2-1
0.5
2-2
0.25
2-3
0.125
2-4
0.0625
(25)8 = (010101)2
Conversion of Octal to
5 x 80 5 x 1 5
2 x 81 2 x 8 16
21
(25)8 = (21)10
Conversion of Octal to Hexadecimal
2
5
1. Convert octal to
010 101
2. Convert
0001 0101
1
5
decimal
(25)8
(25)8
binary
Binary to Hexadecimal
(25)8 = (15)16
Need for logical analysis & thinking:
Logical thinking is the process of understanding something logically.
Only through logical thinking we can achieve the specific goals & targets.
Logic is the basic form of the concept, judgment and reasoning.
When finalizing the goal or target of something, we have put together our judgment & reasoning to
reflecting reality.
WWW.VIDYARTHIPLUS.COM
PROBLEM SOLVING:
Problem solving can be represented in several ways:
The following ways:
1) Algorithm
2) Flow chart
3) Pseudo code
4) Decision table
5) Program
1) Algorithm:
Sequences of instructions that carryout in step by step manner in English language.
2) Flow Chart:
Pictorial representation of algorithm using standard symbols.
3) Pseudo Code:
Rules of structured design & programming.
4) Decision Table:
Nested selection to help clarify the conditions to be tested & proper actions.
5) Program:
The algorithm can be represented using high level language.
1) Algorithm:
Sequence of instructions that carry out in a step by step manner.
The algorithm is used to refer the logic of the program.
It is one of the basic tool used to develop the problem solving.
Characteristics:
Each & every instructions should be precise (perfect)
The instructions should not be repeated
Ensure that the algorithm will terminate
It should be written in sequence.
It should be in English.
Qualities of good algorithm:
The following factors are considered & measure the good algorithm.
1) Time: lesser time will take to execute the program.
2) Memory: lesser memory will take to execute the program.
3) Accuracy: program more accurate results.
4) Sequence: it must form in a sequence.
5) Generality: it designed to handle a range of input data to meet criteria.
So that algorithm must be generalized.
2. Flow chart:
It is diagrammatic represents the sequence of operations using standard symbols.
Draw the diagram oriented representation using symbols like as oval, parallelogram, rectangle, etc....,
Aim of flow charts:
It is easier to understand.
Easy to analyze &compare various methods.
It provides effective programming documentation.
It assists in reviewing & debugging.
Programming preparation can be simplified using the flow chart.
Flow chart symbols:
WWW.VIDYARTHIPLUS.COM
ENGG
WWW.VIDYARTHIPLUS.COM
Only one flow line enters to decision symbol, two or three flow will be out.
Every program must present the start & stop terminal symbol
START
STOP
WWW.VIDYARTHIPLUS.COM
ENGG
WWW.VIDYARTHIPLUS.COM
IF(A>B)
TRUE
READ
PRINT B IS BIG
PRINT A IS BIG
PROCESS
OUTPUT
STOP
WWW.VIDYARTHIPLUS.COM
ENGG
WWW.VIDYARTHIPLUS.COM
Block of Statements
FALSE
Evaluating
Condition
TRUE
OUTPUT
STOP
Pseudo code:
It is written in normal English & cannot be understand by the computer.
Set of statements or instructions written in programming language.
It is also called Program Design Language(PDL)
Rules:
Write one statements per line.
Capitalize keywords.
End multiline structure(if,else,while,)
Indent show hierarchy
Keep statements language independent.
Advantages:
It is simple to use.
Disadvantages:
It is not visual.
Example:
Pseudo code for Factorial:
Set initial one to F, i
READ N value to find factorial
IF (i<=N) THEN
F=F*i
i=i+1
ENDIF
WRITE the factorial of the number.
Stop
Draw the flow chart to find biggest of two numbers.
START
WWW.VIDYARTHIPLUS.COM
ENGG
READ A,B
WWW.VIDYARTHIPLUS.COM
94
11
(756)10 = (1364)8
Quotient Reminder
756
16
47
16
47
13
(756)10 = (2D4)16
Find the octal equivalent of the number (10111001100.1101011)2
010 111 001 100 . 110 101 100
2
7
1
4 . 6
5
4
(10111001100.1101011)2 = (2714.654)8
8 x 16-2
8 x 256
12 x 16-1
12 x 16
0.75000
13 x 160
13 x 1
13.00000
4 x 161
4 x 16
64.00000
0.03125
77.78125
WWW.VIDYARTHIPLUS.COM
How will you convert CAB in hexadecimal to binary?
C
A
B
1100 1010 1011
(CAB)16 = (110010101011)2
Convert the following numbers into their binary equivalents: FAC16, 5618
FAC16 = (111110101100)2
F
A
C
1111 1010 1100
(561)8 = (101110001)2
5
6
1
101 110 001
Convert the decimal number 59.8125 into binary and octal.
59.8125 into binary
Quotient Reminder
29
1
59
2
29
2
14
2
7
2
3
2
14
0.8125 X 2 1.625 1
0.625 X 2 1.25 1
0.25 X 2
0.5 0
0.5 X 2
1.0 1
(59.8125)10 = (111011.1101)2
59.8125 into octal
59
8
Quotient Reminder
7
3
0.8125 X 8 6.5 6
0.5 X 8
4.00 4
(59.8125)10 = (73.64)8
Draw the flow chart and write an algorithm to compute area and circumference of circle.
ALGORITHM:
Step1: Start the program.
Step2: Get the Radius R as input.
Step3: Find Area and Circumference
Area 3.14 * R * R
Circumference 2 * 3.14 * R
Step4: Print the Area and Circumference.
WWW.VIDYARTHIPLUS.COM
FLOW CHART:
START
READ R
AREA = 3.14 * R * R
CIRCUMFERENCE = 2 * 3.14 *R
WWW.VIDYARTHIPLUS.COM
Step5: Stop the program.
Draw the flow chart and write an algorithm to compute the student details.
ALGORITHM:
FLOW CHART:
Step1: Start the program.
START
Step2: Read the Marks for E, T, G, P, C, and M as input.
Step3: Find Total and Percentage
Total E+T+G+P+C+M
READ E, T, G, P, C, M
Percentage (Total/1200)*100
Step4: Print the Total and Percentage.
Step5: Stop the program.
Total = E+T+G+P+C+M
Percentage = (Total/1200)*100
PRINT Total,
Percentage
STOP
Write an algorithm, Flow chart and psuedocode to compute factorial of a number.
ALGORITHM:
FLOW CHART:
Step1: Start the program.
START
Step2: Read the n as input.
Step3: Set initial values F = i= 1.
Step4: IF i<=n else goto Step5
READ N
Step4.1: F F * i
Step4.2: i i + 1
Step5: Goto step4.
F=i=1
Step6: Otherwise print the F.
Step7: Stop the program.
FALSE
IF (i<=N)
PRINT F
TRUE
F=F*i
i=i+1
STOP
Draw a flow chart to find sum first 100 natural numbers.
ALGORITHM:
FLOW CHART:
Step1: Start the program.
Step2: Set initial values SUM = i= 0.
START
Step3: IF i<=100 else goto Step5
Step3.1: SUM SUM + i
Step3.2: i i + 1
SUM = i = 0
WWW.VIDYARTHIPLUS.COM
ENGG
M
Step4: Goto step3.
Step5: Otherwise print the SUM.
Step6: Stop the program.
Draw the flow chart and write an algorithm to find roots of quadratic equation.
ALGORITHM:
FLOW CHART:
Step1: Start the program.
START
Step2: Read the values for a, b, c as input.
Step3: Find the value of D.
D b * b (4 * a * c)
READ a,b,c
Step4: IF D is greater than or equal to zero than find the roots
Root1 (-b + sqrt(D)) /(2 * a)
Root2 (-b - sqrt(D)) /(2 * a)
D = b * b (4 * a * c)
Step5: Print the Root1, Root2.
Step6: IF D is not greater than or equal to zero,
then print roots are imaginary.
FALSE
TRUE
IF (D>=0)
Step7: Stop the program.
PRINT Root1,
Root2
STOP
UNIT-2
History of C language:
C is one of the most popular programming languages; it was developed by Dennis Ritchie
at AT & Ts Bell Laboratories at USA in 1972.
WWW.VIDYARTHIPLUS.COM
ENGG
WWW.VIDYARTHIPLUS.COM
WWW.VIDYARTHIPLUS.COM
Comments are very helpful in identifying the program features and underlying logic of
the program.
The single line comments using \\.
The lines begins with /* and ending with */ are known as comment lines. These are
not executable, the compiler is ignored anything in between /* and */.
Preprocessor section:
It is used to link system library files for defining the macros and for defining the
conditional inclusion.
Eg: #include<stdio.h>, #define A 10, #if def, #endif.etc.
Global declaration section:
The variables that are used in more than one function throughout the program are called
global variables and declared outside of all the function i.e., before main().
Every C program must have one main() function, which specify the starting of C
program. It contains the following two parts.
Various elements of C program:
Comment:
/* program for temperature conversion */
Header file:
#include<stdio.h>
Preprocessor directories:
#define con 1.8
//Constant
Reserved words:
int main ()
{
Variable type:
float c,f
//Standard identifiers
printf(enter the Celsius values.);
Control string:
scanf(%f, &c);
Special character:
f = (con * c)+32;
Execution character:
printf(\n Fahrenheit value of the given %f Celsius value is
%f, c,f);
Reserved word:
return(0);
}
Declaration part:
This part is used to declare all the variables that are used in the executable part of the
program and these are called local variables.
Executable part:
It contains atleast one valid C statement.
The execution of a program begins with opening brace {and ends with closing brace
}.
The closing brace of the main function is the logical end of the program.
All the statements in the program ends with a semicolon(;) except conditional and control
statements.
PROGRAMMING RULES:
All statements in C program should be written in lower case letters.
Blank spaces may be inserted between the words. It is not used while declaring a variable,
keyword, constant and function.
The program statement can write anywhere between the two braces following the declaration
part.
The user can also write one or more statements in one line separating them with a
semicolon(;).
EXECUTING A C PROGRAM
Execution is the process of running the program, to execute a C program we need to
follow the steps given below.
1. Creating the program.
2. Compiling the program.
WWW.VIDYARTHIPLUS.COM
WWW.VIDYARTHIPLUS.COM
Bell(Alert)
Backspace
Horizontal tab
Vertical tab
New line
Form feed
Carriage return
\a
\b
\t
\v
\n
\f
\r
Beep sound
Moves previous position
Moves next horizontal tab
Moves next vertical tab
Moves next line
Moves initial position of next page
Moves beginning of the line
C TOKENS:
The tokens are usually referred as individual text and punctuation in a passage of text.
The C language program can contain the individual units called the C tokens and has
the following types.
1. Identifiers
2. Keywords
3. Constants
4. Strings
5. Operators
6. Special symbols
1. IDENTIFIERS
Identifiers are names given to various program elements, such as variables, functions and
arrays etc.
Rules:
Identifiers consist of letters and digits in any order.
The first character must be a letter/character or may begin with underscore( _ ).
Both upper/lower cases are permitted although uppercase character is not equivalent to
corresponding lowercase character.
The underscore _ can also be used and is considered as a letter.
An identifier can be of any length while most of the C compiler recognizes only the first
31 characters.
No space and special symbols are allowed between the identifier.
The identifier cannot be a keyword.
Valid identifiers:
STDNAME, SUB, Y2K.
Invalid identifiers:
STD NAME, Return, $stay, 7rno.
2. KEYWORDS:
There are certain reserved words called keywords that have standard and predefined
meaning in C language which cannot be changed and they are the basic building blocks
for program statements.
Keywords are must written in lower case.
The C keywords are listed below.
1. auto
9. double
17. int
25. struct
2. break
10. else
18. long
26. switch
3. case
11. enum
19. register
27. typedef
4. char
12. extern
20. return
28. union
5. const
13. float
21. short
29. unsigned
6. continue
14. for
22. signed
30. void
7. default
15. goto
23. sizeof
31. volatile
8. do
16. if
24. static
32. while
Data types:
Data type is the type of the data, that are going to access within the program.
WWW.VIDYARTHIPLUS.COM
Each data type may have predefined memory requirement and storage representation.
Primary
User defined
Derived
Empty
char
Arrays
int
pointer
void
float
typedef
structures
double
union
The bytes occupied by each of the primary data types are
Data type
Description
Memory
Control
Ex
string
int
Integer quantity
2 bytes
%d
int a=39;
char
Single character
1 byte
%c
char s = n;
float
Floating pointing nos.
4 bytes
%f
float f=29.77
double
Double floating pointing
8 bytes
%lf
double d=
nos.
29771770776
All C compilers supports the five fundamental data types called int, char, float, double
and void.
The primary data types are divided into the following.
INTEGER TYPE
Integers are the numbers with the supported range.
Usually the integers occupy one word of storage typically 16 or 32 bits.
The size of the integer depends upon the system.
signed
unsigned
int
unsigned int
short int
unsigned short int
long int
unsigned long int
CHARACTER TYPE
Characters are generally stored in 8 bits and a single character can be defined as char data
type.
char
signed char
unsigned
char
FLOAT TYPE
The floating point numbers are generally stored in 32 bits with the 6 digits of precision.
The double datatype uses the 64bits with the 14 digits of precision.
float
double
long double
EMPTY DATA TYPE
The void is the null data type in C language.
This is generally specified with the function which has no arguments.
void
VARIABLES:
A variable is an identifier that is used to represent some specified type of information.
Variable name give to relate the program.
i) Variable declaration:
We must declare them in a program, and this declaration tells the compiler what the
variable name and type of the data that the variable will hold.
Syntax: datatype variable-1,variable-2,,variable-n;
Example: int code; char sex; float price;
ii) Initializing variables:
Initialization of variables can be done using the assignment operator ( = ).
Syntax: Datatype Variable = value;
Example: int i=29;
SCOPE OF VARIABLES:
WWW.VIDYARTHIPLUS.COM
Local variables:
The variables which are defined inside a main function block or inside a function are
called local variables.
It is declared within blocks.
Example:
void main()
{
int i,j;
/* body of the function */
}
Global variables:
The variables that are declared before the function main() are called the global variables.
Example:
int a=5,b=2;
void main()
{
fun();
}
void fun()
{
int sum;
sum = a+b;
}
STORAGE CLASSES:
1. Auto:
They are called as the automatic because their memory space is automatically allocated
as the variable is declared.
It is optional keyword.
Syntax: Storage_class_type data_type var1, var2var n;
Example: auto int a,b;
2. Static:
The static variables are the variables for which the contents of the variables will be
retained throughout the program.
These are permanent within the function in which they are declared.
Syntax: Storage_class_type data_type var1, var2,.varn;
Example: static int a,b;
3. Extern:
The external variables are declared out of the main() function the availability of these
variables are throughout the program and that is both in main program and inside the user
defined functions.
Syntax: Storage_class_type data_type var1, var2,var n;
Example: extern int a, b;
4. Register:
Registers are special storage areas within a computers central processing unit.
The actual arithmetic and logical operation that comprise a program are carried out
within these registers.
Syntax: Storage_class_type data_type var1, var2, ..var n;
Example: register int a,g;
CONSTANTS:
WWW.VIDYARTHIPLUS.COM
The item whose values cannot be changed during the execution of program are called
constants.
a) Numeric constants:
i) Integer constants:
An integer constant formed with the sequence of digits.
There are three types of integer constants which forms different number system.
Syntax: const datatype identifier=value;
Example: const int M = 95;
Rules:
It must have atleast one value.
Decimal point is not allowed.
It can be either positive or negative.
ii) Real constants:
A real constant is made up of a sequence of numeric digits with presence of a decimal
point.
Real constants serve as represent quantities such as distance, heights, temperatures, etc.
Syntax: const datatype identifier=value;
Example: const float distance =126.5;
Rules:
A real constant must have one digit.
A real constant must have decimal point.
No commas or blank spaces are allowed.
b) Character constants:
i) Single character constants:
The character constant contains a single character enclosed within pair of single inverted
commas() both pointing to the left.
Syntax: const datatype identifier= value;
Example: const char c=s,gender=F;
ii) String constants:
A string constant is a sequence of characters enclosed in double quotes the characters
may be letters, numbers, special characters and blank spaces etc.
Syntax: const datatype identifier= value;
Example: const char c[10]=senthil;
Delimiters:
These are the symbols, which has some syntactic meaning and has got significance.
Symbol
Name
Meaning
#
Hash
Pre-processor directive
,
Comma
separate list of variables
:
Colon
Label
;
Semi colon
Statement end
()
Parenthesis
Function and Expression
{}
Braces
Creating blocks
[]
Square bracket
Arrays
Statements:
Statements can be defined as set of declaration or sequence of action. Statement causes
the computer to perform some action.
1. Assignment statements:
Assignment operator used for assigning values to the variables.
Example: basic =3890;
2. Null statements:
A statement without any characters and it has only semicolon is called null statement.
WWW.VIDYARTHIPLUS.COM
OPERATORS
An operator is as symbol that specifies an operation to be performed on the operands.
The data items are called operands.
Example: a+b
+ operator and a, b are the operands.
Types of operators:
1) Arithmetic Operator (+, -,*,/,%,)
2) Relational Operator (<,>,<=,>=,!=,==)
3) Logical Operators (&&.||,!)
4) Assignment Operator ( = )
5) Increment & decrement Operator (++,--)
6) Conditional (or) Ternary Operator (? , : )
7) Bitwise Operator (&,!,|,^)
8) Special Operator (, sizeof,&&*, .&->)
1) Arithmetic operators:
Basic arithmetic operation like addition, subtraction, multiplication, and division.
Operator
Meaning
Example
A=9, B=5
+
addition
C=a+b
C=14
subtraction
C=a-b
C=4
*
multiplication C=a*b
C=45
/
division
C=a/b
C=1
%
Modulo
C=a%b
C=4
Example:
//Arithmetic Operators
#include<stdio.h>
#include<conio.h>
void main()
{
int a,b,c,d;
clrscr();
printf("Arithmetic Operators");
printf("\nEnter the A & B Value:");
scanf("%d%d",&a,&b);
printf("A=%d\nB=%d",a,b);
WWW.VIDYARTHIPLUS.COM
c=a+b;
printf("\nAddition = %d",c);
c=a-b;
printf("\nSubtraction = %d",c);
c=a*b;
printf("\nMultiplication = %d",c);
c=a/b;
printf("\nDivision = %d",c);
c=a%b;
printf("\nModulo = %d",c);
getch();
}
OUTPUT:
Arithmetic Operators
Enter the A & B Value:9
5
A=9
B=5
Addition = 14
Subtraction = 4
Multiplication = 45
Division = 1
Modulo = 4
Unary arithmetic: it requires only one operand.
Ex: +x
Binary arithmetic: it requires two operands.
Ex: a+b
2) Relational operators:
Relational operators are used to compare two or more operands.
Operands may be variables, constants or expression.
The value of relational expression is either one or zero.
Relational operators are used in decision making process.
Operator
Meaning
Example
A=9, B=5
<
Less than
C=a<b
C=0
>
Greater than
C=a>b
C=1
<=
Less than or Equal to
C=a<=b
C=0
>=
Greater than or equal to
C=a>=b
C=1
==
Equal to
C=a==b
C=0
!=
Not equal to
C=a!=b
C=1
Example:
//Relational Operators
#include<stdio.h>
#include<conio.h>
void main()
{
int a,b,c;
clrscr();
printf("Relational Operators");
printf("\nEnter the A & B Value:");
scanf("%d%d",&a,&b);
printf("A=%d\nB=%d",a,b);
WWW.VIDYARTHIPLUS.COM
c=a>b;
printf("\nGreaterthan (>)= %d",c);
c=a<b;
printf("\nLessthan (<)= %d",c);
c=a>=b;
printf("\nGreaterthan or equal (>=)= %d",c);
c=a<=b;
printf("\nLessthan or equal (<=)= %d",c);
c=a==b;
printf("\nEqual to (==)= %d",c);
getch();
}
OUTPUT:
Relational Operators
Enter the A & B Value:9
5
A=9
B=5
Greaterthan (>)= 1
Lessthan (<)= 0
Greaterthan or equal (>=)= 1
Lessthan or equal (<=)= 0
Equal to (==)= 0
3) Logical operators:
Logical operators are used to combine the results of two or more conditions.
The logical operators are &&, ||,!
Syntax: (exp1)&&(exp2)
Operator
Meaning
Example
A=9, B=5, C=2
&&
Logical AND
d=(a>b)&&(a>c) d=1
||
Logical OR
d=(a>b)||(a>c)
d=1
!
Logical NOT
d=!(a>=b)
d=0
Example:
//Logic Operators
#include<stdio.h>
#include<conio.h>
void main()
{
int a,b,c,d;
clrscr();
printf("Logic Operators");
printf("\nEnter the A,B,C Value:");
scanf("%d%d%d",&a,&b,&c);
printf("A=%d\nB=%d\nC=%d",a,b,c);
d=(a>b)&&(a>c);
printf("\nLogic AND\n((a>b)&&(a>c)) = %d",d);
d=(a>b)||(a>c);
printf("\nLogic OR\n((a>b)||(a>c)) = %d",d);
d=!(a>=b);
printf("\nLogic NOT\n(!(a>=b)) = %d",d);
getch();
}
OUTPUT:
Logic Operators
WWW.VIDYARTHIPLUS.COM
WWW.VIDYARTHIPLUS.COM
For all the above operators in all possible combinations of bits as shown below.
A B A|B A&B A^B ~A
0 0
0
0
0
1
0 1
1
0
1
1
1 0
1
0
1
0
1 1
1
1
0
0
Example:
//Bitwise OPerators
#include<stdio.h>
#include<conio.h>
void main()
{
int a,b,c;
clrscr();
printf("Bitwise Operators");
printf("\nEnter the A & B Value:");
scanf("%d%d",&a,&b);
printf("A=%d\nB=%d",a,b);
c=a&b;
printf("\nBitwise AND (&) = %d",c);
c=a|b;
WWW.VIDYARTHIPLUS.COM
ENGG
WWW.VIDYARTHIPLUS.COM
ENGG
WWW.VIDYARTHIPLUS.COM
Unformatted I/O
Input
getchar()
getc()
gets()
WWW.VIDYARTHIPLUS.COM
getch()
Output
putchar()
putc()
puts()
Input
scanf()
fscanf()
Output
printf()
fprintf()
ENGG
WWW.VIDYARTHIPLUS.COM
Test
Is ch an alphanumeric character?
Is ch an alphabetic character?
Is ch a digit?
Is ch a lowercase letter?
WWW.VIDYARTHIPLUS.COM
toupper(ch)
isupper(ch)
isspace(ch)
tolower(ch)
Convert ch to uppercase.
Is ch a uppercase letter?
Is ch a blank space character?
Convert ch to lowercase.
ENGG
WWW.VIDYARTHIPLUS.COM
WWW.VIDYARTHIPLUS.COM
WWW.VIDYARTHIPLUS.COM
if(condition is true)
{
True statements;
}
Next Statement;
Start
Read A,B
if(A>B)
False
Print It is simple if
True
Print A is Big
#include<stdio.h>
#include<conio.h>
void main()
{
int a,b;
clrscr();
scanf(%d%d,&a,&b);
if(a>b)
{
printf(A is big);
}
printf(\nIt is simple if);
getch();
}
Stop
Properties:
If the condition is true then the simple or compound condition statements are executed.
If the condition is false it does not do anything.
The condition is given in parenthesis and must be evaluated as true or false.
If a compound structure is provided it must be enclosed in opening and closing braces.
b) The if-else statement:
It is basically two way decision making statement and always used in conjunction with
condition.
It is used to control the flow of execution and also used to carry out the logical test and
then pickup one of the two possible actions depending on the logical test.
Syntax
Flow Chart
Example
if(condition)
//Biggest of 2 Numbers
Start
{
#include<stdio.h>
True statements;
#include<conio.h>
}
void main()
Read A,B
else
{
{
int a,b;
FALSE
TRUE
False statements;
clrscr();
if(A>B)
}
scanf(%d%d,&a,&b);
Next Statement;
if(a>b)
{
PRINT B IS BIG
PRINT A IS BIG
printf(A is big);
}
else
{
printf(B is big);
}
Print It is ifelse
printf(\nIt is ifelse);
getch();
Stop
}
c) Nested if..else statement:
When a series of if..else statements are occurred in a program, we can write an entire
if..else statement in another if.else statement called nesting and the statement is
called nested if.
M
ENGG
Start
WWW.VIDYARTHIPLUS.COM
Flow Chart:
Read A,B,C
FALSE
if(A>B||C>B)
TRUE
FALSE
TRUE
if(A>C)
PRINT B IS BIG
PRINT A IS BIG
PRINT C IS BIG
Syntax
if(condition 1)
{
if(condition 2)
{
True statement2;
}
else
{
False statement2;
}
}
else
{
False statement1;
}
Next Statement;
Example
//Biggest of 3 Numbers
#include<stdio.h>
#include<conio.h>
void main()
{
int a,b,c;
clrscr();
scanf(%d%d%d,&a,&b,&c);
if(a>b||c>b)
{
if(a>c)
{
printf(A is big);
}
else
{
printf(C is big);
}
}
else
{
printf(B is big);
}
printf(\nIt is Nested ifelse);
getch();
}
d) ifelse ladder:
Nested if statements can become quite complex.
More than three alternatives is not consistent to determine the logical structure of if
statement.
In situations, you can use the nested if as the else if ladder.
Flow Chart:
Start
Read A,B,C,D
WWW.VIDYARTHIPLUS.COM
FALSE
TRUE
WWW.VIDYARTHIPLUS.COM
Syntax
if(condition 1)
{
Statement 1;
}
else if(condition 2)
{
Statement 2;
}
else if(condition 3)
{
Statement 3;
}
else
{
Default- statements;
}
Next Statement;
Example
//Biggest of 4 Numbers
#include<stdio.h>
#include<conio.h>
void main()
{
int a,b,c,d;
clrscr();
scanf(%d%d%d%d,&a,&b,&c,&d);
if(a>b&&a>c&&a>d)
{
printf(A is big);
}
else if(b>c&&b>d)
{
printf(B is big);
}
else if(c>d)
{
printf(C is big);
}
else
{
printf(D is big);
}
printf(\nIt is ifelse Ladder);
getch();
}
WWW.VIDYARTHIPLUS.COM
Print 1.ADD
2.SUB 3.MUL 4.DIV
Read CH
CH=2
Print C=A+B
Print C=A-B
CH=3
Print C=A*B
CH=4
Print C=A/B
switch(CH)
Stop
Syntax:
Syntax
switch(expression)
{
case constant-1:
Block 1;
break;
case constant-2:
Block 2;
break;
.
.
default:
Default block;
break;
}
Next Statement;
WWW.VIDYARTHIPLUS.COM
Example
//Arithmetic operations using switch case
#include<stdio.h>
#include<conio.h>
void main()
{
int a=10,b=20,ch,d;
clrscr();
printf("1.ADD\n2.SUB\n3.MUL\n4.DIV");
printf("\nEnter your choice:");
scanf("%d",&ch);
switch(ch)
{
case 1:
printf("%d",a+b);
break;
case 2:
printf("%d",a-b);
break;
case 3:
printf("%d",a*b);
break;
case 4:
printf("%d",a/b);
break;
default:
printf("\nEnter the correct choice");
break;
}
printf("\nIt is switch case");
ENGG
WWW.VIDYARTHIPLUS.COM
getch();
}
Rules:
ENGG
WWW.VIDYARTHIPLUS.COM
while(condition)
{
Body of the loop;
}
void main()
{
int n,i,sum=0;
clrscr();
printf("Sum of n Numbers");
printf("\nEnter the Limit Value:");
scanf("%d",&n);
i=0;
while(i<=n)
{
sum=sum+i;
i++;
}
printf("\nSum = %d",sum);
getch();
}
Sum of n Numbers
Enter the Limit Value:10
Sum = 55
2. dowhile loop:
The while loop makes a test of condition before the loop is executed.
In some situations it may be necessary to execute the body of the loop before the test condition
is performed, such a situation the dowhile loop is useful.
It is also repetitive control structure and executes the body of the loop once irrespective of the
condition then it checks the condition and continues the execution until the condition is false.
Here the statements within the body of the loop are executed once, then it evaluates for the
condition if it is true, then it executes body until the condition becomes false.
Syntax
Example
OUTPUT
do
void main()
Sum of n Numbers
{
{
Enter the Limit Value:10
Body of the loop;
int n,i,sum=0;
}while(condition);
clrscr();
Sum = 55
printf("Sum of n Numbers");
printf("\nEnter the Limit Value:");
scanf("%d",&n);
i=0;
do
{
sum=sum+i;
i++;
}while(i<=n);
printf("\nSum = %d",sum);
getch();
}
While
This is the top tested loop.
The condition is first tested if the condition is
true then the block is executed until the condition
becomes false.
Loop will not be executed if the condition is
false.
Dowhile
This is the bottom tested loop.
It executes the body once after it checks the
condition if it is true the body is executed
until the condition becomes false.
Loop is executed at least once even though
the condition is false.
3. for loop:
The for loop is another repetitive control structure and is used to execute set of instructions
repeatedly until the condition becomes false.
WWW.VIDYARTHIPLUS.COM
WWW.VIDYARTHIPLUS.COM
//Sum of n Numbers
#include<stdio.h>
#include<conio.h>
void main()
{
int n,i,sum=0;
clrscr();
printf("Sum of n Numbers");
printf("\nEnter the Limit Value:");
scanf("%d",&n);
WWW.VIDYARTHIPLUS.COM
for(i=0;i<=n;i++)
sum=sum+i;
printf("\nSum = %d",sum);
getch();
}
OUTPUT:
Sum of n Numbers
Enter the Limit Value:10
Sum = 55
//Sum and average Numbers
#include<stdio.h>
#include<conio.h>
void main()
{
int a[10],n,i,sum=0;
float avg=0.0;
clrscr();
printf("Sum and average of given Numbers");
printf("\nEnter the Limit Value:");
scanf("%d",&n);
printf("\nEnter the Values:");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
sum=sum+a[i];
}
avg=(float)sum/n;
printf("\nSum = %d",sum);
printf("\nAverage = %.2f",avg);
getch();
}
OUTPUT:
Sum and average of given Numbers
Enter the Limit Value:3
Enter the Values:3
6
1
Sum = 10
Average = 3.33
WWW.VIDYARTHIPLUS.COM
scanf("%d%d%d",&a,&b,&c);
D=(b*b)-(4*a*c);
if(D>=0)
{
Root1=(float)(-b+sqrt(D))/(2*a);
Root2=(float)(-b-sqrt(D))/(2*a);
printf("\nRoot1 = %.2f",Root1);
printf("\nRoot2 = %.2f",Root2);
}
else
{
printf("\nRoots are imaginary");
}
getch();
}
OUTPUT:
Roots of quadratic equation.
Enter the A,B,C Value:3
10
2
Root1 = 463.00
Root2 = -466.33
WWW.VIDYARTHIPLUS.COM
UNIT-3
ARRAYS and STRINGS
Arrays:
An array is a collection of similar data items, which are stored under a common name.
Each element of an array is stored in successive locations of the memory.
Data items can be int, float, char values of data types.
The elements of the array are known as members of the array.
Arrays are declared using the symbol square bracket[ ] (or) subscript.
Need for Array:
A single variable store only one value.
If we want to store more values means we need to declare more variables.
This problem solved using array.
Types of array:
Arrays can be classified into
1. One Dimensional Array
2. Two Dimensional Array
3. Multi Dimensional Array
1. One Dimensional Array:
An array is a collection of similar data items, which are stored under a common name using
single subscript.
One Dimensional Array also called linear array or Single Dimensional Array.
The array elements must be accessed on an element by element.
Array accessed by using looping structure(for, while).
Array elements are always starting at Zero and end with Maximum element-1.
Syntax:
Datatype array_name[size];
DatatypeType of data items like as int,char,float
Array_name---specifies name of the array
Size---element count.
Example: int a[3];
Array index Element values
a[0]
4
a[1]
12
a[2]
10
Array initialization:
The array initialized in two ways:
1. At compile time
2. At run time
1. At compile time:
o The array elements are initialized at the time of declaration.
Syntax: Datatype array_name[]={list of values};
Example: int marks[3]={45,67,89};
Array index Element values
marks[0]
45
marks [1]
67
marks [2]
89
2. At run time:
o The array elements are initialized at the time of program running.
o The for loop is used to initialize values for array element.
Example:
i) Using for loop to initialize value 0 to all the elements.
int a[10],i;
for(i=0;i<10;i++)
a[i]=0;
WWW.VIDYARTHIPLUS.COM
ii) Using scanf() function to initialize different values.
int a[5],i;
for(i=0;i<5;i++)
scanf(%d,&a[i]);
//One Dimensional array Sum and average Numbers
#include<stdio.h>
#include<conio.h>
void main()
{
int a[10],n,i,sum=0;
float avg=0.0;
clrscr();
printf("Sum and average of given Numbers");
printf("\nEnter the Limit Value:");
scanf("%d",&n);
printf("\nEnter the Values:");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
sum=sum+a[i];
}
avg=(float)sum/n;
printf("\nSum = %d",sum);
printf("\nAverage = %.2f",avg);
getch();
}
OUTPUT:
Sum and average of given Numbers
Enter the Limit Value:5
Enter the Values:45
2
3
10
5
Sum = 65
Average = 13.00
2. Two Dimensional array:
o Two dimensional arrays have two subscripts.
o We need to store table of values use the 2D array.
o Two pairs of square brackets denoted by rows and columns.
Example: A[3][3];
Column-0 Column-1 Column-2
Row-0
Row-1
Row-2
Rows
That is represented as
Columns
Column-0 Column-1 Column-2
A[0][0]
A[0][1]
A[0][2]
Row-0
A[1][0]
A[1][1]
A[1][2]
Row-1
A[2][0]
A[2][1]
A[2][2]
Row-2
Syntax:
Datatype array_name[row_size][column_size];
Initialization:
WWW.VIDYARTHIPLUS.COM
1. At compile time:
The values can be initialized at the time of declaration.
Syntax:
Datatype array_name[row_size][column_size]={List of Values};
Example:
A[2][2]={{1,2}{3,4}};
Or
A[2][2]={1,2,3,4};
2. At run time:
The values can be initialized at the time of running.
Run time initialization can be do with the scanf() function.
Example:
int a[5][5],I,j;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
scanf("%d",&a[i][j]);
Example:
//Two Dimensional array or Matrix Multiplication
#include<stdio.h>
#include<conio.h>
void main()
{
int a[2][2],b[2][2],c[2][2],j,i,k;
clrscr();
printf("Matrix Multiplication");
printf("\nEnter the A matrix 4 values:");
for(i=0;i<2;i++)
for(j=0;j<2;j++)
scanf("%d",&a[i][j]);
printf("\nEnter the B matrix 4 values:");
for(i=0;i<2;i++)
for(j=0;j<2;j++)
scanf("%d",&b[i][j]);
printf("\nResult Matrix:\n");
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
c[i][j]=0;
for(k=0;k<2;k++)
c[i][j]= c[i][j]+a[i][k]*b[k][j];
}
}
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
printf("%d\t",c[i][j]);
printf("\n");
}
getch();
}
OUTPUT:
Matrix Multiplication
Enter the A matrix 4 values:1
2
3
4
Enter the B matrix 4 values:5
6
WWW.VIDYARTHIPLUS.COM
7
8
Result Matrix:
19
22
43
50
//Two Dimensional array or Matrix Addition
#include<stdio.h>
#include<conio.h>
void main()
{
int a[2][2],b[2][2],c[2][2],j,i;
clrscr();
printf("Matrix Addition");
printf("\nEnter the A matrix 4 values:");
for(i=0;i<2;i++)
for(j=0;j<2;j++)
scanf("%d",&a[i][j]);
printf("\nEnter the B matrix 4 values:");
for(i=0;i<2;i++)
for(j=0;j<2;j++)
scanf("%d",&b[i][j]);
printf("\nResult Matrix:\n");
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
c[i][j]=a[i][j]+b[i][j];
printf("%d\t",c[i][j]);
}
printf("\n");
}
getch();
}
OUTPUT:
Matrix Addition
Enter the A matrix 4 values:3
2
1
5
Enter the B matrix 4 values:4
6
8
2
Result Matrix:
7
8
9
7
Strings:
Group of (or) Collection of (or) Array of characters are called strings.
The strings are specified with pair of double quotes ( ).
Where declaring a string it will take null character \0 at the end of string.
This null character cannot visible.
Syntax: char array_name[];
Initialization:
The values of string can be initialized at run time or compile time.
The string values are initialized at compile time:
Syntax: char array_name[]=values;
WWW.VIDYARTHIPLUS.COM
Example: char name[]=Senthil;
The string values are initialized at run time using scanf():
Syntax:
char array_name[];
scanf(%s,array_name);
Example:
char name[];
scanf(%s,name);
Reading and Writing:
Reading & writing the string using scanf() & printf() function through the %s control string.
Also use the gets() and puts() functions.
Syntax:
Read
Write
scanf(%s,array_name); printf(%s,array_name);
gets(array_name);
puts(array_name);
Example:
char name[15];
printf(Enter the name:);
scanf(%s,name);
printf(\nName:%s,name);
OUTPUT:
Enter the name:Senthil
Name:Senthil
String Handling (or) Standard Functions:
The C compiler provides the following string handling functions:
S.No. Function Purpose
1. strlen()
Find length of the string
2. strcpy()
Copy one string to another
3. strcat()
Combine two strings
4. strcmp() Comparing two strings
5. strrev()
Reverse a string
6. strlwr()
Convert in to lower case
7. strupr()
Convert into upper case
1. strlen():
This function is used to count & return the number of characters present in a string.
Syntax: int var=strlen(string1);
Example:
char name[]=Senthil;
int len1,len2;
len1=strlen(name);
len2=strlen(Kumar);
printf(%s length is %d,name,len1);
printf(\n%s length is %d,Kumar,len1);
OUTPUT:
Senthil length is 7
Kumar length is 5
2. strcpy():
This function is used to copy the contents of one string to another .
Syntax: strcpy(string1,string2);
The contents of string2 copy to string1.
Example:
char str1[]=Senthil,str2[]=Kumar;
strcpy(str1,str2);
printf(String1=%s\nString2=%s,str1,str2);
OUTPUT:
String1=Kumar
String2=Kumar
WWW.VIDYARTHIPLUS.COM
3. strcat():
This function is used to concatenate (or) combine the two strings.
Syntax: strcat(string1,string2);
String2 is combined with string1
Example:
char str1[]=Senthil,str2[]=Kumar;
strcat(str1,str2);
printf(The combined string:%s,str1);
OUTPUT:
The combined string:SenthilKumar
4. strcmp():
This function is used to compares two strings and find out whether they are same or different.
The two strings are compared character by character until end of one string is reached.
When two strings are equal it will give value Zero otherwise give any other value.
Syntax: int var=strcmp(string1,string2);
Example:
char name1[]=Kalai,name2[]=Malai,name3[]=Kalai;
int I,j;
i=strcmp(name1,name2);
j=strcmp(name1,name3);
printf(Comparison of %s & %s is %d,name1,name2,i);
printf(\nComparison of %s & %s is %d,name1,name3,j);
OUTPUT:
Comparison of Kalai & Malai is 1
Comparison of Kalai & Kalai is 0
5. strrev():
This function is used to reverse a string.
Syntax: strrev(string1);
Example:
char str1[]=Senthil;
strrev(str1);
printf(Reversed String=%s,str1);
OUTPUT:
lihtneS
6. strlwr():
This function is used to converts the characters of string into lower case characters.
Syntax: strlwr(string1);
Example:
char str1[]=SenThiL;
strlwr(str1);
printf(Converted lower case:%s,str1);
OUTPUT:
Converted lower case:senthil
7. strupr():
This function is used to converts the characters of string into upper case characters.
Syntax: strupr(string1);
Example:
char str1[]=SenThiL;
strupr(str1);
printf(Converted upper case:%s,str1);
OUTPUT:
Converted upper case:SENTHIL
Sorting & Searching:
Sorting:
Arrange the elements either in ascending (or) descending order.
Elements are may be in the form of char, int, float values.
WWW.VIDYARTHIPLUS.COM
Descending order:
Bigger number is moved to top of all & smaller number is moved to bottom.
Ascending Order:
Smaller number is moved to top of all & bigger number is moved to bottom.
Types of Sorting:
1) Bubble sort
2) Insertion sort
3) Selection sort
4) Quick sort
1) Bubble sort:
It is the one of the easiest sorting method.
In this method each data item is compared with its neighbor.
Diagram:
Example:
It like as bubble near with another bubble so that it is called bubble sort.
WWW.VIDYARTHIPLUS.COM
//Bubble Sorting
#include<stdio.h>
#include<conio.h>
void main()
{
int a[]={35,75,45,5,25},j,i,temp=0;
clrscr();
printf("Bubble Sorting");
printf("\nUnsorted Elements:\n");
for(i=0;i<5;i++)
printf("%d\t",a[i]);
for(i=0;i<5;i++)
for(j=i+1;j<5;j++)
{
if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
printf("\nSorted Elements:\n");
for(i=0;i<5;i++)
printf("%d\t",a[i]);
getch();
}
OUTPUT:
Bubble Sorting
Unsorted Elements:
35
75 45 5
25
Sorted Elements:
5
25 35 45 75
Searching:
To determine if the particular data item is present in that collection.
Which data item to find is called the key.
Our task the key element matches in the collection of data items.
Types of Search:
1) Sequential (or) Linear search
2) Binary search
1) Sequential (or) Linear search:
It is the search the key element in sequentially.
That is search element matches check with element by element.
If the searching element is present in at last of the list means it will take more time.
WWW.VIDYARTHIPLUS.COM
Example:
//Linear or Sequential Search
#include<stdio.h>
#include<conio.h>
void main()
{
int a[]={4,21,36,14,62,5,10},key,i,t=0;
clrscr();
printf("Linear or Sequential Search");
printf("\nList of Elements:\n");
for(i=0;i<7;i++)
printf("%d\t",a[i]);
printf("\nEnter the search key:");
scanf("%d",&key);
for(i=0;i<7;i++)
{
if(a[i]==key)
{
t=1;
printf("\nThe %d is present in %d position",key,i+1);
break;
}
}
if(t==0)
printf("\nThe Element is not present\n");
getch();
}
OUTPUT:
Linear or Sequential Search
List of Elements:
4
21 36 14 62 5
10
Enter the search key:62
The 62 is present in 5 position
UNIT-4
FUNCTIONS:
A function is a set of instructions that are used to perform specified task.
Types of Functions:
i) User defined functions
ii) Built in functions
User Defined Functions:
The user defined functions has to be written by the programmer.
Built in functions:
These functions are not required to be written by the programmer.
Built in functions also called as pre defined (or) library functions.
Need for user defined function:
The program becomes too large & complex.
The users cannot go through at glance.
The task of debugging, testing & maintenance becomes difficult.
Elements of functions:
The functions contain following three elements:
WWW.VIDYARTHIPLUS.COM
1) Function declaration
2) Function Definition
3) Function calling
Example:
1) Function Declaration:
The function can be declared before they are defined.
The parameters must match.
Syntax:
Return_type function_name(Parameter list);
Return_type Datatype of the return value
Function_name Name of the function
Parameter list List of parameters
Example:
WWW.VIDYARTHIPLUS.COM
Sum(a,b);
..
}
Return Statement:
Value (or) information is returned from the function definition to the function call.
A function may contain more than one return statement.
Return type must be present in definition.
Syntax:
Return;
(or)
return(value (or) expression);
Example:
int first()
int second()
{
{
WWW.VIDYARTHIPLUS.COM
..
.
Return x*x;
return a;
}
}
Function prototypes:
The functions are classified into the following types depending on arguments present or not
and the value is returned or not.
These are called as function prototypes.
a) Function without arguments & no return values
b) Function with arguments & no return vales
c) Function with arguments & with return vales
d) Function without arguments & with return vales
a) Function without arguments & no return values:
Here, there is no data transfer between function call & function definition. i.e.,no
arguments
are passed
from main
function & no
value is
returned from
the sub
function.
Syntax:
Example:
void sum();
void main()
{
sum();
}
void sum()
{
WWW.VIDYARTHIPLUS.COM
ENGG
WWW.VIDYARTHIPLUS.COM
int a,b,c;
printf("enter the two values:");
scanf("%d%d",&a,&b);
c=a+b;
printf("sum =%d",c);
}
Output:
enter the two values:10
20
sum =30
b) Function with arguments & no return values:
In this prototype, data is transferred from function call to the function definition.
The value does not return the function call so it is called one-way communication.
Syntax:
Example:
void sum(int,int);
void main()
{
int a,b;
printf("enter the two values:");
scanf("%d%d",&a,&b);
sum(a,b);
}
void sum(int x, int y)
{
int z;
z=x+y;
printf("sum=%d",z);
}
OUTPUT:
enter the two values:10
20
WWW.VIDYARTHIPLUS.COM
sum =30
c) Function with arguments & with return vales:
Here, the data is transferred between function call & function definition.
The value is returned to the function call. So it is called as two way communication.
Syntax:
Example:
void main()
{
int a,b,c;
clrscr();
printf(enter the two values:);
scanf(%d%d,&a,&b);
c=sum(a,b);
printf(sum=%d,c);
getch();
}
void sum(int x, int y)
{
int z;
z=x+y;
return z;
}
Output:
Enter the values: 5 10
Sum=15
d) Function without arguments & with return values:
Here, no data is transferred between function call & function definition.
But the value is returned from the function definition to the function cal.
So it is called as one way communication.
WWW.VIDYARTHIPLUS.COM
Syntax:
Example:
void main()
{
int a,b,c;
clrscr();
c=sum();
printf(sum=%d,c);
getch();
}
void sum(int x, int y)
{
int x,y,z;
printf(enter the two values:);
scanf(%d%d,&x,&y);
z=x+y;
return z;
}
OUTPUT:
Enter the values: 5 10
Sum=15
Parameter Passing Methods
There are 2 ways to pass a parameter inside the function. They are:
i)
Call by Value
ii)
Call by reference
i) Call by Value:
This method copies the values of actual parameters into the formal parameters of the
function.
The changes of the formal parameters cannot affect the actual parameters.
Because formal parameters are photocopy of the actual parameters.
Syntax:
WWW.VIDYARTHIPLUS.COM
void main()
{
swap(a,b);
.
}
swap(int a,int b)
{
int temp;
.
}
Example:
void swap1(int,int);
void main()
{
int a=10,b=20;
clrscr();
printf("before swap: a=%d\t b=%d",a,b);
swap1(a,b);
printf("\nafter swap: a=%d\t b=%d",a,b);
}
void swap1(int x, int y)
{
int t;
t=x;
x=y;
y=t;
printf("\nIn function a=%d\t b=%d",x,y);
}
OUTPUT:
before swap: a=10 b=20
In function a=20
b=10
after swap: a=10
b=20
ii) Call by reference:
Call by reference is the addresses of actual parameters are copied into the formal parameters
inside the function.
The address is used to access the actual parameters inside the function also.
So, Changes made in parameters are permanent.
Here pointers are used to store the address.
Syntax:
void main()
{
..
swap(address of variable);
ENGG
WWW.VIDYARTHIPLUS.COM
}
void swap(pointer variable)
{
..
}
Example:
void swap(int*,int*);
void main()
{
int a=10,b=20;
clrscr();
printf("before swap: a=%d\t b=%d",a,b);
swap(&a,&b);
printf("\nafter swap: a=%d\t b=%d",a,b);
}
void swap(int *x, int *y)
{
int t;
t=*x;
*x=*y;
*y=t;
}
OUTPUT:
before swap: a=10 b=20
after swap: a=20 b=10
Recursion:
Recursion takes the form of function that calls itself.
A process being performed where one of the instructions is to repeat the process.
It is similar to looping.
Recursion is the process of calling the same function itself again and again until some
condition is satisfied.
Syntax:
void function1();
{
----function1();
}
The above function function1() is called themselves continuously.
Example:
void main()
{
int n,f;
printf("Enter the Number:");
WWW.VIDYARTHIPLUS.COM
scanf("%d",&n);
printf("\nThe factorial of %d = %d",n,fact(n));
}
int fact(int x)
{
int f;
if(x==1)
return 1;
else
f=x*fact(x-1);
return f;
}
OUTPUT:
Enter the Number:5
The factorial of 5 = 120
Tower of Hanoi:
The Tower of Hanoi is a mathematical game or puzzle.
It consists of three rods, and a number of disks of different
sizes which can slide onto any rod.
The puzzle starts with the disks in a neat stack in ascending
order of size on one rod, the smallest at the top, thus making a
conical shape.
The objective of the puzzle is to move the entire stack to another rod,
obeying the following simple rules:
1. Only one disk can be moved at a time.
2. Each move consists of taking the upper disk from one of the
stacks and placing it on top of another stack i.e. a disk can only
be moved if it is the uppermost disk on a stack.
3. No disk may be placed on top of a smaller disk.
WWW.VIDYARTHIPLUS.COM
ENGG
WWW.VIDYARTHIPLUS.COM
With three disks, the puzzle can be solved in seven moves. The minimum number of moves
required to solve a Tower of Hanoi puzzle is 2n - 1, where n is the number of disks.
sqrt()
abs()
pow(x,y)
ceil()
5.
6.
7.
sin()
cos()
tan()
8.
9.
10.
toascii()
tolower()
toupper()
Meaning
Example
Mathematics functions
It evaluates square root of x
x=25; sqrt(x);
The absolute value of integer quantity
x=-75; abs(x);
It evaluates the values of xy
x=3,y=2; pow(x,y);
Round of given number.
x=5.6;ceil(x);
Trigonometric Functions
It evaluates sine value.
x=30; sin(x);
It evaluates cosine value.
x=30; cos(x);
It evaluates tangent value.
x=30; tan(x);
Character Function
It gives ASCII value of the character.
x=a; ascii(x);
It converts lowercase character.
x=A; tolower(x);
It converts uppercase character.
x=a; toupper(x);
Example:
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<ctype.h>
void main()
{
int x,y=2;
printf("\nEnter the number:");
scanf("%d",&x);
printf("\nThe squareroot of %d is %f",x,sqrt(x));
printf("\nThe value of %d power%dis%f ",x,y,pow(6,2));
OUTPUT
5
75
9
6
-0.99
0.15
-6.41
97
a
A
WWW.VIDYARTHIPLUS.COM
Pointers:
A pointer is a variable that is used to store the address of another variable.
It is declared like other variables and also it is always denoted by asterisk * operator.
Each variable has two attributes:
o Address
o Value
It can be used to access and manipulate data stored in the
memory.
Ordinary Variable:
int a=5;
aaccess the value
&a access the address of variable.
a
variable
5
value
4002
address
Syntax: Data_type *pointer_variable;
Example: int *p;
Advantages:
1. It is increase the speed of execution.
2. It is saving memory space.
3. It enables us to access the memory directly.
4. It is also provide an alternate way to access an array.
5. Multiple data items can receive in the function.
Initializing pointer:
The process of assigning the address of a variable to a pointer variable is called initialization.
The location of the variable in system memory.
This can be achieved through the ampersand(&) symbol.
The ampersand(&) symbol is an address operator.
WWW.VIDYARTHIPLUS.COM
WWW.VIDYARTHIPLUS.COM
WWW.VIDYARTHIPLUS.COM
for(i=0;i<3;i++)
total=total+b[i];
printf("\nTotal=%d",total);
}
OUTPUT:
Total=60
Unit-5
Structures and Union
Structures:
Structure is a compound datatype.
It stores different type of data items.
It is used to store dissimilar data items.
Structure is creating with the struct keyword.
It is the one of the storage unit.
Different type of data items can be store in different memory space.
The elements of structure are called members.
It must be declare and defined.
FLOAT
INT
Structures
CHAR
DOUBLE
Structure
it is collection of dissimilar data items
It is a user defined data type.
It must be declared and defined.
Its members can be added.
Example:
//Student Details using Structure
struct stud
{
int regno,m1,m2,m3,total;
char name[20],result[5];
};
void main()
{
struct stud s1,s2;
printf("\nStructures");
printf("\nEnter the Regno, Name:");
scanf("%d%s",&s1.regno,s1.name);
printf("\nEnter the Mark1, Mark2, Mark3:");
scanf("%d%d%d",&s1.m1,&s1.m2,&s1.m3);
s1.total=s1.m1+s1.m2+s1.m3;
if(s1.m1<50||s1.m2<50||s1.m3<50)
strcpy(s1.result,"Fail");
else
strcpy(s1.result,"Pass");
s2=s1; //Assigning structure
printf("Regno\tName\tMark1\tMark2\tMark3\tTotal\tResult\n");
printf("%d\t%s\t%d\t%d\t%d\t%d\t%s",s1.regno,s1.name,s1.m1,s1.m2,s1.m3,s1.total,s1.result);
printf("\nStructure--2");
printf("\nRegno\tName\tMark1\tMark2\tMark3\tTotal\tResult\n");
printf("%d\t%s\t%d\t%d\t%d\t%d\t%s",s2.regno,s2.name,s2.m1,s2.m2,s2.m3,s2.total,s2.result);
getch();
}
OUTPUT:
Enter the Regno, Name:345
kumar
Enter the Mark1, Mark2, Mark3:67
78
61
Regno Name Mark1 Mark2 Mark3 Total Result
345
kumar 67
78
61
206 Pass
Structure--2
Regno Name Mark1 Mark2 Mark3 Total Result
345
kumar 67
78
61
206 Pass
Structure within structure:
A structure can be declared within another structure.
It is also called nesting of structure.
The structure variables can be normal variable or pointer variable.
WWW.VIDYARTHIPLUS.COM
WWW.VIDYARTHIPLUS.COM
void main()
{
struct employee1 e[10];
int i,n;
printf("\nEnter the no.of Employees:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("\nEnter the employee empno,name,salary:");
scanf("%d%s%f",&e[i].empno,e[i].name,&e[i].salary);
}
printf("\nEmployee Details\n");
printf("\nEMPNO\tNAME\tSALARY");
for(i=0;i<n;i++)
printf("\n%d\t%s\t%.2f",e[i].empno,e[i].name,e[i].salary);
getch();
}
OUTPUT:
Enter the no.of Employees:2
Enter the employee empno,name,salary:23
Raj
5000
Enter the employee empno,name,salary:24
Kumar
3500
Employee Details
EMPNO NAME SALARY
23
Raj 5000.00
24
Kumar 3500.00
Union
A Union is a collection of different data items, which are stored under a common name.
Here same memory is shared by its members.
The keyword union is used to define a union.
Size of union is equal to the size of largest member.
Memory allocated is shared by individual members of union.
The address is same for all the members of a union.
Altering the value of any of the member will alter other member values.
Only one member can be accessed at a time.
Only the first member of a union can be initialized.
Syntax:
union union_name
WWW.VIDYARTHIPLUS.COM
{
union element1;
union element2;
};
Example:
union result
{
int mark;
float avg;
char grade;
};
union result s;
Structure
1.The keyword struct is used to define a structure
2. The size of structure is greater than or equal to the
sum of sizes of its members.
3. Each member within a structure is assigned
unique storage area of location.
4. The address of each member will be in ascending
order.
5 Altering the value of a member will not affect
other members of the structure.
6. Individual member can be accessed at a time
7. Several members of a structure can initialize at
once.
Union
1. The keyword union is used to define a union.
2. Size of union is equal to the size of largest
member.
3. Memory allocated is shared by individual
members of union.
4. The address is same for all the members of a
union.
5. Altering the value of any of the member will
alter other member values.
6. Only one member can be accessed at a time.
7. Only the first member of a union can be
initialized.
Example:
void dummy(float *a)
{
float b=*a; //perform some floating access
dummy (&b); //calling a floating point function
}
union employee1
{
int empno;
char name[10];
float salary;
};
void main()
{
union employee1 e[10];
int i,n;
printf("\nEnter the no.of Employees:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("\nEnter the employee empno,name,salary:");
scanf("%d%s%f",&e[i].empno,e[i].name,&e[i].salary);
}
printf("\nEmployee Details\n");
printf("\nEMPNO\tNAME\tSALARY");
for(i=0;i<n;i++)
WWW.VIDYARTHIPLUS.COM
printf("\n%d\t%s\t%.2f",e[i].empno,e[i].name,e[i].salary);
getch();
}
OUTPUT:
Enter the no.of Employees:2
Enter the employee empno,name,salary:23
Raj
5000
Enter the employee empno,name,salary:24
Kumar
3500
Employee Details
EMPNO NAME SALARY
16384
5000.00
-16384
3500.00
Preprocessor:
It is a program that processes the source program before compilation.
The C preprocessor executes before a program is compiled.
Preprocessor directives begin with # and only white-space characters and comments may
appear before a preprocessor directive on a line.
It operates under the following directives
1. File Inclusion
2. Macro substitution
3. Conditional inclusion
File Inclusion:
It is used to include some file that contains functions or some definitions.
Copy of a specified file included in place of the directive
Syntax:
#include<filename> Searches standard library for file
(or) #includefilename Searches for user-defined files
Example:
#include<stdio.h>
#include<conio.h>
#include "addition.txt"
void main()
{
int a,b;
printf("\nEnter the numbers:");
scanf("%d%d",&a,&b);
printf("The Value is %d",add(a,b));
getch();
}
addition.txt
int add(int a,int b)
{
return(a+b);
}
OUTPUT:
Enter the numbers:7
4
The Value is 11
WWW.VIDYARTHIPLUS.COM
Macro Substitution:
It is used to define and use integer, string, or identifier in the source program
The three forms of macros are
Simple Macro
Argumented Macro
Nested Macro
1) Simple Macro:
It is used to define some constants.
Syntax
#define identifier string/integer
Example:
#include<stdio.h>
#include<conio.h>
#define pi 3.14
#define CITY "chennai"
void main()
{
printf("The Value is %f",2*pi);
printf("\nThe Value CITY is %s",CITY);
getch();
}
OUTPUT:
The Value is 6.280000
The Value CITY is chennai
2) Argumented Macro
It is used to define some complex forms in the source program.
Syntax:
#define identifier (v1,v2,.) string/integer
Example:
#include<stdio.h>
#include<conio.h>
#define cube(n) (n*n*n)
void main()
{
printf("The Value of 3 cube is %d",cube(3));
getch();
}
OUTPUT:
The Value of 3 cube is 27
3) Nested Macro
Here one macro is used by another macro.
Example:
#include<stdio.h>
#include<conio.h>
#define a 3
#define sq a*a
void main()
{
printf("The Value is %d",sq);
getch();
}
Output:
The Value is 9
WWW.VIDYARTHIPLUS.COM
Conditional Inclusion:
It is used to include some conditional statements.
Example:
#include<stdio.h>
#include<conio.h>
#define a 3
#ifdef a
#define c a+5
#endif
void main()
{
printf("\nThe value C is %d",c);
getch();
}
Output:
The value C is 8