SlideShare a Scribd company logo
1 of 41
Computer Science: A Structured Programming Approach Using C 1
Objectives
❏ To understand the structure of a C-language program.
❏ To write your first C program.
❏ To introduce the include preprocessor command.
❏ To be able to create good identifiers for objects in a program.
❏ To be able to list, describe, and use the C basic data types.
❏ To be able to create and use variables and constants.
❏ To understand input and output concepts.
❏ To be able to use simple input and output statements.
Chapter 2
Introduction to the C Language
Computer Science: A Structured Programming Approach Using C 2
2-1 Background
C is a structured programming language. It is
considered a high-level language because it allows the
programmer to concentrate on the problem at hand
and not worry about the machine that the program
will be using. That is another reason why it is used by
software developers whose applications have to run on
many different hardware platforms.
Computer Science: A Structured Programming Approach Using C 3
2-2 C Programs
It's time to write your first C program.
Structure of a C Program
Your First C Program
Comments
The Greeting Program
Topics discussed in this section:
Computer Science: A Structured Programming Approach Using C 4
FIGURE 2-2 Structure of a C Program
Computer Science: A Structured Programming Approach Using C 5
FIGURE 2-3 The Greeting Program
Computer Science: A Structured Programming Approach Using C 6
PROGRAM 2-1 The Greeting Program
Computer Science: A Structured Programming Approach Using C 7
FIGURE 2-4 Examples of Block Comments
Computer Science: A Structured Programming Approach Using C 8
FIGURE 2-5 Examples of Line Comments
Computer Science: A Structured Programming Approach Using C 9
FIGURE 2-6 Nested Block Comments Are Invalid
Computer Science: A Structured Programming Approach Using C 10
2-3 Identifiers
One feature present in all computer languages is the
identifier. Identifiers allow us to name data and other
objects in the program. Each identified object in the
computer is stored at a unique address.
Computer Science: A Structured Programming Approach Using C 11
Table 2-1 Rules for Identifiers
Computer Science: A Structured Programming Approach Using C 12
An identifier must start with a letter or underscore:
it may not have a space or a hyphen.
Note
Computer Science: A Structured Programming Approach Using C 13
C is a case-sensitive language.
Note
Computer Science: A Structured Programming Approach Using C 14
Table 2-2 Examples of Valid and Invalid Names
Computer Science: A Structured Programming Approach Using C 15
2-4 Types
A type defines a set of values and a set of operations
that can be applied on those values.
Void Type
Integral Type
Floating-Point Types
Topics discussed in this section:
Computer Science: A Structured Programming Approach Using C 16
FIGURE 2-7 Data Types
Computer Science: A Structured Programming Approach Using C 17
FIGURE 2-8 Character Types
Computer Science: A Structured Programming Approach Using C 18
FIGURE 2-9 Integer Types
Computer Science: A Structured Programming Approach Using C 19
sizeof (short) ≤ sizeof (int) ≤ sizeof (long) ≤ sizeof (long long)
Note
Computer Science: A Structured Programming Approach Using C 20
Table 2-3 Typical Integer Sizes and Values for Signed Integers
Computer Science: A Structured Programming Approach Using C 21
FIGURE 2-10 Floating-point Types
Computer Science: A Structured Programming Approach Using C 22
sizeof (float) ≤ sizeof (double) ≤ sizeof (long double)
Note
Computer Science: A Structured Programming Approach Using C 23
Table 2-4 Type Summary
Computer Science: A Structured Programming Approach Using C 24
2-5 Variables
Variables are named memory locations that have a type,
such as integer or character, which is inherited from
their type. The type determines the values that a variable
may contain and the operations that may be used with
its values.
Variable Declaration
Variable Initialization
Topics discussed in this section:
Computer Science: A Structured Programming Approach Using C 25
FIGURE 2-11 Variables
Computer Science: A Structured Programming Approach Using C 26
Table 2-5 Examples of Variable Declarations and Definitions
Computer Science: A Structured Programming Approach Using C 27
FIGURE 2-12 Variable Initialization
‘B’
Computer Science: A Structured Programming Approach Using C 28
When a variable is defined, it is not initialized.
We must initialize any variable requiring
prescribed data when the function starts.
Note
Computer Science: A Structured Programming Approach Using C 29
PROGRAM 2-2 Print Sum of Three Numbers
Computer Science: A Structured Programming Approach Using C 30
PROGRAM 2-2 Print Sum of Three Numbers (continued)
Computer Science: A Structured Programming Approach Using C 31
PROGRAM 2-2 Print Sum of Three Numbers (continued)
Computer Science: A Structured Programming Approach Using C 32
2-6 Constants
Constants are data values that cannot be changed
during the execution of a program. Like variables,
constants have a type. In this section, we discuss
Boolean, character, integer, real, complex, and string
constants.
Constant Representation
Coding Constants
Topics discussed in this section:
Computer Science: A Structured Programming Approach Using C 33
A character constant is enclosed in single quotes.
Note
Computer Science: A Structured Programming Approach Using C 34
Table 2-6 Symbolic Names for Control Characters
Computer Science: A Structured Programming Approach Using C 35
Table 2-7 Examples of Integer Constants
Computer Science: A Structured Programming Approach Using C 36
Table 2-8 Examples of Real Constants
Computer Science: A Structured Programming Approach Using C 37
FIGURE 2-13 Some Strings
Computer Science: A Structured Programming Approach Using C 38
FIGURE 2-14 Null Characters and Null Strings
Computer Science: A Structured Programming Approach Using C 39
Use single quotes for character constants.
Use double quotes for string constants.
Note
Computer Science: A Structured Programming Approach Using C 40
PROGRAM 2-3 Memory Constants
Computer Science: A Structured Programming Approach Using C 41
PROGRAM 2-3 Memory Constants (continued)

More Related Content

What's hot

Boehm Software Quality Model
Boehm Software Quality ModelBoehm Software Quality Model
Boehm Software Quality ModelProfessional QA
 
Computer system architecture
Computer system architectureComputer system architecture
Computer system architecturevenkateswarlu G
 
2.2. language evaluation criteria
2.2. language evaluation criteria2.2. language evaluation criteria
2.2. language evaluation criteriaannahallare_
 
Evolving role of Software
Evolving role of SoftwareEvolving role of Software
Evolving role of SoftwareShankar Dahal
 
Matrix Multiplication(An example of concurrent programming)
Matrix Multiplication(An example of concurrent programming)Matrix Multiplication(An example of concurrent programming)
Matrix Multiplication(An example of concurrent programming)Pramit Kumar
 
Superscalar & superpipeline processor
Superscalar & superpipeline processorSuperscalar & superpipeline processor
Superscalar & superpipeline processorMuhammad Ishaq
 
Object Modelling in Software Engineering
Object Modelling in Software EngineeringObject Modelling in Software Engineering
Object Modelling in Software Engineeringguest7fe55d5e
 
Overview of UML Diagrams
Overview of UML DiagramsOverview of UML Diagrams
Overview of UML DiagramsManish Kumar
 
CSCI-383 Lecture 3-4: Abstraction
CSCI-383 Lecture 3-4: AbstractionCSCI-383 Lecture 3-4: Abstraction
CSCI-383 Lecture 3-4: AbstractionJI Ruan
 
ICS3MeBook
ICS3MeBookICS3MeBook
ICS3MeBooktprezens
 
أنواع نظم تشغيل الحاسب
أنواع نظم تشغيل الحاسبأنواع نظم تشغيل الحاسب
أنواع نظم تشغيل الحاسبAhmad Abdelbaqy
 
Technical aspectof game design (Game Architecture)
Technical aspectof game design (Game Architecture)Technical aspectof game design (Game Architecture)
Technical aspectof game design (Game Architecture)Rajkumar Pawar
 
Operating system structures
Operating system structuresOperating system structures
Operating system structuresMohd Arif
 

What's hot (20)

Boehm Software Quality Model
Boehm Software Quality ModelBoehm Software Quality Model
Boehm Software Quality Model
 
Computer system architecture
Computer system architectureComputer system architecture
Computer system architecture
 
Cours fichiers
Cours fichiersCours fichiers
Cours fichiers
 
Concurrency
ConcurrencyConcurrency
Concurrency
 
2.2. language evaluation criteria
2.2. language evaluation criteria2.2. language evaluation criteria
2.2. language evaluation criteria
 
Evolving role of Software
Evolving role of SoftwareEvolving role of Software
Evolving role of Software
 
Matrix Multiplication(An example of concurrent programming)
Matrix Multiplication(An example of concurrent programming)Matrix Multiplication(An example of concurrent programming)
Matrix Multiplication(An example of concurrent programming)
 
Superscalar & superpipeline processor
Superscalar & superpipeline processorSuperscalar & superpipeline processor
Superscalar & superpipeline processor
 
Object Modelling in Software Engineering
Object Modelling in Software EngineeringObject Modelling in Software Engineering
Object Modelling in Software Engineering
 
Overview of UML Diagrams
Overview of UML DiagramsOverview of UML Diagrams
Overview of UML Diagrams
 
Software Evolution
Software EvolutionSoftware Evolution
Software Evolution
 
CSCI-383 Lecture 3-4: Abstraction
CSCI-383 Lecture 3-4: AbstractionCSCI-383 Lecture 3-4: Abstraction
CSCI-383 Lecture 3-4: Abstraction
 
Software engg unit 4
Software engg unit 4 Software engg unit 4
Software engg unit 4
 
Demand paging
Demand pagingDemand paging
Demand paging
 
ICS3MeBook
ICS3MeBookICS3MeBook
ICS3MeBook
 
Memory management
Memory managementMemory management
Memory management
 
أنواع نظم تشغيل الحاسب
أنواع نظم تشغيل الحاسبأنواع نظم تشغيل الحاسب
أنواع نظم تشغيل الحاسب
 
Technical aspectof game design (Game Architecture)
Technical aspectof game design (Game Architecture)Technical aspectof game design (Game Architecture)
Technical aspectof game design (Game Architecture)
 
Os services
Os servicesOs services
Os services
 
Operating system structures
Operating system structuresOperating system structures
Operating system structures
 

Similar to Chap-02-1.ppt

CODING-DAY-2-INTRODUCTION TO C PROGRAMMING.ppt
CODING-DAY-2-INTRODUCTION TO C PROGRAMMING.pptCODING-DAY-2-INTRODUCTION TO C PROGRAMMING.ppt
CODING-DAY-2-INTRODUCTION TO C PROGRAMMING.pptadamjackson818417
 
Programming with c language practical manual
Programming with c language practical manualProgramming with c language practical manual
Programming with c language practical manualAnil Bishnoi
 
Chap-14-1 (1).ppt
Chap-14-1 (1).pptChap-14-1 (1).ppt
Chap-14-1 (1).pptOmPrakasDas
 
C notes by m v b reddy(gitam)imp notes all units notes 5 unit order
C notes by m v b  reddy(gitam)imp  notes  all units notes  5 unit orderC notes by m v b  reddy(gitam)imp  notes  all units notes  5 unit order
C notes by m v b reddy(gitam)imp notes all units notes 5 unit orderMalikireddy Bramhananda Reddy
 
Computer programming all chapters
Computer programming all chaptersComputer programming all chapters
Computer programming all chaptersIbrahim Elewah
 
CHAPTER-2.ppt
CHAPTER-2.pptCHAPTER-2.ppt
CHAPTER-2.pptTekle12
 
Lecture 3.2.4 C pointer to Structure.pptx
Lecture 3.2.4 C pointer to Structure.pptxLecture 3.2.4 C pointer to Structure.pptx
Lecture 3.2.4 C pointer to Structure.pptxravi2692kumar
 
ch01_an overview of computers and programming languages
ch01_an overview of computers and programming languagesch01_an overview of computers and programming languages
ch01_an overview of computers and programming languagesLiemLe21
 

Similar to Chap-02-1.ppt (20)

Chap-02-1.ppt
Chap-02-1.pptChap-02-1.ppt
Chap-02-1.ppt
 
Chapter 02-02.pptx
Chapter 02-02.pptxChapter 02-02.pptx
Chapter 02-02.pptx
 
Intro
IntroIntro
Intro
 
Variable-intro.pptx
Variable-intro.pptxVariable-intro.pptx
Variable-intro.pptx
 
CODING-DAY-2-INTRODUCTION TO C PROGRAMMING.ppt
CODING-DAY-2-INTRODUCTION TO C PROGRAMMING.pptCODING-DAY-2-INTRODUCTION TO C PROGRAMMING.ppt
CODING-DAY-2-INTRODUCTION TO C PROGRAMMING.ppt
 
Chap 01-1 jwfiles
Chap 01-1 jwfilesChap 01-1 jwfiles
Chap 01-1 jwfiles
 
Chap-07-1.ppt
Chap-07-1.pptChap-07-1.ppt
Chap-07-1.ppt
 
Programming with c language practical manual
Programming with c language practical manualProgramming with c language practical manual
Programming with c language practical manual
 
Unit 1.1 - Introduction to C.pptx
Unit 1.1 - Introduction to C.pptxUnit 1.1 - Introduction to C.pptx
Unit 1.1 - Introduction to C.pptx
 
Chap-14-1 (1).ppt
Chap-14-1 (1).pptChap-14-1 (1).ppt
Chap-14-1 (1).ppt
 
C notes by m v b reddy(gitam)imp notes all units notes 5 unit order
C notes by m v b  reddy(gitam)imp  notes  all units notes  5 unit orderC notes by m v b  reddy(gitam)imp  notes  all units notes  5 unit order
C notes by m v b reddy(gitam)imp notes all units notes 5 unit order
 
C AND DATASTRUCTURES PREPARED BY M V B REDDY
C AND DATASTRUCTURES PREPARED BY M V B REDDYC AND DATASTRUCTURES PREPARED BY M V B REDDY
C AND DATASTRUCTURES PREPARED BY M V B REDDY
 
Chap 11-1
Chap 11-1Chap 11-1
Chap 11-1
 
Computer programming all chapters
Computer programming all chaptersComputer programming all chapters
Computer programming all chapters
 
CHAPTER-2.ppt
CHAPTER-2.pptCHAPTER-2.ppt
CHAPTER-2.ppt
 
Session1 c1
Session1 c1Session1 c1
Session1 c1
 
trial
trialtrial
trial
 
Lecture 3.2.4 C pointer to Structure.pptx
Lecture 3.2.4 C pointer to Structure.pptxLecture 3.2.4 C pointer to Structure.pptx
Lecture 3.2.4 C pointer to Structure.pptx
 
ch01_an overview of computers and programming languages
ch01_an overview of computers and programming languagesch01_an overview of computers and programming languages
ch01_an overview of computers and programming languages
 
Chap-03-1.ppt
Chap-03-1.pptChap-03-1.ppt
Chap-03-1.ppt
 

Recently uploaded

Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Sérgio Sacani
 
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCRStunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCRDelhi Call girls
 
Disentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTDisentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTSérgio Sacani
 
Nanoparticles synthesis and characterization​ ​
Nanoparticles synthesis and characterization​  ​Nanoparticles synthesis and characterization​  ​
Nanoparticles synthesis and characterization​ ​kaibalyasahoo82800
 
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxSOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxkessiyaTpeter
 
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls AgencyHire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls AgencySheetal Arora
 
GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)Areesha Ahmad
 
Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)PraveenaKalaiselvan1
 
Orientation, design and principles of polyhouse
Orientation, design and principles of polyhouseOrientation, design and principles of polyhouse
Orientation, design and principles of polyhousejana861314
 
Animal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxAnimal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxUmerFayaz5
 
Isotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoIsotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoSérgio Sacani
 
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsHubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsSérgio Sacani
 
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdfPests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdfPirithiRaju
 
Natural Polymer Based Nanomaterials
Natural Polymer Based NanomaterialsNatural Polymer Based Nanomaterials
Natural Polymer Based NanomaterialsAArockiyaNisha
 
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 60009654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000Sapana Sha
 
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...anilsa9823
 
Botany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdfBotany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdfSumit Kumar yadav
 
GFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptxGFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptxAleenaTreesaSaji
 
Green chemistry and Sustainable development.pptx
Green chemistry  and Sustainable development.pptxGreen chemistry  and Sustainable development.pptx
Green chemistry and Sustainable development.pptxRajatChauhan518211
 

Recently uploaded (20)

Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
 
Engler and Prantl system of classification in plant taxonomy
Engler and Prantl system of classification in plant taxonomyEngler and Prantl system of classification in plant taxonomy
Engler and Prantl system of classification in plant taxonomy
 
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCRStunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
 
Disentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTDisentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOST
 
Nanoparticles synthesis and characterization​ ​
Nanoparticles synthesis and characterization​  ​Nanoparticles synthesis and characterization​  ​
Nanoparticles synthesis and characterization​ ​
 
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxSOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
 
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls AgencyHire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
 
GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)
 
Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)
 
Orientation, design and principles of polyhouse
Orientation, design and principles of polyhouseOrientation, design and principles of polyhouse
Orientation, design and principles of polyhouse
 
Animal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxAnimal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptx
 
Isotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoIsotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on Io
 
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsHubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
 
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdfPests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
 
Natural Polymer Based Nanomaterials
Natural Polymer Based NanomaterialsNatural Polymer Based Nanomaterials
Natural Polymer Based Nanomaterials
 
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 60009654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
 
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
 
Botany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdfBotany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdf
 
GFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptxGFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptx
 
Green chemistry and Sustainable development.pptx
Green chemistry  and Sustainable development.pptxGreen chemistry  and Sustainable development.pptx
Green chemistry and Sustainable development.pptx
 

Chap-02-1.ppt

  • 1. Computer Science: A Structured Programming Approach Using C 1 Objectives ❏ To understand the structure of a C-language program. ❏ To write your first C program. ❏ To introduce the include preprocessor command. ❏ To be able to create good identifiers for objects in a program. ❏ To be able to list, describe, and use the C basic data types. ❏ To be able to create and use variables and constants. ❏ To understand input and output concepts. ❏ To be able to use simple input and output statements. Chapter 2 Introduction to the C Language
  • 2. Computer Science: A Structured Programming Approach Using C 2 2-1 Background C is a structured programming language. It is considered a high-level language because it allows the programmer to concentrate on the problem at hand and not worry about the machine that the program will be using. That is another reason why it is used by software developers whose applications have to run on many different hardware platforms.
  • 3. Computer Science: A Structured Programming Approach Using C 3 2-2 C Programs It's time to write your first C program. Structure of a C Program Your First C Program Comments The Greeting Program Topics discussed in this section:
  • 4. Computer Science: A Structured Programming Approach Using C 4 FIGURE 2-2 Structure of a C Program
  • 5. Computer Science: A Structured Programming Approach Using C 5 FIGURE 2-3 The Greeting Program
  • 6. Computer Science: A Structured Programming Approach Using C 6 PROGRAM 2-1 The Greeting Program
  • 7. Computer Science: A Structured Programming Approach Using C 7 FIGURE 2-4 Examples of Block Comments
  • 8. Computer Science: A Structured Programming Approach Using C 8 FIGURE 2-5 Examples of Line Comments
  • 9. Computer Science: A Structured Programming Approach Using C 9 FIGURE 2-6 Nested Block Comments Are Invalid
  • 10. Computer Science: A Structured Programming Approach Using C 10 2-3 Identifiers One feature present in all computer languages is the identifier. Identifiers allow us to name data and other objects in the program. Each identified object in the computer is stored at a unique address.
  • 11. Computer Science: A Structured Programming Approach Using C 11 Table 2-1 Rules for Identifiers
  • 12. Computer Science: A Structured Programming Approach Using C 12 An identifier must start with a letter or underscore: it may not have a space or a hyphen. Note
  • 13. Computer Science: A Structured Programming Approach Using C 13 C is a case-sensitive language. Note
  • 14. Computer Science: A Structured Programming Approach Using C 14 Table 2-2 Examples of Valid and Invalid Names
  • 15. Computer Science: A Structured Programming Approach Using C 15 2-4 Types A type defines a set of values and a set of operations that can be applied on those values. Void Type Integral Type Floating-Point Types Topics discussed in this section:
  • 16. Computer Science: A Structured Programming Approach Using C 16 FIGURE 2-7 Data Types
  • 17. Computer Science: A Structured Programming Approach Using C 17 FIGURE 2-8 Character Types
  • 18. Computer Science: A Structured Programming Approach Using C 18 FIGURE 2-9 Integer Types
  • 19. Computer Science: A Structured Programming Approach Using C 19 sizeof (short) ≤ sizeof (int) ≤ sizeof (long) ≤ sizeof (long long) Note
  • 20. Computer Science: A Structured Programming Approach Using C 20 Table 2-3 Typical Integer Sizes and Values for Signed Integers
  • 21. Computer Science: A Structured Programming Approach Using C 21 FIGURE 2-10 Floating-point Types
  • 22. Computer Science: A Structured Programming Approach Using C 22 sizeof (float) ≤ sizeof (double) ≤ sizeof (long double) Note
  • 23. Computer Science: A Structured Programming Approach Using C 23 Table 2-4 Type Summary
  • 24. Computer Science: A Structured Programming Approach Using C 24 2-5 Variables Variables are named memory locations that have a type, such as integer or character, which is inherited from their type. The type determines the values that a variable may contain and the operations that may be used with its values. Variable Declaration Variable Initialization Topics discussed in this section:
  • 25. Computer Science: A Structured Programming Approach Using C 25 FIGURE 2-11 Variables
  • 26. Computer Science: A Structured Programming Approach Using C 26 Table 2-5 Examples of Variable Declarations and Definitions
  • 27. Computer Science: A Structured Programming Approach Using C 27 FIGURE 2-12 Variable Initialization ‘B’
  • 28. Computer Science: A Structured Programming Approach Using C 28 When a variable is defined, it is not initialized. We must initialize any variable requiring prescribed data when the function starts. Note
  • 29. Computer Science: A Structured Programming Approach Using C 29 PROGRAM 2-2 Print Sum of Three Numbers
  • 30. Computer Science: A Structured Programming Approach Using C 30 PROGRAM 2-2 Print Sum of Three Numbers (continued)
  • 31. Computer Science: A Structured Programming Approach Using C 31 PROGRAM 2-2 Print Sum of Three Numbers (continued)
  • 32. Computer Science: A Structured Programming Approach Using C 32 2-6 Constants Constants are data values that cannot be changed during the execution of a program. Like variables, constants have a type. In this section, we discuss Boolean, character, integer, real, complex, and string constants. Constant Representation Coding Constants Topics discussed in this section:
  • 33. Computer Science: A Structured Programming Approach Using C 33 A character constant is enclosed in single quotes. Note
  • 34. Computer Science: A Structured Programming Approach Using C 34 Table 2-6 Symbolic Names for Control Characters
  • 35. Computer Science: A Structured Programming Approach Using C 35 Table 2-7 Examples of Integer Constants
  • 36. Computer Science: A Structured Programming Approach Using C 36 Table 2-8 Examples of Real Constants
  • 37. Computer Science: A Structured Programming Approach Using C 37 FIGURE 2-13 Some Strings
  • 38. Computer Science: A Structured Programming Approach Using C 38 FIGURE 2-14 Null Characters and Null Strings
  • 39. Computer Science: A Structured Programming Approach Using C 39 Use single quotes for character constants. Use double quotes for string constants. Note
  • 40. Computer Science: A Structured Programming Approach Using C 40 PROGRAM 2-3 Memory Constants
  • 41. Computer Science: A Structured Programming Approach Using C 41 PROGRAM 2-3 Memory Constants (continued)

Editor's Notes

  1. Developed early 1970’s
  2. wchar_t is a wide character:  The increased datatype size allows for the use of larger coded character sets. Width is compiler specific (not portable).