SlideShare a Scribd company logo
1
Chapter 3
Fundamental of C Programming
Language
and
Basic Input/Output Function
2
Chapter 3: Fundamental of C and Input/Output
In this chapter you will learn about:
C Development Environment
C Program Structure
Basic Data Types
Input/Output function
Common Programming Error
3
C Development Environment
DiskPhase 2 :
Preprocessor
program
processes the
code.
DiskCompilerPhase 3 :
Compiler
creates object
code and stores
it on Disk.
Preprocessor
DiskLinkerPhase 4 :
EditorPhase 1 :
Program is
created using the
Editor and
stored on Disk.
Disk
Linker links object
code with libraries,
creates a.out and
stores it on Disk
4
C Development Environment cont
LoaderPhase 5 :
:
.
Primary
Memory
Loader puts
Program in
Memory
C P U (execute)Phase 6 :
:
.
Primary
Memory
CPU takes each
instruction and
executes it, storing
new data values as
the program executes.
5
Entering, translating, and running a High-Level Language
Program
6
C Program Structure
An example of simple program in C
#include <stdio.h>
void main(void)
{
printf(“I love programmingn”);
printf(“You will love it too once ”);
printf(“you know the trickn”);
}
7
Preprocessor directives
a C program line begins with # provides an
instruction to the C preprocessor
It is executed before the actual compilation is
done.
Two most common directives :
#include
#define
In our example (#include<stdio.h>) identifies
the header file for standard input and output
needed by the printf().
8
Function main
Identify the start of the program
Every C program has a main ( )
'main' is a C keyword. We must not use it
for any other variable.
4 common ways of main declaration
int main(void)
{
return 0;
}
void main(void)
{
}
main(void)
{
}
main( )
{
}
9
The curly braces { }
Identify a segment / body of a program
The start and end of a function
The start and end of the selection or repetition
block.
Since the opening brace indicates the start of
a segment with the closing brace indicating
the end of a segment, there must be just as
many opening braces as closing braces
(this is a common mistake of beginners)
10
Statement
A specification of an action to be taken by the
computer as the program executes.
Each statement in C needs to be terminated with
semicolon (;)
Example:
#include <stdio.h>
void main(void)
{
printf(“I love programmingn”);
printf(“You will love it too once ”);
printf(“you know the trickn”);
}
statement
statement
statement
11
Statement cont…
Statement has two parts :
Declaration
The part of the program that tells the compiler
the names of memory cells in a program
Executable statements
Program lines that are converted to machine
language instructions and executed by the
computer
12
C program skeleton
In short, the basic skeleton of a C program
looks like this:
#include <stdio.h>
void main(void)
{
statement(s);
}
Preprocessor directives
Function main
Start of segment
End of segment
13
Identifiers
Words used to represent certain program
entities (variables, function names, etc).
Example:
int my_name;
my_name is an identifier used as a program
variable
void CalculateTotal(int value)
CalculateTotal is an identifier used as a
function name
14
Rules for naming identifiers
Rules Example
Can contain a mix of characters and numbers.
However it cannot start with a number
H2o
First character must be a letter or underscore Number1;
_area
Can be of mixed cases including underscore
character
XsquAre
my_num
Cannot contain any arithmetic operators R*S+T
… or any other punctuation marks… #@x%!!
Cannot be a C keyword/reserved word struct; printf;
Cannot contain a space My height
… identifiers are case sensitive Tax != tax
15
Variables
Variable  a name associated with a
memory cell whose value can change
Variable Declaration: specifies the type of a
variable
Example: int num;
Variable Definition: assigning a value to the
declared variable
Example: num = 5;
16
Basic Data Types
There are 4 basic data types :
int
float
double
char
int
used to declare numeric program variables of
integer type
whole numbers, positive and negative
keyword: int
int number;
number = 12;
17
Basic Data Types cont…
float
fractional parts, positive and negative
keyword: float
float height;
height = 1.72;
double
used to declare floating point variable of higher
precision or higher range of numbers
exponential numbers, positive and negative
keyword: double
double valuebig;
valuebig = 12E-3;
18
Basic Data Types cont…
char
equivalent to ‘letters’ in English language
Example of characters:
Numeric digits: 0 - 9
Lowercase/uppercase letters: a - z and A - Z
Space (blank)
Special characters: , . ; ? “ / ( ) [ ] { } * & % ^ < > etc
single character
keyword: char
char my_letter;
my_letter = 'U';
In addition, there are void, short, long, etc.
The declared character must be
enclosed within a single quote!
19
Constants
Entities that appear in the program code as fixed
values.
Any attempt to modify a CONSTANT will result in error.
4 types of constants:
Integer constants
Positive or negative whole numbers with no fractional part
Example:
– const int MAX_NUM = 10;
– const int MIN_NUM = -90;
Floating-point constants (float or double)
Positive or negative decimal numbers with an integer part,
a decimal point and a fractional part
Example:
– const double VAL = 0.5877e2; (stands for
0.5877 x 102)
20
Constants cont…
Character constants
A character enclosed in a single quotation mark
Example:
– const char letter = ‘n’;
– const char number = ‘1’;
– printf(“%c”, ‘S’);
» Output would be: S
Enumeration
Values are given as a list
Example: enum Language {
Malay,
English,
Arabic
};
21
Constant example – volume of a cone
#include <stdio.h>
void main(void)
{
const double pi = 3.412;
double height, radius, base, volume;
printf(“Enter the height and radius of the cone:”);
scanf(“%lf %lf”,&height, &radius);
base = pi * radius * radius;
volume = (1.0/3.0) * base * height;
printf(“nThe volume of a cone is %f ”, volume);
}
22
#define
You may also associate constant using #define preprocessor
directive
#include <stdio.h>
#define pi 3.412
void main(void)
{
double height, radius, base, volume;
printf(“Enter the height and radius of the cone:”);
scanf(“%lf %lf”,&height,&radius);
base = pi * radius * radius;
volume = (1.0/3.0) * base * height;
printf(“nThe volume of a cone is %f ”, volume);
}
23
Input/Output Operations
Input operation
an instruction that copies data from an input
device into memory
Output operation
an instruction that displays information stored
in memory to the output devices (such as the
monitor screen)
24
Input/Output Functions
A C function that performs an input or output
operation
A few functions that are pre-defined in the
header file stdio.h such as :
printf()
scanf()
getchar() & putchar()
25
The printf function
Used to send data to the standard output
(usually the monitor) to be printed
according to specific format.
General format:
printf(“string literal”);
A sequence of any number of characters
surrounded by double quotation marks.
printf(“format string”, variables);
Format string is a combination of text,
conversion specifier and escape sequence.
26
The printf function cont…
Example:
printf(“Thank you”);
printf (“Total sum is: %dn”, sum);
%d is a placeholder (conversion specifier)
– marks the display position for a type integer
variable
n is an escape sequence
– moves the cursor to the new line
27
Escape Sequence
Escape Sequence Effect
a Beep sound
b Backspace
f Formfeed (for printing)
n New line
r Carriage return
t Tab
v Vertical tab
 Backslash
” “ sign
o Octal decimal
x Hexadecimal
O NULL
28
Placeholder / Conversion Specifier
No Conversion
Specifier
Output Type Output Example
1 %d Signed decimal integer 76
2 %i Signed decimal integer 76
3 %o Unsigned octal integer 134
4 %u Unsigned decimal integer 76
5 %x Unsigned hexadecimal (small letter) 9c
6 %X Unsigned hexadecimal (capital letter) 9C
7 %f Integer including decimal point 76.0000
8 %e Signed floating point (using e notation) 7.6000e+01
9 %E Signed floating point (using E notation) 7.6000E+01
10 %g The shorter between %f and %e 76
11 %G The shorter between %f and %E 76
12 %c Character ‘7’
13 %s String ‘76'
29
The scanf function
Read data from the standard input device
(usually keyboard) and store it in a variable.
General format:
scanf(“Format string”, &variable);
Notice ampersand (&) operator :
C address of operator
it passes the address of the variable instead of
the variable itself
tells the scanf() where to find the variable to
store the new value
30
The scanf function cont…
Example :
int age;
printf(“Enter your age: “);
scanf(“%d”, &age);
Common Conversion Identifier used in printf and
scanf functions. printf scanf
int %d %d
float %f %f
double %f %lf
char %c %c
string %s %s
31
The scanf function cont…
If you want the user to enter more than one
value, you serialise the inputs.
Example:
float height, weight;
printf(“Please enter your height and weight:”);
scanf(“%f%f”, &height, &weight);
32
getchar() and putchar()
getchar() - read a character from standard
input
putchar() - write a character to standard
output
Example: #include <stdio.h>
void main(void)
{
char my_char;
printf(“Please type a character: ”);
my_char = getchar();
printf(“nYou have typed this character: ”);
putchar(my_char);
}
33
getchar() and putchar() cont
Alternatively, you can write the previous code
using normal scanf and %c placeholder.
Example
#include <stdio.h>
void main(void)
{
char my_char;
printf(“Please type a character: ”);
scanf(“%c”,&my_char);
printf(“nYou have typed this character: %c ”, my_char);
}
34
Few notes on C program…
C is case-sensitive
Word, word, WorD, WORD, WOrD, worD, etc are all
different variables / expressions
Eg. sum = 23 + 7
What is the value of Sum after this addition ?
Comments (remember 'Documentation'; Chapter 2)
are inserted into the code using /* to start and */ to end a
comment
Some compiler support comments starting with ‘//’
Provides supplementary information but is ignored by the
preprocessor and compiler
/* This is a comment */
// This program was written by Hanly Koffman
35
Few notes on C program cont…
Reserved Words
Keywords that identify language entities such
as statements, data types, language
attributes, etc.
Have special meaning to the compiler, cannot
be used as identifiers (variable, function
name) in our program.
Should be typed in lowercase.
Example: const, double, int, main, void,printf,
while, for, else (etc..)
36
Few notes on C program cont…
Punctuators (separators)
Symbols used to separate different parts of
the C program.
These punctuators include:
[ ] ( ) { } , ; “: * #
Usage example:
void main (void)
{
int num = 10;
printf (“% d”,num);
}
37
Few notes on C program cont…
Operators
Tokens that result in some kind of computation
or action when applied to variables or other
elements in an expression.
Example of operators:
* + = - /
Usage example:
result = total1 + total2;
38
Common Programming Errors
Debugging  Process removing errors
from a program
Three (3) kinds of errors :
Syntax Error
a violation of the C grammar rules, detected
during program translation (compilation).
statement cannot be translated and
program cannot be executed
39
Common Programming Errors cont…
Run-time errors
An attempt to perform an invalid operation,
detected during program execution.
Occurs when the program directs the
computer to perform an illegal operation,
such as dividing a number by zero.
The computer will stop executing the
program, and displays a diagnostic
message indicates the line where the error
was detected
40
Common Programming Errors cont…
Logic Error/Design Error
An error caused by following an incorrect
algorithm
Very difficult to detect - it does not cause run-
time error and does not display message
errors.
The only sign of logic error – incorrect program
output
Can be detected by testing the program
thoroughly, comparing its output to calculated
results
To prevent – carefully desk checking the
algorithm and written program before you
actually type it
41
Summary
In this chapter, you have learned the following items:
environment of C language and C programming
C language elements
Preprocessor directives, curly braces, main (), semicolon,
comments, double quotes
4 basics data type and brief explanation on variable
6 tokens : reserved word, identifier, constant, string
literal, punctuators / separators and operators.
printf, scanf, getchar and putchar
Usage of modifiers : placeholder & escape sequence
Common programming errors : syntax error, run-time
error and logic error

More Related Content

What's hot (20)

PPTX
History of C Programming Language
Niloy Biswas
 
PPTX
C programming language tutorial
javaTpoint s
 
PPTX
Conditional Statement in C Language
Shaina Arora
 
PDF
2. python basic syntax
Soba Arjun
 
PPT
Prsentation on functions
Alisha Korpal
 
PDF
Lecture 2 keyword of C Programming Language
SURAJ KUMAR
 
PPTX
String in c programming
Devan Thakur
 
PDF
GE3171-PROBLEM SOLVING AND PYTHON PROGRAMMING LABORATORY
ANJALAI AMMAL MAHALINGAM ENGINEERING COLLEGE
 
PPT
C the basic concepts
Abhinav Vatsa
 
PPTX
C Programming Language Tutorial for beginners - JavaTpoint
JavaTpoint.Com
 
PPTX
Decision Making Statement in C ppt
MANJUTRIPATHI7
 
PDF
Pointers in C
Monishkanungo
 
PPTX
Pointer in c
Imamul Kadir
 
PPTX
C Token’s
Tarun Sharma
 
PPTX
Nested loops
Neeru Mittal
 
DOCX
Features of c language 1
srmohan06
 
PPTX
Python basics
Hoang Nguyen
 
PPT
cs8251 unit 1 ppt
praveenaprakasam
 
PPSX
Programming in c
vineet4523
 
PPTX
Introduction to c++
Himanshu Kaushik
 
History of C Programming Language
Niloy Biswas
 
C programming language tutorial
javaTpoint s
 
Conditional Statement in C Language
Shaina Arora
 
2. python basic syntax
Soba Arjun
 
Prsentation on functions
Alisha Korpal
 
Lecture 2 keyword of C Programming Language
SURAJ KUMAR
 
String in c programming
Devan Thakur
 
GE3171-PROBLEM SOLVING AND PYTHON PROGRAMMING LABORATORY
ANJALAI AMMAL MAHALINGAM ENGINEERING COLLEGE
 
C the basic concepts
Abhinav Vatsa
 
C Programming Language Tutorial for beginners - JavaTpoint
JavaTpoint.Com
 
Decision Making Statement in C ppt
MANJUTRIPATHI7
 
Pointers in C
Monishkanungo
 
Pointer in c
Imamul Kadir
 
C Token’s
Tarun Sharma
 
Nested loops
Neeru Mittal
 
Features of c language 1
srmohan06
 
Python basics
Hoang Nguyen
 
cs8251 unit 1 ppt
praveenaprakasam
 
Programming in c
vineet4523
 
Introduction to c++
Himanshu Kaushik
 

Similar to Fundamental of C Programming Language and Basic Input/Output Function (20)

PPTX
c_pro_introduction.pptx
RohitRaj744272
 
PPTX
Team-7 SP.pptxdfghjksdfgduytredfghjkjhgffghj
bayazidalom983
 
PPTX
unit 1 cpds.pptx
madhurij54
 
PPTX
2. Introduction to 'C' Language (1).pptx
AkshatMuke1
 
PDF
Cse115 lecture04introtoc programming
Md. Ashikur Rahman
 
PPT
Lecture 01 2017
Jesmin Akhter
 
PDF
EC2311-Data Structures and C Programming
Padma Priya
 
PDF
UNIT-1 notes(Data Types – Variables – Operations – Expressions and Statements...
RSathyaPriyaCSEKIOT
 
PPTX
Unit No 2.pptx Basic s of C Programming
Vaibhav Parjane
 
PPTX
Introduction%20C.pptx
20EUEE018DEEPAKM
 
PPTX
4 Introduction to C.pptxSSSSSSSSSSSSSSSS
EG20910848921ISAACDU
 
PPT
Chap 1 and 2
Selva Arrunaa Mathavan
 
PPTX
Introduction to C Unit 1
Dr. SURBHI SAROHA
 
PPTX
Cpu
Mohit Jain
 
PDF
C fundamentals
Vikash Dhal
 
PPTX
C PROGRAMMING LANGUAGE.pptx
AnshSrivastava48
 
PPT
c-programming
Zulhazmi Harith
 
PPTX
Diploma ii cfpc u-2 datatypes and variables in c language
Rai University
 
PDF
UNIT1 PPS of C language for first year first semester
Aariz2
 
c_pro_introduction.pptx
RohitRaj744272
 
Team-7 SP.pptxdfghjksdfgduytredfghjkjhgffghj
bayazidalom983
 
unit 1 cpds.pptx
madhurij54
 
2. Introduction to 'C' Language (1).pptx
AkshatMuke1
 
Cse115 lecture04introtoc programming
Md. Ashikur Rahman
 
Lecture 01 2017
Jesmin Akhter
 
EC2311-Data Structures and C Programming
Padma Priya
 
UNIT-1 notes(Data Types – Variables – Operations – Expressions and Statements...
RSathyaPriyaCSEKIOT
 
Unit No 2.pptx Basic s of C Programming
Vaibhav Parjane
 
Introduction%20C.pptx
20EUEE018DEEPAKM
 
4 Introduction to C.pptxSSSSSSSSSSSSSSSS
EG20910848921ISAACDU
 
Introduction to C Unit 1
Dr. SURBHI SAROHA
 
C fundamentals
Vikash Dhal
 
C PROGRAMMING LANGUAGE.pptx
AnshSrivastava48
 
c-programming
Zulhazmi Harith
 
Diploma ii cfpc u-2 datatypes and variables in c language
Rai University
 
UNIT1 PPS of C language for first year first semester
Aariz2
 
Ad

More from imtiazalijoono (20)

PDF
Embedded systems io programming
imtiazalijoono
 
PDF
Embedded systems tools & peripherals
imtiazalijoono
 
PPTX
Importance of reading and its types.
imtiazalijoono
 
PPTX
Negative amplifiers and its types Positive feedback and Negative feedback
imtiazalijoono
 
PPTX
Multistage amplifiers and Name of coupling Name of multistage amplifier
imtiazalijoono
 
PDF
Loop Introduction for Loop while Loop do while Loop Nested Loops Values of...
imtiazalijoono
 
PDF
Programming Fundamentals and basic knowledge
imtiazalijoono
 
PDF
Programming Fundamentals Functions in C and types
imtiazalijoono
 
PDF
Software Development Software development process
imtiazalijoono
 
PDF
Programming Fundamentals Decisions
imtiazalijoono
 
PDF
C Building Blocks
imtiazalijoono
 
PDF
Programming Fundamentals Arrays and Strings
imtiazalijoono
 
PPTX
Programming Fundamentals and Programming Languages Concepts Translators
imtiazalijoono
 
PPTX
Programming Fundamentals and Programming Languages Concepts
imtiazalijoono
 
DOCX
Programming Global variable
imtiazalijoono
 
PPTX
Array Introduction One-dimensional array Multidimensional array
imtiazalijoono
 
PPTX
NTRODUCTION TO COMPUTER PROGRAMMING Loop as repetitive statement,
imtiazalijoono
 
PPTX
Arithmetic and Arithmetic assignment operators
imtiazalijoono
 
PPTX
INTRODUCTION TO COMPUTER PROGRAMMING
imtiazalijoono
 
PPTX
COMPUTER PROGRAMMING
imtiazalijoono
 
Embedded systems io programming
imtiazalijoono
 
Embedded systems tools & peripherals
imtiazalijoono
 
Importance of reading and its types.
imtiazalijoono
 
Negative amplifiers and its types Positive feedback and Negative feedback
imtiazalijoono
 
Multistage amplifiers and Name of coupling Name of multistage amplifier
imtiazalijoono
 
Loop Introduction for Loop while Loop do while Loop Nested Loops Values of...
imtiazalijoono
 
Programming Fundamentals and basic knowledge
imtiazalijoono
 
Programming Fundamentals Functions in C and types
imtiazalijoono
 
Software Development Software development process
imtiazalijoono
 
Programming Fundamentals Decisions
imtiazalijoono
 
C Building Blocks
imtiazalijoono
 
Programming Fundamentals Arrays and Strings
imtiazalijoono
 
Programming Fundamentals and Programming Languages Concepts Translators
imtiazalijoono
 
Programming Fundamentals and Programming Languages Concepts
imtiazalijoono
 
Programming Global variable
imtiazalijoono
 
Array Introduction One-dimensional array Multidimensional array
imtiazalijoono
 
NTRODUCTION TO COMPUTER PROGRAMMING Loop as repetitive statement,
imtiazalijoono
 
Arithmetic and Arithmetic assignment operators
imtiazalijoono
 
INTRODUCTION TO COMPUTER PROGRAMMING
imtiazalijoono
 
COMPUTER PROGRAMMING
imtiazalijoono
 
Ad

Recently uploaded (20)

PPTX
Neurodivergent Friendly Schools - Slides from training session
Pooky Knightsmith
 
PPTX
Post Dated Cheque(PDC) Management in Odoo 18
Celine George
 
PDF
Geographical Diversity of India 100 Mcq.pdf/ 7th class new ncert /Social/Samy...
Sandeep Swamy
 
PPT
Talk on Critical Theory, Part One, Philosophy of Social Sciences
Soraj Hongladarom
 
PPTX
care of patient with elimination needs.pptx
Rekhanjali Gupta
 
PPTX
How to Handle Salesperson Commision in Odoo 18 Sales
Celine George
 
PPTX
How to Set Up Tags in Odoo 18 - Odoo Slides
Celine George
 
PPTX
PATIENT ASSIGNMENTS AND NURSING CARE RESPONSIBILITIES.pptx
PRADEEP ABOTHU
 
PDF
Stokey: A Jewish Village by Rachel Kolsky
History of Stoke Newington
 
PPTX
How to Create a PDF Report in Odoo 18 - Odoo Slides
Celine George
 
PPT
Talk on Critical Theory, Part II, Philosophy of Social Sciences
Soraj Hongladarom
 
PDF
Dimensions of Societal Planning in Commonism
StefanMz
 
PPTX
Cultivation practice of Litchi in Nepal.pptx
UmeshTimilsina1
 
PDF
Exploring the Different Types of Experimental Research
Thelma Villaflores
 
PPTX
QUARTER 1 WEEK 2 PLOT, POV AND CONFLICTS
KynaParas
 
PDF
Horarios de distribución de agua en julio
pegazohn1978
 
PDF
Chapter-V-DED-Entrepreneurship: Institutions Facilitating Entrepreneurship
Dayanand Huded
 
PDF
0725.WHITEPAPER-UNIQUEWAYSOFPROTOTYPINGANDUXNOW.pdf
Thomas GIRARD, MA, CDP
 
PDF
Women's Health: Essential Tips for Every Stage.pdf
Iftikhar Ahmed
 
PDF
Biological Bilingual Glossary Hindi and English Medium
World of Wisdom
 
Neurodivergent Friendly Schools - Slides from training session
Pooky Knightsmith
 
Post Dated Cheque(PDC) Management in Odoo 18
Celine George
 
Geographical Diversity of India 100 Mcq.pdf/ 7th class new ncert /Social/Samy...
Sandeep Swamy
 
Talk on Critical Theory, Part One, Philosophy of Social Sciences
Soraj Hongladarom
 
care of patient with elimination needs.pptx
Rekhanjali Gupta
 
How to Handle Salesperson Commision in Odoo 18 Sales
Celine George
 
How to Set Up Tags in Odoo 18 - Odoo Slides
Celine George
 
PATIENT ASSIGNMENTS AND NURSING CARE RESPONSIBILITIES.pptx
PRADEEP ABOTHU
 
Stokey: A Jewish Village by Rachel Kolsky
History of Stoke Newington
 
How to Create a PDF Report in Odoo 18 - Odoo Slides
Celine George
 
Talk on Critical Theory, Part II, Philosophy of Social Sciences
Soraj Hongladarom
 
Dimensions of Societal Planning in Commonism
StefanMz
 
Cultivation practice of Litchi in Nepal.pptx
UmeshTimilsina1
 
Exploring the Different Types of Experimental Research
Thelma Villaflores
 
QUARTER 1 WEEK 2 PLOT, POV AND CONFLICTS
KynaParas
 
Horarios de distribución de agua en julio
pegazohn1978
 
Chapter-V-DED-Entrepreneurship: Institutions Facilitating Entrepreneurship
Dayanand Huded
 
0725.WHITEPAPER-UNIQUEWAYSOFPROTOTYPINGANDUXNOW.pdf
Thomas GIRARD, MA, CDP
 
Women's Health: Essential Tips for Every Stage.pdf
Iftikhar Ahmed
 
Biological Bilingual Glossary Hindi and English Medium
World of Wisdom
 

Fundamental of C Programming Language and Basic Input/Output Function

  • 1. 1 Chapter 3 Fundamental of C Programming Language and Basic Input/Output Function
  • 2. 2 Chapter 3: Fundamental of C and Input/Output In this chapter you will learn about: C Development Environment C Program Structure Basic Data Types Input/Output function Common Programming Error
  • 3. 3 C Development Environment DiskPhase 2 : Preprocessor program processes the code. DiskCompilerPhase 3 : Compiler creates object code and stores it on Disk. Preprocessor DiskLinkerPhase 4 : EditorPhase 1 : Program is created using the Editor and stored on Disk. Disk Linker links object code with libraries, creates a.out and stores it on Disk
  • 4. 4 C Development Environment cont LoaderPhase 5 : : . Primary Memory Loader puts Program in Memory C P U (execute)Phase 6 : : . Primary Memory CPU takes each instruction and executes it, storing new data values as the program executes.
  • 5. 5 Entering, translating, and running a High-Level Language Program
  • 6. 6 C Program Structure An example of simple program in C #include <stdio.h> void main(void) { printf(“I love programmingn”); printf(“You will love it too once ”); printf(“you know the trickn”); }
  • 7. 7 Preprocessor directives a C program line begins with # provides an instruction to the C preprocessor It is executed before the actual compilation is done. Two most common directives : #include #define In our example (#include<stdio.h>) identifies the header file for standard input and output needed by the printf().
  • 8. 8 Function main Identify the start of the program Every C program has a main ( ) 'main' is a C keyword. We must not use it for any other variable. 4 common ways of main declaration int main(void) { return 0; } void main(void) { } main(void) { } main( ) { }
  • 9. 9 The curly braces { } Identify a segment / body of a program The start and end of a function The start and end of the selection or repetition block. Since the opening brace indicates the start of a segment with the closing brace indicating the end of a segment, there must be just as many opening braces as closing braces (this is a common mistake of beginners)
  • 10. 10 Statement A specification of an action to be taken by the computer as the program executes. Each statement in C needs to be terminated with semicolon (;) Example: #include <stdio.h> void main(void) { printf(“I love programmingn”); printf(“You will love it too once ”); printf(“you know the trickn”); } statement statement statement
  • 11. 11 Statement cont… Statement has two parts : Declaration The part of the program that tells the compiler the names of memory cells in a program Executable statements Program lines that are converted to machine language instructions and executed by the computer
  • 12. 12 C program skeleton In short, the basic skeleton of a C program looks like this: #include <stdio.h> void main(void) { statement(s); } Preprocessor directives Function main Start of segment End of segment
  • 13. 13 Identifiers Words used to represent certain program entities (variables, function names, etc). Example: int my_name; my_name is an identifier used as a program variable void CalculateTotal(int value) CalculateTotal is an identifier used as a function name
  • 14. 14 Rules for naming identifiers Rules Example Can contain a mix of characters and numbers. However it cannot start with a number H2o First character must be a letter or underscore Number1; _area Can be of mixed cases including underscore character XsquAre my_num Cannot contain any arithmetic operators R*S+T … or any other punctuation marks… #@x%!! Cannot be a C keyword/reserved word struct; printf; Cannot contain a space My height … identifiers are case sensitive Tax != tax
  • 15. 15 Variables Variable  a name associated with a memory cell whose value can change Variable Declaration: specifies the type of a variable Example: int num; Variable Definition: assigning a value to the declared variable Example: num = 5;
  • 16. 16 Basic Data Types There are 4 basic data types : int float double char int used to declare numeric program variables of integer type whole numbers, positive and negative keyword: int int number; number = 12;
  • 17. 17 Basic Data Types cont… float fractional parts, positive and negative keyword: float float height; height = 1.72; double used to declare floating point variable of higher precision or higher range of numbers exponential numbers, positive and negative keyword: double double valuebig; valuebig = 12E-3;
  • 18. 18 Basic Data Types cont… char equivalent to ‘letters’ in English language Example of characters: Numeric digits: 0 - 9 Lowercase/uppercase letters: a - z and A - Z Space (blank) Special characters: , . ; ? “ / ( ) [ ] { } * & % ^ < > etc single character keyword: char char my_letter; my_letter = 'U'; In addition, there are void, short, long, etc. The declared character must be enclosed within a single quote!
  • 19. 19 Constants Entities that appear in the program code as fixed values. Any attempt to modify a CONSTANT will result in error. 4 types of constants: Integer constants Positive or negative whole numbers with no fractional part Example: – const int MAX_NUM = 10; – const int MIN_NUM = -90; Floating-point constants (float or double) Positive or negative decimal numbers with an integer part, a decimal point and a fractional part Example: – const double VAL = 0.5877e2; (stands for 0.5877 x 102)
  • 20. 20 Constants cont… Character constants A character enclosed in a single quotation mark Example: – const char letter = ‘n’; – const char number = ‘1’; – printf(“%c”, ‘S’); » Output would be: S Enumeration Values are given as a list Example: enum Language { Malay, English, Arabic };
  • 21. 21 Constant example – volume of a cone #include <stdio.h> void main(void) { const double pi = 3.412; double height, radius, base, volume; printf(“Enter the height and radius of the cone:”); scanf(“%lf %lf”,&height, &radius); base = pi * radius * radius; volume = (1.0/3.0) * base * height; printf(“nThe volume of a cone is %f ”, volume); }
  • 22. 22 #define You may also associate constant using #define preprocessor directive #include <stdio.h> #define pi 3.412 void main(void) { double height, radius, base, volume; printf(“Enter the height and radius of the cone:”); scanf(“%lf %lf”,&height,&radius); base = pi * radius * radius; volume = (1.0/3.0) * base * height; printf(“nThe volume of a cone is %f ”, volume); }
  • 23. 23 Input/Output Operations Input operation an instruction that copies data from an input device into memory Output operation an instruction that displays information stored in memory to the output devices (such as the monitor screen)
  • 24. 24 Input/Output Functions A C function that performs an input or output operation A few functions that are pre-defined in the header file stdio.h such as : printf() scanf() getchar() & putchar()
  • 25. 25 The printf function Used to send data to the standard output (usually the monitor) to be printed according to specific format. General format: printf(“string literal”); A sequence of any number of characters surrounded by double quotation marks. printf(“format string”, variables); Format string is a combination of text, conversion specifier and escape sequence.
  • 26. 26 The printf function cont… Example: printf(“Thank you”); printf (“Total sum is: %dn”, sum); %d is a placeholder (conversion specifier) – marks the display position for a type integer variable n is an escape sequence – moves the cursor to the new line
  • 27. 27 Escape Sequence Escape Sequence Effect a Beep sound b Backspace f Formfeed (for printing) n New line r Carriage return t Tab v Vertical tab Backslash ” “ sign o Octal decimal x Hexadecimal O NULL
  • 28. 28 Placeholder / Conversion Specifier No Conversion Specifier Output Type Output Example 1 %d Signed decimal integer 76 2 %i Signed decimal integer 76 3 %o Unsigned octal integer 134 4 %u Unsigned decimal integer 76 5 %x Unsigned hexadecimal (small letter) 9c 6 %X Unsigned hexadecimal (capital letter) 9C 7 %f Integer including decimal point 76.0000 8 %e Signed floating point (using e notation) 7.6000e+01 9 %E Signed floating point (using E notation) 7.6000E+01 10 %g The shorter between %f and %e 76 11 %G The shorter between %f and %E 76 12 %c Character ‘7’ 13 %s String ‘76'
  • 29. 29 The scanf function Read data from the standard input device (usually keyboard) and store it in a variable. General format: scanf(“Format string”, &variable); Notice ampersand (&) operator : C address of operator it passes the address of the variable instead of the variable itself tells the scanf() where to find the variable to store the new value
  • 30. 30 The scanf function cont… Example : int age; printf(“Enter your age: “); scanf(“%d”, &age); Common Conversion Identifier used in printf and scanf functions. printf scanf int %d %d float %f %f double %f %lf char %c %c string %s %s
  • 31. 31 The scanf function cont… If you want the user to enter more than one value, you serialise the inputs. Example: float height, weight; printf(“Please enter your height and weight:”); scanf(“%f%f”, &height, &weight);
  • 32. 32 getchar() and putchar() getchar() - read a character from standard input putchar() - write a character to standard output Example: #include <stdio.h> void main(void) { char my_char; printf(“Please type a character: ”); my_char = getchar(); printf(“nYou have typed this character: ”); putchar(my_char); }
  • 33. 33 getchar() and putchar() cont Alternatively, you can write the previous code using normal scanf and %c placeholder. Example #include <stdio.h> void main(void) { char my_char; printf(“Please type a character: ”); scanf(“%c”,&my_char); printf(“nYou have typed this character: %c ”, my_char); }
  • 34. 34 Few notes on C program… C is case-sensitive Word, word, WorD, WORD, WOrD, worD, etc are all different variables / expressions Eg. sum = 23 + 7 What is the value of Sum after this addition ? Comments (remember 'Documentation'; Chapter 2) are inserted into the code using /* to start and */ to end a comment Some compiler support comments starting with ‘//’ Provides supplementary information but is ignored by the preprocessor and compiler /* This is a comment */ // This program was written by Hanly Koffman
  • 35. 35 Few notes on C program cont… Reserved Words Keywords that identify language entities such as statements, data types, language attributes, etc. Have special meaning to the compiler, cannot be used as identifiers (variable, function name) in our program. Should be typed in lowercase. Example: const, double, int, main, void,printf, while, for, else (etc..)
  • 36. 36 Few notes on C program cont… Punctuators (separators) Symbols used to separate different parts of the C program. These punctuators include: [ ] ( ) { } , ; “: * # Usage example: void main (void) { int num = 10; printf (“% d”,num); }
  • 37. 37 Few notes on C program cont… Operators Tokens that result in some kind of computation or action when applied to variables or other elements in an expression. Example of operators: * + = - / Usage example: result = total1 + total2;
  • 38. 38 Common Programming Errors Debugging  Process removing errors from a program Three (3) kinds of errors : Syntax Error a violation of the C grammar rules, detected during program translation (compilation). statement cannot be translated and program cannot be executed
  • 39. 39 Common Programming Errors cont… Run-time errors An attempt to perform an invalid operation, detected during program execution. Occurs when the program directs the computer to perform an illegal operation, such as dividing a number by zero. The computer will stop executing the program, and displays a diagnostic message indicates the line where the error was detected
  • 40. 40 Common Programming Errors cont… Logic Error/Design Error An error caused by following an incorrect algorithm Very difficult to detect - it does not cause run- time error and does not display message errors. The only sign of logic error – incorrect program output Can be detected by testing the program thoroughly, comparing its output to calculated results To prevent – carefully desk checking the algorithm and written program before you actually type it
  • 41. 41 Summary In this chapter, you have learned the following items: environment of C language and C programming C language elements Preprocessor directives, curly braces, main (), semicolon, comments, double quotes 4 basics data type and brief explanation on variable 6 tokens : reserved word, identifier, constant, string literal, punctuators / separators and operators. printf, scanf, getchar and putchar Usage of modifiers : placeholder & escape sequence Common programming errors : syntax error, run-time error and logic error