introduction to c part -1

Post on 10-Nov-2014

285 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

Recall

• What is a variable?• How doe the CPU Execution flow

occurs? Random or sequential?• What are the options to control the

normal flow of executions?• What is a function? When do we use

functions?

Introduction to CWeek 2

How does human perform simple task; for Eg: add 456 and 44

Add 456 and 44 500

How does human perform simple task; Eg: add 456 and 44

1 We Hear it through our input senses

2 We store the numbers 456 and 44 in our memory

456

44

456+44 3 We calculate the result in our brain and store it in memory

5003 We say the answer through our output senses

1 Computer use keyboard to receive inputs

2 Computer store the numbers 456 and 44 in Ram

456

44

456+44

3Computer calculate the result in CPU (ALU within CPU) and stores result back in ram

5004 Computer use monitor to display outputs

How does computer perform simple task; Eg: add 456 and 44

– Start

– Get two numbers and store them

– Add them and store the result

– Print the answer

– End

Algorithm

– Start

– Get two numbers and store them

– Add them and store the result

– Print the answer

– End

Main{

int a,b,c;a=456,b=44;

c= a+b;

// something to print the value from c, will discuss soon

}

Algorithm Vs Program

50044

456ba

c

main(){

int a=456, b=44,c;

c= a+b;

printf (“%d”,c); // So who defined this function?? Where is it located?

}

#include < stdio.h >main(){

int a=456, b=44,c;

c= a+b;

printf (“%d”,c);

}

........Printf(..){........}Scanf (..){.....}

Stdio . h

Printf()

• Printf(“%d”,c)–%d refers to Format specifier which

is used to specify the type and format of the data to be taken to the stream and to be printed on screen• %f -> for float data type• %c for Char data type• %s for string data type

–c refers to the value of location named c

50044

456ba

c

–%d refers to Format specifies which is used to specify the type and format of the data to be retrieved from the stream and stored into the locations pointed by &a.

–&a refers to the memory address of location named a

scanf()

Complete Program

#include < stdio.h >main(){

int a,b,c;Scanf(“%d %d”,&a,&b);c= a+b;

printf (“%d”,c);

}

Elements of C

• Variables• Operators• Control structures

Decision Loops

• functions

Variables in C

Variables

int a;Data type variable name

Variables

Data type• Data type is the type of data we are going to store in the reserved Ram location.• We need to specify the data type so that size to be allocated will be done automatically.

Int -> reserves 2 bytes of memory Char -> reserves 1 byte of memory float -> reserves 4 bytes of memory

Variable Name• Variable is the name we give to access the value from the memory space we allocate. • Variable name should begin with characters or _ ;But it can contain numeric values Eg: int _hai123, char h12h; int 123Hai // ERROR .variable name should not begin with numeric values

Variables

• Naming a Variable–Must be a valid identifier.–Must not be a keyword– Names are case sensitive.– Variables are identified by only first 32

characters.– Library commonly uses names

beginning with _.– Naming Styles: Uppercase style and

Underscore style– lowerLimit lower_limit– incomeTax income_tax

Decisions in C

N Y

Start

i=1

If i<100

Print iStop

Print all the numbers up to 100

i=i+1

Decisions

• Eg: if(i=100){ printf(“You are a low performer”);

}else{printf(“You are a top performer”);

}

Nested if• Eg: if(i==0)

{ printf(“You are a low performer”);}else if(i==200){

printf(“You are a top performer”);}Else if (i==300){…}

What is “=“ and “==“

=– As discussed earlier = is used to assign

a value into a location we reserved already/or to assign value in to a variable

– Eg: a=10

==– Is used to check whether the value of a

variable is equal to the value provided in the other side of operand

switchSwitch(i){Case 0:

printf(“poor performer”);break;

Case 100: printf(“Good performer”);break;

Case default: printf(“performer”);break;

}

switchSwitch(i){Case 0:

printf(“poor performer”);break;

Case 100: printf(“Good performer”);break;

Case default: printf(“performer”);break;

}

if(i==0){printf(“Poor Performer”);}else if(i==100){printf(“Good performer”);}Else {Printf(“performer”);}

Loops in c

N Y

Start

i=1

If i<100

Print iStop

Print all the numbers up to 100

i=i+1

Loops in C

• For loop• While Loop• Do While Loop

For Loop

for (i=0;i<50;i++)

{printf(“%d ”, i);

} // {braces} are not necessary if there is only one statement inside for loop

Step 1 : i=0 : initialization

Step 2 : i<50 : if true step 3

or else step 6

Step 3 : { executes }

Step 4 : i++Step 5 : repeat

from step 2Step 6 : Stop

While Loop

i=0;While(i<50){printf(“%d ”, i); i++;

} // {braces} are not necessary if there is only one statement inside loop

Step 1 : i=0 : initialization

Step 2 : i<50 : if true step 3

or else step 6

Step 3 : { executes }

Step 4 : i++Step 5 : repeat

from step 2Step 6 : Stop

Do while Loop

i=0;Do{printf(“%d ”, i); i++;

} While(i<50)

Step 1 : i=0 : initialization

Step 3 : { executes }

Step 4 : i++

Step 2 : i<50 : if true step 3 or else step 6

Step 5 : repeat from step 2

Step 6 : Stop

Other Control statements

• Break Statements– The break statement terminates the

execution of the nearest enclosing do, for, switch, or while statement in which it appears.

• Continue statements– The continue statement works like

the break statement. Instead of forcing termination, however, continue forces the next iteration of the loop to take place, skipping any code in between.

Exampleint a = 10; while( a < 20 ) {

printf("value of a: %d \n", a); a++; if( a > 15) {break;}

}

Example

int a = 10; while( a < 20 ) {

printf("value of a: %d \n", a); a++; if( a > 15) {break;

}}

Outputvalue of a: 10 value of a: 11 value of a: 12 value of a: 13 value of a: 14 value of a: 15

Exampleint a = 10; do {

If( a == 15) {

a = a + 1; continue;

} printf("value of a: %d\n", a);

a++; } while( a < 20 );

Exampleint a = 10; do {

If( a == 15) {

a = a + 1; continue;

} printf("value of a: %d\n", a);

a++; } while( a < 20 );

Outputvalue of a: 10 value of a: 11 value of a: 12 value of a: 13 value of a: 14 value of a: 16 value of a: 17 value of a: 18 value of a: 19

Operators• Arithmetic Operators

+, - , *, / and the modulus operator %.

• Relational operators<, <=, > >=, ==, !=

• Logical operators&&, ||, ! eg : If (a<10

&& b>9)• Assignment Operators

=, += ,-= eg: a+=10//same as a=a+10

• Increment and decrement operators

--,++

Difference between i++ and ++i

• ++i Increments i by one, then returns i.

• i++ Returns i, then increments i by one.

i=10,j=20Z=++i;W=j++;Printf(“%d %d”, z,w); // w=20; z=11

Questions?“A good question deserve a

good grade…”

Self Check !!

Self-Check

• What is a difference between a declaration and a definition of a variable?

– Both can occur multiple times, but a declaration must occur first. 

– There is no difference between them. – A definition occurs once, but a

declaration may occur many times. – A declaration occurs once, but a

definition may occur many times.– Both can occur multiple times, but a

definition must occur first.

Self-Check

• What is a difference between a declaration and a definition of a variable?

– Both can occur multiple times, but a declaration must occur first. 

– There is no difference between them. – A definition occurs once, but a

declaration may occur many times. – A declaration occurs once, but a

definition may occur many times.– Both can occur multiple times, but a

definition must occur first.

Self-Check

• How many times “baabtra“ get printed?

main(){ int x; for(x=-1; x<=10; x++) { if(x < 5) continue; else break; printf(“baabtra"); } }

1.Infinite times

2.11 Times3.0 times4.10 times

Self-Check

• How many times “baabtra“ get printed?

main(){ int x; for(x=-1; x<=10; x++) { if(x < 5) continue; else break; printf(“baabtra"); } }

1.Infinite times

2.11 Times3.0 times4.10 times

Self-Check

What is the output of the following program?void main(){ int i=10; switch(i) { case 1: printf(" i=1"); break; case 10: printf(" i=10"); case 11: printf(" i=11"); break; case 12: printf(" i=12"); }}

1.i=10 i=11 i=12

2.i=1 i=10 i=11 i=12

3.i=10 i=114.None of

above

Self-Check

What is the output of the following program?void main(){ int i=10; switch(i) { case 1: printf(" i=1"); break; case 10: printf(" i=10"); case 11: printf(" i=11"); break; case 12: printf(" i=12"); }}

1.i=10 i=11 i=12

2.i=1 i=10 i=11 i=12

3.i=10 i=114.None of

above

Self-Check

What is the output of the following program? void main(){ int i=1,j=1; while (++i < 10) printf("%d ",i); printf("\n"); while (j++ < 10) printf("%d ",j);}

1 2 3 4 5 6 7 8 9 101 2 3 4 5 6 7 8 9 10

1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 10

2 3 4 5 6 7 8 92 3 4 5 6 7 8 9 10

2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 10

Self-Check

What is the output of the following program? void main(){ int i=1,j=1; while (++i < 10) printf("%d ",i); printf("\n"); while (j++ < 10) printf("%d ",j);}

1 2 3 4 5 6 7 8 9 101 2 3 4 5 6 7 8 9 10

1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 10

2 3 4 5 6 7 8 92 3 4 5 6 7 8 9 10

2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 10

End of Day 1

top related