Difference between revisions of "C-and-C++/C2/First-C-Program/English-timed"

From Script | Spoken-Tutorial
Jump to: navigation, search
 
(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  
+
| How to write a simple C program  
  
 
|-
 
|-
 
| 00:11
 
| 00:11
| *How to compile it
+
| How to compile it
  
 
|-
 
|-
 
| 00:13
 
| 00:13
| *How to execute it
+
| How to execute it We will also explain some common errors and their solutions.  
 
+
|-
+
| 00:14
+
|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 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:29
 
| 03:29
|  Every '''program'''should have one main function
+
|  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  statements '''welcome''' is  not executed
+
|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 has been executed
+
|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 the miss the dot in '''“stdio.h”''' Click on '''Save.'''
+
| 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:42
+
|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”'''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".
  
 
|-
 
|-
Line 460: Line 450:
 
|-
 
|-
 
| 09:03
 
| 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:11
 
| 09:11
| Let us compile and  execute. Yes It is working.
+
| 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 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: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. 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:51
 
| 09:51
Line 491: Line 481:
 
|-
 
|-
 
| 09:54
 
| 09:54
|As   i said before semicolon acts as a statement terminator
+
|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 give the error message on line 6.
+
|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.
+
| 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.