2003 Prentice Hall, Inc. All Rights Reserved
2003 Prentice Hall, Inc. All Rights Reserved
Programming
Outline
1.7 History of C and C++
1.8 C++ Standard Library
1.10 Visual Basic, Visual C++ and C#
1.13 The Key Software Trend: Object Technology
1.14 Basics of a Typical C++ Environment
1.20 Introduction to C++ Programming
1.21 A Simple Program: Printing a Line of Text
1.22 Another Simple Program: Adding Two Integers
1.23 Memory Concepts
1.24 Arithmetic
1.25 Decision Making: Equality and Relational Operators
1.26 Thinking About Objects: Introduction to Object Technology
and the Unified Modeling Language
• History of C
– Evolved from two other programming languages
• BCPL and B
– “Typeless” languages
– Dennis Ritchie (Bell Laboratories)
• Added data typing, other features
– Development language of UNIX
– Hardware independent
• Portable programs
– 1989: ANSI standard
– 1990: ANSI and ISO standard published
• ANSI/ISO 9899: 1990
• History of C++
– Extension of C
– Early 1980s: Bjarne Stroustrup (Bell Laboratories)
– “Spruces up” C
– Provides capabilities for object-oriented programming
• Objects: reusable software components
– Model items in real world
• Object-oriented programs
– Easy to understand, correct and modify
– Hybrid language
• C-like style
• Object-oriented style
• Both
• C++ programs
– Built from pieces called classes and functions
• C++ standard library
– Rich collections of existing classes and functions
• “Building block approach” to creating programs
– “Software reuse”
• Visual C++
– Microsoft’s implementation of C++
• Includes extensions
• Microsoft Foundation Classes (MFC)
• Common library
– GUI, graphics, networking, multithreading, …
– Shared among Visual Basic, Visual C++, C
• C++ systems
– Program-development environment
– Language
– C++ Standard Library
6. Execute CPU
Primary
Memory
• Input/output
– cin
• Standard input stream
• Normally keyboard
– cout
• Standard output stream
• Normally computer screen
– cerr
• Standard error stream
• Display error messages
Welcome to C++!
Welcome
to
C++!
• Variable names
– Correspond to actual locations in computer's memory
– Every variable has name, type, size and value
– When new value placed into variable, overwrites previous
value
– Reading variables from memory nondestructive
1.24 Arithmetic
• Arithmetic calculations
– *
• Multiplication
– /
• Division
• Integer division truncates remainder
– 7 / 5 evaluates to 1
– %
• Modulus operator returns remainder
– 7 % 5 evaluates to 2
1.24 Arithmetic
Relational operators
> > x > y x is greater than y
< < x < y x is less than y
Equality operators
= == x == y x is equal to y
!= x != y x is not equal to y