SlideShare une entreprise Scribd logo
1  sur  18
© 2000 Prentice Hall, Inc. All rights reserved.
1
Chapter 2 - 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
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.
3
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.
4
2.2 A Simple C Program:
Printing a Line of Text
• 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 ({ and }) indicate a block
• The bodies of all functions must be contained in braces
© 2000 Prentice Hall, Inc. All rights reserved.
5
2.2 A Simple C Program:
Printing a Line of Text
• printf( "Welcome to C!n" );
– Instructs computer to perform an action
• Specifically, prints the 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.
6
2.2 A Simple C Program:
Printing a Line of Text
• 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 is misspelled, the linker will produce an
error because it will not be able to find function in the
library
© 2000 Prentice Hall, Inc. All rights reserved.
OutlineOutline
7
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.
8
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)
– Variable names (identifiers)
• integer1, integer2, sum
• Identifiers: consist of letters, digits (cannot begin with a digit)
and underscores( _ )
– Case sensitive
– Declarations appear before executable statements
• If an executable statement references and undeclared variable
it will produce a syntax (compiler) error
© 2000 Prentice Hall, Inc. All rights reserved.
9
2.3 Another Simple C Program:
Adding Two Integers
• scanf( "%d", &integer1 );
– Obtains a value from the user
• scanf uses standard input (usually keyboard)
– This scanf statement has two arguments
• %d - indicates data should be a decimal integer
• &integer1 - location in memory to store variable
• & is confusing in beginning – for now, just remember to
include it with the variable name in scanf statements
– When executing the program the user responds to the
scanf statement by typing in a number, then pressing the
enter (return) key
© 2000 Prentice Hall, Inc. All rights reserved.
10
2.3 Another Simple C Program:
Adding Two Integers
• = (assignment operator)
– Assigns a value to a variable
– Is a 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.
11
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) the previous
value
– Reading variables from memory does not change them
• A visual representation
integer1 45
© 2000 Prentice Hall, Inc. All rights reserved.
12
2.5 Arithmetic
• Arithmetic calculations
– 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.
13
2.5 Arithmetic
• 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,Divi
sion, Modulus
Evaluated second. If there are several, they are
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.
14
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.
15
2.6 Decision Making: Equality and
Relational Operators
Standard algebraic
equality operator or
relational operator
C equality or
relational
operator
Example of C
condition
Meaning of C
condition
Equality Operators
= == x == y x is equal to y
not = != x != y x is not equal to y
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
© 2000 Prentice Hall, Inc. All rights reserved.
16
2.6 Decision Making: Equality and
Relational Operators
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.
OutlineOutline
17
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.
OutlineOutline
18
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

Contenu connexe

Tendances

Ch1 principles of software development
Ch1 principles of software developmentCh1 principles of software development
Ch1 principles of software developmentHattori Sidek
 
18CSS101J PROGRAMMING FOR PROBLEM SOLVING
18CSS101J PROGRAMMING FOR PROBLEM SOLVING18CSS101J PROGRAMMING FOR PROBLEM SOLVING
18CSS101J PROGRAMMING FOR PROBLEM SOLVINGGOWSIKRAJAP
 
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 dti2143alish sha
 
Functions in c mrs.sowmya jyothi
Functions in c mrs.sowmya jyothiFunctions in c mrs.sowmya jyothi
Functions in c mrs.sowmya jyothiSowmya Jyothi
 
PROGRAM LOGIC AND FORMULATION
PROGRAM LOGIC AND FORMULATIONPROGRAM LOGIC AND FORMULATION
PROGRAM LOGIC AND FORMULATIONJoland Reambillo
 
Pointers and call by value, reference, address in C
Pointers and call by value, reference, address in CPointers and call by value, reference, address in C
Pointers and call by value, reference, address in CSyed Mustafa
 
Ch2 introduction to c
Ch2 introduction to cCh2 introduction to c
Ch2 introduction to cHattori Sidek
 
Unit ii chapter 2 Decision making and Branching in C
Unit ii chapter 2 Decision making and Branching in CUnit ii chapter 2 Decision making and Branching in C
Unit ii chapter 2 Decision making and Branching in CSowmya Jyothi
 

Tendances (20)

Ch3 repetition
Ch3 repetitionCh3 repetition
Ch3 repetition
 
Ch1 principles of software development
Ch1 principles of software developmentCh1 principles of software development
Ch1 principles of software development
 
18CSS101J PROGRAMMING FOR PROBLEM SOLVING
18CSS101J PROGRAMMING FOR PROBLEM SOLVING18CSS101J PROGRAMMING FOR PROBLEM SOLVING
18CSS101J PROGRAMMING FOR PROBLEM SOLVING
 
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
 
C# programs
C# programsC# programs
C# programs
 
Basics of c++
Basics of c++ Basics of c++
Basics of c++
 
Chapter 7: Arithmetic and Relational Operators
Chapter 7:  Arithmetic and Relational Operators Chapter 7:  Arithmetic and Relational Operators
Chapter 7: Arithmetic and Relational Operators
 
Programming in c by pkv
Programming in c by pkvProgramming in c by pkv
Programming in c by pkv
 
CONTROL STRUCTURE
CONTROL STRUCTURECONTROL STRUCTURE
CONTROL STRUCTURE
 
Unit 3
Unit 3 Unit 3
Unit 3
 
cp Module4(1)
cp Module4(1)cp Module4(1)
cp Module4(1)
 
[ITP - Lecture 12] Functions in C/C++
[ITP - Lecture 12] Functions in C/C++[ITP - Lecture 12] Functions in C/C++
[ITP - Lecture 12] Functions in C/C++
 
Learn C
Learn CLearn C
Learn C
 
Cp module 2
Cp module 2Cp module 2
Cp module 2
 
Fda unit 1 lec 1
Fda unit 1 lec  1Fda unit 1 lec  1
Fda unit 1 lec 1
 
Functions in c mrs.sowmya jyothi
Functions in c mrs.sowmya jyothiFunctions in c mrs.sowmya jyothi
Functions in c mrs.sowmya jyothi
 
PROGRAM LOGIC AND FORMULATION
PROGRAM LOGIC AND FORMULATIONPROGRAM LOGIC AND FORMULATION
PROGRAM LOGIC AND FORMULATION
 
Pointers and call by value, reference, address in C
Pointers and call by value, reference, address in CPointers and call by value, reference, address in C
Pointers and call by value, reference, address in C
 
Ch2 introduction to c
Ch2 introduction to cCh2 introduction to c
Ch2 introduction to c
 
Unit ii chapter 2 Decision making and Branching in C
Unit ii chapter 2 Decision making and Branching in CUnit ii chapter 2 Decision making and Branching in C
Unit ii chapter 2 Decision making and Branching in C
 

Similaire à C Introduction

Similaire à C Introduction (20)

C Intro.ppt
C Intro.pptC Intro.ppt
C Intro.ppt
 
Complete C++ programming Language Course
Complete C++ programming Language CourseComplete C++ programming Language Course
Complete C++ programming Language Course
 
Lec1_EENG112-Introduction.pdf
Lec1_EENG112-Introduction.pdfLec1_EENG112-Introduction.pdf
Lec1_EENG112-Introduction.pdf
 
Cinfo
CinfoCinfo
Cinfo
 
c-programming
c-programmingc-programming
c-programming
 
Hello world! Intro to C++
Hello world! Intro to C++Hello world! Intro to C++
Hello world! Intro to C++
 
Prog1-L2.pptx
Prog1-L2.pptxProg1-L2.pptx
Prog1-L2.pptx
 
C programming
C programmingC programming
C programming
 
Function
FunctionFunction
Function
 
2 EPT 162 Lecture 2
2 EPT 162 Lecture 22 EPT 162 Lecture 2
2 EPT 162 Lecture 2
 
C++
C++C++
C++
 
Programming in C
Programming in CProgramming in C
Programming in C
 
Introduction to c programming
Introduction to c programmingIntroduction to c programming
Introduction to c programming
 
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
 
Basic Elements of C++
Basic Elements of C++Basic Elements of C++
Basic Elements of C++
 
Fundamentals of Data Structures Unit 1.pptx
Fundamentals of Data Structures Unit 1.pptxFundamentals of Data Structures Unit 1.pptx
Fundamentals of Data Structures Unit 1.pptx
 
Fundamentals of computer programming by Dr. A. Charan Kumari
Fundamentals of computer programming by Dr. A. Charan KumariFundamentals of computer programming by Dr. A. Charan Kumari
Fundamentals of computer programming by Dr. A. Charan Kumari
 
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
 
Presentation 2.ppt
Presentation 2.pptPresentation 2.ppt
Presentation 2.ppt
 
Chapter2
Chapter2Chapter2
Chapter2
 

Plus de Sudharsan S (20)

Xml1111
Xml1111Xml1111
Xml1111
 
Xml11
Xml11Xml11
Xml11
 
Xml plymouth
Xml plymouthXml plymouth
Xml plymouth
 
Xml Presentation-3
Xml Presentation-3Xml Presentation-3
Xml Presentation-3
 
Xml Presentation-1
Xml Presentation-1Xml Presentation-1
Xml Presentation-1
 
XML Presentation-2
XML Presentation-2XML Presentation-2
XML Presentation-2
 
Xml
XmlXml
Xml
 
Unix Shell Scripting Basics
Unix Shell Scripting BasicsUnix Shell Scripting Basics
Unix Shell Scripting Basics
 
Unix
UnixUnix
Unix
 
Introduction to Unix
Introduction to UnixIntroduction to Unix
Introduction to Unix
 
Unix
UnixUnix
Unix
 
C Lecture
C LectureC Lecture
C Lecture
 
C Tutorials
C TutorialsC Tutorials
C Tutorials
 
College1
College1College1
College1
 
C Programming
C ProgrammingC Programming
C Programming
 
C Tutorials
C TutorialsC Tutorials
C Tutorials
 
Preface
PrefacePreface
Preface
 
Toc Sg
Toc SgToc Sg
Toc Sg
 
Les08
Les08Les08
Les08
 
Les06
Les06Les06
Les06
 

Dernier

Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting DataJhengPantaleon
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
Science lesson Moon for 4th quarter lesson
Science lesson Moon for 4th quarter lessonScience lesson Moon for 4th quarter lesson
Science lesson Moon for 4th quarter lessonJericReyAuditor
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaVirag Sontakke
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfadityarao40181
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
ENGLISH5 QUARTER4 MODULE1 WEEK1-3 How Visual and Multimedia Elements.pptx
ENGLISH5 QUARTER4 MODULE1 WEEK1-3 How Visual and Multimedia Elements.pptxENGLISH5 QUARTER4 MODULE1 WEEK1-3 How Visual and Multimedia Elements.pptx
ENGLISH5 QUARTER4 MODULE1 WEEK1-3 How Visual and Multimedia Elements.pptxAnaBeatriceAblay2
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
Class 11 Legal Studies Ch-1 Concept of State .pdf
Class 11 Legal Studies Ch-1 Concept of State .pdfClass 11 Legal Studies Ch-1 Concept of State .pdf
Class 11 Legal Studies Ch-1 Concept of State .pdfakmcokerachita
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
internship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerinternship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerunnathinaik
 

Dernier (20)

Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
Science lesson Moon for 4th quarter lesson
Science lesson Moon for 4th quarter lessonScience lesson Moon for 4th quarter lesson
Science lesson Moon for 4th quarter lesson
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of India
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdf
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
ENGLISH5 QUARTER4 MODULE1 WEEK1-3 How Visual and Multimedia Elements.pptx
ENGLISH5 QUARTER4 MODULE1 WEEK1-3 How Visual and Multimedia Elements.pptxENGLISH5 QUARTER4 MODULE1 WEEK1-3 How Visual and Multimedia Elements.pptx
ENGLISH5 QUARTER4 MODULE1 WEEK1-3 How Visual and Multimedia Elements.pptx
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
Class 11 Legal Studies Ch-1 Concept of State .pdf
Class 11 Legal Studies Ch-1 Concept of State .pdfClass 11 Legal Studies Ch-1 Concept of State .pdf
Class 11 Legal Studies Ch-1 Concept of State .pdf
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
internship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerinternship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developer
 

C Introduction

  • 1. © 2000 Prentice Hall, Inc. All rights reserved. 1 Chapter 2 - 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 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. 3 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. 4 2.2 A Simple C Program: Printing a Line of Text • 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 ({ and }) indicate a block • The bodies of all functions must be contained in braces
  • 5. © 2000 Prentice Hall, Inc. All rights reserved. 5 2.2 A Simple C Program: Printing a Line of Text • printf( "Welcome to C!n" ); – Instructs computer to perform an action • Specifically, prints the 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. 6 2.2 A Simple C Program: Printing a Line of Text • 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 is misspelled, the linker will produce an error because it will not be able to find function in the library
  • 7. © 2000 Prentice Hall, Inc. All rights reserved. OutlineOutline 7 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. 8 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) – Variable names (identifiers) • integer1, integer2, sum • Identifiers: consist of letters, digits (cannot begin with a digit) and underscores( _ ) – Case sensitive – Declarations appear before executable statements • If an executable statement references and undeclared variable it will produce a syntax (compiler) error
  • 9. © 2000 Prentice Hall, Inc. All rights reserved. 9 2.3 Another Simple C Program: Adding Two Integers • scanf( "%d", &integer1 ); – Obtains a value from the user • scanf uses standard input (usually keyboard) – This scanf statement has two arguments • %d - indicates data should be a decimal integer • &integer1 - location in memory to store variable • & is confusing in beginning – for now, just remember to include it with the variable name in scanf statements – When executing the program the user responds to the scanf statement by typing in a number, then pressing the enter (return) key
  • 10. © 2000 Prentice Hall, Inc. All rights reserved. 10 2.3 Another Simple C Program: Adding Two Integers • = (assignment operator) – Assigns a value to a variable – Is a 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. 11 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) the previous value – Reading variables from memory does not change them • A visual representation integer1 45
  • 12. © 2000 Prentice Hall, Inc. All rights reserved. 12 2.5 Arithmetic • Arithmetic calculations – 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. 13 2.5 Arithmetic • 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,Divi sion, Modulus Evaluated second. If there are several, they are 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. 14 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. 15 2.6 Decision Making: Equality and Relational Operators Standard algebraic equality operator or relational operator C equality or relational operator Example of C condition Meaning of C condition Equality Operators = == x == y x is equal to y not = != x != y x is not equal to y 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
  • 16. © 2000 Prentice Hall, Inc. All rights reserved. 16 2.6 Decision Making: Equality and Relational Operators 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. OutlineOutline 17 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. OutlineOutline 18 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