Difference between revisions of "C-and-C++/C2/First-C-Program/English-timed"
From Script | Spoken-Tutorial
PoojaMoolya (Talk | contribs) |
|||
Line 1: | Line 1: | ||
{| border = 1 | {| border = 1 | ||
− | | | + | |Time |
− | | | + | |Narration |
|- | |- | ||
− | | 00 | + | | 00:01 |
− | | | + | | Welcome to the spoken tutorial on First C program. |
|- | |- | ||
− | | 00 | + | | 00:05 |
| In this tutorial, we will learn | | In this tutorial, we will learn | ||
|- | |- | ||
− | | 00 | + | | 00:08 |
| How to write a simple C program | | How to write a simple C program | ||
|- | |- | ||
− | | 00 | + | | 00:11 |
| How to compile it | | How to compile it | ||
|- | |- | ||
− | | 00 | + | | 00:13 |
| How to execute it | | How to execute it | ||
|- | |- | ||
− | | 00 | + | | 00:14 |
|We will also explain some common errors and their solutions. | |We will also explain some common errors and their solutions. | ||
|- | |- | ||
− | |00 | + | |00:18 |
− | + | | To record this tutorial, I am using | |
|- | |- | ||
− | | 00 | + | | 00:21 |
|Ubuntu operating system version 11.10 and gcc Compiler version 4.6.1 on Ubuntu | |Ubuntu operating system version 11.10 and gcc Compiler version 4.6.1 on Ubuntu | ||
|- | |- | ||
− | | 00 | + | | 00:31 |
| To practice this tutorial, | | To practice this tutorial, | ||
|- | |- | ||
− | | 00 | + | | 00:33 |
|You should be familiar with Ubuntu Operating System and an Editor | |You should be familiar with Ubuntu Operating System and an Editor | ||
|- | |- | ||
− | | 00 | + | | 00:38 |
|Some editors are '''vim''' and '''gedit''' | |Some editors are '''vim''' and '''gedit''' | ||
|- | |- | ||
− | | 00 | + | | 00:42 |
|I will use gedit in this tutorial | |I will use gedit in this tutorial | ||
|- | |- | ||
− | | 00 | + | | 00:45 |
|For relevant tutorials please visit our website which is as shown | |For relevant tutorials please visit our website which is as shown | ||
|- | |- | ||
− | |00 | + | |00:51 |
| Let me tell you how to write a C program through an example | | Let me tell you how to write a C program through an example | ||
|- | |- | ||
− | | 00 | + | | 00:55 |
|Open the terminal window by pressing '''Ctrl, Alt and T '''keys simultaneously on your keyboard. | |Open the terminal window by pressing '''Ctrl, Alt and T '''keys simultaneously on your keyboard. | ||
|- | |- | ||
− | | 01 | + | | 01:07 |
| Now let's open the text editor. So, at the prompt, type | | Now let's open the text editor. So, at the prompt, type | ||
|- | |- | ||
− | | 01 | + | | 01:12 |
|'''“gedit”''' space '''“talk”''' dot '''“c”''' space “&”''' sign. | |'''“gedit”''' space '''“talk”''' dot '''“c”''' space “&”''' sign. | ||
|- | |- | ||
− | | 01 | + | | 01:20 |
|'''We use ampersand (&) to free up the prompt ''' | |'''We use ampersand (&) to free up the prompt ''' | ||
|- | |- | ||
− | | 01 | + | | 01:24 |
| Please note that all the '''C''' files will have extension dot '''“c”''' | | Please note that all the '''C''' files will have extension dot '''“c”''' | ||
|- | |- | ||
− | |01 | + | |01:30 |
| Now Press '''Enter''' | | Now Press '''Enter''' | ||
|- | |- | ||
− | | 01 | + | | 01:32 |
| the text editor has opened | | the text editor has opened | ||
|- | |- | ||
− | | 01 | + | | 01:36 |
| Let us start to write a program | | Let us start to write a program | ||
|- | |- | ||
− | | 01 | + | | 01:39 |
| Type double slash '''“//”''' space | | Type double slash '''“//”''' space | ||
|- | |- | ||
− | | 01 | + | | 01:42 |
|'''“My first C program”.''' | |'''“My first C program”.''' | ||
|- | |- | ||
− | |01 | + | |01:48 |
| Here, double slash is used to comment the line | | Here, double slash is used to comment the line | ||
|- | |- | ||
− | | 01 | + | | 01:52 |
|Comments are used to understand the flow of program | |Comments are used to understand the flow of program | ||
|- | |- | ||
− | | 01 | + | | 01:56 |
|It is useful for documentation | |It is useful for documentation | ||
|- | |- | ||
− | | 01 | + | | 01:58 |
|It gives us information about the program | |It gives us information about the program | ||
|- | |- | ||
− | | 02 | + | | 02:01 |
|The double slash is called as single line comment. | |The double slash is called as single line comment. | ||
|- | |- | ||
− | | 02 | + | | 02:07 |
| Now press '''Enter''' | | Now press '''Enter''' | ||
|- | |- | ||
− | |02 | + | |02:09 |
|Type hash '''“#include”''' space opening bracket , closing bracket''' | |Type hash '''“#include”''' space opening bracket , closing bracket''' | ||
|- | |- | ||
− | | 02 | + | | 02:17 |
| It is always a good practice to complete the brackets first, and then start writing inside it | | It is always a good practice to complete the brackets first, and then start writing inside it | ||
|- | |- | ||
− | | 02 | + | | 02:24 |
| Now Inside the bracket, type'''“stdio”''' “(dot).” “'''h” ''' | | Now Inside the bracket, type'''“stdio”''' “(dot).” “'''h” ''' | ||
|- | |- | ||
− | | 02 | + | | 02:30 |
| '''stdio.h''' is a '''header file''' | | '''stdio.h''' is a '''header file''' | ||
|- | |- | ||
− | | 02 | + | | 02:33 |
|A '''program''' must contain this header file when it uses standard '''input/output functions''' | |A '''program''' must contain this header file when it uses standard '''input/output functions''' | ||
|- | |- | ||
− | | 02 | + | | 02:41 |
|Now press Enter. | |Now press Enter. | ||
|- | |- | ||
− | | 02 | + | | 02:43 |
| type '''“int” '''space''' “main” '''opening bracket, | | type '''“int” '''space''' “main” '''opening bracket, | ||
closing bracket . | closing bracket . | ||
|- | |- | ||
− | | 02 | + | | 02:50 |
| | ' '''main''' is a special '''function''' | | | ' '''main''' is a special '''function''' | ||
|- | |- | ||
− | | 02 | + | | 02:52 |
|It denotes that the execution of the program begins from this line | |It denotes that the execution of the program begins from this line | ||
|- | |- | ||
− | | 02 | + | | 02:58 |
|The opening bracket and closing bracket is called as parenthesis. | |The opening bracket and closing bracket is called as parenthesis. | ||
|- | |- | ||
− | | 03 | + | | 03:04 |
| Parenthesis followed by '''main''' is to tell the user that '''main''' is a '''function''' | | Parenthesis followed by '''main''' is to tell the user that '''main''' is a '''function''' | ||
|- | |- | ||
− | | 03 | + | | 03:11 |
| Here the '''int''' '''main function''' takes no '''arguments''' | | Here the '''int''' '''main function''' takes no '''arguments''' | ||
|- | |- | ||
− | | 03 | + | | 03:15 |
|It returns a value of type '''integer'''. | |It returns a value of type '''integer'''. | ||
|- | |- | ||
− | | 03 | + | | 03:18 |
| We will learn about '''data types''' in another tutorial. | | We will learn about '''data types''' in another tutorial. | ||
|- | |- | ||
− | | 03 | + | | 03:23 |
| Now Let us switch to the slides to know more about '''main function'''. Let us go to the next slide. | | Now Let us switch to the slides to know more about '''main function'''. Let us go to the next slide. | ||
|- | |- | ||
− | | 03 | + | | 03:29 |
| Every '''program'''should have one main function | | Every '''program'''should have one main function | ||
|- | |- | ||
− | | 03 | + | | 03:33 |
|There should NOT be more than one main function | |There should NOT be more than one main function | ||
|- | |- | ||
− | | 03 | + | | 03:36 |
|Otherwise the compiler cannot locate the beginning of the program | |Otherwise the compiler cannot locate the beginning of the program | ||
|- | |- | ||
− | | 03 | + | | 03:41 |
|The empty pair of parentheses indicates that main has no '''arguments''' | |The empty pair of parentheses indicates that main has no '''arguments''' | ||
|- | |- | ||
− | | 03 | + | | 03:46 |
|The concept of arguments will be discussed in detail in the upcoming tutorials. | |The concept of arguments will be discussed in detail in the upcoming tutorials. | ||
|- | |- | ||
− | | 03 | + | | 03:52 |
| Now let us come back to our program. | | Now let us come back to our program. | ||
|- | |- | ||
− | | 03 | + | | 03:55 |
| Press Enter. | | Press Enter. | ||
|- | |- | ||
− | | 03 | + | | 03:58 |
| Type opening curly bracket '''“{”''' | | Type opening curly bracket '''“{”''' | ||
|- | |- | ||
− | | 04 | + | | 04:00 |
|The opening curly bracket marks the beginning of the '''function''' '''main'''. | |The opening curly bracket marks the beginning of the '''function''' '''main'''. | ||
|- | |- | ||
− | | 04 | + | | 04:04 |
|Then Type closing curly bracket '''“}”''' | |Then Type closing curly bracket '''“}”''' | ||
|- | |- | ||
− | | 04 | + | | 04:08 |
|The closing curly bracket indicates the end of the '''function''' '''main'''. | |The closing curly bracket indicates the end of the '''function''' '''main'''. | ||
|- | |- | ||
− | | 04 | + | | 04:13 |
| Now Inside the bracket press '''Enter''' twice, | | Now Inside the bracket press '''Enter''' twice, | ||
|- | |- | ||
− | | 04 | + | | 04:16 |
|move the cursor one line up | |move the cursor one line up | ||
|- | |- | ||
− | | 04 | + | | 04:20 |
| Indentation makes the code easier to read | | Indentation makes the code easier to read | ||
|- | |- | ||
− | | 04 | + | | 04:23 |
|It also helps to locate errors faster | |It also helps to locate errors faster | ||
|- | |- | ||
− | | 04 | + | | 04:25 |
|So let us give three space here | |So let us give three space here | ||
|- | |- | ||
− | | 04 | + | | 04:29 |
| And Type''' “printf” ''' opening bracket closing bracket '''“()” ''' | | And Type''' “printf” ''' opening bracket closing bracket '''“()” ''' | ||
|- | |- | ||
− | | 04 | + | | 04:34 |
|'''printf '''is a standard C function to print the output on the terminal | |'''printf '''is a standard C function to print the output on the terminal | ||
|- | |- | ||
− | | 04 | + | | 04:39 |
| Here inside the brackets, within the double quotes, | | Here inside the brackets, within the double quotes, | ||
|- | |- | ||
− | | 04 | + | | 04:43 |
|Anything within the double quotes in the printf statement will be printed on the terminal. | |Anything within the double quotes in the printf statement will be printed on the terminal. | ||
|- | |- | ||
− | | 04 | + | | 04:50 |
|Type'''“Talk To a Teacher '''backslash '''n”''' | |Type'''“Talk To a Teacher '''backslash '''n”''' | ||
|- | |- | ||
− | | 04 | + | | 04:59 |
|Backslash n '''“\n” '''signifies newline | |Backslash n '''“\n” '''signifies newline | ||
|- | |- | ||
− | | 05 | + | | 05:03 |
|As a result, after execution of the '''printf '''function, the cursor moves to the new line | |As a result, after execution of the '''printf '''function, the cursor moves to the new line | ||
|- | |- | ||
− | | 05 | + | | 05:10 |
| Every '''C''' statement must end with a '''semicolon “;”''' | | Every '''C''' statement must end with a '''semicolon “;”''' | ||
|- | |- | ||
− | | 05 | + | | 05:15 |
|Hence, type it at the end of this line. | |Hence, type it at the end of this line. | ||
|- | |- | ||
− | | 05 | + | | 05:19 |
|'''Semicolon''' acts as a statement terminator. | |'''Semicolon''' acts as a statement terminator. | ||
|- | |- | ||
− | |05 | + | |05:24 |
|Now press '''Enter''' give three space here | |Now press '''Enter''' give three space here | ||
|- | |- | ||
− | |05 | + | |05:27 |
| And type '''“return”''' space''' “0”''' and a '''semicolon''' | | And type '''“return”''' space''' “0”''' and a '''semicolon''' | ||
|- | |- | ||
− | | 05 | + | | 05:34 |
| This statement returns the integer zero | | This statement returns the integer zero | ||
|- | |- | ||
− | | 05 | + | | 05:38 |
|An integer has to be returned for this function because the function type is '''int''' | |An integer has to be returned for this function because the function type is '''int''' | ||
|- | |- | ||
− | | 05 | + | | 05:45 |
|The '''return''' statement marks the end of executable statements | |The '''return''' statement marks the end of executable statements | ||
|- | |- | ||
− | | 05 | + | | 05:51 |
|We will learn more about the returned values in another tutorial. | |We will learn more about the returned values in another tutorial. | ||
|- | |- | ||
− | | 05 | + | | 05:55 |
| Now click on"'''Save'''" button to save the file | | Now click on"'''Save'''" button to save the file | ||
|- | |- | ||
− | | 06 | + | | 06:00 |
|It is a good habit to save files frequently | |It is a good habit to save files frequently | ||
|- | |- | ||
− | | 06 | + | | 06:03 |
|This will protect you from sudden power failures | |This will protect you from sudden power failures | ||
|- | |- | ||
− | | 06 | + | | 06:05 |
|It will also be useful in case the applications were to crash. | |It will also be useful in case the applications were to crash. | ||
|- | |- | ||
− | | 06 | + | | 06:10 |
| Let us now compile the program, come back to a terminal. | | Let us now compile the program, come back to a terminal. | ||
|- | |- | ||
− | | 06 | + | | 06:15 |
|Type '''“gcc”''' space '''“talk.c”''' space hyphen “-'''o”''' space '''“myoutput”''' | |Type '''“gcc”''' space '''“talk.c”''' space hyphen “-'''o”''' space '''“myoutput”''' | ||
|- | |- | ||
− | | 06 | + | | 06:24 |
| '''gcc''' is the compiler | | '''gcc''' is the compiler | ||
|- | |- | ||
− | | 06 | + | | 06:27 |
|'''talk.c''' is our filename . | |'''talk.c''' is our filename . | ||
|- | |- | ||
− | | 06 | + | | 06:30 |
|'''-o''' '''myoutput''' says that the executable should go to the file '''myoutput''' | |'''-o''' '''myoutput''' says that the executable should go to the file '''myoutput''' | ||
|- | |- | ||
− | | 06 | + | | 06:37 |
| Now Press''' Enter. ''' | | Now Press''' Enter. ''' | ||
|- | |- | ||
− | | 06 | + | | 06:39 |
|We see that the program is compiled | |We see that the program is compiled | ||
|- | |- | ||
− | | 06 | + | | 06:42 |
|By typing '''ls space (hypen) -lrt''', we can see that '''myoutput''' is the last file to be created | |By typing '''ls space (hypen) -lrt''', we can see that '''myoutput''' is the last file to be created | ||
|- | |- | ||
− | | 06 | + | | 06:54 |
|To execute the program, type (dot slash)'''“./myoutput” ''' press '''Enter.''' | |To execute the program, type (dot slash)'''“./myoutput” ''' press '''Enter.''' | ||
|- | |- | ||
− | |07 | + | |07:01 |
| Here the output is displayed as '''“Talk To a Teacher”.''' | | Here the output is displayed as '''“Talk To a Teacher”.''' | ||
|- | |- | ||
− | | 07 | + | | 07:06 |
| As I said before, return is the last statement to be executed | | As I said before, return is the last statement to be executed | ||
|- | |- | ||
− | | 07 | + | | 07:10 |
|Thus after the return statement nothing will be executed. Let us try it out. | |Thus after the return statement nothing will be executed. Let us try it out. | ||
|- | |- | ||
− | |07 | + | |07:15 |
| come back to our program. | | come back to our program. | ||
|- | |- | ||
− | | 07 | + | | 07:17 |
| After the '''return''' statement, let us include one more '''printf''' statement | | After the '''return''' statement, let us include one more '''printf''' statement | ||
|- | |- | ||
− | | 07 | + | | 07:22 |
| give space here type printf opening bracket, closing bracket. | | give space here type printf opening bracket, closing bracket. | ||
|- | |- | ||
− | | 07 | + | | 07:27 |
| Inside the bracket within the double quotes type Welcome backslash n , at the end type a semicolon. | | Inside the bracket within the double quotes type Welcome backslash n , at the end type a semicolon. | ||
|- | |- | ||
− | | 07 | + | | 07:35 |
| Now click on save. | | Now click on save. | ||
|- | |- | ||
− | | 07 | + | | 07:37 |
|Let us compile and execute come back to our terminal. | |Let us compile and execute come back to our terminal. | ||
|- | |- | ||
− | |07 | + | |07:41 |
| you can recall the previously entered commands by using '''up arrow'''key. | | you can recall the previously entered commands by using '''up arrow'''key. | ||
|- | |- | ||
− | | 07 | + | | 07:46 |
|That is what I did now | |That is what I did now | ||
|- | |- | ||
− | | 07 | + | | 07:51 |
|We see that the second statements '''welcome''' is not executed | |We see that the second statements '''welcome''' is not executed | ||
|- | |- | ||
− | | 07 | + | | 07:58 |
| Now come back to our program | | Now come back to our program | ||
|- | |- | ||
− | | 08 | + | | 08:00 |
|Let us write the 'Welcome' statement above the return statement | |Let us write the 'Welcome' statement above the return statement | ||
|- | |- | ||
− | | 08 | + | | 08:06 |
| Click on Save. | | Click on Save. | ||
|- | |- | ||
− | | 08 | + | | 08:09 |
|Let us compile and execute | |Let us compile and execute | ||
|- | |- | ||
− | | 08 | + | | 08:15 |
|We see that the second '''printf''' statement ''welcome'' has also has been executed | |We see that the second '''printf''' statement ''welcome'' has also has been executed | ||
|- | |- | ||
− | | 08 | + | | 08:23 |
| Now let us see the common errors which we can come across. Come back to our program. | | Now let us see the common errors which we can come across. Come back to our program. | ||
|- | |- | ||
− | | 08 | + | | 08:29 |
| Suppose here I will the miss the dot in '''“stdio.h”''' Click on save. | | Suppose here I will the miss the dot in '''“stdio.h”''' Click on save. | ||
|- | |- | ||
− | | 08 | + | | 08:36 |
| Let us compile and execute . | | Let us compile and execute . | ||
|- | |- | ||
− | | 08 | + | | 08:41 |
|We see that | |We see that | ||
|- | |- | ||
− | | 08 | + | | 08:42 |
|There is a fatal error at line no.2 in our '''talk.c''' file. | |There is a fatal error at line no.2 in our '''talk.c''' file. | ||
|- | |- | ||
− | | 08 | + | | 08:48 |
|The compiler cannot find a '''header file''' with the name '''“stdioh”'''hence it is giving an error no such file or directory. | |The compiler cannot find a '''header file''' with the name '''“stdioh”'''hence it is giving an error no such file or directory. | ||
|- | |- | ||
− | | 08 | + | | 08:59 |
|And the compilation is terminated. | |And the compilation is terminated. | ||
|- | |- | ||
− | | 09 | + | | 09:03 |
|Let us now fix the error come back to a program.Reinsert the dot '''“.”'''click on save | |Let us now fix the error come back to a program.Reinsert the dot '''“.”'''click on save | ||
|- | |- | ||
− | | 09 | + | | 09:11 |
| Let us compile and execute. Yes It is working. | | Let us compile and execute. Yes It is working. | ||
|- | |- | ||
− | | 09 | + | | 09:19 |
| I will show you another common error | | I will show you another common error | ||
|- | |- | ||
− | |09 | + | |09:22 |
|Let us switch back to the program. | |Let us switch back to the program. | ||
|- | |- | ||
− | | 09 | + | | 09:25 |
| Now, suppose here i will miss the '''semicolon''' at the end of the line | | Now, suppose here i will miss the '''semicolon''' at the end of the line | ||
|- | |- | ||
− | | 09 | + | | 09:31 |
| Click on '''Save'''.Let us compile and execute | | Click on '''Save'''.Let us compile and execute | ||
|- | |- | ||
− | | 09 | + | | 09:41 |
| We see that there is an error at line no.6 in our talk.c file. That expected ''semicolon'' before printf. | | We see that there is an error at line no.6 in our talk.c file. That expected ''semicolon'' before printf. | ||
|- | |- | ||
− | | 09 | + | | 09:51 |
|Come back to our program. | |Come back to our program. | ||
|- | |- | ||
− | | 09 | + | | 09:54 |
|As i said before semicolon acts as a statement terminator | |As i said before semicolon acts as a statement terminator | ||
|- | |- | ||
− | | 09 | + | | 09:58 |
|So it will search for it at the end of the line.5 and at the beginning of the line.6. | |So it will search for it at the end of the line.5 and at the beginning of the line.6. | ||
|- | |- | ||
− | | 10 | + | | 10:06 |
| This is line 6 | | This is line 6 | ||
|- | |- | ||
− | | 10 | + | | 10:09 |
| This is the last place where you can put the '''semicolon''' | | This is the last place where you can put the '''semicolon''' | ||
|- | |- | ||
− | | 10 | + | | 10:12 |
|Recall that the compiler also give the error message on line 6. | |Recall that the compiler also give the error message on line 6. | ||
|- | |- | ||
− | | 10 | + | | 10:18 |
| Let us try what happens if we put the semicolon here. | | Let us try what happens if we put the semicolon here. | ||
|- | |- | ||
− | | 10 | + | | 10:23 |
| Click on '''Save''' . | | Click on '''Save''' . | ||
|- | |- | ||
− | | 10 | + | | 10:26 |
|Let us Compile and execute. | |Let us Compile and execute. | ||
|- | |- | ||
− | | 10 | + | | 10:30 |
|Yes it is working | |Yes it is working | ||
|- | |- | ||
− | | 10 | + | | 10:32 |
|Now come back to our program. Let us type the ''semicolon'' here at the end of this line. | |Now come back to our program. Let us type the ''semicolon'' here at the end of this line. | ||
− | |||
− | |||
|- | |- | ||
− | | 10 | + | | 10:40 |
| As it is a conventional practice to type the ''semicolon'' at the end of the line. | | As it is a conventional practice to type the ''semicolon'' at the end of the line. | ||
|- | |- | ||
− | | 10 | + | | 10:46 |
| Now click on save. | | Now click on save. | ||
|- | |- | ||
− | | 10 | + | | 10:49 |
| Let us Compile and execute. .Yes it is working. | | Let us Compile and execute. .Yes it is working. | ||
|- | |- | ||
− | | 10 | + | | 10:54 |
|Now let us go back to our slides. | |Now let us go back to our slides. | ||
|- | |- | ||
− | |10 | + | |10:57 |
| As an Assignment | | As an Assignment | ||
|- | |- | ||
− | | 10 | + | | 10:59 |
|Write a program to print "Welcome to the World of C" | |Write a program to print "Welcome to the World of C" | ||
|- | |- | ||
− | | 11 | + | | 11:02 |
|See what happens if '''“\n”''' is not included in the '''printf''' statement. | |See what happens if '''“\n”''' is not included in the '''printf''' statement. | ||
|- | |- | ||
− | | 11 | + | | 11:08 |
| This brings us to the end of this tutorial | | This brings us to the end of this tutorial | ||
|- | |- | ||
− | | 11 | + | | 11:12 |
| Watch the video available at the link shown below, | | Watch the video available at the link shown below, | ||
|- | |- | ||
− | | 11 | + | | 11:15 |
|It summarises the Spoken Tutorial project | |It summarises the Spoken Tutorial project | ||
|- | |- | ||
− | | 11 | + | | 11:18 |
|If you do not have good bandwidth, you can download and watch it. | |If you do not have good bandwidth, you can download and watch it. | ||
|- | |- | ||
− | | 11 | + | | 11:22 |
| The Spoken Tutorial Project Team | | The Spoken Tutorial Project Team | ||
|- | |- | ||
− | | 11 | + | | 11:24 |
|Conducts workshops using spoken tutorials | |Conducts workshops using spoken tutorials | ||
|- | |- | ||
− | | 11 | + | | 11:28 |
|Gives certificates to those who pass an online test | |Gives certificates to those who pass an online test | ||
|- | |- | ||
− | | 11 | + | | 11:31 |
|For more details, please write to contact [at] spoken hyphen tutorial dot org | |For more details, please write to contact [at] spoken hyphen tutorial dot org | ||
|- | |- | ||
− | |11 | + | |11:38 |
| Spoken Tutorial Project is a part of the Talk to a Teacher project | | Spoken Tutorial Project is a part of the Talk to a Teacher project | ||
|- | |- | ||
− | | 11 | + | | 11:42 |
|It is supported by the National Mission on Education through ICT, MHRD, Government of India | |It is supported by the National Mission on Education through ICT, MHRD, Government of India | ||
|- | |- | ||
− | | 11 | + | | 11:47 |
|More information on this Mission is available at the link shown below: | |More information on this Mission is available at the link shown below: | ||
|- | |- | ||
− | | 11 | + | | 11:51 |
| This is Ashwini Patil from IIT Bombay signing off. Thank you for watching. | | This is Ashwini Patil from IIT Bombay signing off. Thank you for watching. | ||
|} | |} |
Revision as of 11:12, 23 June 2014
Time | Narration
|
00:01 | Welcome to the spoken tutorial on First C program. |
00:05 | In this tutorial, we will learn |
00:08 | How to write a simple C program |
00:11 | How to compile it |
00:13 | How to execute it |
00:14 | We will also explain some common errors and their solutions. |
00:18 | To record this tutorial, I am using |
00:21 | Ubuntu operating system version 11.10 and gcc Compiler version 4.6.1 on Ubuntu |
00:31 | To practice this tutorial, |
00:33 | You should be familiar with Ubuntu Operating System and an Editor |
00:38 | Some editors are vim and gedit |
00:42 | I will use gedit in this tutorial |
00:45 | For relevant tutorials please visit our website which is as shown |
00:51 | Let me tell you how to write a C program through an example |
00:55 | Open the terminal window by pressing Ctrl, Alt and T keys simultaneously on your keyboard. |
01:07 | Now let's open the text editor. So, at the prompt, type |
01:12 | “gedit” space “talk” dot “c” space “&” sign. |
01:20 | We use ampersand (&) to free up the prompt |
01:24 | Please note that all the C files will have extension dot “c” |
01:30 | Now Press Enter |
01:32 | the text editor has opened |
01:36 | Let us start to write a program |
01:39 | Type double slash “//” space |
01:42 | “My first C program”. |
01:48 | Here, double slash is used to comment the line |
01:52 | Comments are used to understand the flow of program |
01:56 | It is useful for documentation |
01:58 | It gives us information about the program |
02:01 | The double slash is called as single line comment. |
02:07 | Now press Enter |
02:09 | Type hash “#include” space opening bracket , closing bracket |
02:17 | It is always a good practice to complete the brackets first, and then start writing inside it |
02:24 | Now Inside the bracket, type“stdio” “(dot).” “h” |
02:30 | stdio.h is a header file |
02:33 | A program must contain this header file when it uses standard input/output functions |
02:41 | Now press Enter. |
02:43 | type “int” space “main” opening bracket,
closing bracket . |
02:50 | ' main is a special function |
02:52 | It denotes that the execution of the program begins from this line |
02:58 | The opening bracket and closing bracket is called as parenthesis. |
03:04 | Parenthesis followed by main is to tell the user that main is a function |
03:11 | Here the int main function takes no arguments |
03:15 | It returns a value of type integer. |
03:18 | We will learn about data types in another tutorial. |
03:23 | Now Let us switch to the slides to know more about main function. Let us go to the next slide. |
03:29 | Every programshould have one main function |
03:33 | There should NOT be more than one main function |
03:36 | Otherwise the compiler cannot locate the beginning of the program |
03:41 | The empty pair of parentheses indicates that main has no arguments |
03:46 | The concept of arguments will be discussed in detail in the upcoming tutorials. |
03:52 | Now let us come back to our program. |
03:55 | Press Enter. |
03:58 | Type opening curly bracket “{” |
04:00 | The opening curly bracket marks the beginning of the function main. |
04:04 | Then Type closing curly bracket “}” |
04:08 | The closing curly bracket indicates the end of the function main. |
04:13 | Now Inside the bracket press Enter twice, |
04:16 | move the cursor one line up |
04:20 | Indentation makes the code easier to read |
04:23 | It also helps to locate errors faster |
04:25 | So let us give three space here |
04:29 | And Type “printf” opening bracket closing bracket “()” |
04:34 | printf is a standard C function to print the output on the terminal |
04:39 | Here inside the brackets, within the double quotes, |
04:43 | Anything within the double quotes in the printf statement will be printed on the terminal. |
04:50 | Type“Talk To a Teacher backslash n” |
04:59 | Backslash n “\n” signifies newline |
05:03 | As a result, after execution of the printf function, the cursor moves to the new line |
05:10 | Every C statement must end with a semicolon “;” |
05:15 | Hence, type it at the end of this line. |
05:19 | Semicolon acts as a statement terminator. |
05:24 | Now press Enter give three space here |
05:27 | And type “return” space “0” and a semicolon |
05:34 | This statement returns the integer zero |
05:38 | An integer has to be returned for this function because the function type is int |
05:45 | The return statement marks the end of executable statements |
05:51 | We will learn more about the returned values in another tutorial. |
05:55 | Now click on"Save" button to save the file |
06:00 | It is a good habit to save files frequently |
06:03 | This will protect you from sudden power failures |
06:05 | It will also be useful in case the applications were to crash. |
06:10 | Let us now compile the program, come back to a terminal. |
06:15 | Type “gcc” space “talk.c” space hyphen “-o” space “myoutput” |
06:24 | gcc is the compiler |
06:27 | talk.c is our filename . |
06:30 | -o myoutput says that the executable should go to the file myoutput |
06:37 | Now Press Enter. |
06:39 | We see that the program is compiled |
06:42 | By typing ls space (hypen) -lrt, we can see that myoutput is the last file to be created |
06:54 | To execute the program, type (dot slash)“./myoutput” press Enter. |
07:01 | Here the output is displayed as “Talk To a Teacher”. |
07:06 | As I said before, return is the last statement to be executed |
07:10 | Thus after the return statement nothing will be executed. Let us try it out. |
07:15 | come back to our program. |
07:17 | After the return statement, let us include one more printf statement |
07:22 | give space here type printf opening bracket, closing bracket. |
07:27 | Inside the bracket within the double quotes type Welcome backslash n , at the end type a semicolon. |
07:35 | Now click on save. |
07:37 | Let us compile and execute come back to our terminal. |
07:41 | you can recall the previously entered commands by using up arrowkey. |
07:46 | That is what I did now |
07:51 | We see that the second statements welcome is not executed |
07:58 | Now come back to our program |
08:00 | Let us write the 'Welcome' statement above the return statement |
08:06 | Click on Save. |
08:09 | Let us compile and execute |
08:15 | We see that the second printf statement welcome has also has been executed |
08:23 | Now let us see the common errors which we can come across. Come back to our program.
|
08:29 | Suppose here I will the miss the dot in “stdio.h” Click on save.
|
08:36 | Let us compile and execute . |
08:41 | We see that |
08:42 | There is a fatal error at line no.2 in our talk.c file. |
08:48 | The compiler cannot find a header file with the name “stdioh”hence it is giving an error no such file or directory. |
08:59 | And the compilation is terminated. |
09:03 | Let us now fix the error come back to a program.Reinsert the dot “.”click on save
|
09:11 | Let us compile and execute. Yes It is working. |
09:19 | I will show you another common error |
09:22 | Let us switch back to the program.
|
09:25 | Now, suppose here i will miss the semicolon at the end of the line |
09:31 | Click on Save.Let us compile and execute |
09:41 | We see that there is an error at line no.6 in our talk.c file. That expected semicolon before printf. |
09:51 | Come back to our program. |
09:54 | As i said before semicolon acts as a statement terminator |
09:58 | So it will search for it at the end of the line.5 and at the beginning of the line.6. |
10:06 | This is line 6 |
10:09 | This is the last place where you can put the semicolon |
10:12 | Recall that the compiler also give the error message on line 6. |
10:18 | Let us try what happens if we put the semicolon here. |
10:23 | Click on Save . |
10:26 | Let us Compile and execute. |
10:30 | Yes it is working |
10:32 | Now come back to our program. Let us type the semicolon here at the end of this line.
|
10:40 | As it is a conventional practice to type the semicolon at the end of the line. |
10:46 | Now click on save.
|
10:49 | Let us Compile and execute. .Yes it is working.
|
10:54 | Now let us go back to our slides. |
10:57 | As an Assignment |
10:59 | Write a program to print "Welcome to the World of C" |
11:02 | See what happens if “\n” is not included in the printf statement. |
11:08 | This brings us to the end of this tutorial |
11:12 | Watch the video available at the link shown below, |
11:15 | It summarises the Spoken Tutorial project |
11:18 | If you do not have good bandwidth, you can download and watch it. |
11:22 | The Spoken Tutorial Project Team |
11:24 | Conducts workshops using spoken tutorials |
11:28 | Gives certificates to those who pass an online test |
11:31 | For more details, please write to contact [at] spoken hyphen tutorial dot org |
11:38 | Spoken Tutorial Project is a part of the Talk to a Teacher project |
11:42 | It is supported by the National Mission on Education through ICT, MHRD, Government of India |
11:47 | More information on this Mission is available at the link shown below: |
11:51 | This is Ashwini Patil from IIT Bombay signing off. Thank you for watching. |
Contributors and Content Editors
Ashwini, Devraj, Krupali, PoojaMoolya, Pratik kamble, Sakinashaikh, Sandhya.np14, Sanmugam, Sneha