1. C Programming- very basic
beginning for people yet to start
coding
SHARED BY
J PRINCY MARIA
108677973082
B.TECH-ECE
SASTRA DEEMED TO BE UNIVERSITY
2. ACKNOWLEDGEMENT
ACADEMIC WRITING (AW) COURSE OF SWAYAM MOOC IS
THE PRIME MOTIVATION FOR CREATION AND SHARING OF
THIS MATERIAL
I THANK DR. AJAY SEMALTY AND TEAM OF AW FOR THIS
MOTIVATION
3. • C PROGRAMMING IS ONE OF THE BASIC LANGUAGES TO START
LEARNING PROGRAMMING
• WHY BECAUSE ASSEMBLY LANGUAGE IS THE HUMAN READABLE
FORM OF CODE AS THE NEXT LEVEL TOWARDS BASE WOULD BE
MACHINE READABLE ALONE.
4. • ONE LEVEL AHEAD OF ASSEMBLY LANGUAGE IS THE C PROGRAMMING.
• C PROGRAMMING IS A PROCEDURAL LANGUAGE
• PROCEDURAL LANGUAGE INDICATES THAT THE FLOW OF CONTROL
FOLLOWS THE PROGRAM FLOW
5. • IN C PROGRAMMING WE CAN APPROACH ANY PROBLEM STATEMENT
VIA VARIABLES AND FUNCTIONS
• PRIOR TO THAT UNDERSTANDING OF INPUT OUTPUT FUNCTIONS AND
HEADER FILES ARE IMPORTANT
• HEADER FILES ARE INCLUDED IN THE PROGRAM VIA “#include<>”
STATEMENTS.
6. • THE HEADER FILES END WITH THE EXTENSION “.h”
• EXAMPLE 1: #include<stdio.h>. THIS IS FOR INPUT/OUTPUT FUNCTIONS
• EXAMPLE 2: #include<stdlib.h>. THIS IS FOR FUNCTIONS THAT PERFORM
DYNAMIC MEMORY ALLOCATION
• EXAMPLE 3:#include<math.h>. THIS IS FOR MATH OPERATIONS
7. • WHAT ARE THESE HEADER FILES?
• HEADER FILES ARE PREEXISTING FILES CREATED ALREADY WHICH
HAVE THE FUNCTION DEFINITIONS FOR THE FREQUENTLY USED OR
OTHER IMPORTANT BASIC FUNCTIONS.
• THOSE FUNCTIONS CAN BE MADE OF USE IN OUR PROGRAM BY
INCLUDING THOSE HEADER FILES
8. • FOR OBTANING INPUT ,IN C WE USE “scanf” FUNCTION( IT HAS ITS
OWN SYNTAX) BUT WE DONT DEFINE THIS FUNCTION AS WE DEFINE
THE OTHERS. RATHER WE INLCUDE THE HEADER FILES WHICH
ALREADY CONTAINS DEFINITIONS FOR THAT FUNCTION.
• THIS IS HOW HEADER FILES ARE IMPORTANT IN DEVELOPING
EFFICIENT CODES
9. • WHAT ARE FUNCTION DEFINITIONS?
• WE FIRST GIVE A PROTOTYPE i.e. A FIRST INSTANCE FOR A FUNCTION
TO INDICATE THAT WE ARE GOING TO USE THAT FUNCTION IN OUR
PROGRAM. THIS IS CALLED FUNCTION DECLARATION.
• AFTER THIS SOMEWHERE IN THE PROGRAM FUNCTION
DECLARATION OCCURS. THERE WE WILL GIVE DETAILED EXPANSION
OF OUR FUNCTION- WHAT IT DOES.
10. • WHAT WE DEFINE INSIDE A FUNCTION?
• WE WILL DEFINE WHAT ARE THE VARIABLES THAT IS USED IN THAT
FUNCTION. IF ANY VARIABLE IS NEEDED TO PERFORM ANY
OPERATION WITHIN THE FUNCTION, IT IS CREATED AND USED
WITHIN THE FUNCTION.
• IF ANY VARIABLE OF THE MAIN FUNCTION IS NEEDED FOR
PERFORMING THE FUNCTION, THEN WE PASS THEM WHEN CALLING
THE FUNCTION FROM THE MAIN FUNCTION
11. • WHAT IS THE MAIN FUNCTION?
• POSSIBLY A PROGRAM CAN HAVE NUMEROUS FUNCTIONS. THEN
HOW WILL THE PROGRAM GET EXECUTED? IN THE ORDER OF
OCCURRENCE OF FUNCTIONS IN THE PROGRAM? NO
• THEN?
• EXECUTION STARTS FROM A FUNCTION NAMED AS “main”
12. • THE NAMES OF THE FUNCTIONS CAN BE ANYTHING WE WANT THEM
TO BE. BUT IN ANY PROGRAM, THERE SHOULD EXIST ONLY ONE
FUNCTION THAT IS NAMED AS “main”
• AS THE NAME SUGGESTS IT IS THE IMPORTANT FUNCTION OF THE
PROGRAM BY WHICH WE CAN START TO CALL OTHER FUNCTIONS. IF
THERE IS NO OTHER FUNCTION OTHER THAN THIS, THEN WE SHALL
PERFORM THE INTENDED OPERATION IN THIS FUNCTION ITSELF
13. • HOW CAN WE CALL A FUNCTION FROM MAIN FUNCTION?
• WE CAN CALL A FUNCTION BY ITS NAME AND PARAMETERS PASSED
IF ANY
• FOR SIMPLE UNDERSTANDING OF THE CONCEPT THE EXAMPLES ARE
GIVEN IN UPCOMING SLIDES SEPERATELY SO THAT ONLY IF YOU ARE
INTERESTED YOU WILL BE DRIVEN TO WATCH THOSE SLIDES TO
UNDERSTAND BETTER
14. • PREVIOUS SECTION OF OUR DISCUSSION INCLUDED OPERATING ON
VARIABLES THROUGH FUNCTIONS- EITHER THE MAIN FUNCTION OR
OTHER FUNCTIONS CALLED VIA MAIN FUNCTION. LET US KNOW
THAT ANY OTHER FUNCTION CAN ALSO BE CALLED BY THE OTHER
FUNCTION. BUT NO FUNCTION CAN CALL THE MAIN FUNCTION
• WHAT ARE THOSE VARIABLES?
15. • AS THE NAME SUGGESTS, THOSE COMPONENTS VARY ACCORDING
TO OUR NEED. IT CAN BE AN INTERGER(LIKE '1'), A FLOATING POINT
NUMBER(LIKE '1.23'), A CHARACTER(LIKE 'A') OR A BIGGER/SMALLER
VERSION OF THESE, WHICH CAN BE SUPPORTED WITH STATEMENTS
LIKE “long”/”short” CORRESPONDINGLY
• IF YOU WISH TO KNOW HOW TO USE THEM IN YOUR PROGRAM, IT IS
IMPORTANT TO LEARN THEIR SPECIFICATIONS VIA OTHER SOURCES.
16. • AS THIS IS A GENERAL INTRODUCTION OF C PROGRAM FOR
BEGINNERS WE WILL REVOLVE AROUND INTRODUCING THE BASIC
CONCEPTS. SO NOTE DOWN AS REMINDER THAT YOU WANT TO HAVE
A LOOK AT “QUALIFIERS AND MODIFIERS OF C”
• FOR OUTPUTTING TO THE SCREEN, “print” FUNCTION IS USED
• AS WE KNOW FOR INPUTTING VIA KEYBOARD “scanf” FUNCTION IS
USED
17. • SAMPLE PROGRAMS WHICH EMPLOYALL THE CONCEPTS DEALT PREVIOUSLY- TO ADD NUMBERS
1. #include<stdio.h>
2. int add(int,int); //function declaration
3. int main()
4. {
5. int a,b,c; //integer variables declaration
6. printf(“n Enter the numbers”);
7. scanf(“%d %d”,&a,&b);
8. c=add(a,b);
9. printf(“n%d”,c);
10. return 0;
11. }
12. int add(int x, int y)
13. {
14. return (a+b);
15. }
18. • ONE CAN WONDER HOW THE PROGRAM WORKS AS WE HAVEN'T SEEN
WHAT IS THE SYNTAX FOR EACH COMMAND
• LET US NOW DISCUSS HOW EACH LINE IN THE ABOVE CODE WORKS
• LINE 1: HEADER FILE “stdio.h” IS INCLUDED AS WE ARE GOING TO USE
FUNCTIONS “printf” & “scanf”
• LINE 2: A FUNCTION NAMED ADD IS DECLARED. SINCE WE DECIDE TO
ADD TWO NUMBERS OF TYPE INTEGER, WE DECLARE THE POSSIBILITY
19. • TWO INTEGERS TO BE PASSED TO THE FUNCTION. THIS IS DONE BY
THE PARAMETERS PART. i.e. WITHIN BRACKETS WE SPECIFIED THEIR
TYPES. IF THERE ARE NO PARAMETERS PASSED THE BRACKETS CAN
BE EMPTY LIKE THIS- ( )
• LINE 3: THE MAIN FUNCTION IS DEFINED. NO SPECIFIC DECLARATION
FOR THIS FUNCTION. BUT ALL OTHER FUNCTIONS SHOULD EITHER
HAVE THEIR DECLARATION OR DIRECTLY THE DEFINITION ITSELF,
BEFORE MAIN FUNCTION IS DEFINED
20. • LINE 4: EVERY FUNCTION DEFINITION SHOULD START WITH OPEN
CURLY BRACES.
• LINE 5: THE VARIABLES WHICH ARE NEEDED TO PERFORM OUR TASK
ARE DECLARED. IF WE GIVE VALUES FOR THEM IN PROGRAM ITSELF-
WHICH IS CALLED STATIC INITIALIZATION, IT CAN BE GIVEN AS
int a=4,b=5,c;
• LINE 6: THIS IS A STATEMENT TO GET PRINTED IN THE MONITOR, TO
INFORM THE USER TO ENTER THE INPUT VALUES
21. • USE OF “n” IN THAT STATEMENT WILL LEAD YOU TO A NEW LINE
INSTEAD OF CONTINUING IN SCREEN FROM THE LAST USED LINE'S
REMAINING SPACE
• LINE 7: TWO INPUTS ARE OBTAINED FROM THE KEYBOARD AND
STORED IN VARIABLES a & b. FOR THAT “%d” IS THE SYNTAX FOR
OBTAINING ONE INTEGER VALUE. AS WE HAVE LEFT A SINGLE SPACE
BETWEEN 2 “%d”S INPUT NUMBERS SHOULD ALSO BE SPACED.
22. • LINE 8: FUNCTION IS CALLED BY PASSING THE ARGUMENTS
(ARGUMENTS ARE THE PARAMETERS). BUT IT CALLED IN THE LEFT
SIDE BECAUSE THE FUNCTION RETURNS A VALUE.
• RETURNING VALUE'S DATA TYPE SHOULD BE SPECIFIED BEFORE
FUNCTION NAME THAT IS WHY WE HAVE INCLUDED ”int” BEFORE
FUNCTION NAME IN DECLARATION AND IN DEFINITION.
• LEFT HAND VARIABLE SHOULD ALSO BE OF SAME DATA TYPE
23. • LINE 9: WE ARE PRINTING THE ADDED VALUE ONTO THE SCREEN IN A
NEW LINE
• LINE 10: THIS IS RETURN VALUE OF THE MAIN FUNCTION. OTHER
FUNCTIONS RETURN VALUE TO THE COMMAND WHICH CALLED
THEM. BUT TO WHERE DOES THE MAIN FUNCTION RETURN VALUE?
• THE OPERATING SYSTEM IS WHAT THAT CALLED THE MAIN
FUNCTION FOR EXECUTING PROGRAM. SO IT RETURNS VALUE TO OS
24. • THE RETURN VALUE OF 0 (return 0) INDICATES SUCCESSFUL
COMPLETION OF THE PROGRAM. THAT IS WHY WE INCLUDED THAT
IN THE END OF THE PROGRAM.
• LINE 11: THE FUNCTION ENDS BY THE CLOSING CURLY BRACES
• LINE 12: THIS IS THE HEADER LINE OF FUNCTION DEFINITION. HERE
SOME NAME FOR PARAMETER SHOULD BE GIVEN ALONG WITH TYPE.
IT CAN BE DIFFERENT FROM THE ACTUAL NAME OF MAIN FUNCTION
OR THE SAME AS THAT
25. • BECAUSE THOUGH THE NAME WOULD BE SAME, THE SAME NAMED
VARIABLE LOCAL TO THE FUNCTION WOULD BE TREATED LIKE
SOME OTHER VARIABLE ONLY. BECAUSE IT BELONGS TO THE
FUNCTION DIRECTLYAND HAS IMMEDIATE NOTICE BY THE
FUNCTION
• LINE 13 & LINE 15: OPENING AND CLOSING BRACES FOR THE
FUNCTION
26. • LINE 14: ANY FUNCTION THAT HAS A RETURN TYPE SHOULD RETURN
ANY VALUE. OTHERWISE, IT IS AN ERROR. THIS FUNCTION RETURNS
THE ADDED RESULT TO THE MAIN FUNCTION WHICH CALLED IT.
• THERE MAY BE MANY IFs ,WHYs AND HOWs IN YOUR MIND WHEN
YOU WANT TO EXTEND THE CAPABILITY OF THIS SIMPLE CODE WE
DISCUSSED. THAT IS THE MOTIVE OF THIS MATERIAL- TO INTRODUCE
THE PASSION TO LEARN CODING. PROGRAMMING IS A VAST AREA
WITH LOTS OF INTERESTING FEATURES. HAVE A HAPPY CODING!
27. FEEDBACK TO AW COURSE OF SWAYAM MOOC
• THIS ACADEMIC WRITING (AW) COURSE ELIMINATED THE FEAR
REGARDING OUR POTENTIAL TO WRITE IN PROFESSIONAL STYLE
• THIS HELPS RESEARCHERS AND SCHOLARS TO FRAME THEIR WRITING OF
PAPERS AND THESIS IN AN EFFICIENT MANNER
• THIS COURSE IS ENJOYABLE AS IT PROGRESSES. BECAUSE IT INCLUDES
LEARNER INVOLVEMENT THROUGH LEARNING BY DOING AND SUBJECTIVE
ASSIGNMENTS.
• PERSONALLY I FEEL PRIVILEDGED TO HAVE ATTENDED THE COURSE.