unit 1 c - all topics

59
Computer -- Hardware Key board Mouse Input Devices Monitor Printer Output Devices Secondary Storage Devices Input Storage Area Program Storage Area Output Storage Area Working Storage Area Primary or Main Memory (RAM) Register 1 Arithmetic and Logic Unit Register 2 …… …… Register N Micro Processor

Upload: veningstonk

Post on 11-Feb-2017

10 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Unit 1   c - all topics

Computer -- Hardware

Key boardMouse

Input Devices

MonitorPrinter

Output Devices

Secondary Storage Devices

Input Storage

Area

Program Storage Area Output Storage

AreaWorking Storage Area

Primary or Main Memory (RAM)

Register 1

Arithmeticand

Logic Unit

Register 2…………

Register N

Micro Processor

Page 2: Unit 1   c - all topics

Algorithm: Step by step procedure of solving a particular problem.Pseudo code: Artificial informal language used to develop algorithms.Flow chart: Graphical representation of an algorithm.Algorithm to find whether a number even or odd:Step1: Begin Step1: STARTStep2: Take a number Step2: Read numStep3: if the number is divisible by2 then Step3: if(num%2=0) then

print that number is even print num is even otherwise print that number is odd otherwise

print num is oddStep4: End Step4: STOP(Algorithm in natural language) (Algorithm by using pseudo code)

#include<stdio.h>#include<conio.h>main(){ int num; printf(“Enter any number”); scanf(“%d”,&num); if(num%2==0) printf(“%d is even”,num); else printf(%d is odd”,num); }(Program in C language)

start

read num

print num is even

stop

If numIf num%2=0%2=0

print num is odd

Flow chart:Flow chart:

YesYes NoNo

Page 3: Unit 1   c - all topics

Flow chart symbolsOval Terminal

Parallegram Input/output

Rectangle Process

Document Hard copy

Diamond Decision

Circle Connector

Double sided Rectangle Sub program

Hexagon Iteration

Trapezoid Manual Operation

Cylinder Magnetic Disk Storage

Page 4: Unit 1   c - all topics

Machine Language – Assembly Language – High-Level Language

12345678910111213141516

entry main,^m<r2> sub12 #12,sp jsb C$MAIN_ARGS moveb $CHAR_STRING_CON pusha1 -8(fp) pusha1 (r2) calls #2,SCANF pusha1 -12(fp) pusha1 3(r2) calls #2,SCANF mull3 -8(fp),-12(fp),- pusha 6(fp) calls #2,PRINTF clrl r0 ret

123456789

10111213141516

00000000 00000100 000000000000000001011110 00001100 11000010 0000000000000010 11101111 00010110 0000000000000101 11101111 10111110 000000000000101111111000 10101101 11011111 0000000000010010 01100010 11011111 000000000001010111101111 00000010 11111011 000000000001011111110100 10101101 11011111 000000000001111000000011 10100010 11011111 000000000010000111101111 00000010 11011111 000000000010010001111110 11110100 1010110111111000 10101110 11000101 000000000010101100000110 10100010 11111011 000000000011000111101111 00000010 11111011 0000000000110100 01010000 11010100 0000000000111011 00000100 0000000000111101

12345678910

#include<stdio.h>int main(void){ int n1, n2,product; printf(“Enter two numbers : “); scanf(“%d %d”,&n1,&n2); product = n1 * n2; printf(“%d”,product); return 0;}

The only language the computer can understand is machine language (binary language).

A high level language is an English like language where one instruction typically translates into a series of machine-language instructions.

A low level language corresponds closely to machine code so that a single low-level language instruction translates to a single machine language instruction.

Page 5: Unit 1   c - all topics

Language Translation

• Translator– is a computer program that reads a

program written in one language, which is called the source language, and translates it in to another language, which is called

the target language. • Assembler• Compiler

• Assembler– Assembler is a software or a tool

that translates Assembly language to machine code.

• Compiler– Compiler is a program that

translates High level language such as programs written in C, C++ to machine code

Page 6: Unit 1   c - all topics

Difference between Compiler and Interpreter

No Compiler Interpreter

1 Compiler Takes Entire program as inputInterpreter Takes Single instruction as input .

2 Intermediate Object Code is Generated No Intermediate Object Code is Generated

3Conditional Control Statements are Executes faster

Conditional Control Statements are Executes slower

4Memory Requirement : More(Since Object Code is Generated)

Memory Requirement is Less

5 Program need not be compiledevery timeEvery time higher level program is converted into lower level program

6Errors are displayed after entire program is checked

Errors are displayed for every instruction interpreted (if any)

7Example : C Compiler [Eg. cc, gcc, ANSI C, Borland C, etc.]

Example : Python Interpreter (Eg. IDLE, etc.)

Page 7: Unit 1   c - all topics

Structure of C program/*Program to find /*Program to find area and perimeter of Circle */area and perimeter of Circle */#include<stdio.h>#include<stdio.h>#define PI 3.1415#define PI 3.1415float radius;float radius;float area();float area();float perimeter();float perimeter();int main()int main(){{ float a, p;float a, p; printf(“Enter radius : “);printf(“Enter radius : “); scanf(“%f”,&radius);scanf(“%f”,&radius); a = area();a = area(); p = perimeter();p = perimeter(); printf(“Area of Circle : %f”,a);printf(“Area of Circle : %f”,a); printf(“Perimeter : %f”,p);printf(“Perimeter : %f”,p);}}float area()float area(){{ return (PI * radius * radius);return (PI * radius * radius);}}float perimeter()float perimeter(){{ return (2 * PI * radius);return (2 * PI * radius);}}

Documentation/Comment SectionDocumentation/Comment SectionLinkage/header file SectionLinkage/header file SectionDefinition SectionDefinition Section

Global Declaration SectionGlobal Declaration Section

Main Function SectionMain Function Section

Local Declaration PartLocal Declaration Part Executable Code PartExecutable Code Part

Sub Program SectionSub Program Section

Function1()Function1() Function2()Function2() …………… …………… FunctionN()FunctionN()

Page 8: Unit 1   c - all topics

Preprocessor DirectivesPreprocessor Directives

Page 9: Unit 1   c - all topics

99

Compilation & Linking

helloworld.chelloworld.cstdio.hstdio.h

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

helloworld.ohelloworld.o

Helloworld.exeHelloworld.exe

header fileheader file

compilercompiler

linkerlinker

executable fileexecutable file

object fileobject file

source source filefile

Page 10: Unit 1   c - all topics

Program Development Steps1)Statement of Problem a) Working with existing system and using proper questionnaire, the problem should be explained clearly. b) What inputs are available, outputs are required and what is needed for creating workable solution should be understood clearly.2)Analysis a) The method of solutions to solve the problem can be identified. b) We also judge that which method gives best results among different methods of solution.3)Designing a) Algorithms and flow charts will be prepared. b) Keep focus on data, architecture, user interfaces and program components. 4)Implementation The algorithms and flow charts developed in the previous steps are converted into actual programs in the high level languages like C.

4.a)CompilationTranslate the program into machine code. This process is called as Compilation. Syntactic errors are found quickly at the time of compiling the program. These errors occur due to the usage of wrong syntaxes for the statements. Eg: x=a*y+bThere is a syntax error in this statement, since, each and every statement in C language ends with a semicolon (;).

4.b)ExecutionThe next step is Program execution. In this phase, we may encounter two types of errors.Runtime Errors: these errors occur during the execution of the program and terminates the program abnormally.Logical Errors: these errors occur due to incorrect usage of the instructions in the program. These errors are neither detected during compilation or execution nor cause any stoppage to the program execution but produces incorrect ouz

Page 11: Unit 1   c - all topics

Executing a C program

compiles

SyntaxErrors?

Yes

Object machine code

010110 100…………….01011 101

C-compiler

#include<stdio.h>int main(){ …….

TextEditor

prog1.c

prog1.objLinker

Executable machine code

00101010………….01010101

adds

Translators are system software used to convert high-level language program into machine-language code.

Compiler : Coverts the entire source program at a time into object code file, and saves it in secondary storage permanently. The same object machine code file will be executed several times, whenever needed.

Interpreter : Each statement of source program is translated into machine code and executed immediately. Translation and execution of each and every statement is repeated till the end of the program. No object code is saved. Translation is repeated for every execution of the source program.

machine code of library file

Input

prog1.exe

No

C-RuntimeExecutes

FeedsRuntime or Logic Errors ?

Yes

Output

Page 12: Unit 1   c - all topics

C-Language Keywordsauto double int structbreak else long switchcase enum register typedefchar extern return unionconst float short unsignedcontinue for signed voiddefault goto sizeof volatiledo if static whileinline

Character Set of C-Language

Alphabets : A-Z and a-zDigits : 0-9Special Symbols : ~ ! @ # $ % ^ & ( ) _ - + = | \ { } [ ] : ; “ ‘

< > , . ? /White Spaces : space , Horizontal tab, Vertical tab, New Line Form Feed.

Page 13: Unit 1   c - all topics

C-TokensTokens : The smallest individual units of a C- program are called Tokens.

Key words, Identifiers, Constants, Operators, Delimiters.Key words : have a predefined meaning and these meanings cannot be

changed. All keywords must be written in small letters.Identifiers : names of variables, functions, structures, unions, macros, labels,

arrays etc., Rules for define identifiers : a) First character must be alphabetic character or under score b) Second character onwards alphabetic character of digit or under

score. c) First 63 characters of an identifier are significant. d) Cannot duplicate a key word. e) May not have a space or any other special symbol except under

score. f) C – language is Case-sensitive.

Page 14: Unit 1   c - all topics

C-TokensConstants : fixed values that do not change during execution of a program. Boolean constants : 0 ( false) and 1 (true) Character constants : only one character enclosed between two single quotes ( except escape characters ). Integer constants : +123, -3454 , 0235 (octal value), 0x43d98 ( hexa - decimal value) 54764U, 124356578L, 124567856UL Float constants : 0.2 , 876.345, .345623 , 23.4E+8, 47.45e+6 String Constants : “Hello world” , “Have a nice day!” Complex Constants : real part + imaginary part * I ex : 12.3 + 3.45 * IOperators : a symbol, which indicates an operation to be performed.

Operators are used to manipulate data in program.Delimiters : Language Pattern of c-language uses special kind of symbols: (colon, used for labels) ; (semicolon terminates statement ) ( ) parameter list

[ ] ( array declaration and subscript ), { } ( block statement ) # ( hash for preprocessor directive ) , (comma variable separator )

Page 15: Unit 1   c - all topics

printf() & scanf() functions

int main ( ){ printf(" %d", printf("%s", “welcome")); return 0 ;}

int main(){char a;printf("%d",scanf("%c",&a));return 0;}

Returned values of printf() and scanf()

In C, •printf() returns the number of characters successfully written on the output•scanf() returns number of items successfully read.

Irrespective of the character that user enters, this program prints 1

This program prints welcome 7

Page 16: Unit 1   c - all topics

Careful to use scanf()

• The basic problem is that scanf() leaves the newline after the number in the buffer, and then reads it with %c on the next pass.

• This is a good demonstration of why we need to cautious about to use scanf()

Page 17: Unit 1   c - all topics

Conversion/Access/fomat Specifiers

CodeCode FormatFormat%s String of characters (until null zero is reached )%c Character%d Decimal integer%f Floating-point numbers%e Exponential notation floating-point numbers%u Unsigned integer%o Octal integer%x Hexadecimal integer%i Signed decimal integer%p Display a pointer%hd short integer%ld long integer%lf long double%% Prints a percent sign (%)

Page 18: Unit 1   c - all topics

Back Slash ( Escape Sequence) Characters

Code Meaning\b Backspace/non-erase\f Form feed\n New line\r Carriage return/clear screen\t Horizontal tab\" Double quote\' Single quote\ \ Backslash\v Vertical tab\a Alert/bell sound (speaker beeps)\? Question mark

Page 19: Unit 1   c - all topics

Data Types ( pre-defined )Type Typical Size in Bits Minimal Rangechar 8 –127 to 127unsigned char 8 0 to 255signed char 8 –127 to 127int 16 or 32 –32,767 to 32,767unsigned int 16 or 32 0 to 65,535signed int 16 or 32 Same as intshort int 16 –32,767 to 32,767unsigned short int 16 0 to 65,535signed short int 16 Same as short intlong int 32 –2,147,483,647 to 2,147,483,647long long int 64 –(263) to 263 – 1 (Added by C99)signed long int 32 Same as long intunsigned long int 32 0 to 4,294,967,295unsigned long long int 64 264 – 1 (Added by C99)float 32 3.4e-38 to 3.4e+38double 64 1.7e-308 to 1.7e+308long double 80 3.4e-4932 to 1.1e+4932void -- data type that not return any value

Page 20: Unit 1   c - all topics

Value range of different typesType Storage size Value range

char 1 byte -128 to 127 or 0 to 255

unsigned char 1 byte 0 to 255

signed char 1 byte -128 to 127

int 2 or 4 bytes -32,768 to 32,767 or -2,147,483,648 to 2,147,483,647

unsigned int 2 or 4 bytes 0 to 65,535 or 0 to 4,294,967,295

short 2 bytes -32,768 to 32,767

unsigned short 2 bytes 0 to 65,535

long 4 bytes -2,147,483,648 to 2,147,483,647

unsigned long 4 bytes 0 to 4,294,967,295

Page 21: Unit 1   c - all topics

Data type modifiers in CUsed to change the properties of current properties of Used to change the properties of current properties of data type. Data type modifiers are classified into data type. Data type modifiers are classified into following types.following types.•longlong•shortshort•unsignedunsigned•signedsigned

Page 22: Unit 1   c - all topics

Data type modifiers in C

Modifiers are prefixed with basic data types to modify (either Modifiers are prefixed with basic data types to modify (either increase or increase or decreasedecrease) ) the amount of storage space allocated to a variablethe amount of storage space allocated to a variable..

For exampleFor example, storage space for , storage space for int data type is 4 byte int data type is 4 byte for 32 bit processor. for 32 bit processor. We can We can increaseincrease the range by using the range by using long int which is 8 bytelong int which is 8 byte. We can . We can decreasedecrease the range by using the range by using short int which is 2 byteshort int which is 2 byte..

Page 23: Unit 1   c - all topics

Precedence and Associativity of OperatorsPrecdence Group Operators Associativity(Highest to Lowest )(param) subscript etc., ( ) [ ] –>. L RUnary operators - + ! ~ ++ – – (type) * & sizeof R LMultiplicative * / % L RAdditive + – L RBitwise shift << >> L RRelational < <= > >= L REquality = = != L RBitwise AND & L RBitwise exclusive OR ^ L RBitwise OR | L RLogical AND && L RLogical OR | | L RConditional ?: R LAssignment = += –= *= /= %= &= ^= R L

|= <<= >>=Comma , L R

Page 24: Unit 1   c - all topics

Conditional/Decision Control Statements

• Simple if• if… else• nested if… else• If else ladder

– if… else if… else

Page 25: Unit 1   c - all topics

Test Test ExpressionExpression

??

EntryEntry

FalseFalse

Next statementNext statement

True Statement-blockTrue Statement-block

TrueTrue

simple if:simple if:

Test Test ExpressionExpression

??

EntryEntry

True-blockTrue-blockStatementsStatements

FalseFalse

False-blockFalse-blockStatementsStatements

TrueTrue

Next statementNext statement

if-else:if-else:

/* check a citizen is eligible for voting *//* check a citizen is eligible for voting */#include<stdio.h>#include<stdio.h>int main()int main(){{ int age;int age; printf(“Enter the age : ”);printf(“Enter the age : ”); scanf(“%d”,&age);scanf(“%d”,&age); if(age >= 18)if(age >= 18) printf(“Eligible for voting…”);printf(“Eligible for voting…”); getch();getch();}}

/* print a number is even or odd *//* print a number is even or odd */#include<stdio.h>#include<stdio.h>int main()int main(){{ int number;int number; printf(“Enter a number : “);printf(“Enter a number : “); scanf(“%d”, &number);scanf(“%d”, &number); if((number %2) == 0)if((number %2) == 0) printf(“%d is even number.”,number);printf(“%d is even number.”,number); elseelse printf(“%d is odd number.”,number);printf(“%d is odd number.”,number);}}

Page 26: Unit 1   c - all topics

Test Test condition1condition1

??

EntryEntry

Statement-3Statement-3

TrueTrue

Test Test condition2condition2

??

FalseFalse

Statement-2Statement-2 Statement-1Statement-1

TrueTrue

FalseFalse

Next statementNext statement

nested if…else:nested if…else: /* check whether a year is leap year or not *//* check whether a year is leap year or not */#include<stdio.h>#include<stdio.h>int main() {int main() { int year;int year; printf("Enter the year ?");printf("Enter the year ?"); scanf("%d",&year);scanf("%d",&year); if((year %100) == 0)if((year %100) == 0) {{ if((year % 400) == 0)if((year % 400) == 0) printf("%d is leap year.",year);printf("%d is leap year.",year); elseelse printf("%d is not leap year.",year);printf("%d is not leap year.",year); } else {} else { if((year % 4) == 0)if((year % 4) == 0) printf("%d is leap year.",year);printf("%d is leap year.",year); elseelse printf("%d is not leap year.",year);printf("%d is not leap year.",year); }} getch();getch();}}

Page 27: Unit 1   c - all topics

if…else…if :if…else…if :

EntryEntry

Test Test condition1condition1

??

TrueTrueStatement-1Statement-1

TrueTrueStatement-2Statement-2

Test Test condition2condition2

??

FalseFalse

TrueTrueTest Test conditionNconditionN

??

FalseFalse

Statement-NStatement-N

Next statementNext statement

/* program to print the grade of student *//* program to print the grade of student */#include<stdio.h>#include<stdio.h>int main() {int main() { int marks;int marks; printf("Enter marks ? ");printf("Enter marks ? "); scanf("%d", &marks);scanf("%d", &marks); if(marks >= 75)if(marks >= 75) printf("Distinction");printf("Distinction"); else if(marks >= 60)else if(marks >= 60) printf("First class");printf("First class"); else if(marks >= 50)else if(marks >= 50) printf("Second class");printf("Second class"); else if(marks >= 35)else if(marks >= 35) printf("Third class");printf("Third class"); elseelse printf("Failed");printf("Failed");}}

Page 28: Unit 1   c - all topics

switch statement :switch statement :

EntryEntry

switch switch expressionexpression

??

Next statementNext statement

/* program to simulate a simple calculator *//* program to simulate a simple calculator */#include<stdio.h>#include<stdio.h>int main() {int main() { float a,b;float a,b; char opr;char opr; printf("Enter number1 operator number2 : ");printf("Enter number1 operator number2 : "); scanf("%f %c %f",&a,&opr,&b); scanf("%f %c %f",&a,&opr,&b); switch(opr)switch(opr) {{ case '+':case '+': printf("Sum : %f",(a + b));printf("Sum : %f",(a + b)); break;break; case '-':case '-': printf("Difference : %f",(a - b));printf("Difference : %f",(a - b)); break;break; case '*':case '*': printf("Product : %f",(a * b));printf("Product : %f",(a * b)); break;break; case '/':case '/': printf("Quotient : %f",(a / b));printf("Quotient : %f",(a / b)); break;break; default:default: printf("Invalid Operation!");printf("Invalid Operation!"); }}}}

associateassociatestatementstatement

associateassociatestatementstatement

associateassociatestatementstatement

associateassociatestatementstatement

value1value1 value2value2 valueNvalueN defaultdefault

ExitExit

…………......

Page 29: Unit 1   c - all topics

Example #include<stdio.h>#include<stdio.h>int main()int main(){{int a,b;int a,b;char choice;char choice;printf("\nInput 2 numbers:");printf("\nInput 2 numbers:");scanf("%d %d",&a,&b);scanf("%d %d",&a,&b);

printf("\nEnter your choice:");printf("\nEnter your choice:");scanf("%c",&choice);scanf("%c",&choice);switch(choice)switch(choice){{

case '+':case '+': printf("\nAddition:%d",(a+b));printf("\nAddition:%d",(a+b)); break;break;case '-':case '-': printf("\nSubtraction:%d",(a-b));printf("\nSubtraction:%d",(a-b)); break;break;default:default: printf("\nNo such choice available...");printf("\nNo such choice available..."); break;break;

}}return 0;return 0;}}

Page 30: Unit 1   c - all topics

?: - Conditional operator

#include<stdio.h> int main(){int num; printf("Enter the Number : ");scanf("%d",&num); flag = ((num%2==0)?1:0); if(flag==0) printf("\nEven");else printf("\nOdd");}

#include<stdio.h>int main(){int num;printf("Enter the Number : ");scanf("%d",&num);(num%2==0)?printf("Even"):printf("Odd");}

Syntax:(Condition) ? stmt 1 : stmt 2

Page 31: Unit 1   c - all topics

Loop Control/ Iterative Statements

• while loop• for loop• do-while loop

Page 32: Unit 1   c - all topics

TestCondition

?

Body of The loop

False

truetrue

while – (Entry controlled )while – (Entry controlled )EntryEntry

Loop StatementsLoop Statements

Following Statement

TestCondition

?

Body of The loop

False

TrueTrue

EntryEntry

Following Statement

do-while – (Exit controlled )do-while – (Exit controlled )

/* sum of 1 to 10 numbers *//* sum of 1 to 10 numbers */#include<stdio.h>#include<stdio.h>int main() {int main() { int i = 1,sum = 0;int i = 1,sum = 0; while(i<=10){while(i<=10){ sum = sum + i;sum = sum + i; i = i + 1;i = i + 1; } } printf(“Total : %d “,sum);printf(“Total : %d “,sum);} }

/* average of 5 numbers *//* average of 5 numbers */#include<stdio.h>#include<stdio.h>int main() {int main() { int count = 1;int count = 1; float x, sum = 0;float x, sum = 0; do {do { printf(“x = “);printf(“x = “); scanf(“%f”,&x);scanf(“%f”,&x); sum += x;sum += x; ++ count;++ count; } while(count <= 5);} while(count <= 5); printf(“Average = %f “, (sum/5))printf(“Average = %f “, (sum/5))} }

Page 33: Unit 1   c - all topics

Do while example

#include<stdio.h>#include<stdio.h>int main() int main() {{

int n,i=1;int n,i=1;int sum=0;int sum=0;printf("\n Enter N:");printf("\n Enter N:");scanf("%d",&n);scanf("%d",&n);dodo{{

sum=sum+i;sum=sum+i;i++;i++;

} while(i<=10);} while(i<=10);

printf("\n Sum of N natural number: %d", sum);printf("\n Sum of N natural number: %d", sum);return 0;return 0;

} }

Page 34: Unit 1   c - all topics

for -- for -- StatementStatement

Initialization StatementIncrement Statement

TestCondition

?

Body of The loop

EntryEntry

TrueTrue

Following Statement

False

/* check whether a number is prime or not *//* check whether a number is prime or not */#include<stdio.h>#include<stdio.h>int main() {int main() { int n,i,factors = 0;int n,i,factors = 0; printf("Enter a number : ");printf("Enter a number : "); scanf("%d",&n);scanf("%d",&n); for(i = 1; i <= n; i++) {for(i = 1; i <= n; i++) { if((n % i)==0) ++factors;if((n % i)==0) ++factors; }} if (factors == 2)if (factors == 2) printf("%d is prime number.",n);printf("%d is prime number.",n); elseelse printf("%d is not prime number.",n);printf("%d is not prime number.",n);}}

#include<stdio.h>#include<stdio.h>int main() int main() {{

int n,i;int n,i;int sum=0;int sum=0;printf("\n Enter N:");printf("\n Enter N:");scanf("%d",&n);scanf("%d",&n);for(i=1;i<=n;i++)for(i=1;i<=n;i++){{

sum=sum+i;sum=sum+i;}}printf("\n Sum of N natural number: %d", printf("\n Sum of N natural number: %d",

sum);sum);return 0;return 0;

} }

Page 35: Unit 1   c - all topics

Infinite for loop

• Syntax:– for( ; ; )

• Example#include<stdio.h>#include<stdio.h>int main() int main() {{

for(;;)for(;;){{

printf("\n Hello");printf("\n Hello");}}return 0;return 0;

} }

This program will print Hello infinite number of timesThis program will print Hello infinite number of times

Page 36: Unit 1   c - all topics

Important Functions in math.h

abs(x) absolute value of integer xceil(x) rounds up and returns the smallest integer greater than or

equal to xfloor(x) rounds down and returns the largest integer less than or

equal to xlog(x) returns natural logarithmpow(x,y) returns the value of xy

sqrt(x) returns square root of xexp(x) returns natural anti logarithmsin(x) returns sine value where x in radianscos(x) returns cosine value where x in radianstan(x) returns tangent values where x in radiansfmod(x,y) calculate x modulo y, where x and y are doublehypot(x,y) calculate hypotenuse of right angle where x,y are sides.log10(x) returns logarithm base 10

Page 37: Unit 1   c - all topics

Jump Statement

• break• continue• goto

Page 38: Unit 1   c - all topics

break Statements• break;

– break is used in terminating the loop immediately after it is encountered

Page 39: Unit 1   c - all topics

Flow diagram of break

Page 40: Unit 1   c - all topics

Example/* C program to demonstrate the working of break statement by terminating a loop, if /* C program to demonstrate the working of break statement by terminating a loop, if user inputs negative number*/user inputs negative number*/# include <stdio.h># include <stdio.h>int main(){int main(){ float num,average,sum=0;float num,average,sum=0; int i,n;int i,n; printf("Maximum no. of inputs\n");printf("Maximum no. of inputs\n"); scanf("%d",&n);scanf("%d",&n); for(i=1;i<=n;++i){for(i=1;i<=n;++i){ printf("Enter n%d: ",i);printf("Enter n%d: ",i); scanf("%f",&num);scanf("%f",&num); if(num<0.0)if(num<0.0) break; //for loop breaks if num<0.0break; //for loop breaks if num<0.0 sum=sum+num;sum=sum+num;}} average=sum/(i-1); average=sum/(i-1); printf("Average=%.2f",average);printf("Average=%.2f",average); return 0;return 0;}}

Page 41: Unit 1   c - all topics

#include<stdio.h> int main() { int i; i = 0; while ( i < 20 ) { i++; continue; printf("Nothing to see\n"); } return 0; }

#include<stdio.h>#include<stdio.h>int main()int main(){ {

int i=0;int i=0;while(i<20) while(i<20) { {

i++; i++; if (i==10) if (i==10)

break; break; } } printf("\n%d",i);printf("\n%d",i);return 0;return 0;

}}

Page 42: Unit 1   c - all topics

continue Statements• continue;

– It is sometimes desirable to skip some statements inside the loop. In such cases, continue statements are used

Page 43: Unit 1   c - all topics

Flow diagram of continue

Page 44: Unit 1   c - all topics

Example

# include <stdio.h># include <stdio.h>int main()int main(){{ int i,num,product;int i,num,product; for(i=1,product=1;i<=4;++i)for(i=1,product=1;i<=4;++i) {{ printf("Enter num%d:",i);printf("Enter num%d:",i); scanf("%d",&num);scanf("%d",&num); if(num==0)if(num==0) continue; / *In this program, when num equals to zero, it skips the statement product*=num continue; / *In this program, when num equals to zero, it skips the statement product*=num and continue the loop. */and continue the loop. */ product*=num;product*=num; }} printf("product=%d",product);printf("product=%d",product);return 0;return 0;}}

Output: Output: ??

Page 45: Unit 1   c - all topics

Predict the output

#include<stdio.h> int main() { int i; i = 0; while ( i < 20 ) { i++; continue; printf("Nothing to see\n"); } return 0; }

#include <stdio.h>int main(){

int i;i = 0;while ( i < 20 ){

i++; continue; printf("Nothing to see\n"); } printf("\n%d",i); return 0;}Output:

?

Page 46: Unit 1   c - all topics

goto statement

• Syntax:

Page 47: Unit 1   c - all topics

#include <stdio.h>#include <stdio.h>int main()int main(){{

int i;int i;for (i=1;i<=3;i++)for (i=1;i<=3;i++){{

MIT: MIT: goto MITS;goto MITS;

}}MITS: printf("\n Hello...");MITS: printf("\n Hello...");goto MIT;goto MIT;

return 0;return 0;}}

Output:Output:

Indefinitely prints “Hello…”Indefinitely prints “Hello…”

Page 48: Unit 1   c - all topics

Exampleint main()int main(){{ int age;int age; Vote:Vote: printf(“\n you are eligible for voting");printf(“\n you are eligible for voting");

NoVote:NoVote: printf(“\n you are not eligible to vote");printf(“\n you are not eligible to vote");

printf(“\n Enter you age:");printf(“\n Enter you age:"); scanf("%d", &age);scanf("%d", &age); if(age>=18)if(age>=18) goto Vote;goto Vote; elseelse goto NoVote;goto NoVote;

return 0;return 0;}}

Explanation: •Vote and NoVote are labels.

•When the input is >= 18, the goto statement is transferring the control to label – Vote,

•Otherwise it transfers the control to label-NoVote.

•This prints some unordered outputs

Page 49: Unit 1   c - all topics

#include<stdio.h>#include<stdio.h>int main()int main(){{ int age;int age; printf("Enter you age:");printf("Enter you age:"); scanf("%d", &age);scanf("%d", &age); if(age>=18)if(age>=18) goto goto Vote;Vote; elseelse gotogoto NoVote; NoVote;

Vote:Vote: printf("you are eligible for voting");printf("you are eligible for voting"); goto goto Exit;Exit;

NoVote:NoVote: printf("you are not eligible to vote");printf("you are not eligible to vote"); gotogoto Exit; Exit; Exit:Exit:

return 0;return 0;}}

Explanation: •Vote and NoVote are labels.

•When the input is >= 18, the goto statement is transferring the control to label – Vote,

•Otherwise it transfers the control to label-NoVote.

•This prints ordered outputs

Page 50: Unit 1   c - all topics

exit() function

• C library function• #include<stdlib.h>• Terminates the calling process immediately

#include <stdio.h>#include <stdlib.h>int main (){ printf("Start of the program....\n"); printf("Exiting the program....\n"); exit(0); printf("End of the program....\n"); return 0;}

Page 51: Unit 1   c - all topics

Class room Exercise 1• Program to find numbers between 100 and 150 evenly divisible

by 3 [Use for loop & if simple statement]• Program to generate multiplication tables of user choice. [use

any loop]• Program to find the biggest of three numbers. [use nested if

statement]• Program to print the week name for an entered digit [For

instance, if 1 is entered as input, “Monday” should be printed as output] [Use switch case statement]

• Program for conversion of upper case to lower case alphabet [use ASCII logic]

Page 52: Unit 1   c - all topics

Class room Exercise 2• C program to Print all the even numbers between two limits.

(For instance, if the inputs r1=5, r2=34, output must be 6, 8, 10, 12,…., 30,32,33)

• C Program to Check Vowel or consonant [Hint: use switch case stmt or if statement]

• C program to print all the numbers divisible by 6 but not multiple of 5 between two ranges.

• C Program to print N numbers in reverse order [For instance, if input N=12, the output must be, 12,11,10,9,8,7,6,5,4,3,2,1]

• C Program to Display Fibonacci Sequence

Page 53: Unit 1   c - all topics

Class room Exercise 3

• C program to find sum of odd numbers between two ranges.

• C program to find sum of even numbers between two ranges.

• C program to print the digits in words from 1 to 99. [use switch case]

Page 54: Unit 1   c - all topics
Page 55: Unit 1   c - all topics

Example//Upper to Lower case//Upper to Lower case#include<stdio.h>#include<stdio.h>int main()int main(){{

char a,b;char a,b;printf("\n Enter a character:");printf("\n Enter a character:");scanf("%c",&a);scanf("%c",&a);if(a>=65 && a<=90)if(a>=65 && a<=90)

b=a+32;b=a+32;printf("\n %c",b);printf("\n %c",b);return 0;return 0;

}}

Page 56: Unit 1   c - all topics

Homework Exercises

• C Program to Check whether a given Number is Armstrong• C Program to Check whether a given Number is Perfect Number

– A perfect number is a positive integer that is equal to the sum of its proper positive divisors

• C Program to Print Armstrong Number from 1 to 1000• C Program to Swap the Contents of two Numbers using Bitwise XOR

Operation 

Page 57: Unit 1   c - all topics

Perfect Number#include <stdio.h> int main(){ int number, rem, sum = 0, i; printf("Enter a Number\n"); scanf("%d", &number); for (i = 1; i <= (number - 1); i++) { rem = number % i; if (rem == 0) { sum = sum + i; } } if (sum == number) printf("Entered Number is perfect number"); else printf("Entered Number is not a perfect number"); return 0;}

Page 58: Unit 1   c - all topics

Armstrong number#include <stdio.h>#include <stdio.h> main()main(){{ int number, temp, digit1, digit2, digit3;int number, temp, digit1, digit2, digit3; printf("Print all Armstrong numbers between 1 and 1000:\n");printf("Print all Armstrong numbers between 1 and 1000:\n"); number = 001;number = 001; while (number <= 900)while (number <= 900) {{ digit1 = number - ((number / 10) * 10);digit1 = number - ((number / 10) * 10); digit2 = (number / 10) - ((number / 100) * 10);digit2 = (number / 10) - ((number / 100) * 10); digit3 = (number / 100) - ((number / 1000) * 10);digit3 = (number / 100) - ((number / 1000) * 10); temp = (digit1 * digit1 * digit1) + (digit2 * digit2 * digit2) + (digit3 * digit3 * digit3);temp = (digit1 * digit1 * digit1) + (digit2 * digit2 * digit2) + (digit3 * digit3 * digit3); if (temp == number)if (temp == number) {{ printf("\n Armstrong no is:%d", temp);printf("\n Armstrong no is:%d", temp); }} number++;number++; }}}}

Page 59: Unit 1   c - all topics

Swapping Binary number using XOR operator

#include <stdio.h>#include <stdio.h> void main()void main(){{ long i, k;long i, k; printf("Enter two integers \n");printf("Enter two integers \n"); scanf("%ld %ld", &i, &k);scanf("%ld %ld", &i, &k); printf("\n Before swapping i= %ld and k = %ld", i, k);printf("\n Before swapping i= %ld and k = %ld", i, k); i = i ^ k;i = i ^ k; k = i ^ k;k = i ^ k; i = i ^ k;i = i ^ k; printf("\n After swapping i= %ld and k = %ld", i, k);printf("\n After swapping i= %ld and k = %ld", i, k);}}