Difference between revisions of "C-and-C++/C3/Loops/English"

From Script | Spoken-Tutorial
Jump to: navigation, search
Line 22: Line 22:
 
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| In this tutorial we will learn,
 
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| In this tutorial we will learn,
  
for loop,
+
*'''for''' loop
  
while loop and
+
*'''while''' loop and
  
do…while loop.
+
*'''do…while''' loop
  
 
We will do this with the help of some examples.
 
We will do this with the help of some examples.
Line 38: Line 38:
  
 
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| To record this tutorial, I am using
 
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| To record this tutorial, I am using
 
+
*'''Ubuntu Operating System''' version 11.04
'''Ubuntu Operating System''' version 11.04
+
*'''gcc''' and '''g++''' '''Compiler''' version 4.6.1 on '''Ubuntu'''.
 
+
'''gcc''' and '''g++''' '''Compiler''' version 4.6.1 on Ubuntu.
+
  
 
|-
 
|-
Line 53: Line 51:
 
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| Depending on the purpose they are divided into three types:
 
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| Depending on the purpose they are divided into three types:
  
'''while''' loop
+
*'''while''' loop
  
'''do…..while '''loop
+
*'''do…..while '''loop
  
'''for''' loop
+
*'''for''' loop
  
 
|-
 
|-
Line 65: Line 63:
 
A '''while''' loop tests the condition in the beginning.
 
A '''while''' loop tests the condition in the beginning.
  
The structure is as follows
+
The structure is-
  
 
'''while''' ( condition )  
 
'''while''' ( condition )  
Line 81: Line 79:
 
A '''do..while '''loop is executed at least once before the condition could be validated.
 
A '''do..while '''loop is executed at least once before the condition could be validated.
  
The structure is as follows
+
The structure is-
  
 
'''do''' { (within the brackets)
 
'''do''' { (within the brackets)
Line 96: Line 94:
 
|-
 
|-
 
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.035cm;padding-right:0.035cm;"|  
 
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.035cm;padding-right:0.035cm;"|  
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| Now let us see an example on while and do...while loop.
+
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| Now let us see an example on '''while''' and '''do...while''' loop.
  
 
I have already typed the code on the editor.
 
I have already typed the code on the editor.
Line 108: Line 106:
 
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| Note that our filename is '''while.c'''
 
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| Note that our filename is '''while.c'''
  
Today we are going to learn addition of first 10 numbers using while loop.
+
Today we are going to learn addition of first 10 numbers using '''while''' loop.
  
 
Let me explain the code now.
 
Let me explain the code now.
Line 128: Line 126:
  
 
'''int y=0;'''
 
'''int y=0;'''
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| Inside the '''main '''function we have declared two integer variables x and y.
+
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| Inside the '''main '''function we have declared two '''integer variables x''' and '''y'''.
  
 
And initialized to 0.
 
And initialized to 0.
 
 
 
  
 
|-
 
|-
Line 147: Line 142:
  
 
'''}'''
 
'''}'''
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| This is our while loop.
+
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| This is our '''while''' loop.
  
 
|-
 
|-
 
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.035cm;padding-right:0.035cm;"| Highlight '''<nowiki>while(x<=10)</nowiki>'''
 
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.035cm;padding-right:0.035cm;"| Highlight '''<nowiki>while(x<=10)</nowiki>'''
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| The condition of the while loop is x is less than or equal to 10.
+
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| The condition of the '''while''' loop is '''x is less than or equal to 10'''
  
 
|-
 
|-
Line 183: Line 178:
  
 
'''Ctrl, Alt and T''' keys simultaneously
 
'''Ctrl, Alt and T''' keys simultaneously
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| Please Open the terminal by pressing '''Ctrl, Alt and T''' keys simultaneously.
+
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| Please open the '''terminal''' by pressing '''Ctrl, Alt and T''' keys simultaneously.
  
 
|-
 
|-
Line 189: Line 184:
  
 
'''gcc while.c -o while'''
 
'''gcc while.c -o while'''
 
To execute,
 
  
 
Type
 
Type
Line 199: Line 192:
 
'''gcc while.c -o while'''
 
'''gcc while.c -o while'''
  
To execute,
+
Press '''Enter'''.
  
Type
+
Type '''./while'''
  
'''./while'''
+
Press '''Enter'''.
  
 
|-
 
|-
Line 210: Line 203:
 
'''Output 55'''
 
'''Output 55'''
 
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| The output is displayed.
 
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| The output is displayed.
 
 
  
  
 
|-
 
|-
 
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.035cm;padding-right:0.035cm;"|  
 
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.035cm;padding-right:0.035cm;"|  
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| Now let us see the working of while loop.
+
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| Now let us see the working of '''while''' loop.
  
 
Let me resize the windows.
 
Let me resize the windows.
Line 222: Line 213:
 
|-
 
|-
 
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.035cm;padding-right:0.035cm;"| Highlight the output.
 
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.035cm;padding-right:0.035cm;"| Highlight the output.
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| Here 1st the value of x and y is 0.
+
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| Here 1st the value of '''x''' and''' y''' is 0.
  
 
|-
 
|-
 
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.035cm;padding-right:0.035cm;"| Highlight the output.
 
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.035cm;padding-right:0.035cm;"| Highlight the output.
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| This is our while condition.
+
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| This is our '''while''' condition.
  
Here we check whether the value of x is less than or equal to 10.
+
Here we check whether the value of '''x''' is less than or equal to 10.
  
Which means the values of x will be from 0 to 10.
+
Which means the values of '''x''' will be from 0 to 10.
  
Then we add y + x ie 0 + 0
+
Then we add '''y + x''' ie 0 + 0
  
 
We get 0.
 
We get 0.
  
We print the value of y
+
We print the value of '''y'''
  
 
Here we get 0.
 
Here we get 0.
  
Then x is incremented.  
+
Then '''x''' is incremented.  
  
Which means now the value of x will be 1.
+
Which means now the value of '''x''' will be 1.
  
 
Then we will check the condition again.
 
Then we will check the condition again.
  
1 is less than or equal to 10
+
1 is less than or equal to 10.
  
If the condition is true then we will add the values.
+
If the condition is '''true''', then we will add the values.
  
Y ie 0 + x ie 1.
+
'''y''' ie 0; ''' + x''' ie 1.
  
 
0+1 is 1.
 
0+1 is 1.
Line 256: Line 247:
 
We print the value as 1.
 
We print the value as 1.
  
Again x is incremented.  
+
Again '''x''' is incremented.  
  
Now the value of x is 2.
+
Now the value of '''x''' is 2.
  
 
We check the condition again.
 
We check the condition again.
Line 264: Line 255:
 
2 is less than or equal to 10
 
2 is less than or equal to 10
  
If the condition is true then we will add the values.
+
If the condition is '''true''', then we will add the values
  
ie 1+2
+
ie 1+2 which will give 3.
 
+
which will give 3.
+
  
 
We print the value as 3.
 
We print the value as 3.
  
Like this it will go on upto x is less than or equal to 10.
+
Like this it will go on upto '''x''' is less than or equal to 10.
  
 
|-
 
|-
Line 280: Line 269:
 
|-
 
|-
 
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.035cm;padding-right:0.035cm;"| Point the cursor to the filename.  
 
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.035cm;padding-right:0.035cm;"| Point the cursor to the filename.  
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| Here is our program. Note that our fielname''' '''is''' do-while.c'''
+
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| Here is our program. Note that our fielname is''' do-while.c'''
  
 
|-
 
|-
Line 286: Line 275:
 
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| This part is already explained in the previous program.
 
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| This part is already explained in the previous program.
  
So let us move on to our do-while loop.
+
So let us move on to our '''do-while''' loop.
  
Here first the body of the loop will be executed.
+
Here first the body of the loop will be executed and then the condition is checked.
 
+
And then the condition is checked.
+
  
 
|-
 
|-
Line 302: Line 289:
 
|-
 
|-
 
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.035cm;padding-right:0.035cm;"|  
 
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.035cm;padding-right:0.035cm;"|  
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| The logic is same as in while program.
+
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| The logic is same as in '''while''' program.
  
 
Now let us execute the program.
 
Now let us execute the program.
Line 308: Line 295:
 
|-
 
|-
 
| style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding:0cm;"| On the terminal.
 
| style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding:0cm;"| On the terminal.
| style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0cm;"| Come back to the terminal.
+
| style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0cm;"| Come back to our '''terminal'''.
  
  
Line 321: Line 308:
  
 
'''./do'''
 
'''./do'''
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| Type:
+
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| Type: '''gcc do-while.c -o do'''
  
'''gcc do-while.c -o do'''
+
Press '''Enter'''.
  
Type:
+
Type: '''./do'''
  
'''./do'''
+
Press '''Enter'''.
  
 
|-
 
|-
Line 335: Line 322:
 
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| We can see that the output is similar to the while program.
 
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| We can see that the output is similar to the while program.
  
Now let us see the working of do-while loop.
+
Now let us see the working of '''do-while''' loop.
  
 
|-
 
|-
Line 343: Line 330:
 
|-
 
|-
 
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.035cm;padding-right:0.035cm;"| Highlight the output.
 
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.035cm;padding-right:0.035cm;"| Highlight the output.
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| Here the value of x and y is 0.
+
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| Here the value of '''x''' and '''y''' is 0.
  
we add those values.
+
We add those values.
  
 
Then we will get 0.
 
Then we will get 0.
  
Now the value of y is 0
+
Now the value of '''y''' is 0
  
 
We print the value as 0.
 
We print the value as 0.
  
Then x is incremented by 1.  
+
Then '''x''' is incremented by 1.  
  
Which means now the value of x is 1.
+
Which means now the value of '''x''' is 1.
  
 
Then the condition will be checked.
 
Then the condition will be checked.
Line 361: Line 348:
 
You can see that the body of the loop is executed first.
 
You can see that the body of the loop is executed first.
  
Anyhow if the condition is false then also we get a value ie 0.
+
Anyhow if the condition is '''false''', then also we get a value ie 0.
  
 
Now here we will check whether 1 is less than or equal to 10.
 
Now here we will check whether 1 is less than or equal to 10.
  
The condition is true, again we will add the values.
+
The condition is '''true''', again we will add the values.
  
 
Now 0+1
 
Now 0+1
  
Then we will print the value of y as 1.
+
Then we will print the value of '''y''' as 1.
  
 
|-
 
|-
 
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.035cm;padding-right:0.035cm;"| Highlight the output.
 
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.035cm;padding-right:0.035cm;"| Highlight the output.
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| Again x will be incremented.
+
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| Again, '''x''' will be incremented.
  
Now the value of x will be 2.
+
Now the value of '''x''' will be 2.
  
 
Then we check 2 is less than or equal to 10.
 
Then we check 2 is less than or equal to 10.
Line 385: Line 372:
 
1+2 is 3.
 
1+2 is 3.
  
We print the value of y as 3.
+
We print the value of '''y''' as 3.
  
 
|-
 
|-
 
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.035cm;padding-right:0.035cm;"|  
 
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.035cm;padding-right:0.035cm;"|  
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| Like this the conditions will be checked till the value of x will be less than or equal to 10.
+
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| Like this, the conditions will be checked till the value of '''x''' will be less than or equal to 10.
  
 
|-
 
|-
 
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.035cm;padding-right:0.035cm;"| Highlight '''return 0;'''
 
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.035cm;padding-right:0.035cm;"| Highlight '''return 0;'''
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| And this is our return statement.
+
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| And this is our '''return statement'''.
  
 
|-
 
|-
 
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.035cm;padding-right:0.035cm;"| Highlight the '''semicolon'''
 
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.035cm;padding-right:0.035cm;"| Highlight the '''semicolon'''
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| Note that here the while condition ends with a semicolon.
+
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| Note that here, the '''while''' condition ends with a '''semicolon'''.
  
 
|-
 
|-
 
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.035cm;padding-right:0.035cm;"|  
 
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.035cm;padding-right:0.035cm;"|  
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| In While loop the condition does not ends with a semicolon.
+
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| In '''while''' loop, the condition does not ends with a '''semicolon'''.
  
 
|-
 
|-
Line 410: Line 397:
  
 
The logic and implementation are same as in our C program.
 
The logic and implementation are same as in our C program.
 
  
 
|-
 
|-
Line 421: Line 407:
 
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| There are a few changes.
 
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| There are a few changes.
  
Like the header file as iostream in place of stdio.h
+
Like the header file as '''iostream''' in place of '''stdio.h'''
  
We have included the using statement here. Using namespace std;
+
We have included the''' using''' statement here:
 +
 
 +
'''using namespace std;'''
  
 
|-
 
|-
Line 436: Line 424:
 
'''<nowiki>cout<< </nowiki>'''
 
'''<nowiki>cout<< </nowiki>'''
  
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| And here we have used cout function in place of printf function
+
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| And here we have used '''cout''' function in place of '''printf''' function.
 
+
  
 
|-
 
|-
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.035cm;padding-right:0.035cm;"| Highlight '''structure of while loop'''
+
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.035cm;padding-right:0.035cm;"| Highlight structure of '''while''' loop.
  
 
'''<nowiki>while(x<=10)</nowiki>'''
 
'''<nowiki>while(x<=10)</nowiki>'''
Line 451: Line 438:
  
 
'''}'''
 
'''}'''
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| The structure of while loop is same as in our C program.
+
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| The structure of '''while''' loop is same as in our '''C''' program.
  
 
|-
 
|-
Line 457: Line 444:
 
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"|Let us execute the program.  
 
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"|Let us execute the program.  
  
Come back to our terminal.
+
Come back to our '''terminal'''.
  
 
|-
 
|-
Line 468: Line 455:
  
  
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| type g++ while.cpp -o while1
+
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| Type '''g++ while.cpp -o while1'''
  
'''Press Enter'''
+
Press '''Enter'''.
  
type ./while1
+
Type '''./while1'''
'''Press Enter'''
+
  
 +
Press '''Enter'''.
  
We can see that the output is similar to our while program in C.
+
We can see that the output is similar to our '''while''' program in''' C'''.
 
|-
 
|-
 
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.035cm;padding-right:0.035cm;"| Highlight the filename '''do….while''' loop
 
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.035cm;padding-right:0.035cm;"| Highlight the filename '''do….while''' loop
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| Now let us see the '''do….while''' program in C++
+
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| Now let us see the '''do….while''' program in '''C++'''
 
Come back to our text editor.
 
Come back to our text editor.
  
Line 494: Line 481:
 
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"|Rest of the things are similar.
 
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"|Rest of the things are similar.
 
Let us execute the program.
 
Let us execute the program.
Come back to our terminal.
+
 
 +
 
 +
Come back to our '''terminal'''.
  
 
|-
 
|-
Line 506: Line 495:
 
'''Press Enter'''
 
'''Press Enter'''
  
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"|type g++ do-while.cpp -o do1
+
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"|Type '''g++ do-while.cpp -o do1'''
'''Press Enter'''
+
  
type
+
Press '''Enter'''
./do1
+
'''Press Enter'''
+
  
We can see that the output is similar to our do-while program in C.
+
Type  '''./do1'''
 +
 
 +
Press '''Enter'''.
 +
 
 +
We can see that the output is similar to our '''do-while''' program in '''C'''.
  
 
|-
 
|-
Line 519: Line 509:
  
 
'''Output'''
 
'''Output'''
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| Now we will see some common errors and their solutions.
+
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| Now, we will see some common errors and their solutions.
  
  
Line 530: Line 520:
 
|-
 
|-
 
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.035cm;padding-right:0.035cm;"| '''int x=0;'''
 
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.035cm;padding-right:0.035cm;"| '''int x=0;'''
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| Now we look at the while loop.
+
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| Suppose here, I will not increment the value of '''x'''.
  
Suppose here I will not increment the value of x.
+
Click on '''Save'''.
Click on Save.
+
Come back to our terminal.
+
  
 +
Come back to our '''terminal'''.
  
 
|-
 
|-
Line 541: Line 530:
  
 
'''Compile and execute'''
 
'''Compile and execute'''
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| Let us execute the program again.
+
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| Let me clear the prompt.
  
Press the up arrow key
+
Let us execute the program again.
  
Again press the up-arrow key.
+
Press the up arrow key.
  
 +
Again press the up-arrow key.
  
 
|-
 
|-
Line 558: Line 548:
 
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| The output is displayed.
 
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| The output is displayed.
  
We can see anumber of zeros.
+
We can see a number of zeros.
  
This is because the loop does not have a terminating condition. It is known as infinite loop.
+
This is because the loop does not have a terminating condition. It is known as '''infinite loop'''.
  
Infinite loop can cause the system to become unresponsive.
+
'''Infinite loop''' can cause the system to become unresponsive.
  
It causes the program to consume all the processes time.
+
It causes the program to consume all the '''processer time'''.
  
But it can be temrinated.
+
But it can be terminated.
  
 
|-
 
|-
Line 576: Line 566:
  
 
at line no.6
 
at line no.6
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| Come back to our program
+
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| Come back to our program.
  
Let us fix the error
+
Let us fix the error.
  
type x++ and a semicolon.
+
Type '''x++''' and a '''semicolon'''.
  
Click on Save
+
Click on '''Save'''
  
 
Let us execute again.
 
Let us execute again.
Line 590: Line 580:
  
 
'''Compile and execute'''
 
'''Compile and execute'''
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| Come back to the terminal
+
| style="border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.035cm;"| Come back to the '''terminal'''
  
 
Press the up-arrow key.
 
Press the up-arrow key.
  
Yes it is working.
+
Yes, it is working.
 
+
 
+
 
+
  
 
|-
 
|-
 
| style="background-color:transparent;border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding:0cm;"|  
 
| style="background-color:transparent;border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding:0cm;"|  
| style="background-color:transparent;border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0cm;"| This brings us to the end of tutorial on loops.
+
| style="background-color:transparent;border-top:0.05pt solid #c0c0c0;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0cm;"| This brings us to the end of this tutorial.
 
+
Let us get back to our slides.
+
  
 
We will move back to our slides.
 
We will move back to our slides.
Line 615: Line 600:
 
In this tutorial we learned,
 
In this tutorial we learned,
  
while loop
+
*'''while''' loop
  
eg. <nowiki>while(x<=10)</nowiki>
+
**eg. <nowiki>while(x<=10)</nowiki>
  
do….while loop
+
*'''do….while''' loop
  
eg. do
+
**eg. do {….} <nowiki>while(x<=10);</nowiki>
 
+
{….}
+
 
+
<nowiki>while(x<=10);</nowiki>
+
  
 
|-
 
|-
Line 635: Line 616:
 
0 1 2 3 4 5 6 7 8 9
 
0 1 2 3 4 5 6 7 8 9
  
'''Hint: '''the syntax of the for loop is  
+
'''Hint: '''the syntax of the '''for''' loop is  
  
for (var initialization; condition; var incre\decre)  
+
'''for (var initialization; condition; var incre\decre) '''
  
{
+
'''{'''
  
body  
+
'''body '''
  
}
+
'''}'''
  
 
|-
 
|-

Revision as of 13:51, 20 December 2013

Title of script: Loops in C and C++

Author: Dhawal Goyal

Keywords: Loops, for loop, while loop, do....while loop, type casting, and Video tutorial


Visual Cue
Narration
Slide 1 Welcome to the spoken tutorial on Loops in C and C++
Slide 2


In this tutorial we will learn,
  • for loop
  • while loop and
  • do…while loop

We will do this with the help of some examples.

We will also see some common errors and their solutions.

Slide 3


To record this tutorial, I am using
  • Ubuntu Operating System version 11.04
  • gcc and g++ Compiler version 4.6.1 on Ubuntu.
Slide 4 Let us start with the introduction to loops.

Loops are used to execute a group of instructions repeatedly.

Slide 5 Depending on the purpose they are divided into three types:
  • while loop
  • do…..while loop
  • for loop
Slide 6 Let us start with the while loop first.

A while loop tests the condition in the beginning.

The structure is-

while ( condition )

{ (within the brackets)

statement block

}

Slide 7 Now move on to the do….while loop

A do..while loop is executed at least once before the condition could be validated.

The structure is-

do { (within the brackets)

statement block

} (after the brackets)

while ( condition );


You can see that the condition is checked at the end.

Now let us see an example on while and do...while loop.

I have already typed the code on the editor.

Let me open it.

Point the cursor

while.c

Note that our filename is while.c

Today we are going to learn addition of first 10 numbers using while loop.

Let me explain the code now.

Highlight

#include <stdio.h>

This is our header file.
Highlight

int main()

{

int x=0;

int y=0;

Inside the main function we have declared two integer variables x and y.

And initialized to 0.

Highlight the while loop

while(x<=10)

{

y+=x;

x++;

}

This is our while loop.
Highlight while(x<=10) The condition of the while loop is x is less than or equal to 10
Highlight y+=x;

printf( "%d\n", y );

Here the value of x is added to the value of y.

The value obtained after the addition is stored in y.

Then we print the value of y.

Highlight x++; Here x is incremented.

That means the variable x is increased by one.

Highlight

return 0;

And this is our return statement.
Now let us execute the program.
Open the terminal

Ctrl, Alt and T keys simultaneously

Please open the terminal by pressing Ctrl, Alt and T keys simultaneously.
Type

gcc while.c -o while

Type

./while

To compile the program, type

gcc while.c -o while

Press Enter.

Type ./while

Press Enter.

Highlight

Output 55

The output is displayed.


Now let us see the working of while loop.

Let me resize the windows.

Highlight the output. Here 1st the value of x and y is 0.
Highlight the output. This is our while condition.

Here we check whether the value of x is less than or equal to 10.

Which means the values of x will be from 0 to 10.

Then we add y + x ie 0 + 0

We get 0.

We print the value of y

Here we get 0.

Then x is incremented.

Which means now the value of x will be 1.

Then we will check the condition again.

1 is less than or equal to 10.

If the condition is true, then we will add the values.

y ie 0; + x ie 1.

0+1 is 1.

We print the value as 1.

Again x is incremented.

Now the value of x is 2.

We check the condition again.

2 is less than or equal to 10

If the condition is true, then we will add the values

ie 1+2 which will give 3.

We print the value as 3.

Like this it will go on upto x is less than or equal to 10.

Now, we will see the same program using do….while loop
Point the cursor to the filename. Here is our program. Note that our fielname is do-while.c
Highlight the part. This part is already explained in the previous program.

So let us move on to our do-while loop.

Here first the body of the loop will be executed and then the condition is checked.

Highlight

y+=x;

Here the value of x is added to the value of y

The value obtained after the addition is stored in y.

The logic is same as in while program.

Now let us execute the program.

On the terminal. Come back to our terminal.


Switch to terminal

Type:

gcc do-while.c -o do

Type:

./do

Type: gcc do-while.c -o do

Press Enter.

Type: ./do

Press Enter.

Highlight

Output

We can see that the output is similar to the while program.

Now let us see the working of do-while loop.

Let me resize the windows.
Highlight the output. Here the value of x and y is 0.

We add those values.

Then we will get 0.

Now the value of y is 0

We print the value as 0.

Then x is incremented by 1.

Which means now the value of x is 1.

Then the condition will be checked.

You can see that the body of the loop is executed first.

Anyhow if the condition is false, then also we get a value ie 0.

Now here we will check whether 1 is less than or equal to 10.

The condition is true, again we will add the values.

Now 0+1

Then we will print the value of y as 1.

Highlight the output. Again, x will be incremented.

Now the value of x will be 2.

Then we check 2 is less than or equal to 10.

We will go back here.

Then we will add the values.

1+2 is 3.

We print the value of y as 3.

Like this, the conditions will be checked till the value of x will be less than or equal to 10.
Highlight return 0; And this is our return statement.
Highlight the semicolon Note that here, the while condition ends with a semicolon.
In while loop, the condition does not ends with a semicolon.
On the editor NOW LET US SEE HOW TO EXECUTE THESE PROGRAMS IN C++

I have already made the program.

The logic and implementation are same as in our C program.

Point the cursor at while.cpp

Highlight

#include<iostream>

There are a few changes.

Like the header file as iostream in place of stdio.h

We have included the using statement here:

using namespace std;

Highlight

using namespace std;

This is the using statement.
Highlight

cout<<

And here we have used cout function in place of printf function.
Highlight structure of while loop.

while(x<=10)

{

y+=x;

x++;

}

The structure of while loop is same as in our C program.
On the terminal. Let us execute the program.

Come back to our terminal.

type: g++ while.cpp -o while1

Press Enter

type ./while1 Press Enter


Type g++ while.cpp -o while1

Press Enter.

Type ./while1

Press Enter.

We can see that the output is similar to our while program in C.

Highlight the filename do….while loop Now let us see the do….while program in C++

Come back to our text editor.

Highlight cout<<y<<”\n”; Here we print the value of y.
Highlight return 0; Here also there are similar changes like the header file, the using statement and the cout function.
Click on Save Rest of the things are similar.

Let us execute the program.


Come back to our terminal.

On the terminal

type g++ do-while.cpp -o do1 Press Enter

type ./do1 Press Enter

Type g++ do-while.cpp -o do1

Press Enter

Type ./do1

Press Enter.

We can see that the output is similar to our do-while program in C.

Highlight

Output

Now, we will see some common errors and their solutions.


Switch to the editor

Come back to our text editor.

int x=0; Suppose here, I will not increment the value of x.

Click on Save.

Come back to our terminal.

Switch to the terminal

Compile and execute

Let me clear the prompt.

Let us execute the program again.

Press the up arrow key.

Again press the up-arrow key.

Highlight error

Highlight Line no.8

Highlight loops1.cpp

Highlight x undeclared

The output is displayed.

We can see a number of zeros.

This is because the loop does not have a terminating condition. It is known as infinite loop.

Infinite loop can cause the system to become unresponsive.

It causes the program to consume all the processer time.

But it can be terminated.

Erase int x=0;

from line no.10

and rewrite int x=0;

at line no.6

Come back to our program.

Let us fix the error.

Type x++ and a semicolon.

Click on Save

Let us execute again.

Switch to the terminal

Compile and execute

Come back to the terminal

Press the up-arrow key.

Yes, it is working.

This brings us to the end of this tutorial.

We will move back to our slides.

Slide 10

Summary

Let us summarize.

In this tutorial we learned,

  • while loop
    • eg. while(x<=10)
  • do….while loop
    • eg. do {….} while(x<=10);
Slide 11 As an assignment

Write a program to print the following using all the loops

0 1 2 3 4 5 6 7 8 9

Hint: the syntax of the for loop is

for (var initialization; condition; var incre\decre)

{

body

}

Slide 12

About the Spoken Tutorial Project

Watch the video available at the link shown

It summarizes the Spoken Tutorial project

If you do not have good bandwidth, you can download and watch it

Slide 13

Spoken Tutorial Workshops


The Spoken Tutorial Project Team

Conducts workshops using spoken tutorials

Gives certificates to those who pass an online test

For more details, please write to,

contact@spoken-tutorial.org

Slide Number 14


Acknowledgement

Spoken Tutorial Project is a part of the Talk to a Teacher project

It is supported by the National Mission on Education through ICT, MHRD, Government of India

More information on this Mission is available at: http://spoken-tutorial.org\NMEICT-Intro

This is Dhawal Goyal from IIT Bombay signing off

Thank You for joining.

Contributors and Content Editors

Ashwini, Nancyvarkey