Difference between revisions of "C-and-C++/C2/First-C-Program/English"
Line 3: | Line 3: | ||
'''Author:''' Ashwini Patil | '''Author:''' Ashwini Patil | ||
− | '''Keywords: C Program | + | '''Keywords: C Program, printf(), int main(), Video Tutorial''' |
{| style="border-spacing:0;" | {| style="border-spacing:0;" | ||
− | + | ! Visual Cue | |
− | + | ! Narration | |
|- | |- | ||
Line 19: | Line 19: | ||
Learning Objectives | Learning Objectives | ||
− | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| In this tutorial | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| In this tutorial we will learn, |
− | + | How to write a simple C program | |
− | + | How to compile it | |
− | + | How to execute it | |
− | We will also explain some common errors and their | + | We will also explain some common errors and their solution. |
|- | |- | ||
Line 40: | Line 40: | ||
Ubuntu operating system version 11.10 | Ubuntu operating system version 11.10 | ||
− | and | + | and GCC Compiler version 4.6.1 on Ubuntu. |
|- | |- | ||
Line 51: | Line 51: | ||
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| To practice this tutorial, | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| To practice this tutorial, | ||
− | You should be familiar with Ubuntu Operating System | + | You should be familiar with Ubuntu Operating System. |
− | an | + | And an editor. |
− | Some editors are vim and gedit | + | Some example editors are vim and gedit |
− | I will use gedit in this tutorial | + | I will use gedit in this tutorial. |
For relevant tutorials please visit our website: | For relevant tutorials please visit our website: | ||
Line 64: | Line 64: | ||
|- | |- | ||
− | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| | + | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| /*Switch to Terminal*/ |
− | |||
+ | Open the terminal using Ctrl + Alt + T or alternately, | ||
+ | Click on Applications-> Accessories -> Terminal | ||
− | |||
− | + | At the command prompt type: gedit firstprog.c | |
+ | Type: | ||
+ | '''//My first C program''' | ||
− | |||
− | |||
− | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| Let me tell you how to write a C program through an example | |
− | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| | + | |
− | ''' | + | Open the terminal by pressing '''Ctrl, Alt '''and''' T''' Simultaneously on your keyboard. |
− | + | Now lets open the text editor, So at the prompt type: | |
− | + | '''"gedit"''' space '''"talk"''' dot '''"c"''' space '''&''' | |
− | + | ||
− | + | ||
− | + | We used the ampersand'''(&)''' to free up the prompt | |
− | + | ||
− | + | ||
− | + | Please note that all the '''C''' files will have the extension dot '''"c"''' | |
− | + | ||
− | + | ||
− | + | Now Press '''Enter. ''' | |
− | + | ||
− | + | ||
− | + | The text editor has opened. | |
− | + | ||
− | + | Let us start to write a program. | |
+ | |||
+ | Type double slash '''“//”''' space | ||
'''“My first C program”.''' | '''“My first C program”.''' | ||
|- | |- | ||
− | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| | + | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| '''//My first C program''' |
− | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| Here, double slash is used to comment the line | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| Here, double slash is used to comment the line. |
− | Comments are used to understand the flow of program | + | Comments are used to understand the flow of program. |
− | It is useful for documentation | + | It is useful for documentation. |
− | It gives us information about the program | + | It gives us information about the program. |
− | The double slash is called as single line comment. | + | The double slash''' '''is called as''' single line comment.''' |
|- | |- | ||
− | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| | + | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| Highlight '''//''' |
+ | |||
+ | '''<nowiki>#include <stdio.h> </nowiki>''' | ||
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| Now press '''Enter''' | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| Now press '''Enter''' | ||
− | + | Type "hash '''(#)''' '''include''' (space) opening angle, closing angle bracket. | |
− | + | ||
− | + | It is always a good practice to complete the brackets first, and then start writing inside it. | |
− | + | ||
− | + | Now, Inside the bracket, type: | |
− | + | ||
− | + | ||
− | + | '''"stdio"''' dot '''"h" ''' | |
− | + | ||
+ | '''stdio.h''' is a '''header file''' | ||
− | + | A program must contain this header file when it uses standard input/output functions | |
− | + | ||
− | ''' | + | Now press''' Enter ''' |
|- | |- | ||
− | + | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| <nowiki>#include<stdio.h></nowiki> | |
− | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| | + | |
− | + | int main() | |
− | |||
− | |||
− | |||
− | |||
− | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| Then type: "'''int''' (space) '''main()'''" (opening bracket and closing bracket) | |
− | | style=" | + | |
− | ''' | + | '''main()''' is a special function. |
− | + | ||
− | + | It denotes that the execution of the program begins from this line. | |
− | + | ||
− | + | ||
− | + | The opening bracket and closing bracket is called as paranethesis. | |
− | + | Parenthesis followed by '''main()''' is to tell the user that main is a function. | |
− | + | Here the '''int main()''' function takes no arguments. It returns a value of type integer. | |
− | + | ||
+ | We will learn about data types in another tutorial. | ||
+ | Now let us switch to the slides to know more about the '''main()''' function. | ||
− | + | Let us go tot he next slide. | |
|- | |- | ||
− | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| | + | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| Slide 5 |
− | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| Every program will have only one '''main''' function. |
− | + | There should NOT be more than one function also. | |
− | + | If we use more than one main function, | |
− | + | ||
− | + | ||
− | + | the compiler cannot locate the beginning of the program. | |
− | + | ||
− | + | The empty pair of parentheses indicate that main has no arguments. | |
+ | |||
+ | The concept of arguments will be discussed in detail in the upcoming tutorials. | ||
|- | |- | ||
− | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| | + | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| <nowiki>#include<stdio.h></nowiki> |
− | + | ||
− | + | int main() | |
− | + | { | |
− | |||
− | |||
− | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| Now let us come back to our program, | |
− | + | ||
− | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| Now let us | + | |
− | + | Press''' Enter''' | |
− | + | ||
− | '''{ ''' | + | type: '''{''' (opening curly bracket) |
− | + | ||
− | The opening curly | + | The opening curly brace marks the beginning of the function '''main. ''' |
|- | |- | ||
− | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| | + | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| <nowiki>#include<stdio.h></nowiki> |
− | + | int main() | |
− | + | ||
− | + | { | |
+ | |||
+ | } | ||
+ | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| Type: '''}''' (Closing curly bracket) | ||
+ | |||
+ | The Closing bracket indicates the end of the function '''main.''' | ||
|- | |- | ||
− | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| | + | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| |
+ | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| Now inside the bracket | ||
− | + | press enter twice, move the cursor one line up | |
− | + | ||
− | + | ||
− | press | + | |
|- | |- | ||
− | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| | + | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| |
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| Indentation makes the code easier to read | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| Indentation makes the code easier to read | ||
It also helps to locate errors faster | It also helps to locate errors faster | ||
− | So let us give three space here | + | So let us give three space here. |
|- | |- | ||
− | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| | + | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| <nowiki>#include<stdio.h></nowiki> |
− | + | int main() | |
− | + | ||
− | + | { | |
− | + | printf("Talk To a Teacher \n"); | |
− | + | ||
− | |||
− | |||
− | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| And Type: | |
− | + | '''printf''' and opening bracket and closing bracket '''()''' | |
− | + | '''printf()''' is a standard '''C''' function to print the standard output on the terminal. | |
− | + | Here inside the brackets, within double quotes, | |
− | + | Anything within the double quotes in the '''printf''' statement will be printed on the terminal. | |
− | + | ||
− | + | ||
− | + | Type: | |
− | + | '''Talk To a Teacher''' backward slash '''(\)''' and '''"n"''' | |
− | + | '''\n''' (Backward Slash n) signifies newline, | |
− | + | ||
− | + | ||
− | + | As a result after the execution of the printf function the cursor moves to the new line. | |
− | ''' | + | Every '''C''' statement must end with a semicolon'''(;)''' |
− | + | Hence Type it at the end of this line. | |
− | + | ||
− | + | ||
− | + | Semicolon'''(;)''' acts as a statement terminator. | |
|- | |- | ||
− | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| | + | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| <nowiki>#include<stdio.h></nowiki> |
− | + | ||
− | + | int main() | |
− | + | ||
− | + | ||
− | + | { | |
− | + | printf("Talk To a Teacher \n"); | |
− | + | return 0; | |
− | + | } | |
+ | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| Now press '''Enter''' | ||
− | + | Give three space here. | |
− | + | ||
− | + | ||
− | + | And type ''''return''' (space)'''0'''' and a semicolon '''';'''' | |
− | This | + | This statement returns the integer zero. |
− | + | An integer has to be returned for this function | |
+ | |||
+ | Because the function type is int. | ||
+ | |||
+ | The return statement marks the end of the executable statements. | ||
+ | |||
+ | We will learn more about the returned values in another tutorial. | ||
|- | |- | ||
− | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| | + | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| <nowiki>#include<stdio.h></nowiki> |
− | + | int main() | |
− | + | ||
− | + | { | |
− | + | printf("Talk To a Teacher \n"); | |
− | + | return 0; | |
− | + | ||
− | + | ||
− | + | } | |
− | |||
− | ''' | + | '''Type:''' |
− | + | '''gcc talk.c -o myoutput''' | |
− | + | '''Highlight''' | |
− | + | ||
− | + | ||
− | + | '''gcc''' | |
+ | '''talk.c''' | ||
+ | '''-o myoutput''' | ||
+ | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| Now Click on the '''"Save"''' button to save the file. | ||
+ | It is a good habit to save files frequently. | ||
− | + | This will protect you from sudden power failures. | |
− | + | ||
− | + | ||
− | + | It will also be useful in case the applications were to crash. | |
− | + | Let us now compile the program | |
− | + | Come back to our terminal | |
− | + | ||
− | + | ||
− | + | Type: '''"gcc"''' space “'''talk.c”''' space hyphen '''o''' space '''“myoutput"''' | |
− | + | ||
+ | '''gcc''' is the compiler | ||
+ | '''talk.c''' is the filename | ||
− | + | on compilation '''gcc''' creates an executable | |
− | + | '''-o''' '''myoutput''' says that the executable should go to the file myoutput. | |
− | + | And press '''Enter''' | |
− | + | We see that the program is compiled. | |
− | + | ||
− | + | ||
|- | |- | ||
− | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| Type | + | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| Type: |
− | + | ||
− | + | '''ls -lrt''' | |
+ | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| By typing '''ls -lrt''', we can see that '''output''' is the last file to be created. | ||
|- | |- | ||
− | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| | + | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| '''Type:''' |
− | + | ||
− | + | '''./myoutput''' | |
− | | style=" | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| To execute the program, |
+ | type '''./myoutput''' (dot slash "myoutput") | ||
− | + | press '''Enter ''' | |
− | + | ||
− | + | Here the output is displayed: "Talk To a Teacher". | |
− | + | ||
− | + | ||
|- | |- | ||
| style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| | ||
− | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| As I said before, return is the last statement to be executed. |
− | + | Thus after the return statement nothing will be executed. | |
− | + | ||
− | + | ||
− | + | Let us try it out. | |
− | + | Come back to our program. | |
|- | |- | ||
− | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| | + | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| |
+ | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| After the return statement let us include one more printf statment. | ||
− | + | Give space here. | |
− | + | ||
− | + | '''printf''' and opening bracket and closing bracket '''()''' | |
− | + | inside the brackets, within double quotes, | |
− | + | ||
− | + | ||
− | + | type: “'''Welcome”''' backslash '''n''' | |
− | + | ||
− | + | At the end type a semicolon '''<nowiki>;</nowiki>''' | |
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
− | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| ''' | + | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| |
+ | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| Click on '''Save''' | ||
+ | Let us compile and execute. | ||
+ | Come back to our terminal. | ||
− | + | You can recall the previously entered command by using up arrow key. | |
− | + | That is what I did now. | |
+ | |||
+ | We see that the second statement W'''elcome''' is not executed. | ||
|- | |- | ||
− | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| | + | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| |
+ | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| Now come back to our program. | ||
+ | Let us write the Welcome statement above the return statement. | ||
− | + | |- | |
− | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| | + | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| |
+ | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| Click on Save | ||
− | + | Let us compile and execute | |
− | + | |- | |
+ | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| | ||
+ | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| We see the the second printf statement Welcome has also been executed. | ||
|- | |- | ||
− | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| | + | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| Errors |
− | + | Type: | |
− | + | ||
− | |||
− | + | <nowiki><stdioh></nowiki> | |
− | | style=" | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| Now,let us see the common errors which we can come across |
− | + | Come back to our program. | |
− | + | ||
− | + | Now suppose I will miss the dot ''''.'''' in | |
− | + | '''<nowiki><stdio.h></nowiki>''' | |
− | + | Click on '''Save ''' | |
− | + | Let us compile and execute. | |
− | + | we see that there is an fatal error at line no.2 in our '''talk.c''' file. | |
− | + | ||
+ | The compiler cannot find a header file with the name '''“stdioh”''' | ||
+ | Hence it is giving a fatal error and the compilation is terminated. | ||
− | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| Let us fix the error | + | |- |
+ | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| | ||
+ | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| Let us now fix the error. | ||
− | + | Come back to our program. | |
+ | Reinsert the “'''.”''' | ||
+ | |- | ||
+ | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| | ||
+ | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| '''Click on Save''' | ||
+ | Let us compile and execute. | ||
− | + | Yes it is working. | |
− | + | ||
− | + | ||
|- | |- | ||
− | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| | + | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| Error 2 |
− | + | ||
− | |||
− | + | Type: | |
− | + | ||
+ | printf("Hello World \n") | ||
− | |||
− | |||
+ | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| I will show you another common error. | ||
+ | Let us switch back to the program. | ||
+ | Now, suppose here I will miss the semicolon at the end of the line. | ||
− | + | Click on '''Save''' | |
− | + | ||
− | + | Let us compile and execute. | |
− | + | ||
− | + | we see an error at line no.6 in our '''talk.c''' file. | |
− | + | ||
− | + | ||
− | + | That expected semicolon before '''printf.''' | |
− | + | Come back to our program. | |
− | + | ||
− | + | ||
− | + | As I said before, semicolon acts as a statement terminator. | |
− | + | So it will search for it at the end of the line 5 and at the begning of the line 6. | |
− | + | ||
− | + | ||
− | + | This is line 6. | |
+ | This is the last place where you can put the semicolon. | ||
− | + | Recall that compiler also gave the error message on line 6. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
| style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| | ||
− | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| Let us try what happens if you put the semicolon here. |
− | + | Click on '''Save.''' | |
− | + | ||
− | + | ||
|- | |- | ||
− | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| | + | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| |
− | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| Let us compile and execute. |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
+ | Yes it is working. | ||
|- | |- | ||
− | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| | + | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| |
− | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| Now come back to our program. |
− | + | Let us type the semicolon here at the end of this line. | |
− | + | As it is the conventional practice to type the semicolon at the end of the line. | |
− | + | ||
− | + | ||
|- | |- | ||
− | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| | + | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| |
− | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| '''Save''' | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| Now click on '''Save.''' |
− | + | Let us compile and execute. | |
− | + | ||
− | + | ||
− | + | Yes it is working. | |
− | + | ||
− | + | Now let us move back to our slides. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
− | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right: | + | | style="background-color:transparent;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| Slide 7 |
Assignment | Assignment | ||
Line 593: | Line 519: | ||
Write a program to print "Welcome to the World of C" | Write a program to print "Welcome to the World of C" | ||
− | See what happens if | + | See what happens if \n is not included in the printf statement. |
+ | |||
+ | |- | ||
+ | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding:0.097cm;"| | ||
+ | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| This brings us to the end of this tutorial | ||
|- | |- | ||
Line 623: | Line 553: | ||
Gives certificates to those who pass an online test | Gives certificates to those who pass an online test | ||
− | + | For more details, contact spoken-tutorial.org | |
|- | |- | ||
− | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding:0.097cm;"| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding:0.097cm;"| Slide Number 10 |
Line 637: | Line 567: | ||
|- | |- | ||
− | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding:0.097cm;"| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding:0.097cm;"| Slide Number 11 |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| This is Ashwini Patil from IIT Bombay | + | About the contributor |
+ | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| This is Ashwini Patil from IIT Bombay signing off | ||
− | Thank | + | Thank You for joining. |
|} | |} |
Revision as of 12:57, 10 May 2013
Title of script: First C program
Author: Ashwini Patil
Keywords: C Program, printf(), int main(), Video Tutorial
Visual Cue | Narration |
---|---|
Slide 1 | Welcome to the spoken tutorial on First C program. |
Slide 2
Learning Objectives |
In this tutorial we will learn,
How to write a simple C program How to compile it How to execute it We will also explain some common errors and their solution. |
Slide 3
System Requirements
|
To record this tutorial, I am using
Ubuntu operating system version 11.10 and GCC Compiler version 4.6.1 on Ubuntu. |
Slide 4
Prerequisites
|
To practice this tutorial,
You should be familiar with Ubuntu Operating System. And an editor. Some example editors are vim and gedit I will use gedit in this tutorial. For relevant tutorials please visit our website: |
/*Switch to Terminal*/
Click on Applications-> Accessories -> Terminal
//My first C program
|
Let me tell you how to write a C program through an example
Open the terminal by pressing Ctrl, Alt and T Simultaneously on your keyboard. Now lets open the text editor, So at the prompt type: "gedit" space "talk" dot "c" space & We used the ampersand(&) to free up the prompt Please note that all the C files will have the extension dot "c" Now Press Enter. The text editor has opened. Let us start to write a program. Type double slash “//” space “My first C program”. |
//My first C program | Here, double slash is used to comment the line.
Comments are used to understand the flow of program. It is useful for documentation. It gives us information about the program. The double slash is called as single line comment. |
Highlight //
#include <stdio.h> |
Now press Enter
Type "hash (#) include (space) opening angle, closing angle bracket. It is always a good practice to complete the brackets first, and then start writing inside it. Now, Inside the bracket, type: "stdio" dot "h" stdio.h is a header file A program must contain this header file when it uses standard input/output functions Now press Enter |
#include<stdio.h>
int main()
|
Then type: "int (space) main()" (opening bracket and closing bracket)
main() is a special function. It denotes that the execution of the program begins from this line. The opening bracket and closing bracket is called as paranethesis. Parenthesis followed by main() is to tell the user that main is a function. Here the int main() function takes no arguments. It returns a value of type integer. We will learn about data types in another tutorial. Now let us switch to the slides to know more about the main() function. Let us go tot he next slide. |
Slide 5 | Every program will have only one main function.
There should NOT be more than one function also. If we use more than one main function, the compiler cannot locate the beginning of the program. The empty pair of parentheses indicate that main has no arguments. The concept of arguments will be discussed in detail in the upcoming tutorials. |
#include<stdio.h>
int main() {
|
Now let us come back to our program,
Press Enter type: { (opening curly bracket) The opening curly brace marks the beginning of the function main. |
#include<stdio.h>
int main() { } |
Type: } (Closing curly bracket)
The Closing bracket indicates the end of the function main. |
Now inside the bracket
press enter twice, move the cursor one line up | |
Indentation makes the code easier to read
It also helps to locate errors faster So let us give three space here. | |
#include<stdio.h>
int main() { printf("Talk To a Teacher \n");
|
And Type:
printf and opening bracket and closing bracket () printf() is a standard C function to print the standard output on the terminal. Here inside the brackets, within double quotes, Anything within the double quotes in the printf statement will be printed on the terminal. Type: Talk To a Teacher backward slash (\) and "n" \n (Backward Slash n) signifies newline, As a result after the execution of the printf function the cursor moves to the new line. Every C statement must end with a semicolon(;) Hence Type it at the end of this line. Semicolon(;) acts as a statement terminator. |
#include<stdio.h>
int main() { printf("Talk To a Teacher \n"); return 0; } |
Now press Enter
Give three space here. And type 'return (space)0' and a semicolon ';' This statement returns the integer zero. An integer has to be returned for this function Because the function type is int. The return statement marks the end of the executable statements. We will learn more about the returned values in another tutorial. |
#include<stdio.h>
int main() { printf("Talk To a Teacher \n"); return 0; }
gcc talk.c -o myoutput Highlight gcc talk.c -o myoutput |
Now Click on the "Save" button to save the file.
It is a good habit to save files frequently. This will protect you from sudden power failures. It will also be useful in case the applications were to crash. Let us now compile the program Come back to our terminal Type: "gcc" space “talk.c” space hyphen o space “myoutput" gcc is the compiler talk.c is the filename on compilation gcc creates an executable -o myoutput says that the executable should go to the file myoutput. And press Enter We see that the program is compiled. |
Type:
ls -lrt |
By typing ls -lrt, we can see that output is the last file to be created. |
Type:
./myoutput |
To execute the program,
type ./myoutput (dot slash "myoutput") press Enter Here the output is displayed: "Talk To a Teacher". |
As I said before, return is the last statement to be executed.
Thus after the return statement nothing will be executed. Let us try it out. Come back to our program. | |
After the return statement let us include one more printf statment.
Give space here. printf and opening bracket and closing bracket () inside the brackets, within double quotes, type: “Welcome” backslash n At the end type a semicolon ; | |
Click on Save
Let us compile and execute. Come back to our terminal. You can recall the previously entered command by using up arrow key. That is what I did now. We see that the second statement Welcome is not executed. | |
Now come back to our program.
Let us write the Welcome statement above the return statement. | |
Click on Save
Let us compile and execute | |
We see the the second printf statement Welcome has also been executed. | |
Errors
Type:
|
Now,let us see the common errors which we can come across
Come back to our program. Now suppose I will miss the dot '.' in <stdio.h> Click on Save Let us compile and execute. we see that there is an fatal error at line no.2 in our talk.c file. The compiler cannot find a header file with the name “stdioh” Hence it is giving a fatal error and the compilation is terminated. |
Let us now fix the error.
Come back to our program. Reinsert the “.” | |
Click on Save
Let us compile and execute. Yes it is working. | |
Error 2
|
I will show you another common error.
Let us switch back to the program. Now, suppose here I will miss the semicolon at the end of the line. Click on Save Let us compile and execute. we see an error at line no.6 in our talk.c file. That expected semicolon before printf. Come back to our program. As I said before, semicolon acts as a statement terminator. So it will search for it at the end of the line 5 and at the begning of the line 6. This is line 6. This is the last place where you can put the semicolon. Recall that compiler also gave the error message on line 6. |
Let us try what happens if you put the semicolon here.
Click on Save. | |
Let us compile and execute.
Yes it is working. | |
Now come back to our program.
Let us type the semicolon here at the end of this line. As it is the conventional practice to type the semicolon at the end of the line. | |
Now click on Save.
Let us compile and execute. Yes it is working. Now let us move back to our slides. | |
Slide 7
Assignment |
As an Assignment
Write a program to print "Welcome to the World of C" See what happens if \n is not included in the printf statement. |
This brings us to the end of this tutorial | |
Slide 8
About the Spoken Tutorial Project
|
Watch the video available at the link shown
http://spoken-tutorial.org /What\_is\_a\_Spoken\_Tutorial It summarises the Spoken Tutorial project If you do not have good bandwidth, you can download and watch it. |
Slide Number 9
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, contact spoken-tutorial.org |
Slide Number 10
|
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 |
Slide Number 11
About the contributor |
This is Ashwini Patil from IIT Bombay signing off
Thank You for joining. |