0% found this document useful (0 votes)
41 views40 pages

Chapter 01

The document outlines the chapters in an introduction to computers and C++ programming textbook. It covers topics such as the history of computers and operating systems, computer hardware and software, programming languages from machine language to high-level languages like C and C++, structured and object-oriented programming, and the typical development environment for C++ programs.

Uploaded by

The Mani
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
41 views40 pages

Chapter 01

The document outlines the chapters in an introduction to computers and C++ programming textbook. It covers topics such as the history of computers and operating systems, computer hardware and software, programming languages from machine language to high-level languages like C and C++, structured and object-oriented programming, and the typical development environment for C++ programs.

Uploaded by

The Mani
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 40

1

Chapter 1 – Introduction to Computers


and C++ Programming
Outline
1.1 Introduction
1.2 What is a Computer?
1.3 Computer Organization
1.4 Evolution of Operating Systems
1.5 Personal Computing, Distributed Computing
and Client/Server Computing
1.6 Machine Languages, Assembly Languages,
and High-level Languages
1.7 History of C and C++
1.8 C++ Standard Library
1.9 Java and Java How to Program
1.10 Other High-level Languages
1.11 Structured Programming
1.12 The Key Software Trend: Object Technology
1.13 Basics of a Typical C++ Environment
1.14 Hardware Trends
1.15 History of the Internet
© 2000 Prentice Hall, Inc. All rights reserved.
2
Chapter 1 – Introduction to Computers
and C++ Programming
Outline
1.16 History of the World Wide Web
1.17 General Notes About C++ and This Book
1.18 Introduction to C++ Programming
1.19 A Simple Program: Printing a Line of Text
1.20 Another Simple Program: Adding Two Integers
1.21 Memory Concepts
1.22 Arithmetic
1.23 Decision Making: Equality and Relational Operators
1.24 Thinking About Objects: Introduction to Object Technology
and the Unified Modeling Language

© 2000 Prentice Hall, Inc. All rights reserved.


3
1.1 Introduction
• In this course you will learn
– C and C++
– Structured programming and object oriented programming

© 2000 Prentice Hall, Inc. All rights reserved.


4
1.2 What is a Computer?
• Computer
– A device capable of performing computations and making
logical decisions
• Computer programs
– Sets of instructions that control a computer’s processing of
data
• Hardware
– Various devices comprising a computer
• Examples: keyboard, screen, mouse, disks, memory, CD-ROM,
and processing units
• Software
– Programs that run a computer

© 2000 Prentice Hall, Inc. All rights reserved.


5
1.3 Computer Organization
• Six logical units in every computer:
– Input unit
• Obtains information from input devices (keyboard, mouse)
– Output unit
• Outputs information (to screen, to printer, to control other
devices)
– Memory unit
• Rapid access, low capacity, stores input information
– Arithmetic and logic unit (ALU)
• Performs arithmetic calculations and logic decisions
– Central processing unit (CPU)
• Supervises and coordinates the other sections of the computer
– Secondary storage unit
• Cheap, long-term, high-capacity storage, stores inactive
programs

© 2000 Prentice Hall, Inc. All rights reserved.


6
1.4 Evolution of Operating Systems
• Batch processing
– Do only one job or task at a time
• Operating systems
– Manage transitions between jobs
– Increased throughput
• Amount of work computers process
• Multiprogramming
– Many jobs or tasks sharing a computer’s resources
• Timesharing
– Perform a small portion of one user’s job then moves on to
service the next user

© 2000 Prentice Hall, Inc. All rights reserved.


7
1.5 Personal Computing, Distributed
Computing, and Client/Server Computing
• Personal computers
– Economical enough for individual
• Distributed computing
– Organizations computing is distributed over networks
• Client/server computing
– Sharing of information, across computer networks, between
file servers and clients (personal computers)

© 2000 Prentice Hall, Inc. All rights reserved.


8
1.6 Machine Languages, Assembly Languages,
and High-level Languages
• Three types of programming languages
– Machine languages
• Strings of numbers giving machine specific instructions
• Example:
+1300042774
+1400593419
+1200274027
– Assembly languages
• English-like abbreviations representing elementary computer
operations (translated via assemblers)
• Example:
LOAD BASEPAY
ADD OVERPAY
STORE GROSSPAY

© 2000 Prentice Hall, Inc. All rights reserved.


9
1.6 Machine Languages, Assembly Languages,
and High-level Languages

– High-level languages
• Similar to everyday English, use mathematical notations
(translated via compilers)
• Example:
grossPay = basePay + overTimePay

© 2000 Prentice Hall, Inc. All rights reserved.


10
1.7 History of C and C++
• C++ evolved from C
– C evolved from two other programming languages, BCPL
and B
• ANSI C
– Established worldwide standards for C programming
• C++ “spruces up” C
– Provides capabilities for object-oriented programming
• Objects are reusable software components that model things in
the real world
• Object-oriented programs are easy to understand, correct and
modify

© 2000 Prentice Hall, Inc. All rights reserved.


11
1.8 C++ Standard Library
• C++ programs
– Built from pieces called classes and functions
• C++ standard library
– Provides rich collections of existing classes and functions for
all programmers to use

© 2000 Prentice Hall, Inc. All rights reserved.


12
1.9 Java and Java How to Program
• Java used to
– Create web pages with dynamic and interactive content
– Develop large-scale enterprise applications
– Enhance the functionality of web servers
– Provide applications for consumer devices (such as cell
phones, pagers and personal digital assistants)

• Java how to program


– Closely followed the development of Java by sun
– Teaches first-year programming students the essentials of
graphics, images, animation, audio, video, database,
networking, multithreading and collaborative computing

© 2000 Prentice Hall, Inc. All rights reserved.


13
1.10 Other High-level Languages
• Other high-level languages
– FORTRAN
• Used in scientific and engineering applications
– COBOL
• Used to manipulate large amounts of data
– Pascal
• Used to teach structured programming

© 2000 Prentice Hall, Inc. All rights reserved.


14
1.11 Structured Programming
• Structured programming
– Disciplined approach to writing programs
– Clear, easy to test and debug, and easy to modify
• Multitasking
– Many activities to run in parallel

© 2000 Prentice Hall, Inc. All rights reserved.


15
1.12 The Key Software Trend: Object
Technology
• Objects
– Reusable software components that model real world items
– Meaningful software units
• Date objects, time objects, paycheck objects, invoice objects,
audio objects, video objects, file objects, record objects, etc.
• Any noun can be represented as an object
– More understandable, better organized and easier to maintain
than procedural programming
– Favor modularity

© 2000 Prentice Hall, Inc. All rights reserved.


16
1.13 Basics of a Typical C++ Environment

Phases of C++ Programs: Editor Disk


Program is created in
the editor and stored
on disk.

1. Edit Preprocessor Disk


Preprocessor program
processes the code.

2. Preprocess Compiler Disk


Compiler creates
object code and stores
it on disk.

Linker links the object


3. Compile Linker Disk
code with the libraries,
creates a.out and
stores it on disk

Primary
4. Link Loader
Memory

5. Load Loader puts program


in memory.
Disk ..
..

6. Execute ..

Primary
Memory
CPU CPU takes each
instruction and
executes it, possibly
storing new data
values as the program
.. executes.
..
..

© 2000 Prentice Hall, Inc. All rights reserved.


17
1.14 Hardware Trends
• Every year or two computers approximately double
– The amount of memory they contain
• Memory used to execute programs
– The amount of secondary storage they contain
• Secondary storage (such as disk storage) is used to to hold
programs and data over time
– Their processor speeds
• The speed at which computers execute their programs

© 2000 Prentice Hall, Inc. All rights reserved.


18
1.15 History of the Internet
• The Internet enables
– Quick and easy communication via e-mail
– International networking of computers
• Packet switching
– Transfers digital data via small packets
– Allows multiple users to send and receive data
simultaneously
• No centralized control
– If one part of the Internet fails, other parts can still operate
• Bandwidth
– Carrying capacity of communications lines

© 2000 Prentice Hall, Inc. All rights reserved.


19
1.16 History of the World Wide Web
• World Wide Web
– Allows users to locate and view multimedia-based
documents on almost any subject
– Makes information instantly and conveniently accessible
worldwide
– Makes it possible for individuals and small businesses to get
worldwide exposure
– Is changing the way business is done

© 2000 Prentice Hall, Inc. All rights reserved.


20
1.17 General Notes About C++
and This Book
• Book is geared toward novice programmers
• Programming clarity is stressed

• C and C++ are portable languages


– Programs written in C and C++ can run on many different
computers

© 2000 Prentice Hall, Inc. All rights reserved.


21
1.18 Introduction to C++ Programming
• C++ language
– Facilitates a structured and disciplined approach to computer
program design

• Following are several examples


– The examples illustrate many important features of C++
– Each example is analyzed one statement at a time.

© 2000 Prentice Hall, Inc. All rights reserved.


1 // Fig. 1.2: fig01_02.cpp
Outline
2 // A first program in C++
Comments
3 #include <iostream> 1. Comments
Written between /* and */ or following a //.
4 Improve program readability and do not cause the
5 int main() computer to perform any action. 2. Load <iostream>

6 { 3. main
preprocessor directive
7 std::cout << "Welcome to C++!\n";
Message to the C++ preprocessor.3.1 Print "Welcome to
8 C++\n"directives.
Lines beginning with # are preprocessor
9 return 0; // indicate that program ended successfully
#include <iostream> tells3.2 theexit
preprocessor
(return to0)
10 } include
C++ the contents
programs containofone
the or
filemore
<iostream>,
functions, onewhich
of
includes input/output
which must be main operations (such as printing to
the screen). Program Output
Welcome to C++! Parenthesis are used to indicate a function
int means
Prints the string of characters that main
contained "returns"
between the an integer value.
quotation marks. More in Chapter 3.
return is a way to exit a function
from a function. A left brace { begins
The entire line, including std::cout, the the
<< body of every function
return 0, in this case, means the
operator, and a right to
thatstring "Welcome braceC++!\n"
} ends it.and
the program terminatedthe
normally.
semicolon (;), is called a statement.

All statements must end with a semicolon.

© 2000 Prentice Hall, Inc. All rights reserved.


23
1.19 A Simple Program:
Printing a Line of Text
• std::cout
– Standard output stream object
– “Connected” to the screen
– std:: specifies the "namespace" which cout belongs to
• std:: can be removed through the use of using statements
• <<
– Stream insertion operator
– Value to the right of the operator (right operand) inserted into
output stream (which is connected to the screen)
– std::cout << “Welcome to C++!\n”;
• \
– Escape character
– Indicates that a “special” character is to be output

© 2000 Prentice Hall, Inc. All rights reserved.


24
1.19 A Simple Program:
Printing a Line of Text

• There are multiple ways to print text


– Following are more examples

© 2000 Prentice Hall, Inc. All rights reserved.


1 // Fig. 1.4: fig01_04.cpp

2 // Printing a line with multiple statements


Outline
3 #include <iostream>
1. Load <iostream>
4

5 int main() 2. main


6 {
2.1 Print "Welcome"
7 std::cout << "Welcome ";

8 std::cout << "to C++!\n"; 2.2 Print "to C++!"


9
2.3 newline
10 return 0; // indicate that program ended successfully

11 } 2.4 exit (return 0)

Program Output
Welcome to C++!

Unless new line '\n' is specified, the text continues


on the same line.

© 2000 Prentice Hall, Inc. All rights reserved.


1 // Fig. 1.5: fig01_05.cpp

2 // Printing multiple lines with a single statement


Outline
3 #include <iostream>
1. Load <iostream>
4
2. main
5 int main()
2.1 Print "Welcome"
6 {
2.2 newline
7 std::cout << "Welcome\nto\n\nC++!\n";

8 2.3 Print "to"

9 return 0; // indicate that program ended successfully 2.4 newline


10 }
2.5 newline

2.6 Print "C++!"


Welcome
to 2.7 newline
C++! 2.8 exit (return 0)

Multiple lines can be printed with one Program Output


statement.

© 2000 Prentice Hall, Inc. All rights reserved.


27
1.20 Another Simple Program:
Adding Two Integers
• Variables
– Location in memory where a value can be stored for use by a
program
– Must be declared with a name and a data type before they
can be used
– Some common data types are:
• int - integer numbers
• char - characters
• double - floating point numbers
– Example: int myvariable;
• Declares a variable named myvariable of type int
– Example: int variable1, variable2;
• Declares two variables, each of type int

© 2000 Prentice Hall, Inc. All rights reserved.


28
1.20 Another Simple Program:
Adding Two Integers
• >> (stream extraction operator)
– When used with std::cin, waits for the user to input a
value and stores the value in the variable to the right of the
operator
– The user types a value, then presses the Enter (Return) key
to send the data to the computer
– Example:
int myVariable;
std::cin >> myVariable;
• Waits for user input, then stores input in myVariable
• = (assignment operator)
– Assigns value to a variable
– Binary operator (has two operands)
– Example:
sum = variable1 + variable2;

© 2000 Prentice Hall, Inc. All rights reserved.


1 // Fig. 1.6: fig01_06.cpp
2 // Addition program Outline
3 #include <iostream>
4 1.Load <iostream>
5 int main()
6 { 2. main
7 int integer1, integer2, sum; 2.1 Initialize variables
// declaration
8 integer1, integer2,
9 std::cout << "Enter first integer\n"; // prompt and sum
Notice how std::cin is used to get user
10 std::cin >> integer1; // read an integer
input. 2.2 Print "Enter first
11 std::cout << "Enter second integer\n"; // prompt
12 std::cin >> integer2; // read an integer
integer"
13 sum = integer1 + integer2; // assignment of sum 2.2.1 Get input
14 std::cout << "Sum is " << sum << std::endl; // print sum 2.3 Print "Enter
15 second integer"
16 return 0; // std::endl flushes the
indicate that program ended successfully buffer
2.3.1 Get and
input
17 } prints a newline.
2.4 Add variables and
Enter first integer
put result into sum
45 Variables can be output using std::cout << variableName.
Enter second integer 2.5 Print "Sum is"
72 2.5.1 Output sum
Sum is 117
2.6 exit (return 0)
Program Output

© 2000 Prentice Hall, Inc. All rights reserved.


30
1.21 Memory Concepts
• 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, it replaces
the previous value - it is destroyed
– Reading variables from memory does not change them
• A visual representation

integer1 45

© 2000 Prentice Hall, Inc. All rights reserved.


31
1.22 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)
• Be sure to 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.


32
1.22 Arithmetic
• Arithmetic operators:

• Rules of operator precedence:

© 2000 Prentice Hall, Inc. All rights reserved.


33
1.23 Decision Making: Equality and Relational
Operators
• if structure
– Test conditions truth or falsity. If condition met execute,
otherwise ignore
• Equality and relational operators
– Lower precedence than arithmetic operators

• Table of relational operators on next slide

© 2000 Prentice Hall, Inc. All rights reserved.


34
1.23 Decision Making: Equality and Relational
Operators

© 2000 Prentice Hall, Inc. All rights reserved.


35
1.23 Decision Making: Equality and Relational
Operators
• using statements
– Eliminate the need to use the std:: prefix
– Allow us to write cout instead of std::cout
– To use the following functions without the std:: prefix,
write the following at the top of the program
using std::cout;
using std::cin;
using std::endl;

© 2000 Prentice Hall, Inc. All rights reserved.


1 // Fig. 1.14: fig01_14.cpp
2 // Using if statements, relational Outline
3 // operators, and equality operators
4 #include <iostream>
5 1. Load <iostream>
6 using std::cout; // program uses cout
7 using std::cin; // program uses cin Notice the using statements.
8 using std::endl; // program uses endl 2. main
9
10 int main()
2.1 Initialize num1 and
11 {
12 int num1, num2;
num2
13 2.1.1 Input data
14 cout << "Enter two integers, and I will tell you\n"
15 << "the relationships they satisfy: ";
16 cin >> num1 >> num2; // Enter
read two 2.2 if statements
two integers
integers, and I will tell you
17
the relationships they satisfy: 3 7
18 if ( num1 == num2 )
19 cout << num1 << " is equal to " << num2 << endl;
20
The if statements test the truth
21 if ( num1 != num2 ) of the condition. If it is true,
22 cout << num1 << " is not equal to " << num2 << endl; 3body of if
is not statement
equal to 7 is
23 executed. If not, body is
24 if ( num1 < num2 ) skipped.
25 cout << num1 << " is less than " << num2 << endl;3 is less than 7
26 To include multiple statements
27 if ( num1 > num2 ) in a body, delineate them with
28 cout << num1 << " is greater than " << num2 << endl; braces {}.
29
30 if ( num1 <= num2 )
31 cout << num1 << " is less than or equal to " 3 is less than or equal to 7
32 << num2 << endl;
© 2000
33 Prentice Hall, Inc. All rights reserved.
34 if ( num1 >= num2 )

35 cout << num1 << " is greater than or equal to " Outline
36 << num2 << endl;

37
2.3 exit (return 0)
38 return 0; // indicate that program ended successfully

39 }

Enter two integers, and I will tell you Program Output


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

Enter two integers, and I will tell you


the relationships they satisfy: 7 7
7 is equal to 7
7 is less than or equal to 7
7 is greater than or equal to 7

© 2000 Prentice Hall, Inc. All rights reserved.


1.24 Thinking About Objects: Introduction
38 to
Object Technology and the Unified Modeling
Language

• Object orientation
– Natural way to think about the world and to write computer
programs
– Attributes - properties of objects
• Size, shape, color, weight, etc.
– Behaviors - actions
• A ball rolls, bounces, inflates and deflates
• Objects can perform actions as well
– Inheritance
• New classes of objects absorb characteristics from existing classes
– Information hiding
• Objects usually do not know how other objects are implemented

© 2000 Prentice Hall, Inc. All rights reserved.


1.24 Thinking About Objects: Introduction
39 to
Object Technology and the Unified Modeling
Language
• Abstraction - view the big picture
– See a photograph rather than a group of colored dots
– Think in terms of houses, not bricks

• Class - unit of programming


– Classes serve as a “Blueprint" of objects
• Objects are created from a class
– Classes contain functions
• Used to implement behaviors
– Classes contain data
• Used to implement attributes
– Classes are reusable

© 2000 Prentice Hall, Inc. All rights reserved.


1.24 Thinking About Objects: Introduction
40 to
Object Technology and the Unified Modeling
Language

• Unified Modeling Language (UML)


– Used to model object-oriented systems and aid with their
design
– Complex, feature-rich graphical language

© 2000 Prentice Hall, Inc. All rights reserved.

You might also like