Unit 1 c - all topics
-
Upload
veningstonk -
Category
Education
-
view
10 -
download
0
Transcript of 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
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
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
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.
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
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.)
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()
Preprocessor DirectivesPreprocessor Directives
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
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
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
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.
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.
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 )
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
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()
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 (%)
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
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
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
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
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..
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
Conditional/Decision Control Statements
• Simple if• if… else• nested if… else• If else ladder
– if… else if… else
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);}}
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();}}
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");}}
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
…………......
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;}}
?: - 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
Loop Control/ Iterative Statements
• while loop• for loop• do-while loop
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))} }
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;
} }
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;
} }
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
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
Jump Statement
• break• continue• goto
break Statements• break;
– break is used in terminating the loop immediately after it is encountered
Flow diagram of break
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;}}
#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;
}}
continue Statements• continue;
– It is sometimes desirable to skip some statements inside the loop. In such cases, continue statements are used
Flow diagram of continue
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: ??
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:
?
goto statement
• Syntax:
#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…”
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
#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
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;}
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]
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
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]
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;
}}
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
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;}
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++; }}}}
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);}}