Difference between revisions of "C-and-C++/C2/First-C-Program/English-timed"
From Script | Spoken-Tutorial
Sandhya.np14 (Talk | contribs) |
|||
(5 intermediate revisions by 2 users not shown) | |||
Line 6: | Line 6: | ||
|- | |- | ||
| 00:01 | | 00:01 | ||
− | | Welcome to the spoken tutorial on First C program. | + | | Welcome to the spoken tutorial on '''First C program'''. |
|- | |- | ||
Line 14: | Line 14: | ||
|- | |- | ||
| 00:08 | | 00:08 | ||
− | | | + | | How to write a simple C program |
|- | |- | ||
| 00:11 | | 00:11 | ||
− | | | + | | How to compile it |
|- | |- | ||
| 00:13 | | 00:13 | ||
− | | | + | | How to execute it We will also explain some common errors and their solutions. |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
Line 50: | Line 46: | ||
|- | |- | ||
| 00:42 | | 00:42 | ||
− | |I will use gedit in this tutorial. | + | |I will use 'gedit' in this tutorial. |
|- | |- | ||
Line 142: | Line 138: | ||
|- | |- | ||
| 02:33 | | 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'''. |
|- | |- | ||
Line 169: | Line 165: | ||
|- | |- | ||
| 03:11 | | 03:11 | ||
− | | Here the '''int''' '''main function''' takes no '''arguments''' | + | | Here the '''int''' '''main function''' takes no '''arguments'''. |
|- | |- | ||
Line 181: | Line 177: | ||
|- | |- | ||
| 03:23 | | 03:23 | ||
− | | Now Let us switch to the slides to know more about '''main | + | | Now Let us switch to the slides to know more about '''main''' function. Let us go to the next slide. |
|- | |- | ||
| 03:29 | | 03:29 | ||
− | | Every '''program'''should have | + | | Every '''program''' should have one main() function. |
|- | |- | ||
| 03:33 | | 03:33 | ||
− | |There should NOT be more than one main function | + | |There should NOT be more than one main function. |
|- | |- | ||
| 03:36 | | 03:36 | ||
− | |Otherwise the compiler cannot locate the beginning of the program | + | |Otherwise the compiler cannot locate the beginning of the program. |
|- | |- | ||
| 03:41 | | 03:41 | ||
− | |The empty pair of parentheses indicates that main has no '''arguments''' | + | |The empty pair of parentheses indicates that main has no '''arguments'''. |
|- | |- | ||
Line 213: | Line 209: | ||
|- | |- | ||
| 03:58 | | 03:58 | ||
− | | Type opening curly bracket '''“{”''' | + | | Type opening curly bracket '''“{”'''. |
|- | |- | ||
Line 221: | Line 217: | ||
|- | |- | ||
| 04:04 | | 04:04 | ||
− | |Then Type closing curly bracket '''“}”''' | + | |Then Type closing curly bracket '''“}”'''. |
|- | |- | ||
Line 233: | Line 229: | ||
|- | |- | ||
| 04:16 | | 04:16 | ||
− | |move the cursor one line up | + | |move the cursor one line up. |
|- | |- | ||
| 04:20 | | 04:20 | ||
− | | Indentation makes the code easier to read | + | | Indentation makes the code easier to read. |
|- | |- | ||
| 04:23 | | 04:23 | ||
− | |It also helps to locate errors faster | + | |It also helps to locate errors faster. |
|- | |- | ||
Line 249: | Line 245: | ||
|- | |- | ||
| 04:29 | | 04:29 | ||
− | | And Type''' “printf” ''' opening bracket closing bracket '''“()” ''' | + | | And Type''' “printf” ''' opening bracket closing bracket '''“()” '''. |
|- | |- | ||
| 04:34 | | 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:39 | | 04:39 | ||
− | | Here inside the brackets, within the double quotes | + | | Here, inside the brackets, within the double quotes. |
|- | |- | ||
| 04:43 | | 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:50 | | 04:50 | ||
− | |Type'''“Talk To a Teacher '''backslash '''n”''' | + | |Type'''“Talk To a Teacher '''backslash '''n”'''. |
|- | |- | ||
| 04:59 | | 04:59 | ||
− | |Backslash n '''“\n” '''signifies newline | + | |Backslash n '''“\n” '''signifies newline. |
|- | |- | ||
| 05:03 | | 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:10 | | 05:10 | ||
− | | Every '''C''' statement must end with a '''semicolon “;”''' | + | | Every '''C''' statement must end with a '''semicolon “;”'''. |
|- | |- | ||
Line 289: | Line 285: | ||
|- | |- | ||
|05:24 | |05:24 | ||
− | |Now press '''Enter''' give three space here | + | |Now press '''Enter''' give three space here. |
|- | |- | ||
|05:27 | |05:27 | ||
− | | And type '''“return”''' space''' “0”''' and a '''semicolon''' | + | | And type '''“return”''' space''' “0”''' and a '''semicolon'''. |
|- | |- | ||
| 05:34 | | 05:34 | ||
− | | This statement returns the integer zero | + | | This statement returns the integer zero. |
|- | |- | ||
| 05:38 | | 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:45 | | 05:45 | ||
− | |The '''return''' statement marks the end of executable statements | + | |The '''return''' statement marks the end of executable statements. |
|- | |- | ||
Line 313: | Line 309: | ||
|- | |- | ||
| 05:55 | | 05:55 | ||
− | | Now click on"'''Save'''" button to save the file | + | | Now click on"'''Save'''" button to save the file. |
|- | |- | ||
| 06:00 | | 06:00 | ||
− | |It is a good habit to save files frequently | + | |It is a good habit to save files frequently. |
|- | |- | ||
| 06:03 | | 06:03 | ||
− | |This will protect you from sudden power failures | + | |This will protect you from sudden power failures. |
|- | |- | ||
Line 333: | Line 329: | ||
|- | |- | ||
| 06:15 | | 06:15 | ||
− | |Type '''“gcc”''' space '''“talk.c”''' space hyphen “-'''o”''' space '''“myoutput”''' | + | |Type '''“gcc”''' space '''“talk.c”''' space hyphen “-'''o”''' space '''“myoutput”''', |
|- | |- | ||
| 06:24 | | 06:24 | ||
− | | '''gcc''' is the compiler | + | | '''gcc''' is the compiler, |
|- | |- | ||
Line 344: | Line 340: | ||
|- | |- | ||
| 06:30 | | 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:37 | | 06:37 | ||
− | | Now Press''' Enter | + | | Now Press''' Enter'''. |
|- | |- | ||
| 06:39 | | 06:39 | ||
− | |We see that the program is compiled | + | |We see that the program is compiled. |
|- | |- | ||
| 06:42 | | 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:54 | | 06:54 | ||
− | |To execute the program, type (dot slash)'''“./myoutput” ''' press '''Enter.''' | + | |To execute the program, type (dot slash)'''“./myoutput” ''', press '''Enter.''' |
|- | |- | ||
Line 368: | Line 364: | ||
|- | |- | ||
| 07:06 | | 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:10 | | 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. |
|- | |- | ||
Line 380: | Line 376: | ||
|- | |- | ||
| 07:17 | | 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:22 | | 07:22 | ||
− | | give space here type printf opening bracket, closing bracket. | + | | give space here, type printf opening bracket, closing bracket. |
|- | |- | ||
Line 403: | Line 399: | ||
|- | |- | ||
| 07:46 | | 07:46 | ||
− | |That is what I did now | + | |That is what I did now. |
|- | |- | ||
| 07:51 | | 07:51 | ||
− | |We see that the second | + | |We see that the second statement '''welcome''' is not executed. |
|- | |- | ||
| 07:58 | | 07:58 | ||
− | | Now come back to our program | + | | Now come back to our program. |
|- | |- | ||
| 08:00 | | 08:00 | ||
− | |Let us write the 'Welcome' statement above the return statement | + | |Let us write the 'Welcome' statement above the return statement. |
|- | |- | ||
Line 423: | Line 419: | ||
|- | |- | ||
| 08:09 | | 08:09 | ||
− | |Let us compile and execute | + | |Let us compile and execute. |
|- | |- | ||
| 08:15 | | 08:15 | ||
− | |We see that the second '''printf''' statement ''welcome'' has also | + | |We see that the second '''printf''' statement ''welcome'' has also been executed. |
|- | |- | ||
| 08:23 | | 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:29 | | 08:29 | ||
− | | Suppose here I will | + | | Suppose here I will miss the dot in '''“stdio.h”''', click on '''Save.''' |
− | + | ||
|- | |- | ||
Line 445: | Line 439: | ||
|- | |- | ||
| 08:41 | | 08:41 | ||
− | |We see that | + | |We see that there is a fatal error at line no.2 in our '''talk.c''' file. |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
| 08:48 | | 08:48 | ||
− | |The compiler cannot find a '''header file''' with the name '''“stdioh”''' | + | |The compiler cannot find a '''header file''' with the name '''“stdioh”'''. Hence it is giving an error "no such file or directory". |
|- | |- | ||
Line 460: | Line 450: | ||
|- | |- | ||
| 09:03 | | 09:03 | ||
− | |Let us now fix the error come back to a program. Reinsert the dot '''“.”'''click on | + | |Let us now fix the error come back to a program. Reinsert the dot '''“.”''', click on Save. |
|- | |- | ||
| 09:11 | | 09:11 | ||
− | | Let us compile and execute. Yes | + | | Let us compile and execute. Yes, it is working. |
|- | |- | ||
| 09:19 | | 09:19 | ||
− | | I will show you another common error | + | | I will show you another common error. |
|- | |- | ||
Line 476: | Line 466: | ||
|- | |- | ||
| 09:25 | | 09:25 | ||
− | | Now, suppose here | + | | Now, suppose here I will miss the '''semicolon''' at the end of the line. |
|- | |- | ||
| 09:31 | | 09:31 | ||
− | | Click on '''Save'''.Let us compile and execute | + | | Click on '''Save'''. Let us compile and execute. |
|- | |- | ||
| 09:41 | | 09:41 | ||
− | | We see that there is an error at line no.6 in our talk.c file. | + | | We see that there is an error at line no.6 in our talk.c file. that "expected ';' (semicolon) before 'printf'". |
|- | |- | ||
| 09:51 | | 09:51 | ||
Line 491: | Line 481: | ||
|- | |- | ||
| 09:54 | | 09:54 | ||
− | |As | + | |As I said before, semicolon acts as a statement terminator. |
|- | |- | ||
Line 499: | Line 489: | ||
|- | |- | ||
| 10:06 | | 10:06 | ||
− | | This is line 6 | + | | This is line 6. |
|- | |- | ||
| 10:09 | | 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:12 | | 10:12 | ||
− | |Recall that the compiler also | + | |Recall that the compiler also gives the error message on line 6. |
|- | |- | ||
Line 523: | Line 513: | ||
|- | |- | ||
| 10:30 | | 10:30 | ||
− | |Yes it is working | + | |Yes, it is working. |
|- | |- | ||
| 10:32 | | 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:40 | | 10:40 | ||
− | | | + | | as it is a conventional practice to type the ''semicolon'' at the end of the line. |
|- | |- | ||
| 10:46 | | 10:46 | ||
Line 558: | Line 548: | ||
|- | |- | ||
| 11:08 | | 11:08 | ||
− | | This brings us to the end of this tutorial | + | | This brings us to the end of this tutorial. |
|- | |- | ||
Line 566: | Line 556: | ||
|- | |- | ||
| 11:15 | | 11:15 | ||
− | |It summarises the Spoken Tutorial project | + | |It summarises the Spoken Tutorial project. |
|- | |- | ||
Line 578: | Line 568: | ||
|- | |- | ||
| 11:24 | | 11:24 | ||
− | |Conducts workshops using spoken tutorials | + | |Conducts workshops using spoken tutorials. |
|- | |- | ||
| 11:28 | | 11:28 | ||
− | |Gives certificates to those who pass an online test | + | |Gives certificates to those who pass an online test. |
|- | |- | ||
Line 590: | Line 580: | ||
|- | |- | ||
|11:38 | |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:42 | | 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. |
|- | |- |
Latest revision as of 16:32, 7 March 2017
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 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. http://spoken-tutorial.org |
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 “.c”(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 program should 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 statement 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 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 miss the dot in “stdio.h”, click on Save. |
08:36 | Let us compile and execute . |
08:41 | We see that 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 gives 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