SlideShare una empresa de Scribd logo
1 de 16
Structure Of a C Program
David Livingston J,
davidjlivingston@gmail.com &
Staff members of
Department of CE/IT, M.S.P.V.L PC
Structure of a C program
#include <stdio.h>
void main (void)
{
printf(“nHello Worldn”);
}
Preprocessor directive (header file)
Program statement
#include <stdio.h>
#define VALUE 10
int global_var;
void main (void)
{
/* This is the beginning of the program */
int local_var;
local_var = 5;
global_var = local_var + VALUE;
printf (“Total sum is: %dn”, global_var); // Print out the result
}
} Preprocessor
directive
Global variable declaration
Comments
Local variable declaration
Variable definition
Preprocessor Directives
• The first statement to be checked by the compiler
• Preprocessor Directives always preceded with ‘#’ sign
• They contain information to the compiler which are required by
the compiler during compilation.
• There are a few compiler directives. But only 2 of them will be
discussed here.
– #include <stdio.h>
• Tells the compiler to include the file stdio.h during compilation
• Anything in the header file will be included a part of the program
– #define VALUE 10
• Tells the compiler to substitute the word VALUE with 10 during compilation
Preprocessor Directives
#define PI 3.141592654
main() {
…..
perimeter = 2*PI*radius;
area = PI*radius*radius;
…...
}
main() {
…..
perimeter = 2* 3.141592654 *radius;
area = 3.141592654 *radius*radius;
…...
}
The result of the compilation is the
same for both C program (One with
#define and the other without it).
Which one is preferred (less typing)?
Which one is more readable?
The one with constant definition using
#define preprocessor directive.
Before compilation, the pre-processor
will replace all PI with 3.141592654.
Comments
• Comment means explanations or annotations that are
included in a program for documentation and
clarification purpose.
• Comments are completely ignored by the compiler
during compilation and have no effect on program
execution.
• Comments starts with ‘/*’ and ends with ‘*/’
• Some compiler support comments starting with ‘//’
Basic Data Types
• There are 3 Basic data types in C:
– int (used to declare numeric program variables of integer type)
– char (used to declare character variable)
– double (used to declare floating point variable)
• In addition, there are float, void, short, long, etc.
• Variables are declared before they are used in a program.
Declaration specifies the type of a variable.
– Example: int local_var;
• Once defined variables are used for storing a value.
Variable
• A variable can be declared globally or locally.
• A globally declared variable can be accessed from
any part of the program.
• A locally declared variable can only be accessed
from inside the function in which the variable is
declared.
Statements
• A specification of an action to be taken by the
computer as the program executes is called a
Statement.
• In the previous example, there are 2 lines following
variable declaration that terminate with semicolon ‘;’
are statements:
global_var = local_var + VALUE;
printf (“Total sum is: %dn”, global_var);
• Each line is a statement that end with a semicolon is a
Basic Functions
• A C program consists of one or more functions that contain
a group of statements which perform a specific task.
• A C program must at least have one function: the function
main.
• We can create our own function or use the functions that
has been declared in C library (called Predefined function).
• In order to use Predefined functions, we have to include
the appropriate header file (example: stdio.h).
• In this section, we will learn a few functions that are
pre-defined in the header file stdio.h
• These functions are:
– printf()
– scanf()
– getchar() & putchar()
• In addition to those functions, we will also learn about
Format Specifier and Escape Sequence which are
used with printf() and scanf().
printf()
• Used to send data to the standard output (usually the
monitor) to be printed according to specific format.
• General format:
– printf(“control string”, variables);
• Control string is a combination of text, format specifier
and escape sequence.
• Example:
– printf(“Thank you”);
– printf (“Total sum is: %dn”, global_var);
• %d is a format Specifier
• n is an escape sequence
Format Specifier
No Format 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 %x Character ‘7’
13 %s String ‘76'
Tells the printf() function the format of the output to be printed put.
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
Escape sequence is used in the printf() function to do something to
the output.
scanf()
• Reads data from the standard input device (usually keyboard)
and store it in a variable. The General format is:
– scanf(“Control string”, &variable);
• The general format is pretty much the same as printf() except
that it passes the address of the variable (notice the & sign)
instead of the variable itself to the second function argument.
• Example:
int age;
printf(“Enter your age: “);
scanf(“%d”, &age);
getchar() and putchar()
• getchar() - reads a character from standard input
• putchar() - writes 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);
}
The End
Thank U

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Basic structure of c programming
Basic structure of c programmingBasic structure of c programming
Basic structure of c programming
 
C Programming: Control Structure
C Programming: Control StructureC Programming: Control Structure
C Programming: Control Structure
 
Strings in C
Strings in CStrings in C
Strings in C
 
String functions in C
String functions in CString functions in C
String functions in C
 
Basics of C programming
Basics of C programmingBasics of C programming
Basics of C programming
 
Looping statements in C
Looping statements in CLooping statements in C
Looping statements in C
 
How to execute a C program
How to execute a C  program How to execute a C  program
How to execute a C program
 
Introduction to c++
Introduction to c++Introduction to c++
Introduction to c++
 
Preprocessor directives in c language
Preprocessor directives in c languagePreprocessor directives in c language
Preprocessor directives in c language
 
constants, variables and datatypes in C
constants, variables and datatypes in Cconstants, variables and datatypes in C
constants, variables and datatypes in C
 
C functions
C functionsC functions
C functions
 
Introduction to c programming
Introduction to c programmingIntroduction to c programming
Introduction to c programming
 
Storage class in C Language
Storage class in C LanguageStorage class in C Language
Storage class in C Language
 
Type casting in c programming
Type casting in c programmingType casting in c programming
Type casting in c programming
 
C if else
C if elseC if else
C if else
 
Structure in C
Structure in CStructure in C
Structure in C
 
Data types
Data typesData types
Data types
 
Functions in c
Functions in cFunctions in c
Functions in c
 
data types in C programming
data types in C programmingdata types in C programming
data types in C programming
 
Control statements in c
Control statements in cControl statements in c
Control statements in c
 

Destacado (7)

Structure c
Structure cStructure c
Structure c
 
Structure in C
Structure in CStructure in C
Structure in C
 
Structure in c
Structure in cStructure in c
Structure in c
 
Arrays in C language
Arrays in C languageArrays in C language
Arrays in C language
 
Array in c language
Array in c languageArray in c language
Array in c language
 
String c
String cString c
String c
 
String in c
String in cString in c
String in c
 

Similar a Structure of a C program

Basics of c Nisarg Patel
Basics of c Nisarg PatelBasics of c Nisarg Patel
Basics of c Nisarg PatelTechNGyan
 
424769021-1-First-C-Program-1-ppt (1).ppt
424769021-1-First-C-Program-1-ppt (1).ppt424769021-1-First-C-Program-1-ppt (1).ppt
424769021-1-First-C-Program-1-ppt (1).pptadvRajatSharma
 
Discussing Fundamentals of C
Discussing Fundamentals of CDiscussing Fundamentals of C
Discussing Fundamentals of Ceducationfront
 
Cse115 lecture04introtoc programming
Cse115 lecture04introtoc programmingCse115 lecture04introtoc programming
Cse115 lecture04introtoc programmingMd. Ashikur Rahman
 
Fundamental of C Programming Language and Basic Input/Output Function
  Fundamental of C Programming Language and Basic Input/Output Function  Fundamental of C Programming Language and Basic Input/Output Function
Fundamental of C Programming Language and Basic Input/Output Functionimtiazalijoono
 
C basics 4 std11(GujBoard)
C basics 4 std11(GujBoard)C basics 4 std11(GujBoard)
C basics 4 std11(GujBoard)indrasir
 
Chapter3
Chapter3Chapter3
Chapter3Kamran
 
c_pro_introduction.pptx
c_pro_introduction.pptxc_pro_introduction.pptx
c_pro_introduction.pptxRohitRaj744272
 
cmp104 lec 8
cmp104 lec 8cmp104 lec 8
cmp104 lec 8kapil078
 
Introduction to c programming
Introduction to c programmingIntroduction to c programming
Introduction to c programmingAlpana Gupta
 
UNIT-1 notes(Data Types – Variables – Operations – Expressions and Statements...
UNIT-1 notes(Data Types – Variables – Operations – Expressions and Statements...UNIT-1 notes(Data Types – Variables – Operations – Expressions and Statements...
UNIT-1 notes(Data Types – Variables – Operations – Expressions and Statements...RSathyaPriyaCSEKIOT
 
Basic structure of c programming
Basic structure of c programmingBasic structure of c programming
Basic structure of c programmingTejaswiB4
 
Programming Fundamentals lecture 5
Programming Fundamentals lecture 5Programming Fundamentals lecture 5
Programming Fundamentals lecture 5REHAN IJAZ
 
Programming Fundamentals Functions in C and types
Programming Fundamentals  Functions in C  and typesProgramming Fundamentals  Functions in C  and types
Programming Fundamentals Functions in C and typesimtiazalijoono
 

Similar a Structure of a C program (20)

Basics of c Nisarg Patel
Basics of c Nisarg PatelBasics of c Nisarg Patel
Basics of c Nisarg Patel
 
424769021-1-First-C-Program-1-ppt (1).ppt
424769021-1-First-C-Program-1-ppt (1).ppt424769021-1-First-C-Program-1-ppt (1).ppt
424769021-1-First-C-Program-1-ppt (1).ppt
 
Discussing Fundamentals of C
Discussing Fundamentals of CDiscussing Fundamentals of C
Discussing Fundamentals of C
 
C programming
C programmingC programming
C programming
 
Cse115 lecture04introtoc programming
Cse115 lecture04introtoc programmingCse115 lecture04introtoc programming
Cse115 lecture04introtoc programming
 
Fundamental of C Programming Language and Basic Input/Output Function
  Fundamental of C Programming Language and Basic Input/Output Function  Fundamental of C Programming Language and Basic Input/Output Function
Fundamental of C Programming Language and Basic Input/Output Function
 
CP Handout#2
CP Handout#2CP Handout#2
CP Handout#2
 
C notes.pdf
C notes.pdfC notes.pdf
C notes.pdf
 
C basics 4 std11(GujBoard)
C basics 4 std11(GujBoard)C basics 4 std11(GujBoard)
C basics 4 std11(GujBoard)
 
Chapter3
Chapter3Chapter3
Chapter3
 
c_pro_introduction.pptx
c_pro_introduction.pptxc_pro_introduction.pptx
c_pro_introduction.pptx
 
Learning the C Language
Learning the C LanguageLearning the C Language
Learning the C Language
 
cmp104 lec 8
cmp104 lec 8cmp104 lec 8
cmp104 lec 8
 
Introduction to c programming
Introduction to c programmingIntroduction to c programming
Introduction to c programming
 
UNIT-1 notes(Data Types – Variables – Operations – Expressions and Statements...
UNIT-1 notes(Data Types – Variables – Operations – Expressions and Statements...UNIT-1 notes(Data Types – Variables – Operations – Expressions and Statements...
UNIT-1 notes(Data Types – Variables – Operations – Expressions and Statements...
 
Programming in C
Programming in CProgramming in C
Programming in C
 
C fundamentals
C fundamentalsC fundamentals
C fundamentals
 
Basic structure of c programming
Basic structure of c programmingBasic structure of c programming
Basic structure of c programming
 
Programming Fundamentals lecture 5
Programming Fundamentals lecture 5Programming Fundamentals lecture 5
Programming Fundamentals lecture 5
 
Programming Fundamentals Functions in C and types
Programming Fundamentals  Functions in C  and typesProgramming Fundamentals  Functions in C  and types
Programming Fundamentals Functions in C and types
 

Más de David Livingston J

Performing Addition and Subtraction on Integers
Performing Addition and Subtraction on IntegersPerforming Addition and Subtraction on Integers
Performing Addition and Subtraction on IntegersDavid Livingston J
 
Introduction to Bluetooth technology
Introduction to Bluetooth technologyIntroduction to Bluetooth technology
Introduction to Bluetooth technologyDavid Livingston J
 
Past, Present and Future of Mobile Computing
Past, Present and Future of Mobile ComputingPast, Present and Future of Mobile Computing
Past, Present and Future of Mobile ComputingDavid Livingston J
 
Introduction & history of mobile computing
Introduction & history of mobile computingIntroduction & history of mobile computing
Introduction & history of mobile computingDavid Livingston J
 
Frequently asked questions in c
Frequently asked questions in cFrequently asked questions in c
Frequently asked questions in cDavid Livingston J
 
Frequently asked questions in c
Frequently asked questions in cFrequently asked questions in c
Frequently asked questions in cDavid Livingston J
 
Problem solving using Computer
Problem solving using ComputerProblem solving using Computer
Problem solving using ComputerDavid Livingston J
 

Más de David Livingston J (9)

Performing Addition and Subtraction on Integers
Performing Addition and Subtraction on IntegersPerforming Addition and Subtraction on Integers
Performing Addition and Subtraction on Integers
 
Introduction to Bluetooth technology
Introduction to Bluetooth technologyIntroduction to Bluetooth technology
Introduction to Bluetooth technology
 
Wireless LAN Technoloy
Wireless LAN TechnoloyWireless LAN Technoloy
Wireless LAN Technoloy
 
Past, Present and Future of Mobile Computing
Past, Present and Future of Mobile ComputingPast, Present and Future of Mobile Computing
Past, Present and Future of Mobile Computing
 
Introduction & history of mobile computing
Introduction & history of mobile computingIntroduction & history of mobile computing
Introduction & history of mobile computing
 
Frequently asked questions in c
Frequently asked questions in cFrequently asked questions in c
Frequently asked questions in c
 
Frequently asked questions in c
Frequently asked questions in cFrequently asked questions in c
Frequently asked questions in c
 
File handling in c
File handling in cFile handling in c
File handling in c
 
Problem solving using Computer
Problem solving using ComputerProblem solving using Computer
Problem solving using Computer
 

Último

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 

Último (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 

Structure of a C program

  • 1. Structure Of a C Program David Livingston J, davidjlivingston@gmail.com & Staff members of Department of CE/IT, M.S.P.V.L PC
  • 2. Structure of a C program #include <stdio.h> void main (void) { printf(“nHello Worldn”); } Preprocessor directive (header file) Program statement #include <stdio.h> #define VALUE 10 int global_var; void main (void) { /* This is the beginning of the program */ int local_var; local_var = 5; global_var = local_var + VALUE; printf (“Total sum is: %dn”, global_var); // Print out the result } } Preprocessor directive Global variable declaration Comments Local variable declaration Variable definition
  • 3. Preprocessor Directives • The first statement to be checked by the compiler • Preprocessor Directives always preceded with ‘#’ sign • They contain information to the compiler which are required by the compiler during compilation. • There are a few compiler directives. But only 2 of them will be discussed here. – #include <stdio.h> • Tells the compiler to include the file stdio.h during compilation • Anything in the header file will be included a part of the program – #define VALUE 10 • Tells the compiler to substitute the word VALUE with 10 during compilation
  • 4. Preprocessor Directives #define PI 3.141592654 main() { ….. perimeter = 2*PI*radius; area = PI*radius*radius; …... } main() { ….. perimeter = 2* 3.141592654 *radius; area = 3.141592654 *radius*radius; …... } The result of the compilation is the same for both C program (One with #define and the other without it). Which one is preferred (less typing)? Which one is more readable? The one with constant definition using #define preprocessor directive. Before compilation, the pre-processor will replace all PI with 3.141592654.
  • 5. Comments • Comment means explanations or annotations that are included in a program for documentation and clarification purpose. • Comments are completely ignored by the compiler during compilation and have no effect on program execution. • Comments starts with ‘/*’ and ends with ‘*/’ • Some compiler support comments starting with ‘//’
  • 6. Basic Data Types • There are 3 Basic data types in C: – int (used to declare numeric program variables of integer type) – char (used to declare character variable) – double (used to declare floating point variable) • In addition, there are float, void, short, long, etc. • Variables are declared before they are used in a program. Declaration specifies the type of a variable. – Example: int local_var; • Once defined variables are used for storing a value.
  • 7. Variable • A variable can be declared globally or locally. • A globally declared variable can be accessed from any part of the program. • A locally declared variable can only be accessed from inside the function in which the variable is declared.
  • 8. Statements • A specification of an action to be taken by the computer as the program executes is called a Statement. • In the previous example, there are 2 lines following variable declaration that terminate with semicolon ‘;’ are statements: global_var = local_var + VALUE; printf (“Total sum is: %dn”, global_var); • Each line is a statement that end with a semicolon is a
  • 9. Basic Functions • A C program consists of one or more functions that contain a group of statements which perform a specific task. • A C program must at least have one function: the function main. • We can create our own function or use the functions that has been declared in C library (called Predefined function). • In order to use Predefined functions, we have to include the appropriate header file (example: stdio.h).
  • 10. • In this section, we will learn a few functions that are pre-defined in the header file stdio.h • These functions are: – printf() – scanf() – getchar() & putchar() • In addition to those functions, we will also learn about Format Specifier and Escape Sequence which are used with printf() and scanf().
  • 11. printf() • Used to send data to the standard output (usually the monitor) to be printed according to specific format. • General format: – printf(“control string”, variables); • Control string is a combination of text, format specifier and escape sequence. • Example: – printf(“Thank you”); – printf (“Total sum is: %dn”, global_var); • %d is a format Specifier • n is an escape sequence
  • 12. Format Specifier No Format 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 %x Character ‘7’ 13 %s String ‘76' Tells the printf() function the format of the output to be printed put.
  • 13. 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 Escape sequence is used in the printf() function to do something to the output.
  • 14. scanf() • Reads data from the standard input device (usually keyboard) and store it in a variable. The General format is: – scanf(“Control string”, &variable); • The general format is pretty much the same as printf() except that it passes the address of the variable (notice the & sign) instead of the variable itself to the second function argument. • Example: int age; printf(“Enter your age: “); scanf(“%d”, &age);
  • 15. getchar() and putchar() • getchar() - reads a character from standard input • putchar() - writes 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); }