Basic C Programming Tutorial
Basic C Programming Tutorial
Title page
Introduction
Goutam Biswas
Abhijit Das
Dipankar Sarkar
Syllabus
Introduction
Syllabus
Syllabus
Syllabus
Syllabus
Syllabus (contd.)
Introduction
Syllabus
Syllabus (contd.)
Syllabus (contd.)
Syllabus (contd.)
Programming language: C
Introduction
References
On C
8 http://www.facweb.iitkgp.ernet.in/∼pds/notes/
Introduction
Marks distribution
Marks distribution
Introduction
Marks distribution
Marks distribution
Marks distribution
Marks distribution
Marks distribution
Marks distribution
Marks distribution
Marks distribution
Lab Test 1: 25
Lab Test 2: 35
Daily Performance: 40
Introduction
Coverage schedule
Contacts
Introduction
Contacts
Contacts
Instructors
Introduction
Contacts
Contacts
Instructors
Sections 1,2: Goutam Biswas, CSE-207, 81437
goutam@cse.iitkgp.ernet.in
http://www.facweb.iitkgp.ernet.in/∼goutam/
Introduction
Contacts
Contacts
Instructors
Sections 1,2: Goutam Biswas, CSE-207, 81437
goutam@cse.iitkgp.ernet.in
http://www.facweb.iitkgp.ernet.in/∼goutam/
Sections 3,4: Abhijit Das, CSE-123, 82350
abhij@cse.iitkgp.ernet.in
http://www.cse-web.iitkgp.ernet.in/∼abhij/
Introduction
Contacts
Contacts
Instructors
Sections 1,2: Goutam Biswas, CSE-207, 81437
goutam@cse.iitkgp.ernet.in
http://www.facweb.iitkgp.ernet.in/∼goutam/
Sections 3,4: Abhijit Das, CSE-123, 82350
abhij@cse.iitkgp.ernet.in
http://www.cse-web.iitkgp.ernet.in/∼abhij/
Sections 5,6: Dipankar Sarkar, CSE-115, 83492
ds@cse.iitkgp.ernet.in
http://www.facweb.iitkgp.ernet.in/∼ds/
Introduction
Contacts
Contacts
Instructors
Sections 1,2: Goutam Biswas, CSE-207, 81437
goutam@cse.iitkgp.ernet.in
http://www.facweb.iitkgp.ernet.in/∼goutam/
Sections 3,4: Abhijit Das, CSE-123, 82350
abhij@cse.iitkgp.ernet.in
http://www.cse-web.iitkgp.ernet.in/∼abhij/
Sections 5,6: Dipankar Sarkar, CSE-115, 83492
ds@cse.iitkgp.ernet.in
http://www.facweb.iitkgp.ernet.in/∼ds/
Course web-page:
http://www.facweb.iitkgp.ernet.in/∼pds/
http://www.facweb.iitkgp.ernet.in/∼pds/notes/
Introduction
Structure of a C program
Skeleton of a C program
Introduction
Structure of a C program
Skeleton of a C program
Include header files
Introduction
Structure of a C program
Skeleton of a C program
Include header files
Skeleton of a C program
Include header files
Function bodies
Introduction
Structure of a C program
Skeleton of a C program
Include header files
Function bodies
A complete example
#include <stdio.h>
main ()
{
double area;
area = sphereVol(radius);
printf("Radius = %lf, volume = %lf.\n", radius, area);
}
Introduction
Some simple C programs
The traditional starter
#include <stdio.h>
main ()
{
printf("Hello, world!\n");
}
Introduction
Some simple C programs
The traditional starter
#include <stdio.h>
main ()
{
printf("Hello, world!\n");
}
#include <stdio.h>
main ()
{
int n;
scanf("%d",&n);
printf("%d\n",n);
}
Introduction
Some simple C programs
The short-circuit program
#include <stdio.h>
main ()
{
int n;
scanf("%d",&n);
printf("%d\n",n);
}
#include <stdio.h>
main ()
{
int n;
scanf("%d",&n);
printf("%d\n",n*n);
}
Introduction
Some simple C programs
The square finder
#include <stdio.h>
main ()
{
int n;
scanf("%d",&n);
printf("%d\n",n*n);
}
#include <stdio.h>
main ()
{
int n;
scanf("%d",&n);
printf("%d\n",1/n);
}
Introduction
Some simple C programs
A faulty reciprocal finder
#include <stdio.h>
main ()
{
int n;
scanf("%d",&n);
printf("%d\n",1/n);
}
#include <stdio.h>
main ()
{
int n;
scanf("%d",&n);
printf("%d\n",1/n);
}
#include <stdio.h>
main ()
{
int n;
scanf("%d",&n);
printf("%f\n",1.0/n);
}
Introduction
PDS laboratory
Log in
Getting started
Introduction
PDS laboratory
Log in
Getting started
Getting started
Getting started
Getting started
Getting started
Introduction
PDS laboratory
Edit, compile and run
Getting started
Getting started
Getting started
Getting started
Getting started
Getting started
Getting started
Introduction
PDS laboratory
Shut down
Getting started
Getting started
Getting started
Getting started
Using emacs
Introduction
PDS laboratory
Using emacs
Using emacs
Using emacs
Using emacs
Using emacs
Using emacs
Using emacs
Using emacs
Using emacs
Using emacs
Using gvim
Introduction
PDS laboratory
Using gvim
Using gvim
Using gvim
Using gvim
Using gvim
Using gvim
Using gvim
Using gvim
Using gvim
Using gvim
A practice program
#include <stdio.h>
char name[100];
int i;
main ()
{
printf("Hello, may I know your full name? ");
scanf("%s",name);
printf("Welcome %s.\n",name);
printf("Your name printed backward is : ");
for (i=strlen(name)-1; i>=0; --i)
printf("%c",name[i]);
printf("\n");
}
Introduction
PDS laboratory
A corrected version
#include <stdio.h>
char name[100];
int i;
main ()
{
printf("Hello, may I know your full name? ");
fgets(name,100,stdin);
name[strlen(name)-1] = ’\0’;
printf("Welcome %s.\n",name);
printf("Your name printed backward is : ");
for (i=strlen(name)-1; i>=0; --i)
printf("%c",name[i]);
printf("\n");
}
Introduction
PDS laboratory
Using a web browser