C-and-C++/C2/First-C-Program/English

From Script | Spoken-Tutorial
Revision as of 11:09, 3 May 2013 by Ashwini (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Title of script: First C program

Author: Ashwini Patil

Keywords: C Program, stdio.h, 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 you will learn

To write a simple C program

To compile it

To execute it

We will also explain some common errors and their solutions.

Slide 3

System Requirements


To record this tutorial, I am using

Ubuntu operating system version 11.10

and gcc Compiler 4.6.1 on Ubuntu

Slide 4

Prerequisites


To practice this tutorial,

You should be familiar with Ubuntu Operating System

an Editor

Some editors are vim and gedit

I will use gedit in this tutorial

For relevant tutorials please visit our website:

http://spoken-tutorial.org

Open the terminal

Open the terminal using Ctrl + Alt + T simultaneously


Let me tell you how to write a C program through an example

Open the terminal by pressing Ctrl, Alt and T keys simultaneously



At the command prompt type:


gedit talk.c &

Now let's open the text editor. So, at the prompt, type

“gedit” space “talk” dot “c” space [ampersand] “&”

We use ampersand (&) to free up the prompt

Highlight the .c extension Please note that all the C files have the extension dot “c”
Now Press Enter
Now the text editor has opened
Let us write a program
Type double slash “//” space

“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.

Now press Enter
Type

#include <>

Type hash “#include” space opening angle bracket “<”, closing angle bracket “>”
It is always a good practice to complete the brackets first, and then start writing inside it
Type

#include <stdio.h>

Inside the bracket, type

“stdio” dot”.” “h”

Highlight stdio.h stdio.h is a header file

A program must contain this header file when it uses standard input/output functions.

Move cursor to the end of the line. Move the cursor to the end of the line

and press Enter .

Type

int main()

Then type “int” space “main” opening bracket and closing bracket “()”.
Highlight main Function main is a special function used by C

It denotes that the execution of the program begins from this line

The opening bracket and the closing bracket is called as parenthesis.

Highlight ()


Parenthesis followed by main is to tell the user that main is a function
Highlight int main() Here the int main function takes no arguments

It returns a value of type integer.

We will learn about data types in another tutorial.
Switch to the slides Let us switch to the slides to know more about the main function.
Slide 5 Every program will have only one main function

There should NOT be more than one main function

Otherwise the compiler cannot locate the beginning of the program

The empty pair of parentheses indicates that main has no arguments

The concept of arguments will be discussed in detail in the upcoming tutorials.

Switch to the editor Now let us go back to our program.
Type

{

Type the opening curly brace “{”

The opening curly bracket marks the beginning of the function main.

Type

}

Type the closing brace “}”

The closing curly bracket indicates the end of the function main.

Press Enter twice within the braces

Move the cursor one line up

Inside the braces

press Enter twice, and then move the cursor one line up

Give a space Indentation makes the code easier to read

It also helps to locate errors faster

So let us give three space here

Type

printf()

Type “printf” and opening bracket and closing bracket “()”

printf is a standard C function to print the output on the terminal

Highlight the text in the double quotes


printf("Talk To a Teacher\n");

Here inside the brackets, type

within double quotes,

Anything within the double quotes in the printf statement will be pritned on the terminal.

Type

“Talk To a Teacher backslash n”

Highlight \n Backslash n “\n” signifies newline

As a result, after execution of the printf function,

the cursor moves to a new line

Type semicolon (;) Every C statement must end with a semicolon “;”

Hence, type it at the end of this line.

Semicolon acts as a statement terminator.

Now press Enter

give three space here

Type return 0; Now 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 executable statements

We will learn more about the returned values in another tutorial.

Click on Save 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.

Type

gcc talk.c -o myoutput

Let us now compile the program

Please open the terminal

Type “gcc” space “talk.c” space hyphen “-o” space “myoutput”

Highlight or point to each component of the statement 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

Press Enter.

Type ls -lrt We see that the program is compiled

By typing ls -lrt, we can see that myoutput is the last file to be created



Type ./myoutput To execute the program,

type dot slash “./myoutput”

and press Enter.

Here the output is displayed as “Talk To a Teacher”.
Type return 0;


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.

Switch to the editor Let us come back to our program.
Type printf("Welcome \n"); After the return statement, let us include one more printf statement

type printf("Welcome \n");

Click on Save icon. Now save it.
Type gcc talk.c -o myoutput


Type ./myoutput

Let us compile and run the program as before

gcc talk.c -o myoutput

./myoutput.

We see that the second statement 'Welcome' is not executed.
Press up arrow key On the terminal, you can recall the previously entered commands by using up arrow

That is what I did now

We see that the statements after return are not executed

Shift printf("Welcome \n");

above return 0;

Now come back to our program

Let us write the 'Welcome' statement above the return statement

Click on Save Save it
On the terminal, use up arrow to get “gcc talk.c -o myoutput”

and press Enter.

Let us compile and execute

We see that the second printf statement also has been executed

Errors


Now let us see the common errors which we can come across

Let's switch to the editor

Type


<stdio.h>

Suppose we miss the dot “.” in

<stdio.h>

I will retain rest of the code as it is

Click on Save

Switch to the terminal

save the program

Let us go to the terminal

On the terminal, use up arrow to get “gcc talk.c -o myoutput”

and press Enter.

Now compile the program using the command we used before

We see that

There is a fatal error in our talk.c file at line no.1 and column no.18

The compiler cannot find a header file with the name “stdioh”

hence the compilation is terminated.

Reinsert the dot “.”


Let us fix the error we made on the header file

Reinsert the dot “.”



Click on Save Save it
On the terminal, use up arrow to get “gcc talk.c -o myoutput” and press Enter. Let us now execute it

It is working.

Switch back to gedit


I will show you another common error

Let us switch back to the editor



Type:

printf("Talk To a Teacher\n")

Now, suppose that we miss the semicolon at the end of printf() statement.
Click on Save Save it

Switch to the terminal.

Type clear and press Enter I will clear the terminal by typing

“clear” command.

On the terminal, use up arrow to get “gcc talk.c -o myoutput” and press Enter. Now compile the program

using command that we have used before.


And press Enter.

Point to line no. 5 and column no. 1 on the screen we see an error message at line no.5 and column no.1 in talk.c file.
As i said before semicolon acts as a statement terminator

So it will search for it at the end of the line

and also at the beginning of the next line.

Bring the cursor to line 5 Now come back to our program

This is line 5



Point to the location This is the last place where you can put the semicolon

Recall that the compiler also gives the error message on line 5.

Put the semicolon at the beginning of line 6 Let us try what happens if we put the semicolon in the next line.
Click on Save Save it
On the terminal, use up arrow to get “gcc talk.c -o myoutput” and press Enter. Compile it and execute it
Back to the editor

Put semicolon back in original location


Let us now fix the error



Click on Save Click on Save
On the terminal, use up arrow to get “gcc talk.c -o myoutput” and press Enter. Now execute it

It is working

Slide 7

Assignment

As an Assignment

Write a program to print "Welcome to the World of C"

See what happens if we do not write “\n” in the printf statement.

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, please write to contact [at] spoken hyphen tutorial dot org

lide Number 10


Acknowledgement

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

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

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

Remain on previous slide

No slide for this part


This is Ashwini Patil from IIT Bombay.

Thank you for joining.

Contributors and Content Editors

Ashwini, PoojaMoolya