C Language

135 

Loading.... (view fulltext now)

Loading....

Loading....

Loading....

Loading....

Full text

(1)

C Language Introduction

Languages :

A Set Of Statements Is Called A Language.There Are Four Types Of Languages According To Their Time.

I generation languages: these languages are machine languages. To write programs in these languages the system technology must be required. The data is

Non-portable. That means a program written in a system does not work in another systems.

Ii Generation Languages :These Are Assembly Languages. These Are Also system oriented that means to write any program in a system that system’s technology must be required and data is non-portable. But they used MNEMONIC words in

programs. That means they used a single word instead of more words.

III Generation Languages :In these languages programs are witten in general english language.There is no need to know the system technology and the data can be transfered anywhere.

IV Generation languages :These languages are defined in any one of the above languages.These are also called as packages.

Here I & II Generation languages are called Low Level Languages and III & IV generation languages are called High Level Languages.

For high level languages we have to use translaters to translate the source code written in general english

language into machine language. These translaters are two types.

(2)

1)

Interpreters : These translaters translate the source code step by step into machine language until any error. If there is any error it stops and shows some message. After correction it can continue.

Ex: BASIC, DBase III+, .... 2)

Compilers : These translaters translate the entire source code into machine language when it is error-free and creates an object file in machine

language. If there is any error it shows the list of error. After debugging it creates the object file.

(3)

C L A N G U A G E

The language ‘C’ was designed by Dennis Ritchie at AT & T Bell Laboratories. The standardised C was released in 1979.

T h e ‘ C ’ l a n g u a g e i s u s e d t o d e v e l o p i) Scientific applications,

ii) Business applications,

iii) Graphical applications (Ex: WINDOWS ), iv) System programs,

v) Operating Systems (Ex: UNIX) , ... Character Set :

alphabets constants, statements,

digits ==> variables, ==> ==> Programs special symbols keywords instructions

Constants : The unchangeable quantities are called Constants.The constants are generally two types.

1) Character constants :

a) Characters Ex: ‘a’, ‘5’, ‘+’, ‘ ‘, ... b) Strings Ex: “abc”, “435”, ‘rama”, ... 2) Numeric Constants :

a) integers Ex: 435, -657, 65535, -32768,... b) Real numbers

i) Fractional form Ex: 435.67, 345.00054, ... ii) Exponential form Ex: 0.02e3, 1.17e-38, ...

Variables : The quantities which can be changed during the execution of program are called Variables. A variable can be considered as the name of the cell which can hold the constants. To use any variable it must be declared with its data type before the first executable statement and they can be initialised. Naming the variable is very important.

1) The variable name must be start with either alphabets or an underscore and may contain alphabets, digits, hyphen or underscore.

2) The maximum length of a variable is 8 characters. But some compilers can accept upto 32 characters.

(4)

3) There must not be any blank spaces or special symbols in a variable name. 4) A variable name must not be a keyword.

Ex: valid invlid

eno emp name empname emp(name emp-name 45abc

Keywords : These are predefined words. There are 32 keywords in C language. These keywords can not be used as user-defined variables.

Operators : There are 42 operators in C language. 1) Arithmetic Operators : + - * / % Ex: 100 + 40 ==> 140 100 - 40 ==> 60 100 * 40 ==> 4000 100 / 40 ==> 2 100 % 40 ==> 20 40 % 100 ==> 40 2) Assigning Operators : =

(variable) = (constant) / (variable) / (expression) ; Ex: a = 5 b = a c = a + b -2 3) Multiple operators : += -= *= /= %= Ex: a = a + 3 ==> a += 3 a = a - 3 ==> a -= 3 a = a * 3 ==> a *= 3 a = a / 3 ==> a /= 3 a = a % 3 ==> a %= 3

(5)

4) Unary Operators : ++ --Ex :

a = a + 1 ==> a += 1 ==> a ++ ==> ++ a a = a - 1 ==> a -= 1 ==> a -- ==> -- a

5) Relational Operators : == > < >= <= != 6) Logical Operators : && || !

7) , . : ; < > # { [ ( ) ] } ... Structure of a ‘C’ program : preprocessor commands global declarations main() { local declarations ; statements ; } function(arguments) { local declarations ; statements ; }

♦ The ‘C’ program has a free formated structure.

♦ Every statement must be terminated with a semicolon ;

♦ A program is a collection of functions. There may be a lot of functions but at least one function must be there that is main(), where the execution starts.

♦ C has case sensitivity. All the keywords are defined in lower case. ♦ So better to write entire program in lower case.

(6)

Preprocessor commands :

The commands which start with a hash(#) symbol are called Preprocessor commands. Ex : # include <stdio.h> # include “conio.h” # define PI 3.14159 Global declarations :

To use any variable it must be declared with its data type before the first executable statement. The variables which declared in a block are available in that block only. To use the variable in the entire program with same effect it must be declared as global.

(7)

Data Types :

Type Range occupied bytes format string

signed char -128 to 127 1 %c

unsigned char 0 to 255 1 %c

shortsigned int -32768 to 32767 2 %i %d %o %x

short unsigned int 0 to 65535 2 %u

long signed int -2^31 to 2^31 -1 4 %ld long unsigned int 0 to 2^32 -1 4 %lu float 3.14e-38 to 3.14e38 4 %f %e double 1.17e-308 to 1.17e308 8 %lf long double 1.17e-4932 to1.17e4932 10 %Lf

Functions :The functions are two types.

1) derived functions, 2) user-defined functions.

The derived functions are defined by the ‘C’ authors. They defined them in the header files. To use the function the header file must be included as preprocessor statement.

1) clrscr()

:-This function is used to clear the screen. :-This function’s prototype has defined in the header file CONIO.H ( CONIO ==> Console Input Output )

Syntax : clrscr(); 2) printf()

:-This function is used to display the text and the values of variables. This function’s prototype has defined in the header file STDIO.H To display the variable’s value the format string must be used.

( STDIO ==> Standard Input Output ) Syntax :

printf(“ format string “, variables) ; Ex :

printf(“ Hello \t World “); printf(“ %d %c”, k, j);

(8)

printf(“The marks are %d, %d, %d”, m1, m2, m3 );

Note : The function printf() returns an integer value that is the number of arguments given to the statement.

(9)

Remarks :To write any remarks or comments to the statements they must be enclosed with the symbols /* */

Ex : /* sdfjkshadjfsdjkafkjsadjkfhkasdj sdafhasdfhgasdhfgasdgfgasdfhasdfj sdafjksadfjasdkhfjasdhkfjhksda */ Ex Programs : 1) /* My First ‘C’ Program */ # include <stdio.h> # include <conio.h> main() { clrscr() ; printf(“Hello” ); printf(“Bhanodaya “) ; printf(“Welcome “) ; } /*

Save this program (F2) as FIRST.C

After compilation(Alt-F9) it creates an object file, and an executable file which can be executed at MS-DOS prompt.

By saving a modified file it creates a backup file. FIRST.C

FIRST.BAK FIRST.OBJ FIRST.EXE Output :

(10)
(11)

TURBO C editor :

It is a compiler of C program and it can be also used as an general editor. To enter into editor first change into the directory which contains the software and enter the command TC at the command prompt.

C:\> CD TC C:\TC> tc

Then it opens the editor which contains a menu bar at the top, a status bar at the bottom and a main window to write the programming statements and a sub window which shows the messages.

The menu bar contains some menu pads and they can be selected by pressing ALT and the highlighted character in the required menu pad.

Then it shows the submenu which contains some bars and they can be selected using arrow keys.

The status bar shows online help and the keys information.

1) To write a new program select ‘New’ command from “File” menu. 2) To save the working program select ‘Save’ command from “File” menu

or press F2 and enter a name.

3) To compile the program select ‘Compile to OBJ’ command from “compile” menu or press Alt + F9. Then it shows the list of

errors or warnings. If the program is error-free then the compiler creates an object file (.OBJ) and an executable file (.EXE).

4) To execute the program select ‘Run’ command from “Run” menu or press Ctrl + F9.

5) To seee the output of the execution select ‘User Screen’ command from “Run” menu or press Alt + F5.

6) To close the editor select ‘Quit’ command from “File” menu or press Alt + X.

(12)

Escape Sequences :

\0 ==> Null character \t ==> Tab ( 8 spaces) \l ==> Line feed

\r ==> Carriage Return

\n ==> New line character ( \n = \l + \r ) \a ==> Alert (beep sound)

\’ ==> Single quotes \” ==> Double quotes \\ ==> back slash

Ex Programs :

2) /* Using Escape Sequences */

# include <stdio.h> # include <conio.h> main() { clrscr() ; printf(“Hello \t “) ; printf(“Udaya \n”) ; printf(“Welcome “) ; } /* Output : Hello Udaya Welcome */ 3) # include <stdio.h> # include <conio.h> main()

(13)

{ clrscr() ;

printf(“Hello \t Bhanu \n Welcome “) ; } /* Output : Hello Bhanu Welcome */ 4) /* Using Variables */ # include <stdio.h> # include <conio.h> main() { int k = 65 ; char j = ‘*’ ; clrscr() ;

printf(“\n The value of k is %i %d %c %o %x”, k, k, k, k, k ) ; printf(“\n The value of j is %i %d %c %o %x”, j, j, j, j, j ) ;

} /* Output :

The value of k is 65 65 A 101 42

The value of j is 42 42 * 52 2a */

5) /* Formatting the output */

# include <stdio.h> # include <conio.h>

(14)

main() { int a, b, c ; clrscr() ; a = 6 ; b = 23456; c = 678 ; printf(“\n %05d \t %d”, a, a ) ; printf(“\n %05d \t %d”, b, b ) ; printf(“\n %5d \t %d”, c, c ) ; } /* Output : 00006 6 23456 23456 678 678 */ 6) /* Arithmetic Operations */ # include <stdio.h> # include <conio.h> main() { int a, b, c, d, e, f ; clrscr() ; a = 100 ; b = 40 ; c = a + b ; d = a - b ; e = a * b ; f = a / b ;

printf(“The given values are %d, %d”, a, b ) ; printf(“\n The addition is %d”, c) ;

printf(“\n The subtraction %d”, d) ; printf(“\n The product is %d”, e) ; printf(“\n The division %d”, f) ;

printf(“\n The reminder is %d”, a%b) ; }

(15)

/* Output :

The given values are 100, 40 The addition is 140 The subtraction 60 The product is 4000 The division 2 The reminder is 20 */

Notes : The Arithmetic operations are three types depend on the types of the operands in the expression.

operand1 operand2 result

integer integer integer

integer real real

real real real

Ex Programs : 7) /* Type casting */ # include <stdio.h> # include <conio.h> main() { int m1, m2, m3, tot; float avg ; clrscr() ; m1 = 65; m2 = 66; m3 = 68; tot = m1 + m2 + m3 ; /* avg = tot / 3.0 ; */

avg = (float) tot / 3 ;

printf(“The three subjects marks are %d, %d, %d”, m1, m2, m3 ) ; printf(“\n The total %d \t Average %f”, tot, avg ) ;

(16)

/* Output :

The three subjects marks are 65, 66, 68

The total 199 Average 66.33 */

8) /* Formatting the output of floating point values

*/

# include <stdio.h> # include <conio.h> main()

{

float bas, da, hra, pf, net ; clrscr() ;

bas = 5000;

da = bas * 20 / 100 ; hra = bas * 30 / 100 ; pf = bas * 5 / 100 ;

net = bas + da + hra - pf ;

printf(“The Basic Salary %f”, bas) ;

printf(“\n Da %.1f \t Hra %010.3f \t Pf %5.0f”, da, hra, pf) ;

printf(“\n Net Salary %10.2f”, net) ; }

/* Output :

The Basic Salary 5000.000000

Da 1000.0 Hra 001500.000 Pf 00250 Net Salary 7250.00

(17)

q) /* Program to demonstrate the Increment / Decrement operators */ # include <stdio.h> # include <conio.h> main() { int k = 5 ; clrscr() ; Output 5 printf(“\n %d”, k) ; k ++ ; 7 printf(“\n %d”, ++k) ; 7 printf(“\n %d”, k++); 8 printf(“\n %d”, k) ; k -- ; 7 printf(“\n %d”, k--) ; 5 printf(“\n %d”, --k) ; k = ++k + ++k + ++k ; 24 printf(“\n %d”, k) ; k = 5 ; k = k++ + ++k + ++k + k++ + k++ ; printf(“\n %d”, k) ; 38 getch() ; } Notes : scanf() :

(18)

This function is used to accept the values for the variables while executing the program from keyboard. This function’s prototype has defined in the header file STDIO.H

The function printf() returns an integer value that is the number of arguments given to the statement.

Syntax:

scanf(“formatstring” , &(variables) ); Note :

To accept two or more values with a single scanf() they can be seperated by space or tab or enter key.

Ex : i) int a;

scanf(“%d”, &a); ii) int m1, m2, m3;

scanf(“%d%d%d”, &m1, &m2, &m3); iii) char ch;

scanf(“%c”, &ch); getch() :

This function is used to accept a single character for the variable while executing the program. But this function does not display the entered character. This function’s prototype has defined in the header file CONIO.H

Note : To see the entered character the function getche() can be Used. Syntax:

(variable) = getch() ; Ex :

char c; c = getch();

(19)

Ex Programs :

9) /* Program to demonstrate the difference between the functions

scanf(), getche(), getch() */

# include <stdio.h> # include <conio.h> main() { char k ; clrscr();

printf(“Enter any character “) ; scanf(“%c”, &k) ;

printf(“You entered the character %c”, k) ;

printf(“\n\n Enter any character “) ; k = getche(); printf(“\n You entered the character %c”, k) ;

printf(“\n\n Enter any character “) ; k = getch() ; printf(“\n You entered the character %c”, k) ;

getch(); }

/* Output :

Enter any character abcdef You entered the chracter a Enter any character g You entered the chracter g Enter any character

You entered the chracter d */

10) /* Write a program to calculate the total, average of a student’s three

(20)

# include <stdio.h> # include <conio.h> main() { int m1, m2, m3, tot; float avg ; clrscr() ;

printf(“Enter three subjects marks \n”) ; scanf(“%d%d%d”, &m1, &m2, &m3 ) ; tot = m1 + m2 + m3 ;

/* avg = tot / 3.0 ; */ avg = (float) tot / 3 ;

printf(“The three subjects marks are %d, %d, %d”, m1, m2, m3 ) ; printf(“\n The total %d \t Average %f”, tot, avg ) ;

} /* Output :

Enter three subjects marks 65 66 68

The three subjects marks are 65, 66, 68 The total 199 Average 66.33 */

11) /* Write a program to accept an employee’s basic salary, calculate da,

hra, pf, net salary and print all */

Notes :

Conditional Statements :

In C language the conditional statement returns zero when the condition is false. Otherwise it returns a non-zero(1) value when

(21)

the condition is true. Ex Program : 12) # include <stdio.h> # include <conio.h> main() { output int k = 5 ; clrscr() ; printf(“\n %d”, k ); 5 printf(“\n %d”, k<10) ; 1 printf(“\n %d”, k>10) ; 0 printf(“\n %d”, k+(k==5) ); 6 printf(“\n %d”, k=10) ; 10 getch() ; }

(22)

Notes :

There are three types of conditional statements in ‘C’. 1) if, 2) switch, 3) conditional operators

1) if ... else : Syntax : if (condition) if (condition) { { (statements); (statements); } or } else { (statements) ; } Ex Program :

13)/* Write a program to check whether the given

number is zero or not */

# include <stdio.h> # include <conio.h> main() { int k; clrscr() ;

printf(“Enter any number “) ; scanf(“%d”, &k) ;

if(k==0) printf(“The number is zero “) ; else printf(“The number is not zero “) ; getch() ;

(23)

14) /* Write a program to check the given number is positive or negative */ # include <stdio.h> # include <conio.h> main() { int k ; clrscr() ;

printf(“Enter any number “) ; scanf(“%d”, &k) ;

if(k==0)

printf(“The number is zero “) ; else if(k>0)

printf(“The number is Positive “); else

printf(“The number is Negative “) ; getch() ;

}

15) /* Write a program to find the big number in the given two numbers */ # include <stdio.h> # include <conio.h> main() { int a, b ; clrscr() ;

printf(“Enter any two numbers \n”) ; scanf(“%d%d”, &a, &b) ;

if(a==b)

(24)

else {

printf(“\n The big is “) ; if(a>b) printf(“%d”, a) ; else printf(“%d”, b) ;

} getch() ; }

16) /* Write a program to find the biggest number in the given three numbers*/ # include <stdio.h> # include <conio.h> main() { int a, b, c ; clrscr() ;

printf(“Enter any three numbers \n”) ; scanf(“%d%d%d”, &a, &b, &c) ; if(a==b && a==c)

printf(“Given all are equal “) ; else

{

printf(“\n The biggest is “) ; if(a>b && a>c)

printf(“%d”, a) ; else if(b>c) printf(“%d”, b); else printf(“%d”, c); } getch() ;

(25)

}

17) /* Write a program to find the smallest number in the given five numbers */ # include <stdio.h> # include <conio.h> main() { int a, b, c, d, e, t ; clrscr() ;

printf(“Enter any five numbers \n”) ;

scanf(“%d%d%d%d%d”, &a, &b, &c, &d, &e ) ; if(a==b && a==c && a==d && a==e)

printf(“\n Given all are equal “) ; else { t = a ; if(t>b) t = b; if(t>c) t = c ; if(t>d) t = d ; if(t>e) t = e ;

printf(“\n The biggest is %d”, t) ; }

getch( ); }

18)/* Write a program to find the biggest and smallest numbers in the given five numbers */

# include <stdio.h> # include <conio.h> main()

(26)

{

int a, b, c, d, e, x, y ; clrscr() ;

printf(“Enter any five numbers \n”) ;

scanf(“%d%d%d%d%d”, &a, &b, &c, &d, &e ) ; if(a==b && a==c && a==d && a==e)

printf(“\n Given all are equal “) ; else { x = a ; y = a ; if(x<b) x = b; else y = b; if(x<c) x = c ; else if(y>c) y = c ; if(x<e) x = e ; else if(y>d) y = d ; if(x<e) x = e ; else if(y>e) y = e ;

printf(“\n The biggest is %d”, x) ; printf(“\n The smallest is %d”, y) ; }

getch( ); }

19) /* Write a program to accept three subjects marks of a student, calculate total, average find the result, division and print all details */

# include <stdio.h> # include <conio.h> main() { int m1, m2, m3, tot ; float avg ;

(27)

clrscr() ;

printf(“Enter three subjects marks \n”) ; scanf(“%d%d%d”, &m1, &m2, &m3 ) ; tot = m1 + m2 + m3 ; avg = (float) tot / 3 ;

printf(“The three subjects marks %d, %d, %d”, m1, m2, m3 ) : printf(“\n The Total %d \t Average %03.2f”, tot, avg ) ;

if(m1<35 || m2<35 || m3<35) {

printf(“\n Result is Fail “) ; printf(“\t division is NIl “) ;

} else

{

printf(“\n Result is Pass \t”) ;

if(avg>=60) printf(“Division is I class

“) ;

else if(avg>=50) printf(“Division is II class”) ;

else printf(“Division is III class”) ;

} getch() ; }

20) /* Write a program to accept an employee’s basic salary, calculate da, hra, pf, net salary using the following conditions and print all details

if bas >= 10000 ==> da = 40%, hra = 50%, pf = 25% 10000 > bas >= 5000 ==> da = 35%, hra = 45%, pf = 20% 5000 > bas >= 2000 ==> da = 30%, hra = 40%, pf = 15% bas < 2000 ==> da = 25%, hra = 35%, pf = 10%

(28)

net = bas + da + hra - pf */ Notes : 2 ) s w i t c h . . . c a s e : Syntax: switch(variable) {

case (value) : (statements) ; case (value) : (statements) ;

default : (statements) ; }

break :

This keyword stops the execution in the given block and come out. Generally this is used in switch..case statements and looping

Statements. Ex Programs : 21) # include <stdio.h> # include <conio.h> main() { int k ; clrscr() ;

printf(“Enter any number “ ); scanf(“%d”, &k) ;

(29)

switch(k) {

case 0 : printf(“\n Number is zero “ ); case 1 :

case 2 : case 3 :

case 4 : printf(“\n Number is less than five “) ; break ;

case 5 : printf(“\n Number is five “ ); break ;

default : printf(“\n Number is greater than five “) ; } getch() ; } 22) # include <stdio.h> # include <conio.h> main() { char k; clrscr() ;

printf(“Enter any one of the alphabets “ ); k = getche() ;

switch(k) { case ‘a’ :

(30)

break ; case ‘b’ :

case ‘B’ : printf(“\n B for Brave “) ; break ;

case ‘c’ :

case ‘C’ : printf(“\n C for Courage “); break ;

case ‘d’ :

case ‘D’ : printf(“\n D for Dare “) ; break ;

default : printf(“\n You are timid “) ; } getch() ; } 23) # include <stdio.h> # include <conio.h> main() { int a, b, k ; clrscr() ;

printf(“Enter two numbers \n”) ; scanf(“%d%d”, &a, &b) ;

printf(“\n\n 1. Addition “) ; printf(“\n 2. Subtraction “) ; printf(“\n 3. Multiplication “) ; printf(“\n 4. Division “) ;

printf(“\n\n Select your choice “) ; scanf(“%d”, &k);

(31)

printf(“\n”) ; switch(k)

{

case 1 : printf(“ The addition %d”, a+b) ; break ; case 2 : printf(“ The subtraction %d”, a-b) ; break ; case 3 : printf(“ The multiplication %d”, a*b); break ; case 4 : printf(“ The division %d”, a/b); break ;

default : printf(“ Invalid choice “); } getch() ; } Notes : 3) Conditional Expressions : ( ? : ; ) Syntax :

(condition) ? (statement1) : (statement2) ; Ex Programs :

24)/* Write a program to check whether the given number is zero or not */ # include <stdio.h> # include <conio.h> main() { int k; clrscr() ;

pritnf(“Enter any number “) ; scanf(“%d”, &k);

(k==0) ? printf(“Number is zero “) : pritnf(“Number is not zero “) ; getch() ;

(32)

25)/* Write a program to find the biggest number in the given three numbers */ # include <stdio.h> # include <conio.h> main() { int a, b, c, t ; clrscr() ;

printf(“Enter any three numbers \n”) ; scanf(“%d%d%d”, &a, &b, &c); t = (a>b) ? a : b ; printf(“The biggest is %d”, (t>c)?t:c ); getch() ; } Notes : gotoxy() :

This function locates the cursor position to the given place on the screen. This function’s prototype has defined in the header file CONIO.H

Syntax:

gotoxy(column, row) ;

Generally in MS-DOS mode the screen contains 80 columns and 25 rows. Ex Programs : 26) # include <stdio.h> # include <conio.h> main() {

(33)

clrscr() ; gotoxy(20, 3) ; printf(“Hello “); gotoxy(70, 5); printf(“Bhanodaya “) ; gotoxy(35,12); printf(“Welcome “); gotoxy(50,20); printf(“To smile “); getch() ; } Notes : goto :

This command changes the execution control to the given statement. Syntax: goto (label) ; (label) : (statements) ; Ex Programs : 27) # include <stdio.h> # include <conio.h> main() { clrscr() ; printf(“Hello “) ; printf(“World “) ; goto abc ; printf(“Go out “) ; xyz : printf(“To smile “) ;

(34)

goto end ; abc : printf(“Welcome “) ; goto xyz ; end : getch() ; } /* Output :

Hello World Welcome To smile */ Note :

Looping Statements :

Repeating a block of statements number of times is called Looping. There are three types of looping statements defined in C language.

1) do..while, 2) while, 3) for.

Note :

The keyword ‘goto’ cn be also used to repeat a block of statements number of times. Ex Programs : 28) # include <stdio.h> main() { abc : printf(“Welcome “) ; goto abc ; }

29) /* Program to display the first 10 natural numbers */ # include <stdio.h>

(35)

main() { int k ; clrscr() ; k = 1 ; abc : printf(“%d “, k) ; k++ ;

if(k<=10) goto abc ; getch() ; } Notes : 1) do ... while() : Syntax : do { (statements); } while(condition) ;

(36)

Ex Programs :

30) /* Write a program to display the first 10 natural numbers*/ # include <stdio.h> # include <conio.h> main() { int k ; clrscr() ; k = 1 ; do { printf(“%d “, k) ; k++ ; }while(k<=10) ; getch() ; }

31) /* Write a program to display the even numbers upto the given number

and find the sum of them */

# include <stdio.h> # include <conio.h> main() { int k, n, s ; clrscr() ;

printf(“Enter any number “) ; scanf(“%d”, &n) ;

k = 2 ; s = 0; do

(37)

{

printf(“%d “, k) ; s += k ;

k += 2 ;

}while (k<=10) ;

printf(“\n The sum is %d”, s) ; getch() ;

} Notes :

There is a draw-back in do.. while() staement. It executes the conditional statement after executing the statement.

2) while() : Syntax: while(condition) { (statements); } Ex Programs :

32) /* Write a program to display the first 10 natural numbers */ # include <stdio.h> # include <conio.h> main() { int k ; clrscr() ; k = 1 ; while(k<=10) { printf(“%d “, k) ;

(38)

k++ ; }

getch() ; }

33) /* Write a program to display the even numbers upto the given number

and find the sum of them */

# include <stdio.h> # include <conio.h> main() { int k, n, s ; clrscr() ;

printf(“Enter any number “) ; scanf(“%d”, &n) ; k = 2 ; s = 0; while (k<=10) { printf(“%d “, k) ; s += k ; k += 2 ; }

printf(“\n The sum is %d”, s) ; getch() ;

}

34) /* Write a program to check whether the given number is Prime or not Prime Number :

A number which is divisible by 1 and itselft. */

(39)

/* I method */ # include <stdio.h> # include <conio.h> main() { int n, k, s; clrscr() ;

printf(“Enter any number “) ; scanf(“%d”, &n) ; k = 1; s = 0; while(k<=n) { if(n%k==0) s++; k++ ; }

if(s==2) printf(“\n Number is Prime “ ); else printf(“\n Number is not a Prime “) getch( ); } /* II method */ # include <stdio.h> # include <conio.h> main() { int n, k, s; clrscr() ;

printf(“Enter any number “) ; scanf(“%d”, &n) ;

k = 2; s = 0; while(k<=n/2)

(40)

{

if(n%k==0) { s++; break ; } k++ ;

}

if(s==0) printf(“\n Number is Prime “ ); else printf(“\n Number is not a Prime “) getch( );

}

35) /* Write a program to find the number of digits, sum of digits, and

reverse order of the given number */

# include <stdio.h> # include <conio.h> main() { long int a, b ; int n, s, r ; clrscr( );

printf(“Enter any big number “ ); scanf(“%ld”, &a) ; n = 0; s = 0; b = 0; while(a>0) { n ++ ; r = a % 10 ; s += r ; b = (b*10) + r ; a /= 10 ; }

printf(“\n The number of digits %d”, n) ; printf(“\n The sum of digits %d”, s) ; printf(“\n The Reverse number %lu”, b) ; getch( );

(41)

}

36) /* Write a program to check whether the given number is Armstrong or not Armstrong Number :

A number which is equal to the sum of the cubes of the digits is called Armstrong Number.

Ex: 1, 153, 370, 371, 407 */ # include <stdio.h> # include <conio.h> # include <math.h> main() { int a, b, r, s ; clrscr() ;

printf(“Enter any number “) ; scanf(“%d”, &a) ; b = a ; s = 0; while(a>0) { r = a % 10 ; s = pow(r, 3); /* s += r * r * r ; */ a /= 10; }

if(b==s) printf(“\n The number is an Armstrong “) ; else printf(“\n The number is not an Armstrong “) ; getch() ;

} Notes :

(42)

3) for() :

Syntax:

for ( initialisation ; condition ; iteration ) {

(statements) ; } Ex Programs : 37)

/* Write a program to display the odd numbers upto the given number */ # include <stdio.h> # include <conio.h> main() { int n, a ; clrscr() ;

printf(“Enter any number “ ); scanf(“%d”, &a ); /* n = 1 ; for ( ; a>=n ; ) { printf(“%d “, n); n += 2 ; } */ for(n=1; n<=a ; n+=2) printf(“\n %d “ , n) ;

(43)

getch() ; }

38)

/* Write a program to display the even numbers upto the given number

and find the sum of them */

# include <stdio.h> # include <conio.h> main() { int a, n, s ; clrscr() ;

printf(“Enter any number “) ; scanf(“%d”, &a) ; /* n = 2 ; s = 0 ; for( ; n<=a ; ) { printf(“%d “, n) ; s += n ; n += 2 ; } */ /* s = 0 ; for(n=2; n<=a; n+=2) { printf(“%d “ , n ); s += n; } */

(44)

for(n=2, s=0 ; n<=a ; s+=n, n+=2 ) printf(“%d “, n) ;

printf(“\n The sum is %d”, s) ; getch() ;

}

39) /* Write a program to find the sum of natural numbers, even numbers,

odd numbers upto the given number */

# include <stdio.h> # include <conio.h> main()

{

int a, n, s, odd, even ; clrscr() ;

printf(“Enter any number “) ; scanf(“%d”, &a) ;

for(n=1, s=0, odd=0, even=0 ; n<=a ; s+=n, n++) if(n%2==0) even += n;

else odd += n;

printf(“\n The sum of natural numbers %d”, s) ; printf(“\n The sum of even numbers %d”, even ) ; printf(“\n The sum of odd numbers %d” , odd ) ; getch() ;

}

40) /* Write a program to find the factorial value of the given number n! = n * (n-1) !

(45)

*/ # include <stdio.h> # include <conio.h> main() { long int a, f ; clrscr() ;

printf(“Enter any number “) ; scanf(“%ld”, &a) ; /* f = 1 ; for( ; a>1 ;) { f *= a ; a -- ; } */

for(f=1; a>1; f*=a, a--) ;

printf(“\n The factorial is %ld” , f) ; getch() ; }

41)

/* Write a program to display the multiplication table of the given number using all types of loopings. */

# include <stdio.h> # include <conio.h> main() { int n, k; clrscr() ;

(46)

scanf(“%d”, &n) ; /* k = 1 ; do { printf(“\n %d x %2d = %3d”, n, k, n*k ); k ++ ; } while (k<=10) ; */ /* k = 1 ; while( k<= 10 ) { printf(“\n %d x %2d = %3d “, n, k, n*k ); k ++ ; } */ for(k=1; k<=10; k++) printf(“\n %d x %2d = %3d”, n, k, n*k); getch() ; }

42) /* Write a program to display the ASCII chart

ASCII ==> American Standard Code for Information Interchange */ # include <stdio.h> # include <conio.h> main() { int k ; clrscr() ; /* k = 0 ; do {

(47)

printf(“\t %d %c”, k, k) ; k ++ ; if(k%50==0) getch() ; } while(k<=255 ) ; */ /* k = 0 ; while(k<=255) { printf(“\t %d %c”, k, k) ; k ++ ; if(k%50==0) getch() ; } */ for(k=0; k<=255; k++) { printf(“\t %d %c”, k, k) ; if(k%50==0) getch() ; } getch() ; }

43) /* Write a program to display the multiplication table of the given number

using all types of Loopings. */

Notes :

Nested Loops :

Looping in a loop is called Nesting of Loops. Ex Programs : 44) # include <stdio.h> # include <conio.h> main() {

(48)

int n, k, j ; clrscr() ;

printf(“Enter any number “) ; scanf(“%d”, &n) ; for(k=1; k<=n; k++) { printf(“\n “) ; for(j=1; j<=k; j++) printf(“%d “, j) ; } getch() ; } /* output :

Enter any number 5 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 */ 45) # include <stdio.h> # include <conio.h> main() { int n, k, j ; clrscr() ;

printf(“Enter any number “) ; scanf(“%d”, &n) ;

(49)

{ printf(“\n “) ; for(j=1; j<=k; j++) printf(“%d “, k) ; } getch() ; } /* output :

Enter any number 5 1 2 2 3 3 3 4 4 4 4 5 5 5 5 5 */ 46) # include <stdio.h> # include <conio.h> main() { int n, k, j ; clrscr() ;

printf(“Enter any number “) ; scanf(“%d”, &n) ; for(k=n; k>=1; k--) { printf(“\n “) ; for(j=1; j<n-k; j++) printf(“ “) ; for(j=1; j<=k; j++) printf(“%d “, j) ; }

(50)

getch() ; }

/* output :

Enter any number 5 1 2 3 4 5 1 2 3 4 1 2 3 1 2 1 */ 47) # include <stdio.h> # include <conio.h> main() { int n,j,k,a; clrscr();

printf(“Enter the any number”); scanf(“%d”,&a); for(n=a;n>0;n--) { printf(“\n”); for(k=1;k<=n;k++) printf(“%c”,64+k); for(k=1;k<=2*(a-n)-1;k++) printf(“ “);

(51)

k=(a==n)?n-1:n; for (;k>=1;k--) printf(“%c”,64+k); } getch(); } /* Output :

Enter any number 5 ABCDEDCBA ABCD DCBA ABC CBA AB BA A A */ 48)

/* Write a program to display the multiplication tables upto the given number */

# include <stdio.h> # include <conio.h> main() { int a, n, k ; clrscr() ;

printf(“Enter any number “) ; scanf(“%d”, &a) ; for(n=1; n<=a; n++) { for(k=1; k<=10; k++ ) printf(“\n %d x %2d = %3d “, n, k, n*k); getch() ; clrscr() ; } }

(52)

49)

/* Write a program to display the list of Prime numbers upto the given number */

# include <conio.h> # include <stdio.h> main() { int a, n, k, s ; clrscr() ;

printf(“Enter any number “) ; scanf(“%d”, &a ) ; for(n=2; n<=a; n++) { for(k=2, s=0; k<=n/2; k++) if(n%k==0) { s++; break ; } if(s==0) printf(“%d “, n) ; } getch() ; }

50) /* Write a program to display the list of Armstrong Numbers upto the given number */

51) /* Write a program to display the Fibonacci Series upto the given number Fibonacci Series : 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ....

In this series every element is the sum of its previous two numbers */

52)/* Write a program to display a box with the given character,

(53)

/* Output : Enter box length 10 Enter box width 5 Enter any character *

* * * * * * * * * * * * * * * * * * * * * * * * * * */ Notes : Arrays :

An array is a collection of similar data type elements. It stores the elements in

contiguous locations. To use any array it must be declared with its size and they may be initialized. The size must be a constant.

The indexing is start from 0. The arrays are two types.

1) Single Dimensional arrays, 2) Multi Dimensional Arrays. 1) Single Dimensional Arrays :

Syntax :

(type) (variable) [size] ; Ex:

int eno[5] = { 56, 67, 45, 89, 45}; char ena[] = { ‘a’, ‘b’, ‘c’, ‘d’ } ; float bas[] = { 56.67, 900.45, 567 } ; Ex Programs :

53) /* Write a program to create a 5 cells single dimensional array, store 7 in cells and print all */

# include <conio.h> # include <stdio.h> main()

(54)

{

int k, a[5] ; clrscr() ;

printf(“Enter any five numbers \n”) ; for(k=0; k<=4; k++)

a[k] = 7 ;

printf(“\n The array elements are \n”) ; for(k=0; k<5; k++)

printf(“%d “, a[k]) ; getch() ;

}

/* Output: 7 7 7 7 7 */

54) /* Write a program to accept 5 numbers and print all in reverse order */ # include <conio.h> # include <stdio.h> main() { int k, a[5] ; clrscr() ;

printf(“Enter any five numbers \n”) ; for(k=0; k<=4; k++)

scanf(“%d”, &a[k]) ;

printf(“\n The array elements in reverse order \n”) ; for(k=4; k>=0; k--) printf(“%d “, a[k]) ;

getch() ; } 55)

(55)

/* Write a program to accept 5 numbers print all, and find the sum of them*/ # include <conio.h> # include <stdio.h> main() { int k, s, a[5] ; clrscr() ;

printf(“Enter any five numbers \n”) ; for(k=0, s=0; k<=4;s+=a[k], k++) scanf(“%d”, &a[k]) ;

printf(“\n The array elements are \n”) ; for(k=0; k<5; k++) printf(“%d “, a[k]) ;

printf(“\n The sum of elements is %d”, s) ; getch() ; }

56) /* Write a program to create 10 cells single dimensional array, accept 9 cells values, assign the sum of them to the

last cell and print all */ # include <conio.h> # include <stdio.h> main() { int k, a[10] ; clrscr() ;

printf(“Enter any nine numbers \n”) ; for(k=0,a[9]=0; k<=8;a[9]+=a[k], k++) scanf(“%d”, &a[k]) ;

printf(“\n The array elements are \n”) ; for(k=0; k<10; k++) printf(“%d “, a[k]) ;

(56)

}

Notes :

2) Multi Dimensional Arrays : Ex:

int a[5][3], b[4][5][6][7], ...

char na[3][20] = { “abcdefgh”, “ramakrishna”, “Bhanodaya” };

A multi dimensional array is a collection of another arrays. That means a double dimensional array is a collection of single dimensional arrays.

Ex:

The array a[5][3] is a collection of 5 single dimensional arrays with size 3. Ex Programs :

57)

/* Write a program to create a 5x5 double dimensional array, store 7 in all cells and print them as a matrix */

# include <stdio.h> # include <conio.h> main() { int k, j, a[5][5] ; clrscr() ; output: for(k=0; k<5; k++) 7 7 7 7 7 for(j=0; j<5; j++) 7 7 7 7 7 a[k][j] = 7; 7 7 7 7 7 7 7 7 7 7 for(k=0; k<=4; k++) 7 7 7 7 7 { printf(“\n”); for(j=0; j<=4; j++) printf(“%d “, a[k][j] ); }

(57)

getch() ; } 58) main() { (same as above) for(k=0; k<5; k++) for(j=0; j<5; j++) a[k][j] = (k==j || k+j==4) ? 7 : 0; (same as above) } /* Output : 7 0 0 0 7 0 7 0 7 0 0 0 7 0 0 0 7 0 7 0 7 0 0 0 7 */ 59) main() { (same as above) for(k=0; k<5; k++) for(j=0; j<5; j++) a[k][j] = (k==0 || k==4 || j==0 || j==4) ? 7 : 0; (same as above) }

(58)

/* Output : 7 7 7 7 7 7 0 0 0 7 7 0 0 0 7 7 0 0 0 7 7 7 7 7 7 */

60) /* Write a program to display a box with the given character,

length and width using arrays */

# include <stdio.h> # include <conio.h> main() { char ch, a[25][80] ; int k, j, len, w ; clrscr() ;

printf(“Enter the box length “); scanf(“%d”, &len) ;

printf(“Enter the box width “) ; scanf(“%d”, &w ); printf(“Enter a character “); ch = getche() ; printf(“\n\n”) ; for(k=0; k<w; k++) for(j=0; j<len; j++) a[k][j] = (k==0 || j==0 || k==w-1 || j==len-1) ? ch : 32 ; for(k=0; k<w; k++) { printf(“\n”); for(j=0; j<len; j++)

(59)

printf(“%c “, a[k][j] ); }

getch() ; }

/* Output :

Enter box length 10 Enter box width 5 Enter any character *

* * * * * * * * * *

* *

* *

* *

* * * * * * * * * * */ 61)/* Write a program to find the addition matrix of

two 3x3 matrices */ # include <stdio.h> # include <conio.h> main() { int a[3][3], b[3][3], c[3][3], k, j ; clrscr();

printf(“Enter 9 numbers for firs array \n”) ; for(k=0; k<3; k++)

for(j=0; j<3; j++)

scanf(“%d”, &a[k][j] );

printf(“\n Enter 9 numbers for second array \n”) ; for(k=0; k<3; k++)

for(j=0; j<3; j++)

(60)

for(k=0; k<3; k++) for(j=0; j<3; j++)

c[k][j] = a[k][j] + b[k][j] ;

printf(“\n The Addition matrix is \n”); for(k=0; k<3; k++) { printf(“\n ³ “); for(j=0; j<3; j++) printf(“%3d “, c[k][j] ); printf(“³”); } getch(); }

62) /* Write a program to find the multiplication matrix of

two 3x3 matrices */ # include <stdio.h> # include <conio.h> main() { int a[3][3], b[3][3], c[3][3], k, j, t ; clrscr();

printf(“Enter 9 numbers for firs array \n”) ; for(k=0; k<3; k++)

for(j=0; j<3; j++)

scanf(“%d”, &a[k][j] );

printf(“\n Enter 9 numbers for second array \n”) ; for(k=0; k<3; k++)

(61)

for(j=0; j<3; j++) scanf(“%d”, &b[k][j] ); for(k=0; k<3; k++) for(j=0; j<3; j++) for(t=0, c[k][j]=0 ; t<3; t++) c[k][j] += a[k][t] * b[t][j] ;

printf(“\n The multiplication matrix is \n”); for(k=0; k<3; k++) { printf(“\n ³ “); for(j=0; j<3; j++) printf(“%3d “, c[k][j] ); printf(“³”); } getch(); }

(62)

Notes:

STRINGS :

A string is an array of characters. It ends with a null character. ( ‘\0’ ==> Null character )

Ex :

char na1[6] = { ‘a’, ‘b’,’c’, ‘d’, ‘e’, ‘\0’ } ; char na2[6] = “abcde” ;

char names[][] = { “rama”, “krishna”, “abcd” } ; char str1[20], str2[40] ;

Note :

The format string for a string variable is %s . Ex programs : 63) # include <stdio.h> # include <conio.h> main() { char str[80]; clrscr();

printf(“Enter any string “); scanf(“%s”, str) ;

printf(“\n You entered the string %s”, str) ; getch() ; }

/* Output :

Enter any string udaya bhanu

You entered the string udaya */ Notes :

(63)

scanf() function can accept the string values. But it does not allow spaces in the string. To avoid this problem gets() can be used.

gets() :

This function is used to accept the value for a string variable. This function’s prototype has defined in the header file STDIO.H.

Syntax :

gets(varaible) ; Ex :

gets(str) ; puts() :

This function is used to display the string value of the variable. This function’s prototype has defined in the header file STDIO.H

Syntax : puts(string) ; Ex : puts(“The string is “); puts(str) ; Ex Programs : 64) # include <stdio.h> # include <conio.h> main() { char str[80] ; clrscr() ;

printf(“Enter any string “) ; gets(str) ;

printf(“ You entered “); puts(str);

getch() ; }

(64)

/* Output :

Enter any string udaya bhanu

You entered the string udaya bhanu */ 65) /* Write a program to find the length of a string */

# include <stdio.h> # include <conio.h> main() { char str[80]; int k; clrscr() ;

printf(“Enter any string “); gets(str) ; /* k = 0; while(str[k]!=’\0’) k++ ; */ for(k=0; str[k] !=’\0’; k++) ; printf(“\n The length is %d”, k); getch() ;

}

66)/* Write a program to change the given string into upper case */ # include <stdio.h> # include <conio.h> main() { char str[80] ; int k ; clrscr() ;

(65)

gets(str) ;

for(k=0; str[k]!=’\0’; k++) if(str[k]>=97 && str[k]<=122) str[k] -= 32 ;

/*

if( str[k] >=’a’ && str[k] <=’z’ ) str[k] -= ‘a’ - ‘A’;

*/

printf(“\n In upper case %s”, str) ; getch() ;

} /* Output :

Enter any string Udaya Bhanu

In upper case UDAYA BHANU */

67)/* Write a program to change the given string into

lower case */

68)/* Write a program to change the given string into Sentence case that means the first character into upper case and the remaining

into lower case */

# include <stdio.h> # include <conio.h> main() { char str[80] ; int k ; clrscr() ;

printf(“Enter any string “) ; gets(str) ;

if(str[0]>=’a’ && str[0]<=’z’ ) str[0] -= ‘a’ - ‘A’ ; for(k=1; str[k]!=’\0’; k++)

if(str[k]>=65 && str[k]<=90) str[k] += 32 ;

(66)

printf(“\n In sentence case %s”, str) ; getch() ;

} /* Output :

Enter any string UDAYA BHANU

In upper case Udaya bhanu */

69) /* Write a program to change the given string into

Title Case */

/* Output :

Enter any string UDAYA BHANU

In upper case Udaya Bhanu */

70) /* Write a program to copy a string to another */ # include <stdio.h> # include <conio.h> main() { char s[80], t[80] ; int k; clrscr() ;

printf(“Enter the source string to copy “) ; gets(s) ; k=0; while(s[k]!=’\0’) { t[k] = s[k] ; k++ ; } t[k] = ‘\0’ ;

(67)

getch() ; }

71)/* Write a program to concatenate two strings */ # include <stdio.h> # include <conio.h> main() { char a[80], b[80] ; int k, j ; clrscr() ;

printf(“Enter two strings \n”) ; gets(a) ; gets(b);

for(k=0;a[k]!=’\0’; k++) ; for(j=0; b[j]!=’\0’; k++, j++) a[k] = b[j] ;

a[k] = ‘\0’ ; printf(“\n The concatenated string is %s”, a) ; getch() ; }

72)/* Write a program to reverse the given string */ # include <stdio.h> # include <conio.h> main() { char a[80], b[80] ; int k, j ; clrscr() ;

printf(“Enter any string “) ; gets(a) ;

for(k=0; a[k]!=’\0’; k++) ; for(k--, j=0; k>=0; k--, j++)

(68)

b[j] = a[k]; b[j] = ‘\0’ ;

printf(“\n In reverse order %s”, b) ; getch();

} /* Output :

Enter any string bhanodaya

In upper case ayadonahb */

73)/* Program to move the given name around the screen */ # include <stdio.h> # include <conio.h> # include <string.h> main() { int k, r, c, DL; char str[80]; clrscr();

puts(“Enter your name “); gets(str); k = strlen(str); DL = 10000; while(!kbhit()) { for(r=1; r<=23; r++) { gotoxy(1,r); printf(“%s”, str); delay(DL); clrscr(); } for(c=1; c<=80-k; c+=3) {

(69)

gotoxy(c,23); printf(“%s”, str); delay(DL); clrscr(); } for(r=23;r>0; r--) { gotoxy(80-k,r); printf(“%s”, str); delay(DL); clrscr(); } for(c=80-k;c>0; c-=3) { gotoxy(c,1); printf(“%s”, str); delay(DL); clrscr(); } } }

74)/* Program to fall and replace the given name character by character */ # include <stdio.h> # include <conio.h> # include <string.h> # include <dos.h> main() { char na[80]; int r, c, k, n, DL; clrscr();

printf(“Enter your name “); gets(na);

k = strlen(na); DL = 2000; clrscr(); for(n=1; n<5; n++) { for(c=0; c<k; c++)

(70)

{ for(r=1; r<=15; r++) { gotoxy(c+20,r);printf(“ “); gotoxy(c+20,r+1);printf(“%c”, na[c]); delay(DL); } } for(c=0; c<k; c++) { for(r=16; r>1; r--) { gotoxy(c+20, r); printf(“ “);

gotoxy(c+20, r-1); printf(“%c”, na[c]); delay(DL);

} } } }

75)/* Program to display the given name as a box */

# include <stdio.h> # include <conio.h> main() { char str[20], a[25][20]; int k, j, n ; clrscr( );

printf(“Enter Your name “) ; gets(str) ;

(71)

for(n=0; str[n]!=’\0’; n++) ; for(k=0; k<n; k++)

for(j=0; j<n; j++)

if(k==0) a[k][j] = str[j] ; else if(j==0) a[k][j] = str[k];

else if(j==n-1) a[k][j] = str[n-k-1] ; else if(k==n-1) a[k][j] = str[n-j-1] ; else a[k][j] = 32 ; for(k=0; k<n; k++) { printf(“\n”); for(j=0; j<n; j++) printf(“%c “, a[k][j] ) ; } getch() ; } /* Output :

Enter Your name Bhanodaya B h a n o d a y a h y a a n d • o d n a a y h a y a d o n a h B */

(72)

Notes :

STRING.H functions :

To manipulate the strings the C authors designed some functions in the header file STRING.H

1) strlen():

This function returns an integer value that is the length of the string. length means the number of characters.

Syntax:

int strlen(string) ; 2) strupr() :

This function changes the given string into uppercase characters. Syntax :

strupr(string) ; 3) strlwr() :

This function changes the given string into lowercase characters. Syntax :

strlwr(string) ; 4) strcpy() :

This function copies the string to another string. Syntax :

strcpy(target, source) ; 5) strcat() :

This function adds two strings. Syntax :

strcat(destination, second) ; 6) strrev() :

This function change the given string into reverse order. Syntax :

strrev(string) ; 7) strcmp() :

(73)

Syntax :

int strcmp(first, second) ; Ex Programs :

77) /* Program to demonstrate the library functions of STRING.H */ # include <stdio.h> # include <conio.h> # include <string.h> main() { char a[80], b[80] ; clrscr() ; printf(“Enter a string “) ; gets(a) ;

printf(“\n The given string is %s”, a);

printf(“\n The length of string is %d”, strlen(a) ) ; printf(“\n In Upper case %s”, strupr(a)) ;

printf(“\n In Lower case %s”, strlwr(a) ); strcpy(b, a) ;

printf(“\n The new string is %s”, b) ; strrev(b);

printf(“\n In reverse order %s”, b) ;

printf(“\n The difference is %d”, strcmp(a,b) ); getch();

} /* Output :

Enter a string Bhanodaya The given string is Bhanodaya The length of string is 9

(74)

In Lower case bhanodaya The new string is bhanodaya In reverse order ayadonahb The difference is 1

(75)

FUNCTIONS :

The function is a piece of code. These functions are used to reduce the repetition of coding.

The functions are two types. 1) Derived functions,

2) User-defined functions.

The derived functions are provided by the C writers and they defined them in header files. To use these functions the header file must be included at the top of the

program.

We can create our own functions. To write any function there are three steps. 1) Functions declarations, 2) Functions calling, 3) Function definition.

or

1) Function definition, 2) Function calling.

In the function declaration and/or in the definition the name must be follow the return data type, and it should be followed by parenthesis. In the parenthesis there may be arguments with their data types. If the function does not return any value it must be declared as void. The default return type is int.

Syntax:

(datatype) (functionname) (argumentstype) ; /* Function declaration */

functionname(arguments) ; /* Function

calling */

(datatype) (functionname) (arguments) /* Function definition */

{

(statements) ; }

These functions are three types.

1) No arguments with no return value functions, 2) Arguments with no return value functions, 3) Arguments with return value functions.

(76)

1) No arguments with no return value functions : 78) # include <stdio.h> # include <conio.h> void first(void) ; void second(void) ; void third(void) {

printf(“\n This is in third function “) ; }

void fourth(void) {

printf(“\n This is in fourth function “) ; } void main() { clrscr() ; printf(“This is in Main “) ; first() ; second() ; third() ; fourth() ;

printf(“\n This is in main again “) ; getch() ;

}

void first(void) {

printf(“\n This is in first function “) ; }

(77)

{

printf(“\n This is in second function “) ; }

/* Output : This is in Main

This is in first function This is in second function This is in third function This is in fourth function

This is in mainagain */ 79) # include <stdio.h> # include <conio.h> void replicate(void) { int k; for(k=1; k<=50; k++) printf(“*”) ; } void main() { clrscr() ; replicate() ; printf(“\n Hello \n”) ; replicate() ; printf(“\n World \n”) ; replicate() ; printf(“\n Welcome \n”) ; replicate() ; getch(); } /* Output :

(78)

Hello World Welcome

*/

/* 2) Arguments with No Return value functions */ 80)

# include <stdio.h> # include <conio.h>

void replicate(int n, int ch) { int k; for(k=1; k<=n; k++) printf(“%c”, ch) ; } void main() { clrscr() ; replicate(30,’*’) ; printf(“\n Hello \n”) ; replicate(60,’#’) ; printf(“\n Bhanodaya \n”) ; replicate(50,’%’) ; printf(“\n Welcome \n”) ; replicate(40,’@’) ; getch(); } /* Output : Hello

(79)

Bhanodaya %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Welcome @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ */ 81) # include <stdio.h> # include <conio.h> void add(int, int) ; void subtr(int, int) ; void mult(int a, int b)

{

printf(“\n The multiplication %d”, a*b) ; }

void div(int k, int j) {

printf(“\n The division %f”, (float)k / j ) ; }

void main() {

int a, b ; clrscr() ;

printf(“Enter any two numbers \n”) ; scanf(“%d%d”, &a, &b ) ;

add(a, b) ; subtr(a, b) ; mult(a, b) ; div(a, b) ; getch() ;

}

(80)

{ int k; k = m - n ;

printf(“\n The addition is %d”, k) ; } void subtr(p, q) int p, q ; { int r ; r = p - q ;

printf(“\n The subtraction %d” , r) ; }

(81)

/* 3. Arguments with Return value functions */ 82)

# include <stdio.h> # include <conio.h> int add(int x, int y) {

int z ; z = x + y; return z ; }

int subtr(int p, int q) {

return p-q ; }

int mult(int, int ) ; int div(int, int) ; int main() {

int a, b, c ; clrscr() ;

printf(“Enter any two numbers \n” ); scanf(“%d%d”, &a, &b) ;

c = add(a, b) ; printf(“\n The addition is %d”, c ); printf(“\n The subtraction %d”, subtr(a,b) ) ;

c = mult(a,b) ; printf(“\n The multiplication %d”, mult(a,b) ); printf(“\n The division %d”, div(a,b) );

getch() ; return 0;

}

(82)

{ return a*b;

}

int div(int m, int n) {

int p = m / n; return p;

}

83) Important :

/* Program to demonstrate all types of functions */ # include <stdio.h>

# include <conio.h>

/* No arguments with No return value functions */ void looping(void) ;

void condition(void) ;

/* Arguments with No return value functions */

void add(int, int) ; void mult(int, int) ;

/* Arguments with Return value functions */ int subtr(int, int) ;

int div(int, int) ; int main() { looping() ; return 0; } void looping()

(83)

{ char ch = ‘y’ ; while(ch==’y’ || ch==’Y’) { clrscr() ; condition() ; gotoxy(45, 22) ;

printf(“ Do you want to cotinue (y/n) “) ; ch = getche (); } } void condition() { int a, b, k;

printf(“\n Enter any two numbers \n”) ; scanf(“%d%d”, &a, &b) ;

gotoxy(30, 5) ; printf(“1. Addition “ );

gotoxy(30, 6) ; printf(“2. Subtraction “) ;

gotoxy(30, 7) ; printf(“3. Multiplication “) ;

gotoxy(30, 8) ; printf(“4. Division “) ;

gotoxy(30, 10 );

printf(“Enter Your choice “) ; scanf(“%d”, &k) ;

gotoxy(10, 15); switch(k)

{

case 1 : add(a, b) ; break ;

case 2 : printf(“ The subtraction %d”, subtr(a,b) ); break ;

case 3 : mult(a,b ); break ;

(84)

break;

default : printf(“ Invalid choice “) ; }

}

void add(int a, int b) {

printf(“\n The addition %d”, a+b) ; }

int subtr(int x, int y) {

int z = x - y; return z ;

}

void mult(int p, int q) {

int r ; r = p * q ;

printf(“The multiplication %d”, r) ; }

int div(int a, int b) { int c ; c = a / b ; return c; } Notes : PREPROCESSOR COMMANDS :

The commands which start with hash (#) are called Preprocessor Commands.

(85)

# define PI 3.14159 # include <stdio.h> # include “conio.h” # define A 1.7

(86)

define :

This command is used to define our own constants and macros. Ex Programs : 84) # include <stdio.h> # include <conio.h> # define MN main() # define pf printf # define cls clrscr() # define wait getch() # define sf scanf # define PI 3.14159

# define msg “Enter the radius of circle “ # define area(g) PI*g*g

# define per(g) 2*PI*g MN { float r ; cls ; pf(msg) ; sf(“%f”, &r) ;

pf(“\n The area of circle is %f”, area®) ; pf(“\n The perameter of circle %f”, per® ) ; wait ;

} Notes :

include :

This command is used to include the files which contains the definition of functions.

(87)

1) # include < name >

This type of command includes the file which is located in the specified directory. These specifications are set by selecting the Directories command from Options menu.

2) # include “ name “

This type of command includes the file which is located in the current directory and/or in the specified directory.

(88)

Ex Programs : 85)

/* Save this progam as SUB.C */

# include <stdio.h> # include <conio.h> int add(int x, int y) {

int z ; z = x + y; return z ; }

int subtr(int p, int q) {

return p-q ; }

/* Save and execute this program as MAIN.C */

# include “sub.c” int mult(int, int ) ; int div(int, int) ; int main() {

int a, b, c ; clrscr() ;

printf(“Enter any two numbers \n” ); scanf(“%d%d”, &a, &b) ;

c = add(a, b) ; printf(“\n The addition is %d”, c ); printf(“\n The subtraction %d”, subtr(a,b) ) ;

c = mult(a,b) ; printf(“\n The multiplication %d”, mult(a,b) ); printf(“\n The division %d”, div(a,b) );

Figure

Updating...

References

Updating...

Related subjects :