SlideShare a Scribd company logo
© 2000 Prentice Hall, Inc. All rights reserved.
Introduction to C Programming
Outline
2.1 Introduction
2.2 A Simple C Program: Printing a Line of Text
2.3 Another Simple C Program: Adding Two Integers
2.4 Memory Concepts
2.5 Arithmetic in C
2.6 Decision Making: Equality and Relational Operators
© 2000 Prentice Hall, Inc. All rights reserved.
2.1 Introduction
• C programming language
– Structured and disciplined approach to program design
• Structured programming
– Introduced in chapters 3 and 4
– Used throughout the remainder of the book
© 2000 Prentice Hall, Inc. All rights reserved.
2.2 A Simple C Program: Printing a Line of
Text
• Comments
– Text surrounded by /* and */ is ignored by computer
– Used to describe program
• #include <stdio.h>
– Preprocessor directive - tells computer to load contents of a certain file
– <stdio.h> allows standard input/output operations
1 /* Fig. 2.1: fig02_01.c
2 A first program in C */
3 #include <stdio.h>
4
5 int main()
6 {
7 printf( "Welcome to C!n" );
8
9 return 0;
10 }
Welcome to C!
© 2000 Prentice Hall, Inc. All rights reserved.
2.2 A Simple C Program: Printing a Line of
Text (II)
• int main()
– C++ programs contain one or more functions, exactly one of
which must be main
– Parenthesis used to indicate a function
– int means that main "returns" an integer value
– Braces indicate a block
• The bodies of all functions must be contained in braces
© 2000 Prentice Hall, Inc. All rights reserved.
2.2 A Simple C Program: Printing a Line of
Text (III)
• printf( "Welcome to C!n" );
– Instructs computer to perform an action
• Specifically, prints string of characters within quotes
– Entire line called a statement
• All statements must end with a semicolon
–  - escape character
• Indicates that printf should do something out of the
ordinary
• n is the newline character
© 2000 Prentice Hall, Inc. All rights reserved.
2.2 A Simple C Program: Printing a Line of
Text (IV)
• return 0;
– A way to exit a function
– return 0, in this case, means that the program terminated
normally
• Right brace }
– Indicates end of main has been reached
• Linker
– When a function is called, linker locates it in the library
– Inserts it into object program
– If function name misspelled, linker will spot error because it
cannot find function in library
© 2000 Prentice Hall, Inc. All rights reserved.
Outline
1. Initialize variables
2. Input
2.1 Sum
3. Print
Program Output
1 /* Fig. 2.5: fig02_05.c
2 Addition program */
3 #include <stdio.h>
4
5 int main()
6 {
7 int integer1, integer2, sum; /* declaration */
8
9 printf( "Enter first integern" ); /* prompt */
10 scanf( "%d", &integer1 ); /* read an integer */
11 printf( "Enter second integern" ); /* prompt */
12 scanf( "%d", &integer2 ); /* read an integer */
13 sum = integer1 + integer2; /* assignment of sum */
14 printf( "Sum is %dn", sum ); /* print sum */
15
16 return 0; /* indicate that program ended successfully */
17 }
Enter first integer
45
Enter second integer
72
Sum is 117
© 2000 Prentice Hall, Inc. All rights reserved.
2.3 Another Simple C Program: Adding
Two Integers
• As before
– Comments, #include <stdio.h> and main
• int integer1, integer2, sum;
– Declaration of variables
• Variables: locations in memory where a value can be stored
– int means the variables can hold integers (-1, 3, 0, 47)
– integer1, integer2, sum - variable names (identifiers)
• Identifiers: consist of letters, digits (cannot begin with a digit),
and underscores, case sensitive
– Declarations appear before executable statements
• If not, syntax (compile) error
© 2000 Prentice Hall, Inc. All rights reserved.
2.3 Another Simple C Program: Adding
Two Integers (II)
• scanf( "%d", &integer1 );
– Obtains value from user
• scanf uses standard input (usually keyboard)
– This scanf has two arguments
• %d - indicates data should be a decimal integer
• &integer1 - location in memory to store variable
• & is confusing in beginning - just remember to include it with
the variable name in scanf statements
– It will be discussed later
– User responds to scanf by typing in number, then pressing
the enter (return) key
© 2000 Prentice Hall, Inc. All rights reserved.
2.3 Another Simple C Program: Adding
Two Integers (III)
• = (assignment operator )
– Assigns value to a variable
– Binary operator (has two operands)
sum = variable1 + variable2;
sum gets variable1 + variable2;
– Variable receiving value on left
• printf( "Sum is %dn", sum );
– Similar to scanf - %d means decimal integer will be printed
• sum specifies what integer will be printed
– Calculations can be performed inside printf statements
printf( "Sum is %dn", integer1 + integer2 );
© 2000 Prentice Hall, Inc. All rights reserved.
2.4 Memory Concepts
• Variables
– Variable names correspond to locations in the computer's memory.
– Every variable has a name, a type, a size and a value.
– Whenever a new value is placed into a variable (through scanf,
for example), it replaces (and destroys) previous value
– Reading variables from memory does not change them
• A visual representation
integer1 45
© 2000 Prentice Hall, Inc. All rights reserved.
2.5 Arithmetic
• Arithmetic calculations are used in most programs
– Use * for multiplication and / for division
– Integer division truncates remainder
7 / 5 evaluates to 1
– Modulus operator returns the remainder
7 % 5 evaluates to 2
• Operator precedence
– Some arithmetic operators act before others (i.e., multiplication
before addition)
• Use parenthesis when needed
– Example: Find the average of three variables a, b and c
• Do not use: a + b + c / 3
• Use: (a + b + c ) / 3
© 2000 Prentice Hall, Inc. All rights reserved.
2.5 Arithmetic (II)
• Arithmetic operators:
• Rules of operator precedence:
C operation Arithmetic
operator
Algebraic
expression
C expression
Addition + f + 7 f + 7
Subtraction - p – c p - c
Multiplication * bm b * m
Division / x / y x / y
Modulus % r mod s r % s
Operator(s) Operation(s) Order of evaluation (precedence)
() Parentheses Evaluated first. If the parentheses are nested, the
expression in the innermost pair is evaluated first. If
there are several pairs of parentheses “on the same level”
(i.e., not nested), they are evaluated left to right.
*, /, or % Multiplication Division
Modulus
Evaluated second. If there are several, they re
evaluated left to right.
+ or - Addition
Subtraction
Evaluated last. If there are several, they are
evaluated left to right.
© 2000 Prentice Hall, Inc. All rights reserved.
2.6 Decision Making: Equality and
Relational Operators
• Executable statements
– Perform actions (calculations, input/output of data)
– Perform decisions
• May want to print "pass" or "fail" given the value of a test grade
• if control structure
– Simple version in this section, more detail later
– If a condition is true, then the body of the if statement executed
• 0 is false, non-zero is true
– Control always resumes after the if structure
• Keywords
– Special words reserved for C
– Cannot be used as identifiers or variable names
© 2000 Prentice Hall, Inc. All rights reserved.
2.6 Decision Making: Equality and
Relational Operators (II)
Standard algebraic equality
operator or
relational operator
C++ equality
or relational
operator
Example
of C++
condition
Meaning of
C++ condition
Relational operators
> > x > y x is greater than y
< < x < y x is less than y
>= x >= y x is greater than or equal to
y
<= x <= y x is less than or equal to y
Equality operators
= == x == y x is equal to y
!= x != y x is not equal to y
<_
>_
=
© 2000 Prentice Hall, Inc. All rights reserved.
2.6 Decision Making: Equality and
Relational Operators (III)
Keywords
auto double int struct
break else long switch
case enum register typedef
char extern return union
const float short unsigned
continue for signed void
default goto sizeof volatile
do if static while
© 2000 Prentice Hall, Inc. All rights reserved.
Outline
1. Declare variables
2. Input
2.1 if statements
3. Print
1 /* Fig. 2.13: fig02_13.c
2 Using if statements, relational
3 operators, and equality operators */
4 #include <stdio.h>
5
6 int main()
7 {
8 int num1, num2;
9
10 printf( "Enter two integers, and I will tell youn" );
11 printf( "the relationships they satisfy: " );
12 scanf( "%d%d", &num1, &num2 ); /* read two integers */
13
14 if ( num1 == num2 )
15 printf( "%d is equal to %dn", num1, num2 );
16
17 if ( num1 != num2 )
18 printf( "%d is not equal to %dn", num1, num2 );
19
20 if ( num1 < num2 )
21 printf( "%d is less than %dn", num1, num2 );
22
23 if ( num1 > num2 )
24 printf( "%d is greater than %dn", num1, num2 );
25
26 if ( num1 <= num2 )
27 printf( "%d is less than or equal to %dn",
28 num1, num2 );
© 2000 Prentice Hall, Inc. All rights reserved.
Outline
3.1 Exit main
Program Output
29
30 if ( num1 >= num2 )
31 printf( "%d is greater than or equal to %dn",
32 num1, num2 );
33
34 return 0; /* indicate program ended successfully */
35 }
Enter two integers, and I will tell you
the relationships they satisfy: 3 7
3 is not equal to 7
3 is less than 7
3 is less than or equal to 7
Enter two integers, and I will tell you
the relationships they satisfy: 22 12
22 is not equal to 12
22 is greater than 12
22 is greater than or equal to 12

More Related Content

What's hot

Chap 2 structure of c programming dti2143
Chap 2  structure of c programming dti2143Chap 2  structure of c programming dti2143
Chap 2 structure of c programming dti2143
alish sha
 
Chapter 7: Arithmetic and Relational Operators
Chapter 7:  Arithmetic and Relational Operators Chapter 7:  Arithmetic and Relational Operators
Chapter 7: Arithmetic and Relational Operators
Dr. Rosemarie Sibbaluca-Guirre
 
CONTROL STRUCTURE
CONTROL STRUCTURECONTROL STRUCTURE
Cp module 2
Cp module 2Cp module 2
Cp module 2
Amarjith C K
 
PROGRAM LOGIC AND FORMULATION
PROGRAM LOGIC AND FORMULATIONPROGRAM LOGIC AND FORMULATION
PROGRAM LOGIC AND FORMULATION
Joland Reambillo
 
Csc1100 lecture03 ch03-pt2-s14
Csc1100 lecture03 ch03-pt2-s14Csc1100 lecture03 ch03-pt2-s14
Csc1100 lecture03 ch03-pt2-s14
IIUM
 
Csc1100 lecture03 ch03-pt2-s14
Csc1100 lecture03 ch03-pt2-s14Csc1100 lecture03 ch03-pt2-s14
Csc1100 lecture03 ch03-pt2-s14
IIUM
 
Programming flowcharts for C Language
Programming flowcharts for C LanguageProgramming flowcharts for C Language
Programming flowcharts for C Language
Aryan Ajmer
 
C programming
C programmingC programming
C programming
PralhadKhanal1
 
Functions
FunctionsFunctions
Functions
Mitali Chugh
 
Functions
FunctionsFunctions
Functions
Mitali Chugh
 
Subprogramms
SubprogrammsSubprogramms
Subprogramms
janapriyanaidu
 
Ch5 Selection Statements
Ch5 Selection StatementsCh5 Selection Statements
Ch5 Selection Statements
SzeChingChen
 
Unit 3
Unit 3Unit 3
Unit 3
rohassanie
 
Python Programming | JNTUK | UNIT 1 | Lecture 5
Python Programming | JNTUK | UNIT 1 | Lecture 5Python Programming | JNTUK | UNIT 1 | Lecture 5
Python Programming | JNTUK | UNIT 1 | Lecture 5
FabMinds
 
Flow charts
Flow chartsFlow charts
Flow charts
Ankit Agarwal
 
Pseudocode-Flowchart
Pseudocode-FlowchartPseudocode-Flowchart
Pseudocode-Flowchart
lotlot
 
Casa lab manual
Casa lab manualCasa lab manual
Casa lab manual
BHARATNIKKAM
 
2 1 expressions
2 1  expressions2 1  expressions
2 1 expressions
Ken Kretsch
 
15 functions
15 functions15 functions
15 functions
fyjordan9
 

What's hot (20)

Chap 2 structure of c programming dti2143
Chap 2  structure of c programming dti2143Chap 2  structure of c programming dti2143
Chap 2 structure of c programming dti2143
 
Chapter 7: Arithmetic and Relational Operators
Chapter 7:  Arithmetic and Relational Operators Chapter 7:  Arithmetic and Relational Operators
Chapter 7: Arithmetic and Relational Operators
 
CONTROL STRUCTURE
CONTROL STRUCTURECONTROL STRUCTURE
CONTROL STRUCTURE
 
Cp module 2
Cp module 2Cp module 2
Cp module 2
 
PROGRAM LOGIC AND FORMULATION
PROGRAM LOGIC AND FORMULATIONPROGRAM LOGIC AND FORMULATION
PROGRAM LOGIC AND FORMULATION
 
Csc1100 lecture03 ch03-pt2-s14
Csc1100 lecture03 ch03-pt2-s14Csc1100 lecture03 ch03-pt2-s14
Csc1100 lecture03 ch03-pt2-s14
 
Csc1100 lecture03 ch03-pt2-s14
Csc1100 lecture03 ch03-pt2-s14Csc1100 lecture03 ch03-pt2-s14
Csc1100 lecture03 ch03-pt2-s14
 
Programming flowcharts for C Language
Programming flowcharts for C LanguageProgramming flowcharts for C Language
Programming flowcharts for C Language
 
C programming
C programmingC programming
C programming
 
Functions
FunctionsFunctions
Functions
 
Functions
FunctionsFunctions
Functions
 
Subprogramms
SubprogrammsSubprogramms
Subprogramms
 
Ch5 Selection Statements
Ch5 Selection StatementsCh5 Selection Statements
Ch5 Selection Statements
 
Unit 3
Unit 3Unit 3
Unit 3
 
Python Programming | JNTUK | UNIT 1 | Lecture 5
Python Programming | JNTUK | UNIT 1 | Lecture 5Python Programming | JNTUK | UNIT 1 | Lecture 5
Python Programming | JNTUK | UNIT 1 | Lecture 5
 
Flow charts
Flow chartsFlow charts
Flow charts
 
Pseudocode-Flowchart
Pseudocode-FlowchartPseudocode-Flowchart
Pseudocode-Flowchart
 
Casa lab manual
Casa lab manualCasa lab manual
Casa lab manual
 
2 1 expressions
2 1  expressions2 1  expressions
2 1 expressions
 
15 functions
15 functions15 functions
15 functions
 

Similar to intro to c

C Intro.ppt
C Intro.pptC Intro.ppt
C Intro.ppt
DaVidSilenceKawlni
 
Lec1_EENG112-Introduction.pdf
Lec1_EENG112-Introduction.pdfLec1_EENG112-Introduction.pdf
Lec1_EENG112-Introduction.pdf
ShwetaSaharan8
 
Complete C++ programming Language Course
Complete C++ programming Language CourseComplete C++ programming Language Course
Complete C++ programming Language Course
Vivek chan
 
Cinfo
CinfoCinfo
Cinfo
teach4uin
 
C chap02
C chap02C chap02
C chap02
Khan Rahimeen
 
C chap02
C chap02C chap02
C chap02
Kamran
 
c-programming
c-programmingc-programming
c-programming
Zulhazmi Harith
 
Introduction to c programming
Introduction to c programmingIntroduction to c programming
Introduction to c programming
Infinity Tech Solutions
 
Hello world! Intro to C++
Hello world! Intro to C++Hello world! Intro to C++
Hello world! Intro to C++
DSCIGDTUW
 
CP c++ programing project Unit 1 intro.pdf
CP c++ programing project  Unit 1 intro.pdfCP c++ programing project  Unit 1 intro.pdf
CP c++ programing project Unit 1 intro.pdf
ShivamYadav886008
 
Prog1-L2.pptx
Prog1-L2.pptxProg1-L2.pptx
Prog1-L2.pptx
valerie5142000
 
2 EPT 162 Lecture 2
2 EPT 162 Lecture 22 EPT 162 Lecture 2
2 EPT 162 Lecture 2
Don Dooley
 
C++
C++C++
Chapter2
Chapter2Chapter2
Chapter2
Anees999
 
Programming in C
Programming in CProgramming in C
Programming in C
Nishant Munjal
 
Lesson 4.1 completing the problem solving process
Lesson 4.1 completing the problem solving processLesson 4.1 completing the problem solving process
Lesson 4.1 completing the problem solving process
MLG College of Learning, Inc
 
Basic Programming concepts - Programming with C++
Basic Programming concepts - Programming with C++Basic Programming concepts - Programming with C++
Basic Programming concepts - Programming with C++
Mohamed El Desouki
 
Function
FunctionFunction
The smartpath information systems c pro
The smartpath information systems c proThe smartpath information systems c pro
The smartpath information systems c pro
The Smartpath Information Systems,Bhilai,Durg,Chhattisgarh.
 
Lecture 2 variables
Lecture 2 variablesLecture 2 variables
Lecture 2 variables
Tony Apreku
 

Similar to intro to c (20)

C Intro.ppt
C Intro.pptC Intro.ppt
C Intro.ppt
 
Lec1_EENG112-Introduction.pdf
Lec1_EENG112-Introduction.pdfLec1_EENG112-Introduction.pdf
Lec1_EENG112-Introduction.pdf
 
Complete C++ programming Language Course
Complete C++ programming Language CourseComplete C++ programming Language Course
Complete C++ programming Language Course
 
Cinfo
CinfoCinfo
Cinfo
 
C chap02
C chap02C chap02
C chap02
 
C chap02
C chap02C chap02
C chap02
 
c-programming
c-programmingc-programming
c-programming
 
Introduction to c programming
Introduction to c programmingIntroduction to c programming
Introduction to c programming
 
Hello world! Intro to C++
Hello world! Intro to C++Hello world! Intro to C++
Hello world! Intro to C++
 
CP c++ programing project Unit 1 intro.pdf
CP c++ programing project  Unit 1 intro.pdfCP c++ programing project  Unit 1 intro.pdf
CP c++ programing project Unit 1 intro.pdf
 
Prog1-L2.pptx
Prog1-L2.pptxProg1-L2.pptx
Prog1-L2.pptx
 
2 EPT 162 Lecture 2
2 EPT 162 Lecture 22 EPT 162 Lecture 2
2 EPT 162 Lecture 2
 
C++
C++C++
C++
 
Chapter2
Chapter2Chapter2
Chapter2
 
Programming in C
Programming in CProgramming in C
Programming in C
 
Lesson 4.1 completing the problem solving process
Lesson 4.1 completing the problem solving processLesson 4.1 completing the problem solving process
Lesson 4.1 completing the problem solving process
 
Basic Programming concepts - Programming with C++
Basic Programming concepts - Programming with C++Basic Programming concepts - Programming with C++
Basic Programming concepts - Programming with C++
 
Function
FunctionFunction
Function
 
The smartpath information systems c pro
The smartpath information systems c proThe smartpath information systems c pro
The smartpath information systems c pro
 
Lecture 2 variables
Lecture 2 variablesLecture 2 variables
Lecture 2 variables
 

More from teach4uin

Controls
ControlsControls
Controls
teach4uin
 
validation
validationvalidation
validation
teach4uin
 
validation
validationvalidation
validation
teach4uin
 
Master pages
Master pagesMaster pages
Master pages
teach4uin
 
.Net framework
.Net framework.Net framework
.Net framework
teach4uin
 
Scripting languages
Scripting languagesScripting languages
Scripting languages
teach4uin
 
Css1
Css1Css1
Css1
teach4uin
 
Code model
Code modelCode model
Code model
teach4uin
 
Asp db
Asp dbAsp db
Asp db
teach4uin
 
State management
State managementState management
State management
teach4uin
 
security configuration
security configurationsecurity configuration
security configuration
teach4uin
 
static dynamic html tags
 static dynamic html tags static dynamic html tags
static dynamic html tags
teach4uin
 
static dynamic html tags
static dynamic html tagsstatic dynamic html tags
static dynamic html tags
teach4uin
 
New microsoft office power point presentation
New microsoft office power point presentationNew microsoft office power point presentation
New microsoft office power point presentation
teach4uin
 
.Net overview
.Net overview.Net overview
.Net overview
teach4uin
 
Stdlib functions lesson
Stdlib functions lessonStdlib functions lesson
Stdlib functions lesson
teach4uin
 
enums
enumsenums
enums
teach4uin
 
memory
memorymemory
memory
teach4uin
 
array
arrayarray
array
teach4uin
 
storage clas
storage classtorage clas
storage clas
teach4uin
 

More from teach4uin (20)

Controls
ControlsControls
Controls
 
validation
validationvalidation
validation
 
validation
validationvalidation
validation
 
Master pages
Master pagesMaster pages
Master pages
 
.Net framework
.Net framework.Net framework
.Net framework
 
Scripting languages
Scripting languagesScripting languages
Scripting languages
 
Css1
Css1Css1
Css1
 
Code model
Code modelCode model
Code model
 
Asp db
Asp dbAsp db
Asp db
 
State management
State managementState management
State management
 
security configuration
security configurationsecurity configuration
security configuration
 
static dynamic html tags
 static dynamic html tags static dynamic html tags
static dynamic html tags
 
static dynamic html tags
static dynamic html tagsstatic dynamic html tags
static dynamic html tags
 
New microsoft office power point presentation
New microsoft office power point presentationNew microsoft office power point presentation
New microsoft office power point presentation
 
.Net overview
.Net overview.Net overview
.Net overview
 
Stdlib functions lesson
Stdlib functions lessonStdlib functions lesson
Stdlib functions lesson
 
enums
enumsenums
enums
 
memory
memorymemory
memory
 
array
arrayarray
array
 
storage clas
storage classtorage clas
storage clas
 

Recently uploaded

IPLOOK Remote-Sensing Satellite Solution
IPLOOK Remote-Sensing Satellite SolutionIPLOOK Remote-Sensing Satellite Solution
IPLOOK Remote-Sensing Satellite Solution
IPLOOK Networks
 
"Mastering Graphic Design: Essential Tips and Tricks for Beginners and Profes...
"Mastering Graphic Design: Essential Tips and Tricks for Beginners and Profes..."Mastering Graphic Design: Essential Tips and Tricks for Beginners and Profes...
"Mastering Graphic Design: Essential Tips and Tricks for Beginners and Profes...
Anant Gupta
 
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python CodebaseEuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
Jimmy Lai
 
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
Priyanka Aash
 
Tailored CRM Software Development for Enhanced Customer Insights
Tailored CRM Software Development for Enhanced Customer InsightsTailored CRM Software Development for Enhanced Customer Insights
Tailored CRM Software Development for Enhanced Customer Insights
SynapseIndia
 
(CISOPlatform Summit & SACON 2024) Cyber Insurance & Risk Quantification.pdf
(CISOPlatform Summit & SACON 2024) Cyber Insurance & Risk Quantification.pdf(CISOPlatform Summit & SACON 2024) Cyber Insurance & Risk Quantification.pdf
(CISOPlatform Summit & SACON 2024) Cyber Insurance & Risk Quantification.pdf
Priyanka Aash
 
Connector Corner: Leveraging Snowflake Integration for Smarter Decision Making
Connector Corner: Leveraging Snowflake Integration for Smarter Decision MakingConnector Corner: Leveraging Snowflake Integration for Smarter Decision Making
Connector Corner: Leveraging Snowflake Integration for Smarter Decision Making
DianaGray10
 
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
bhumivarma35300
 
Vertex AI Agent Builder - GDG Alicante - Julio 2024
Vertex AI Agent Builder - GDG Alicante - Julio 2024Vertex AI Agent Builder - GDG Alicante - Julio 2024
Vertex AI Agent Builder - GDG Alicante - Julio 2024
Nicolás Lopéz
 
Mastering OnlyFans Clone App Development: Key Strategies for Success
Mastering OnlyFans Clone App Development: Key Strategies for SuccessMastering OnlyFans Clone App Development: Key Strategies for Success
Mastering OnlyFans Clone App Development: Key Strategies for Success
David Wilson
 
Google I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged SlidesGoogle I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged Slides
Google Developer Group - Harare
 
Opencast Summit 2024 — Opencast @ University of Münster
Opencast Summit 2024 — Opencast @ University of MünsterOpencast Summit 2024 — Opencast @ University of Münster
Opencast Summit 2024 — Opencast @ University of Münster
Matthias Neugebauer
 
Types of Weaving loom machine & it's technology
Types of Weaving loom machine & it's technologyTypes of Weaving loom machine & it's technology
Types of Weaving loom machine & it's technology
ldtexsolbl
 
BLOCKCHAIN TECHNOLOGY - Advantages and Disadvantages
BLOCKCHAIN TECHNOLOGY - Advantages and DisadvantagesBLOCKCHAIN TECHNOLOGY - Advantages and Disadvantages
BLOCKCHAIN TECHNOLOGY - Advantages and Disadvantages
SAI KAILASH R
 
Patch Tuesday de julio
Patch Tuesday de julioPatch Tuesday de julio
Patch Tuesday de julio
Ivanti
 
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
alexjohnson7307
 
Sonkoloniya documentation - ONEprojukti.pdf
Sonkoloniya documentation - ONEprojukti.pdfSonkoloniya documentation - ONEprojukti.pdf
Sonkoloniya documentation - ONEprojukti.pdf
SubhamMandal40
 
(CISOPlatform Summit & SACON 2024) Gen AI & Deepfake In Overall Security.pdf
(CISOPlatform Summit & SACON 2024) Gen AI & Deepfake In Overall Security.pdf(CISOPlatform Summit & SACON 2024) Gen AI & Deepfake In Overall Security.pdf
(CISOPlatform Summit & SACON 2024) Gen AI & Deepfake In Overall Security.pdf
Priyanka Aash
 
(CISOPlatform Summit & SACON 2024) Orientation by CISO Platform_ Using CISO P...
(CISOPlatform Summit & SACON 2024) Orientation by CISO Platform_ Using CISO P...(CISOPlatform Summit & SACON 2024) Orientation by CISO Platform_ Using CISO P...
(CISOPlatform Summit & SACON 2024) Orientation by CISO Platform_ Using CISO P...
Priyanka Aash
 
Three New Criminal Laws in India 1 July 2024
Three New Criminal Laws in India 1 July 2024Three New Criminal Laws in India 1 July 2024
Three New Criminal Laws in India 1 July 2024
aakash malhotra
 

Recently uploaded (20)

IPLOOK Remote-Sensing Satellite Solution
IPLOOK Remote-Sensing Satellite SolutionIPLOOK Remote-Sensing Satellite Solution
IPLOOK Remote-Sensing Satellite Solution
 
"Mastering Graphic Design: Essential Tips and Tricks for Beginners and Profes...
"Mastering Graphic Design: Essential Tips and Tricks for Beginners and Profes..."Mastering Graphic Design: Essential Tips and Tricks for Beginners and Profes...
"Mastering Graphic Design: Essential Tips and Tricks for Beginners and Profes...
 
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python CodebaseEuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
 
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
 
Tailored CRM Software Development for Enhanced Customer Insights
Tailored CRM Software Development for Enhanced Customer InsightsTailored CRM Software Development for Enhanced Customer Insights
Tailored CRM Software Development for Enhanced Customer Insights
 
(CISOPlatform Summit & SACON 2024) Cyber Insurance & Risk Quantification.pdf
(CISOPlatform Summit & SACON 2024) Cyber Insurance & Risk Quantification.pdf(CISOPlatform Summit & SACON 2024) Cyber Insurance & Risk Quantification.pdf
(CISOPlatform Summit & SACON 2024) Cyber Insurance & Risk Quantification.pdf
 
Connector Corner: Leveraging Snowflake Integration for Smarter Decision Making
Connector Corner: Leveraging Snowflake Integration for Smarter Decision MakingConnector Corner: Leveraging Snowflake Integration for Smarter Decision Making
Connector Corner: Leveraging Snowflake Integration for Smarter Decision Making
 
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
 
Vertex AI Agent Builder - GDG Alicante - Julio 2024
Vertex AI Agent Builder - GDG Alicante - Julio 2024Vertex AI Agent Builder - GDG Alicante - Julio 2024
Vertex AI Agent Builder - GDG Alicante - Julio 2024
 
Mastering OnlyFans Clone App Development: Key Strategies for Success
Mastering OnlyFans Clone App Development: Key Strategies for SuccessMastering OnlyFans Clone App Development: Key Strategies for Success
Mastering OnlyFans Clone App Development: Key Strategies for Success
 
Google I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged SlidesGoogle I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged Slides
 
Opencast Summit 2024 — Opencast @ University of Münster
Opencast Summit 2024 — Opencast @ University of MünsterOpencast Summit 2024 — Opencast @ University of Münster
Opencast Summit 2024 — Opencast @ University of Münster
 
Types of Weaving loom machine & it's technology
Types of Weaving loom machine & it's technologyTypes of Weaving loom machine & it's technology
Types of Weaving loom machine & it's technology
 
BLOCKCHAIN TECHNOLOGY - Advantages and Disadvantages
BLOCKCHAIN TECHNOLOGY - Advantages and DisadvantagesBLOCKCHAIN TECHNOLOGY - Advantages and Disadvantages
BLOCKCHAIN TECHNOLOGY - Advantages and Disadvantages
 
Patch Tuesday de julio
Patch Tuesday de julioPatch Tuesday de julio
Patch Tuesday de julio
 
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
 
Sonkoloniya documentation - ONEprojukti.pdf
Sonkoloniya documentation - ONEprojukti.pdfSonkoloniya documentation - ONEprojukti.pdf
Sonkoloniya documentation - ONEprojukti.pdf
 
(CISOPlatform Summit & SACON 2024) Gen AI & Deepfake In Overall Security.pdf
(CISOPlatform Summit & SACON 2024) Gen AI & Deepfake In Overall Security.pdf(CISOPlatform Summit & SACON 2024) Gen AI & Deepfake In Overall Security.pdf
(CISOPlatform Summit & SACON 2024) Gen AI & Deepfake In Overall Security.pdf
 
(CISOPlatform Summit & SACON 2024) Orientation by CISO Platform_ Using CISO P...
(CISOPlatform Summit & SACON 2024) Orientation by CISO Platform_ Using CISO P...(CISOPlatform Summit & SACON 2024) Orientation by CISO Platform_ Using CISO P...
(CISOPlatform Summit & SACON 2024) Orientation by CISO Platform_ Using CISO P...
 
Three New Criminal Laws in India 1 July 2024
Three New Criminal Laws in India 1 July 2024Three New Criminal Laws in India 1 July 2024
Three New Criminal Laws in India 1 July 2024
 

intro to c

  • 1. © 2000 Prentice Hall, Inc. All rights reserved. Introduction to C Programming Outline 2.1 Introduction 2.2 A Simple C Program: Printing a Line of Text 2.3 Another Simple C Program: Adding Two Integers 2.4 Memory Concepts 2.5 Arithmetic in C 2.6 Decision Making: Equality and Relational Operators
  • 2. © 2000 Prentice Hall, Inc. All rights reserved. 2.1 Introduction • C programming language – Structured and disciplined approach to program design • Structured programming – Introduced in chapters 3 and 4 – Used throughout the remainder of the book
  • 3. © 2000 Prentice Hall, Inc. All rights reserved. 2.2 A Simple C Program: Printing a Line of Text • Comments – Text surrounded by /* and */ is ignored by computer – Used to describe program • #include <stdio.h> – Preprocessor directive - tells computer to load contents of a certain file – <stdio.h> allows standard input/output operations 1 /* Fig. 2.1: fig02_01.c 2 A first program in C */ 3 #include <stdio.h> 4 5 int main() 6 { 7 printf( "Welcome to C!n" ); 8 9 return 0; 10 } Welcome to C!
  • 4. © 2000 Prentice Hall, Inc. All rights reserved. 2.2 A Simple C Program: Printing a Line of Text (II) • int main() – C++ programs contain one or more functions, exactly one of which must be main – Parenthesis used to indicate a function – int means that main "returns" an integer value – Braces indicate a block • The bodies of all functions must be contained in braces
  • 5. © 2000 Prentice Hall, Inc. All rights reserved. 2.2 A Simple C Program: Printing a Line of Text (III) • printf( "Welcome to C!n" ); – Instructs computer to perform an action • Specifically, prints string of characters within quotes – Entire line called a statement • All statements must end with a semicolon – - escape character • Indicates that printf should do something out of the ordinary • n is the newline character
  • 6. © 2000 Prentice Hall, Inc. All rights reserved. 2.2 A Simple C Program: Printing a Line of Text (IV) • return 0; – A way to exit a function – return 0, in this case, means that the program terminated normally • Right brace } – Indicates end of main has been reached • Linker – When a function is called, linker locates it in the library – Inserts it into object program – If function name misspelled, linker will spot error because it cannot find function in library
  • 7. © 2000 Prentice Hall, Inc. All rights reserved. Outline 1. Initialize variables 2. Input 2.1 Sum 3. Print Program Output 1 /* Fig. 2.5: fig02_05.c 2 Addition program */ 3 #include <stdio.h> 4 5 int main() 6 { 7 int integer1, integer2, sum; /* declaration */ 8 9 printf( "Enter first integern" ); /* prompt */ 10 scanf( "%d", &integer1 ); /* read an integer */ 11 printf( "Enter second integern" ); /* prompt */ 12 scanf( "%d", &integer2 ); /* read an integer */ 13 sum = integer1 + integer2; /* assignment of sum */ 14 printf( "Sum is %dn", sum ); /* print sum */ 15 16 return 0; /* indicate that program ended successfully */ 17 } Enter first integer 45 Enter second integer 72 Sum is 117
  • 8. © 2000 Prentice Hall, Inc. All rights reserved. 2.3 Another Simple C Program: Adding Two Integers • As before – Comments, #include <stdio.h> and main • int integer1, integer2, sum; – Declaration of variables • Variables: locations in memory where a value can be stored – int means the variables can hold integers (-1, 3, 0, 47) – integer1, integer2, sum - variable names (identifiers) • Identifiers: consist of letters, digits (cannot begin with a digit), and underscores, case sensitive – Declarations appear before executable statements • If not, syntax (compile) error
  • 9. © 2000 Prentice Hall, Inc. All rights reserved. 2.3 Another Simple C Program: Adding Two Integers (II) • scanf( "%d", &integer1 ); – Obtains value from user • scanf uses standard input (usually keyboard) – This scanf has two arguments • %d - indicates data should be a decimal integer • &integer1 - location in memory to store variable • & is confusing in beginning - just remember to include it with the variable name in scanf statements – It will be discussed later – User responds to scanf by typing in number, then pressing the enter (return) key
  • 10. © 2000 Prentice Hall, Inc. All rights reserved. 2.3 Another Simple C Program: Adding Two Integers (III) • = (assignment operator ) – Assigns value to a variable – Binary operator (has two operands) sum = variable1 + variable2; sum gets variable1 + variable2; – Variable receiving value on left • printf( "Sum is %dn", sum ); – Similar to scanf - %d means decimal integer will be printed • sum specifies what integer will be printed – Calculations can be performed inside printf statements printf( "Sum is %dn", integer1 + integer2 );
  • 11. © 2000 Prentice Hall, Inc. All rights reserved. 2.4 Memory Concepts • Variables – Variable names correspond to locations in the computer's memory. – Every variable has a name, a type, a size and a value. – Whenever a new value is placed into a variable (through scanf, for example), it replaces (and destroys) previous value – Reading variables from memory does not change them • A visual representation integer1 45
  • 12. © 2000 Prentice Hall, Inc. All rights reserved. 2.5 Arithmetic • Arithmetic calculations are used in most programs – Use * for multiplication and / for division – Integer division truncates remainder 7 / 5 evaluates to 1 – Modulus operator returns the remainder 7 % 5 evaluates to 2 • Operator precedence – Some arithmetic operators act before others (i.e., multiplication before addition) • Use parenthesis when needed – Example: Find the average of three variables a, b and c • Do not use: a + b + c / 3 • Use: (a + b + c ) / 3
  • 13. © 2000 Prentice Hall, Inc. All rights reserved. 2.5 Arithmetic (II) • Arithmetic operators: • Rules of operator precedence: C operation Arithmetic operator Algebraic expression C expression Addition + f + 7 f + 7 Subtraction - p – c p - c Multiplication * bm b * m Division / x / y x / y Modulus % r mod s r % s Operator(s) Operation(s) Order of evaluation (precedence) () Parentheses Evaluated first. If the parentheses are nested, the expression in the innermost pair is evaluated first. If there are several pairs of parentheses “on the same level” (i.e., not nested), they are evaluated left to right. *, /, or % Multiplication Division Modulus Evaluated second. If there are several, they re evaluated left to right. + or - Addition Subtraction Evaluated last. If there are several, they are evaluated left to right.
  • 14. © 2000 Prentice Hall, Inc. All rights reserved. 2.6 Decision Making: Equality and Relational Operators • Executable statements – Perform actions (calculations, input/output of data) – Perform decisions • May want to print "pass" or "fail" given the value of a test grade • if control structure – Simple version in this section, more detail later – If a condition is true, then the body of the if statement executed • 0 is false, non-zero is true – Control always resumes after the if structure • Keywords – Special words reserved for C – Cannot be used as identifiers or variable names
  • 15. © 2000 Prentice Hall, Inc. All rights reserved. 2.6 Decision Making: Equality and Relational Operators (II) Standard algebraic equality operator or relational operator C++ equality or relational operator Example of C++ condition Meaning of C++ condition Relational operators > > x > y x is greater than y < < x < y x is less than y >= x >= y x is greater than or equal to y <= x <= y x is less than or equal to y Equality operators = == x == y x is equal to y != x != y x is not equal to y <_ >_ =
  • 16. © 2000 Prentice Hall, Inc. All rights reserved. 2.6 Decision Making: Equality and Relational Operators (III) Keywords auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if static while
  • 17. © 2000 Prentice Hall, Inc. All rights reserved. Outline 1. Declare variables 2. Input 2.1 if statements 3. Print 1 /* Fig. 2.13: fig02_13.c 2 Using if statements, relational 3 operators, and equality operators */ 4 #include <stdio.h> 5 6 int main() 7 { 8 int num1, num2; 9 10 printf( "Enter two integers, and I will tell youn" ); 11 printf( "the relationships they satisfy: " ); 12 scanf( "%d%d", &num1, &num2 ); /* read two integers */ 13 14 if ( num1 == num2 ) 15 printf( "%d is equal to %dn", num1, num2 ); 16 17 if ( num1 != num2 ) 18 printf( "%d is not equal to %dn", num1, num2 ); 19 20 if ( num1 < num2 ) 21 printf( "%d is less than %dn", num1, num2 ); 22 23 if ( num1 > num2 ) 24 printf( "%d is greater than %dn", num1, num2 ); 25 26 if ( num1 <= num2 ) 27 printf( "%d is less than or equal to %dn", 28 num1, num2 );
  • 18. © 2000 Prentice Hall, Inc. All rights reserved. Outline 3.1 Exit main Program Output 29 30 if ( num1 >= num2 ) 31 printf( "%d is greater than or equal to %dn", 32 num1, num2 ); 33 34 return 0; /* indicate program ended successfully */ 35 } Enter two integers, and I will tell you the relationships they satisfy: 3 7 3 is not equal to 7 3 is less than 7 3 is less than or equal to 7 Enter two integers, and I will tell you the relationships they satisfy: 22 12 22 is not equal to 12 22 is greater than 12 22 is greater than or equal to 12