FUNDAMENTAL OF
C PROGRAMMING
LANGUAGE
LEARNING OUTCOMES
AT THE END OF THIS LESSONS, STUDENTS WILL BE ABLE TO:-
(a) EXPLAIN THE C PROGRAM DEVELOPMENT ENVIRONMENT: EDIT, PREPROCESS, COMPILE, LINK,
LOAD AND EXECUTE;
(b) EXPLAIN TYPES OF PROGRAMMING ERRORS: RUNTIME ERROR, SYNTAX ERROR AND LOGIC ERROR;
C PROGRAM
• WHAT IS C?
C IS A ‘PROGRAMMING LANGUAGE’.
THAT IS, IT A LANGUAGE THAT ALLOWS YOU TO SPECIFY EXACTLY WHAT YOU
WANT YOUR COMPUTER TO DO AND EXPLAIN CLEARLY FOR OTHER PEOPLE
WHAT YOU ARE DOING.
C IS A HIGH LEVEL MULTI-PURPOSE PROGRAMMING LANGUAGE THAT CAN BE
RUN ACROSS A NUMBER OF DIFFERENT PLATFORMS. FOR EXAMPLE, IT CAN
RUN ON:
MS DOS
WINDOWS
UNIX
C PROGRAM
• WHAT IS C?
A HIGH LEVEL PROGRAMMING LANGUAGE USES KEYWORDS AND
SYMBOLS THAT HUMAN FAMILIAR WITH.
HIGH LEVEL PROGRAMMING LANGUAGES WERE DEVELOPING TO
MAKE EASIER FOR HUMAN TO PROGRAM COMPUTERS.
REMEMBER ALL THE INFORMATION INSIDE A COMPUTER IS IN BINARY
FORM, INCLUDING THE PROGRAM INSTRUCTION. IT WOULD BE
TEDIOUS FOR HUMAN BE TEDIOUS FOR HUMANS TO ENTER THIS SO-
CALLED LO-LEVEL CODE, SO DIFFERENT HIGH LEVEL PROGRAMMING
LANGUAGES WERE DEVELOPED, FOR EXAMPLE PASCAL AND C.
C PROGRAM
•WHAT IS C?
A HIGH LEVEL LANGUAGE CANNOT RUN DIRECTLY ON YOUR
COMPUTER, IT MUST BE COMPILED (CONVERTED) INTO A SET OF
SIMPLE INSTRUCTION THAT A COMPUTER CAN USE.
EACH INSTRUCTION IS USED TO INSTRUCT THE COMPUTER TO
PERFORM A SPECIFIC OPERATION.
THE C PROGRAM DEVELOPMENT ENVIRONMENT
C IS PROGRAM LANGUAGE OF MANY DIFFERENT
“DIALECTS” BECAUSE THERE ARE SO MANY COMPILERS.
EACH COMPILER IS A LITTLE DIFFERENT.
THE LIBRARY FUNCTION OF ONE WILL HAVE ALL OF ANSI C,
THE STANDARD, BUT WILL ALSO CONTAIN ADDITIONAL
FUNCTIONS.
AN EDITOR
THIS IS BASIC TEXT EDITORS, WHICH ALLOW THE
USER TO WRITE C CODE ANY TEXT EDITOR CAN BE
USED.
THE C PROGRAM IS CALLED TO C SOURCE CODE AND
IS SAVED AS SOURCE FILE (*.C).
A COMPILER
C IS A HIGH LEVEL LANGUAGE AND IN ORDER FOR IT TO RUN ON
A PC, A C PROGRAM MUST BE BROKEN DOWN IN TO A SET OF
MACHINE CODE INSTRUCTIONS WHICH CAN BE PROCESSED.
THIS IS THE FIRST PART OF THE PROCESS OF MAKING AN
EXECUTABLE PROGRAM.
IT IS TAKES IN A SOURCE FILE (*.C) AND IT PRODUCES OBJECT
CODE WHICH IS STORED IN AN OBJECT FILE (*.OBJ).
A LINK EDITOR
AS PART OF WRITING A PROGRAM, CODE THAT HAS BEEN WRITTEN
BY OTHER DEVELOPERS CAN BE INSERTED INTO A SET OF MACHINE
CODE INSTRUCTIONS WHICH CAN BE PROCESSED.
A SIMPLE EXAMPLE OF THIS IS THE STDIO.H FILE WHICH CONTAIN
INPUT AND OUTPUT FUNCTIONS LIKE PRINTF() AND SCANF(), THAT
ARE USED TO PRINT TEXT TO THE COMPUTER MONITOR OR
RECEIVED INPUT TYPE FROM THE KEYBOARD.
THE OUTPUT OF THE LINK EDITOR IS AN EXECUTABLE FILE(*.EXE).
A LOADER
PART OF THE OS THAT BRINGS AN EXECUTABLE FILE RESIDING ON
DISK INTO MEMORY AND STARTS IT RUNNING
A DEBUGGER
THIS IS USED TO DEBUG PROBLEMS IN THE CODE THAT HAS BEEN
WRITTEN.
Edit : Create / modify
source code
Source file
(myprog.c)
Compile : Generates machine
instruction
Yes
Error? Object file
SUMMARY: THE C No
(myprog.obj)
ENVIRONMENT Link : Link library files
Yes
Error? Object file
(myprog.exe)
No
Execute: Run the program
Yes
Error?
No
Success!
TYPE OF PROGRAMMING ERRORS
Programmin
g Errors
Syntax Runtime Logic
SYNTAX ERRORS
• IN EFFECT, SYNTAX ERRORS REPRESENT GRAMMAR ERRORS IN THE
USE OF THE PROGRAMMING LANGUAGE. COMMON EXAMPLES
ARE:
MISSPELLED VARIABLE AND FUNCTION NAMES
MISSING SEMICOLONS
IMPROPERLY MATCHES PARENTHESES, SQUARE BRACKETS, AND
CURLY BRACES
INCORRECT FORMAT IN SELECTION AND LOOP STATEMENTS
RUNTIME ERRORS
• RUNTIME ERRORS OCCUR WHEN A PROGRAM WITH NO SYNTAX ERRORS ASKS THE
COMPUTER TO DO SOMETHING THAT THE COMPUTER IS UNABLE TO RELIABLY DO.
COMMON EXAMPLES ARE:
TRYING TO DIVIDE BY A VARIABLE THAT CONTAINS A VALUE OF ZERO
TRYING TO OPEN A FILE THAT DOESN'T EXIST
• THERE IS NO WAY FOR THE COMPILER TO KNOW ABOUT THESE KINDS OF ERRORS
WHEN THE PROGRAM IS COMPILED.
INCORRECT FORMAT IN SELECTION AND LOOP STATEMENTS
LOGIC ERRORS
• LOGIC ERRORS OCCUR WHEN THERE IS A DESIGN FLAW IN YOUR
PROGRAM. COMMON EXAMPLES ARE:
MULTIPLYING WHEN YOU SHOULD BE DIVIDING
ADDING WHEN YOU SHOULD BE SUBTRACTING
OPENING AND USING DATA FROM THE WRONG FILE
DISPLAYING THE WRONG MESSAGE