SlideShare a Scribd company logo
1 of 37
 2000 Deitel & Associates, Inc. All rights reserved.
 2000 Deitel & Associates, Inc. All rights reserved.
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
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 Deitel & Associates, Inc. All rights reserved.
 2000 Deitel & Associates, Inc. All rights reserved.
1.1 Introduction
– In this course you will learn
– C and C++
– Structured programming and object oriented
programming
 2000 Deitel & Associates, Inc. All rights reserved.
 2000 Deitel & Associates, Inc. All rights reserved.
1.2 What is a Computer?
• A computer is a device capable of performing
computations and making logical decisions
• Computers process data under the control of sets of
instructions called computer programs
• Hardware – various devices comprising a computer
– Keyboard, screen, mouse, disks, memory, CD-ROM, and
processing units
• Software – programs that run a computer
 2000 Deitel & Associates, Inc. All rights reserved.
 2000 Deitel & Associates, Inc. All rights reserved.
1.3 Computer Organization
• Six logical units in every computer:
1. Input unit
• obtains information from input devices (keyboard, mouse)
2. Output unit
• outputs information (to screen, to printer, to control other devices)
3. Memory unit
• rapid access, low capacity, stores input information
4. Arithmetic and logic unit (ALU)
• performs arithmetic calculations and logic decisions
5. Central processing unit (CPU)
• supervises and coordinates the other sections of the computer
6. Secondary storage unit
• cheap, long-term, high-capacity storage, stores inactive programs
 2000 Deitel & Associates, Inc. All rights reserved.
 2000 Deitel & Associates, Inc. All rights reserved.
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 the computer resources
• Timesharing
– runs a small portion of one user’s job then moves on to service the
next user
 2000 Deitel & Associates, Inc. All rights reserved.
 2000 Deitel & Associates, Inc. All rights reserved.
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 Deitel & Associates, Inc. All rights reserved.
 2000 Deitel & Associates, Inc. All rights reserved.
1.6 Machine Languages, Assembly
Languages, and High-level Languages
• Three types of programming languages
1. Machine languages
– strings of numbers giving machine specific instructions
– Example:
+1300042774
+1400593419
+1200274027
2. Assembly languages
– English-like abbreviations representing elementary computer
operations (translated via assemblers)
– Example:
LOAD BASEPAY
ADD OVERPAY
STORE GROSSPAY
 2000 Deitel & Associates, Inc. All rights reserved.
 2000 Deitel & Associates, Inc. All rights reserved.
1.6 Machine Languages, Assembly
Languages, and High-level Languages (II)
3. High-level languages
– similar to everyday English and use mathematical notations
(translated via compilers)
– Example:
grossPay = basePay + overTimePay
 2000 Deitel & Associates, Inc. All rights reserved.
 2000 Deitel & Associates, Inc. All rights reserved.
1.7 History of C and C++
• C++ evolved from C, which evolved from two
previous programming languages, BCPL and B
• ANSI C established worldwide standards for C
programming
• C++ “spruces up” C and provides capabilities for
object-oriented programming
– objects - reuseable software components, model things in the real
world
– Object-oriented programs are easy to understand, correct and
modify
 2000 Deitel & Associates, Inc. All rights reserved.
 2000 Deitel & Associates, Inc. All rights reserved.
1.8 C++ Standard Library
• C++ programs consist of pieces called classes and
functions
• There are rich collections of existing classes and
functions in the C++ standard library available for
all programmers to use
 2000 Deitel & Associates, Inc. All rights reserved.
 2000 Deitel & Associates, Inc. All rights reserved.
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 Deitel & Associates, Inc. All rights reserved.
 2000 Deitel & Associates, Inc. All rights reserved.
1.10 Other High-level Languages
• A few other high-level languages have achieved broad
acceptance
• FORTRAN
– for scientific and engineering applications
• COBOL
– used to manipulate large amounts of data
• Pascal
– intended for academic use
 2000 Deitel & Associates, Inc. All rights reserved.
 2000 Deitel & Associates, Inc. All rights reserved.
1.11 Structured Programming
• structured programming
– a disciplined approach to writing programs
– clear, easy to test and debug, and easy to modify
• Multitasking
– specifying that many activities run in parallel
 2000 Deitel & Associates, Inc. All rights reserved.
 2000 Deitel & Associates, Inc. All rights reserved.
1.12 The Key Software Trend: Object
Technology
• Objects
– reusable software components that model items in the
real world
– 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
– very reusable
– more understandable, better organized, and easier to
maintain than procedural programming
– Favor modularity
 2000 Deitel & Associates, Inc. All rights reserved.
 2000 Deitel & Associates, Inc. All rights reserved.
1.13 Basics of a Typical C++ Environment
• Phases of C++ Programs:
1. Edit
2. Preprocess
3. Compile
4. Link
5. Load
6. Execute
Loader
Primary
Memory
Program is created in
the editor and stored
on disk.
Preprocessor program
processes the code.
Loader puts program
in memory.
CPU takes each
instruction and
executes it, possibly
storing new data
values as the program
executes.
Compiler
Compiler creates
object code and stores
it on disk.
Linker links the object
code with the libraries,
creates a.out and
stores it on disk
Editor
Preprocessor
Linker
CPU
Primary
Memory
.
.
.
.
.
.
.
.
.
.
.
.
Disk
Disk
Disk
Disk
Disk
 2000 Deitel & Associates, Inc. All rights reserved.
 2000 Deitel & Associates, Inc. All rights reserved.
1.14 Hardware Trends
• Every year or two the following approximately
double:
– the amount of memory they have in which to execute
programs
– the amount of secondary storage (such as disk storage)
to hold programs and data over the longer term
– their processor speeds the speed at which computers
execute their programs
 2000 Deitel & Associates, Inc. All rights reserved.
 2000 Deitel & Associates, Inc. All rights reserved.
1.15 History of the Internet
• The internet enables
– Quick and easy communication via e-mail
– International networking of computers
• packet switching
– Transfer 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
– the information carrying capacity of communications lines
 2000 Deitel & Associates, Inc. All rights reserved.
 2000 Deitel & Associates, Inc. All rights reserved.
1.16 History of the World Wide Web
• World Wide Web
– users can 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 Deitel & Associates, Inc. All rights reserved.
 2000 Deitel & Associates, Inc. All rights reserved.
1.17 General Notes About C++
and This Book
• Book is geared for 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 Deitel & Associates, Inc. All rights reserved.
 2000 Deitel & Associates, Inc. All rights reserved.
1.18 Introduction to C++ Programming
• The C++ language facilitates a structured and
disciplined approach to computer program design
• Following are several examples that illustrate
many important features of C++. Each example is
analyzed one statement at a time.
 2000 Deitel & Associates, Inc. All rights reserved.
 2000 Deitel & Associates, Inc. All rights reserved.
Outline
1.19 Printing a line of
text
1 // Fig. 1.2: fig01_02.cpp
2 // A first program in C++
3 #include <iostream>
4
5 int main()
6 {
7 std::cout << "Welcome to C++!n";
8
9 return 0; // indicate that program ended successfully
10 }
Welcome to C++!
preprocessor directive
Message to the C++ preprocessor
Lines beginning with # are preprocessor directives
#include <iostream> tells the preprocessor to
include the contents of the file <iostream>, which
includes input/output operations (such as printing to
the screen).
Comments
Written between /* and */ or following a //
Improve program readability and do not cause the
computer to perform any action
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.
More in Chapter 3.
Left brace { begins the body of every function
and a right brace } ends it
Prints the string of characters contained between the
quotation marks.
The entire line, including std::cout, the <<
operator, the string "Welcome to C++!n" and
the semicolon (;), is called a statement.
All statements must end with a semicolon.
return is one a way to exit a
function.
return 0, in this case, means that
the program terminated normally.
 2000 Deitel & Associates, Inc. All rights reserved.
 2000 Deitel & Associates, Inc. All rights reserved.
1.19 A Simple Program:
Printing a Line of Text
• std::cout
– standard output stream object
– “connected” to the screen
– we need the std:: to specify what "namespace" cout belongs to
• we shall remove this prefix with 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 Deitel & Associates, Inc. All rights reserved.
 2000 Deitel & Associates, Inc. All rights reserved.
1.19 A Simple Program:
Printing a Line of Text (II)
• There are multiple ways to print text
– Following are more examples
Escape Sequence Description
n Newline. Position the screen cursor to the
beginning of the next line.
t Horizontal tab. Move the screen cursor to the next
tab stop.
r Carriage return. Position the screen cursor to the
beginning of the current line; do not advance to the
next line.
a Alert. Sound the system bell.
 Backslash. Used to print a backslash character.
" Double quote. Used to print a double quote
character.
 2000 Deitel & Associates, Inc. All rights reserved.
 2000 Deitel & Associates, Inc. All rights reserved.
Outline
1. Load <iostream>
2. main
2.1 Print "Welcome"
2.2 Print "to C++!"
2.3 newline
2.4 exit (return 0)
Welcome to C++!
1 // Fig. 1.4: fig01_04.cpp
2 // Printing a line with multiple statements
3 #include <iostream>
4
5 int main()
6 {
7 std::cout << "Welcome ";
8 std::cout << "to C++!n";
9
10 return 0; // indicate that program ended successfully
11 }
Unless new line 'n' is specified, the text continues
on the same line.
 2000 Deitel & Associates, Inc. All rights reserved.
 2000 Deitel & Associates, Inc. All rights reserved.
Outline
1. Load <iostream>
2. main
2.1 Print "Welcome"
2.2 newline
2.3 Print "to"
2.4 newline
2.5 newline
2.6 Print "C++!"
2.7 newline
2.8 exit (return 0)
1 // Fig. 1.5: fig01_05.cpp
2 // Printing multiple lines with a single statement
3 #include <iostream>
4
5 int main()
6 {
7 std::cout << "WelcomentonnC++!n";
8
9 return 0; // indicate that program ended successfully
10 }
Welcome
to
C++!
Multiple lines can be printed with one
statement
 2000 Deitel & Associates, Inc. All rights reserved.
 2000 Deitel & Associates, Inc. All rights reserved.
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
– Must appear before variable is 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 Deitel & Associates, Inc. All rights reserved.
 2000 Deitel & Associates, Inc. All rights reserved.
1.20 Another Simple Program:
Adding Two Integers (II)
• >> (stream extraction operator)
– When used with std::cin, waits for user to input a value and
stores the value in the variable to the right of the operator.
– user types number, 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)
sum = variable1 + variable2;
Addition operator
 2000 Deitel & Associates, Inc. All rights reserved.
 2000 Deitel & Associates, Inc. All rights reserved.
Outline
1. Load <iostream>
2. main
2.1 Initialize variables
integer1, integer2, and
sum
2.2 Print "Enter first
integer"
2.2.1 Get input
2.3 Print "Enter second
integer"
2.3.1 Get input
2.4 Add variables and put
result into sum
2.5 Print "Sum is"
2.5.1 Output sum
2.6 exit (return 0)
Program Output
1 // Fig. 1.6: fig01_06.cpp
2 // Addition program
3 #include <iostream>
4
5 int main()
6 {
7 int integer1, integer2, sum; // declaration
8
9 std::cout << "Enter first integern"; // prompt
10 std::cin >> integer1; // read an integer
11 std::cout << "Enter second integern"; // prompt
12 std::cin >> integer2; // read an integer
13 sum = integer1 + integer2; // assignment of sum
14 std::cout << "Sum is " << sum << std::endl; // print sum
15
16 return 0; // indicate that program ended successfully
17 }
Enter first integer
45
Enter second integer
72
Sum is 117
Notice how std::cin is used to get user
input.
Variables can be output using std::cout << variableName
std::endl flushes the buffer and
prints a newline.
 2000 Deitel & Associates, Inc. All rights reserved.
 2000 Deitel & Associates, Inc. All rights reserved.
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 Deitel & Associates, Inc. All rights reserved.
 2000 Deitel & Associates, Inc. All rights reserved.
1.22 Arithmetic
• Arithmetic calculations are used in most programs
– special notes:
– 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 Deitel & Associates, Inc. All rights reserved.
 2000 Deitel & Associates, Inc. All rights reserved.
1.22 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 Deitel & Associates, Inc. All rights reserved.
 2000 Deitel & Associates, Inc. All rights reserved.
1.23 Decision Making: Equality and
Relational Operators
• if structure - decision based on truth or falsity of
condition. If condition met execute, otherwise ignore.
• Equality and relational operators:
• These operators all have lower precedence than arithmetic
operators
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 Deitel & Associates, Inc. All rights reserved.
 2000 Deitel & Associates, Inc. All rights reserved.
1.23 Decision Making: Equality and
Relational Operators (II)
• using statements
– eliminate the need to use the std:: prefix
– allow us to write cout instead of std::cout
– at the top of the program write
using std::cout;
using std::cin;
using std::endl;
to use those functions without writing std::
 2000 Deitel & Associates, Inc. All rights reserved.
 2000 Deitel & Associates, Inc. All rights reserved.
Outline
1. Load <iostream>
2. main
2.1 Initialize num1 and
num2
2.1.1 Input data
2.2 if statements
1 // Fig. 1.14: fig01_14.cpp
2 // Using if statements, relational
3 // operators, and equality operators
4 #include <iostream>
5
6 using std::cout; // program uses cout
7 using std::cin; // program uses cin
8 using std::endl; // program uses endl
9
10 int main()
11 {
12 int num1, num2;
13
14 cout << "Enter two integers, and I will tell youn"
15 << "the relationships they satisfy: ";
16 cin >> num1 >> num2; // read two integers
17
18 if ( num1 == num2 )
19 cout << num1 << " is equal to " << num2 << endl;
20
21 if ( num1 != num2 )
22 cout << num1 << " is not equal to " << num2 << endl;
23
24 if ( num1 < num2 )
25 cout << num1 << " is less than " << num2 << endl;
26
27 if ( num1 > num2 )
28 cout << num1 << " is greater than " << num2 << endl;
29
30 if ( num1 <= num2 )
31 cout << num1 << " is less than or equal to "
32 << num2 << endl;
33
The if statements test the truth
of the condition. If it is true,
body of if statement is
executed. If not, body is
skipped.
To include multiple statements
in a body, delineate them with
braces {}
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
Notice the using statements
 2000 Deitel & Associates, Inc. All rights reserved.
 2000 Deitel & Associates, Inc. All rights reserved.
Outline
2.3 exit (return 0)
Program Output
34 if ( num1 >= num2 )
35 cout << num1 << " is greater than or equal to "
36 << num2 << endl;
37
38 return 0; // indicate that program ended successfully
39 }
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
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 Deitel & Associates, Inc. All rights reserved.
 2000 Deitel & Associates, Inc. All rights reserved.
1.24 Thinking About Objects: Introduction to
Object Technology and the Unified Modeling
Language
• Object orientation
– natural way to think about world and writing 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 of existing classes
– information hiding
• objects usually do not know how other objects are implemented
• Abstraction - view the big picture
– See a photograph rather than a group of colored dots
– Think in terms of houses, not bricks
 2000 Deitel & Associates, Inc. All rights reserved.
 2000 Deitel & Associates, Inc. All rights reserved.
1.24 Thinking About Objects: Introduction to
Object Technology and the Unified Modeling
Language (II)
• class - unit of programming
– "blueprint" of the objects
• objects are created from the class
– contain functions
• implement behaviors
– contain data
• implement attributes
– Classes are reusable
• Unified Modeling Language (UML)
– used to model object-oriented systems and aid with their design
– complex, feature-rich graphical language

More Related Content

Similar to chapter01 (1).ppt

iw3htp4_01-FINAL.ppt
iw3htp4_01-FINAL.pptiw3htp4_01-FINAL.ppt
iw3htp4_01-FINAL.pptlucky sharma
 
Csphtp1 01
Csphtp1 01Csphtp1 01
Csphtp1 01HUST
 
Chapter1- Introduction to Computers and the Internet
Chapter1- Introduction to Computers and the InternetChapter1- Introduction to Computers and the Internet
Chapter1- Introduction to Computers and the InternetFatom Ahmad
 
Cpphtp4 ppt 01
Cpphtp4 ppt 01Cpphtp4 ppt 01
Cpphtp4 ppt 01Jao Saloto
 
Introduction to Computers, the Internet and the Web
Introduction to Computers, the Internet and the WebIntroduction to Computers, the Internet and the Web
Introduction to Computers, the Internet and the WebAndy Juan Sarango Veliz
 
Introduction to Mobile Operating System.pptx
Introduction to Mobile Operating System.pptxIntroduction to Mobile Operating System.pptx
Introduction to Mobile Operating System.pptxaparna14patil
 
fdocuments.in_unit-2-foc.ppt
fdocuments.in_unit-2-foc.pptfdocuments.in_unit-2-foc.ppt
fdocuments.in_unit-2-foc.pptKrishanPalSingh39
 
Lecture3.pptx
Lecture3.pptxLecture3.pptx
Lecture3.pptxnassmah
 
basicitknowledge-101119022655-phpapp02.ppt
basicitknowledge-101119022655-phpapp02.pptbasicitknowledge-101119022655-phpapp02.ppt
basicitknowledge-101119022655-phpapp02.pptPawachMetharattanara
 
Basic IT knowledge
Basic IT knowledgeBasic IT knowledge
Basic IT knowledgeTechsailor
 
Chapter 1 - Introduction to Operating System.pptx
Chapter 1 - Introduction to Operating System.pptxChapter 1 - Introduction to Operating System.pptx
Chapter 1 - Introduction to Operating System.pptxgowthamiv26
 

Similar to chapter01 (1).ppt (20)

iw3htp4_01-FINAL.ppt
iw3htp4_01-FINAL.pptiw3htp4_01-FINAL.ppt
iw3htp4_01-FINAL.ppt
 
Cpp htp5e 01
Cpp htp5e 01Cpp htp5e 01
Cpp htp5e 01
 
Csphtp1 01
Csphtp1 01Csphtp1 01
Csphtp1 01
 
Chapter1- Introduction to Computers and the Internet
Chapter1- Introduction to Computers and the InternetChapter1- Introduction to Computers and the Internet
Chapter1- Introduction to Computers and the Internet
 
01 intro to vb-net
01 intro to vb-net01 intro to vb-net
01 intro to vb-net
 
Lecture 1.ppt
Lecture 1.pptLecture 1.ppt
Lecture 1.ppt
 
computer programming C++
computer  programming C++computer  programming C++
computer programming C++
 
Book ppt
Book pptBook ppt
Book ppt
 
Cpphtp4 ppt 01
Cpphtp4 ppt 01Cpphtp4 ppt 01
Cpphtp4 ppt 01
 
1.pptx
1.pptx1.pptx
1.pptx
 
Introduction to Computers, the Internet and the Web
Introduction to Computers, the Internet and the WebIntroduction to Computers, the Internet and the Web
Introduction to Computers, the Internet and the Web
 
Lab 2 software
Lab 2   softwareLab 2   software
Lab 2 software
 
Introduction to Mobile Operating System.pptx
Introduction to Mobile Operating System.pptxIntroduction to Mobile Operating System.pptx
Introduction to Mobile Operating System.pptx
 
fdocuments.in_unit-2-foc.ppt
fdocuments.in_unit-2-foc.pptfdocuments.in_unit-2-foc.ppt
fdocuments.in_unit-2-foc.ppt
 
Lecture3.pptx
Lecture3.pptxLecture3.pptx
Lecture3.pptx
 
NaliniProfile
NaliniProfileNaliniProfile
NaliniProfile
 
basicitknowledge-101119022655-phpapp02.ppt
basicitknowledge-101119022655-phpapp02.pptbasicitknowledge-101119022655-phpapp02.ppt
basicitknowledge-101119022655-phpapp02.ppt
 
Basic IT knowledge
Basic IT knowledgeBasic IT knowledge
Basic IT knowledge
 
Android OS
Android OSAndroid OS
Android OS
 
Chapter 1 - Introduction to Operating System.pptx
Chapter 1 - Introduction to Operating System.pptxChapter 1 - Introduction to Operating System.pptx
Chapter 1 - Introduction to Operating System.pptx
 

More from Anas Abu Tabaneh [APP, ASP]

شهادة خبرة موثقة سنيتن-انجليزي-جامعة بوليتكنك فلسطين (1)
شهادة خبرة موثقة سنيتن-انجليزي-جامعة بوليتكنك فلسطين (1)شهادة خبرة موثقة سنيتن-انجليزي-جامعة بوليتكنك فلسطين (1)
شهادة خبرة موثقة سنيتن-انجليزي-جامعة بوليتكنك فلسطين (1)Anas Abu Tabaneh [APP, ASP]
 
شهادة خبرة موثقة سنيتن-انجليزي-جامعة بوليتكنك فلسطين
شهادة خبرة موثقة سنيتن-انجليزي-جامعة بوليتكنك فلسطينشهادة خبرة موثقة سنيتن-انجليزي-جامعة بوليتكنك فلسطين
شهادة خبرة موثقة سنيتن-انجليزي-جامعة بوليتكنك فلسطينAnas Abu Tabaneh [APP, ASP]
 
Getting Started with Windows 10 for IT Professionals
Getting Started with Windows 10 for IT ProfessionalsGetting Started with Windows 10 for IT Professionals
Getting Started with Windows 10 for IT ProfessionalsAnas Abu Tabaneh [APP, ASP]
 

More from Anas Abu Tabaneh [APP, ASP] (20)

computer networks fundamentals chapter 1
computer networks fundamentals chapter 1computer networks fundamentals chapter 1
computer networks fundamentals chapter 1
 
C++Chapter01.PPT
C++Chapter01.PPTC++Chapter01.PPT
C++Chapter01.PPT
 
Anas abu tabaneh cv may 2019
Anas abu tabaneh cv may 2019Anas abu tabaneh cv may 2019
Anas abu tabaneh cv may 2019
 
Apple teacher certificate
Apple teacher certificateApple teacher certificate
Apple teacher certificate
 
SAMCOM TRAINING CERTIFICATE
SAMCOM TRAINING CERTIFICATE SAMCOM TRAINING CERTIFICATE
SAMCOM TRAINING CERTIFICATE
 
DATWYLER Training Certificate
DATWYLER Training Certificate DATWYLER Training Certificate
DATWYLER Training Certificate
 
BELDEN installer Certificate
BELDEN installer CertificateBELDEN installer Certificate
BELDEN installer Certificate
 
شهادة خبرة موثقة سنيتن-انجليزي-جامعة بوليتكنك فلسطين (1)
شهادة خبرة موثقة سنيتن-انجليزي-جامعة بوليتكنك فلسطين (1)شهادة خبرة موثقة سنيتن-انجليزي-جامعة بوليتكنك فلسطين (1)
شهادة خبرة موثقة سنيتن-انجليزي-جامعة بوليتكنك فلسطين (1)
 
شهادة خبرة موثقة سنيتن-انجليزي-جامعة بوليتكنك فلسطين
شهادة خبرة موثقة سنيتن-انجليزي-جامعة بوليتكنك فلسطينشهادة خبرة موثقة سنيتن-انجليزي-جامعة بوليتكنك فلسطين
شهادة خبرة موثقة سنيتن-انجليزي-جامعة بوليتكنك فلسطين
 
Recommendation
RecommendationRecommendation
Recommendation
 
APPLE PRODUCT PROFESSIONAL 2015
APPLE PRODUCT PROFESSIONAL 2015APPLE PRODUCT PROFESSIONAL 2015
APPLE PRODUCT PROFESSIONAL 2015
 
APPLE PRODUCT PROFESSIONAL 2014
APPLE PRODUCT PROFESSIONAL 2014APPLE PRODUCT PROFESSIONAL 2014
APPLE PRODUCT PROFESSIONAL 2014
 
Network 101 rev1
Network 101 rev1Network 101 rev1
Network 101 rev1
 
Windows 10 Role Play for SMB
Windows 10 Role Play for SMBWindows 10 Role Play for SMB
Windows 10 Role Play for SMB
 
Microsoft Innovative Educator Experts
Microsoft Innovative Educator ExpertsMicrosoft Innovative Educator Experts
Microsoft Innovative Educator Experts
 
Getting Started with Windows 10 for IT Professionals
Getting Started with Windows 10 for IT ProfessionalsGetting Started with Windows 10 for IT Professionals
Getting Started with Windows 10 for IT Professionals
 
Anas Cv
Anas CvAnas Cv
Anas Cv
 
Apple Product Professional 2016
Apple Product Professional 2016Apple Product Professional 2016
Apple Product Professional 2016
 
Windows Application Compatibility and Migration
Windows Application Compatibility and MigrationWindows Application Compatibility and Migration
Windows Application Compatibility and Migration
 
Enhanced windows data encryption training
Enhanced windows data encryption trainingEnhanced windows data encryption training
Enhanced windows data encryption training
 

Recently uploaded

OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2RajaP95
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLDeelipZope
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
microprocessor 8085 and its interfacing
microprocessor 8085  and its interfacingmicroprocessor 8085  and its interfacing
microprocessor 8085 and its interfacingjaychoudhary37
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxbritheesh05
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfAsst.prof M.Gokilavani
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 

Recently uploaded (20)

OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCL
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
microprocessor 8085 and its interfacing
microprocessor 8085  and its interfacingmicroprocessor 8085  and its interfacing
microprocessor 8085 and its interfacing
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptx
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 

chapter01 (1).ppt

  • 1.  2000 Deitel & Associates, Inc. All rights reserved.  2000 Deitel & Associates, Inc. All rights reserved. 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 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
  • 2.  2000 Deitel & Associates, Inc. All rights reserved.  2000 Deitel & Associates, Inc. All rights reserved. 1.1 Introduction – In this course you will learn – C and C++ – Structured programming and object oriented programming
  • 3.  2000 Deitel & Associates, Inc. All rights reserved.  2000 Deitel & Associates, Inc. All rights reserved. 1.2 What is a Computer? • A computer is a device capable of performing computations and making logical decisions • Computers process data under the control of sets of instructions called computer programs • Hardware – various devices comprising a computer – Keyboard, screen, mouse, disks, memory, CD-ROM, and processing units • Software – programs that run a computer
  • 4.  2000 Deitel & Associates, Inc. All rights reserved.  2000 Deitel & Associates, Inc. All rights reserved. 1.3 Computer Organization • Six logical units in every computer: 1. Input unit • obtains information from input devices (keyboard, mouse) 2. Output unit • outputs information (to screen, to printer, to control other devices) 3. Memory unit • rapid access, low capacity, stores input information 4. Arithmetic and logic unit (ALU) • performs arithmetic calculations and logic decisions 5. Central processing unit (CPU) • supervises and coordinates the other sections of the computer 6. Secondary storage unit • cheap, long-term, high-capacity storage, stores inactive programs
  • 5.  2000 Deitel & Associates, Inc. All rights reserved.  2000 Deitel & Associates, Inc. All rights reserved. 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 the computer resources • Timesharing – runs a small portion of one user’s job then moves on to service the next user
  • 6.  2000 Deitel & Associates, Inc. All rights reserved.  2000 Deitel & Associates, Inc. All rights reserved. 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)
  • 7.  2000 Deitel & Associates, Inc. All rights reserved.  2000 Deitel & Associates, Inc. All rights reserved. 1.6 Machine Languages, Assembly Languages, and High-level Languages • Three types of programming languages 1. Machine languages – strings of numbers giving machine specific instructions – Example: +1300042774 +1400593419 +1200274027 2. Assembly languages – English-like abbreviations representing elementary computer operations (translated via assemblers) – Example: LOAD BASEPAY ADD OVERPAY STORE GROSSPAY
  • 8.  2000 Deitel & Associates, Inc. All rights reserved.  2000 Deitel & Associates, Inc. All rights reserved. 1.6 Machine Languages, Assembly Languages, and High-level Languages (II) 3. High-level languages – similar to everyday English and use mathematical notations (translated via compilers) – Example: grossPay = basePay + overTimePay
  • 9.  2000 Deitel & Associates, Inc. All rights reserved.  2000 Deitel & Associates, Inc. All rights reserved. 1.7 History of C and C++ • C++ evolved from C, which evolved from two previous programming languages, BCPL and B • ANSI C established worldwide standards for C programming • C++ “spruces up” C and provides capabilities for object-oriented programming – objects - reuseable software components, model things in the real world – Object-oriented programs are easy to understand, correct and modify
  • 10.  2000 Deitel & Associates, Inc. All rights reserved.  2000 Deitel & Associates, Inc. All rights reserved. 1.8 C++ Standard Library • C++ programs consist of pieces called classes and functions • There are rich collections of existing classes and functions in the C++ standard library available for all programmers to use
  • 11.  2000 Deitel & Associates, Inc. All rights reserved.  2000 Deitel & Associates, Inc. All rights reserved. 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
  • 12.  2000 Deitel & Associates, Inc. All rights reserved.  2000 Deitel & Associates, Inc. All rights reserved. 1.10 Other High-level Languages • A few other high-level languages have achieved broad acceptance • FORTRAN – for scientific and engineering applications • COBOL – used to manipulate large amounts of data • Pascal – intended for academic use
  • 13.  2000 Deitel & Associates, Inc. All rights reserved.  2000 Deitel & Associates, Inc. All rights reserved. 1.11 Structured Programming • structured programming – a disciplined approach to writing programs – clear, easy to test and debug, and easy to modify • Multitasking – specifying that many activities run in parallel
  • 14.  2000 Deitel & Associates, Inc. All rights reserved.  2000 Deitel & Associates, Inc. All rights reserved. 1.12 The Key Software Trend: Object Technology • Objects – reusable software components that model items in the real world – 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 – very reusable – more understandable, better organized, and easier to maintain than procedural programming – Favor modularity
  • 15.  2000 Deitel & Associates, Inc. All rights reserved.  2000 Deitel & Associates, Inc. All rights reserved. 1.13 Basics of a Typical C++ Environment • Phases of C++ Programs: 1. Edit 2. Preprocess 3. Compile 4. Link 5. Load 6. Execute Loader Primary Memory Program is created in the editor and stored on disk. Preprocessor program processes the code. Loader puts program in memory. CPU takes each instruction and executes it, possibly storing new data values as the program executes. Compiler Compiler creates object code and stores it on disk. Linker links the object code with the libraries, creates a.out and stores it on disk Editor Preprocessor Linker CPU Primary Memory . . . . . . . . . . . . Disk Disk Disk Disk Disk
  • 16.  2000 Deitel & Associates, Inc. All rights reserved.  2000 Deitel & Associates, Inc. All rights reserved. 1.14 Hardware Trends • Every year or two the following approximately double: – the amount of memory they have in which to execute programs – the amount of secondary storage (such as disk storage) to hold programs and data over the longer term – their processor speeds the speed at which computers execute their programs
  • 17.  2000 Deitel & Associates, Inc. All rights reserved.  2000 Deitel & Associates, Inc. All rights reserved. 1.15 History of the Internet • The internet enables – Quick and easy communication via e-mail – International networking of computers • packet switching – Transfer 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 – the information carrying capacity of communications lines
  • 18.  2000 Deitel & Associates, Inc. All rights reserved.  2000 Deitel & Associates, Inc. All rights reserved. 1.16 History of the World Wide Web • World Wide Web – users can 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
  • 19.  2000 Deitel & Associates, Inc. All rights reserved.  2000 Deitel & Associates, Inc. All rights reserved. 1.17 General Notes About C++ and This Book • Book is geared for novice programmers • programming clarity is stressed • C and C++ are portable languages – programs written in C and C++ can run on many different computers
  • 20.  2000 Deitel & Associates, Inc. All rights reserved.  2000 Deitel & Associates, Inc. All rights reserved. 1.18 Introduction to C++ Programming • The C++ language facilitates a structured and disciplined approach to computer program design • Following are several examples that illustrate many important features of C++. Each example is analyzed one statement at a time.
  • 21.  2000 Deitel & Associates, Inc. All rights reserved.  2000 Deitel & Associates, Inc. All rights reserved. Outline 1.19 Printing a line of text 1 // Fig. 1.2: fig01_02.cpp 2 // A first program in C++ 3 #include <iostream> 4 5 int main() 6 { 7 std::cout << "Welcome to C++!n"; 8 9 return 0; // indicate that program ended successfully 10 } Welcome to C++! preprocessor directive Message to the C++ preprocessor Lines beginning with # are preprocessor directives #include <iostream> tells the preprocessor to include the contents of the file <iostream>, which includes input/output operations (such as printing to the screen). Comments Written between /* and */ or following a // Improve program readability and do not cause the computer to perform any action 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. More in Chapter 3. Left brace { begins the body of every function and a right brace } ends it Prints the string of characters contained between the quotation marks. The entire line, including std::cout, the << operator, the string "Welcome to C++!n" and the semicolon (;), is called a statement. All statements must end with a semicolon. return is one a way to exit a function. return 0, in this case, means that the program terminated normally.
  • 22.  2000 Deitel & Associates, Inc. All rights reserved.  2000 Deitel & Associates, Inc. All rights reserved. 1.19 A Simple Program: Printing a Line of Text • std::cout – standard output stream object – “connected” to the screen – we need the std:: to specify what "namespace" cout belongs to • we shall remove this prefix with 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
  • 23.  2000 Deitel & Associates, Inc. All rights reserved.  2000 Deitel & Associates, Inc. All rights reserved. 1.19 A Simple Program: Printing a Line of Text (II) • There are multiple ways to print text – Following are more examples Escape Sequence Description n Newline. Position the screen cursor to the beginning of the next line. t Horizontal tab. Move the screen cursor to the next tab stop. r Carriage return. Position the screen cursor to the beginning of the current line; do not advance to the next line. a Alert. Sound the system bell. Backslash. Used to print a backslash character. " Double quote. Used to print a double quote character.
  • 24.  2000 Deitel & Associates, Inc. All rights reserved.  2000 Deitel & Associates, Inc. All rights reserved. Outline 1. Load <iostream> 2. main 2.1 Print "Welcome" 2.2 Print "to C++!" 2.3 newline 2.4 exit (return 0) Welcome to C++! 1 // Fig. 1.4: fig01_04.cpp 2 // Printing a line with multiple statements 3 #include <iostream> 4 5 int main() 6 { 7 std::cout << "Welcome "; 8 std::cout << "to C++!n"; 9 10 return 0; // indicate that program ended successfully 11 } Unless new line 'n' is specified, the text continues on the same line.
  • 25.  2000 Deitel & Associates, Inc. All rights reserved.  2000 Deitel & Associates, Inc. All rights reserved. Outline 1. Load <iostream> 2. main 2.1 Print "Welcome" 2.2 newline 2.3 Print "to" 2.4 newline 2.5 newline 2.6 Print "C++!" 2.7 newline 2.8 exit (return 0) 1 // Fig. 1.5: fig01_05.cpp 2 // Printing multiple lines with a single statement 3 #include <iostream> 4 5 int main() 6 { 7 std::cout << "WelcomentonnC++!n"; 8 9 return 0; // indicate that program ended successfully 10 } Welcome to C++! Multiple lines can be printed with one statement
  • 26.  2000 Deitel & Associates, Inc. All rights reserved.  2000 Deitel & Associates, Inc. All rights reserved. 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 – Must appear before variable is 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
  • 27.  2000 Deitel & Associates, Inc. All rights reserved.  2000 Deitel & Associates, Inc. All rights reserved. 1.20 Another Simple Program: Adding Two Integers (II) • >> (stream extraction operator) – When used with std::cin, waits for user to input a value and stores the value in the variable to the right of the operator. – user types number, 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) sum = variable1 + variable2; Addition operator
  • 28.  2000 Deitel & Associates, Inc. All rights reserved.  2000 Deitel & Associates, Inc. All rights reserved. Outline 1. Load <iostream> 2. main 2.1 Initialize variables integer1, integer2, and sum 2.2 Print "Enter first integer" 2.2.1 Get input 2.3 Print "Enter second integer" 2.3.1 Get input 2.4 Add variables and put result into sum 2.5 Print "Sum is" 2.5.1 Output sum 2.6 exit (return 0) Program Output 1 // Fig. 1.6: fig01_06.cpp 2 // Addition program 3 #include <iostream> 4 5 int main() 6 { 7 int integer1, integer2, sum; // declaration 8 9 std::cout << "Enter first integern"; // prompt 10 std::cin >> integer1; // read an integer 11 std::cout << "Enter second integern"; // prompt 12 std::cin >> integer2; // read an integer 13 sum = integer1 + integer2; // assignment of sum 14 std::cout << "Sum is " << sum << std::endl; // print sum 15 16 return 0; // indicate that program ended successfully 17 } Enter first integer 45 Enter second integer 72 Sum is 117 Notice how std::cin is used to get user input. Variables can be output using std::cout << variableName std::endl flushes the buffer and prints a newline.
  • 29.  2000 Deitel & Associates, Inc. All rights reserved.  2000 Deitel & Associates, Inc. All rights reserved. 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
  • 30.  2000 Deitel & Associates, Inc. All rights reserved.  2000 Deitel & Associates, Inc. All rights reserved. 1.22 Arithmetic • Arithmetic calculations are used in most programs – special notes: – 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
  • 31.  2000 Deitel & Associates, Inc. All rights reserved.  2000 Deitel & Associates, Inc. All rights reserved. 1.22 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.
  • 32.  2000 Deitel & Associates, Inc. All rights reserved.  2000 Deitel & Associates, Inc. All rights reserved. 1.23 Decision Making: Equality and Relational Operators • if structure - decision based on truth or falsity of condition. If condition met execute, otherwise ignore. • Equality and relational operators: • These operators all have lower precedence than arithmetic operators 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 < _ > _ =
  • 33.  2000 Deitel & Associates, Inc. All rights reserved.  2000 Deitel & Associates, Inc. All rights reserved. 1.23 Decision Making: Equality and Relational Operators (II) • using statements – eliminate the need to use the std:: prefix – allow us to write cout instead of std::cout – at the top of the program write using std::cout; using std::cin; using std::endl; to use those functions without writing std::
  • 34.  2000 Deitel & Associates, Inc. All rights reserved.  2000 Deitel & Associates, Inc. All rights reserved. Outline 1. Load <iostream> 2. main 2.1 Initialize num1 and num2 2.1.1 Input data 2.2 if statements 1 // Fig. 1.14: fig01_14.cpp 2 // Using if statements, relational 3 // operators, and equality operators 4 #include <iostream> 5 6 using std::cout; // program uses cout 7 using std::cin; // program uses cin 8 using std::endl; // program uses endl 9 10 int main() 11 { 12 int num1, num2; 13 14 cout << "Enter two integers, and I will tell youn" 15 << "the relationships they satisfy: "; 16 cin >> num1 >> num2; // read two integers 17 18 if ( num1 == num2 ) 19 cout << num1 << " is equal to " << num2 << endl; 20 21 if ( num1 != num2 ) 22 cout << num1 << " is not equal to " << num2 << endl; 23 24 if ( num1 < num2 ) 25 cout << num1 << " is less than " << num2 << endl; 26 27 if ( num1 > num2 ) 28 cout << num1 << " is greater than " << num2 << endl; 29 30 if ( num1 <= num2 ) 31 cout << num1 << " is less than or equal to " 32 << num2 << endl; 33 The if statements test the truth of the condition. If it is true, body of if statement is executed. If not, body is skipped. To include multiple statements in a body, delineate them with braces {} 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 Notice the using statements
  • 35.  2000 Deitel & Associates, Inc. All rights reserved.  2000 Deitel & Associates, Inc. All rights reserved. Outline 2.3 exit (return 0) Program Output 34 if ( num1 >= num2 ) 35 cout << num1 << " is greater than or equal to " 36 << num2 << endl; 37 38 return 0; // indicate that program ended successfully 39 } 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 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
  • 36.  2000 Deitel & Associates, Inc. All rights reserved.  2000 Deitel & Associates, Inc. All rights reserved. 1.24 Thinking About Objects: Introduction to Object Technology and the Unified Modeling Language • Object orientation – natural way to think about world and writing 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 of existing classes – information hiding • objects usually do not know how other objects are implemented • Abstraction - view the big picture – See a photograph rather than a group of colored dots – Think in terms of houses, not bricks
  • 37.  2000 Deitel & Associates, Inc. All rights reserved.  2000 Deitel & Associates, Inc. All rights reserved. 1.24 Thinking About Objects: Introduction to Object Technology and the Unified Modeling Language (II) • class - unit of programming – "blueprint" of the objects • objects are created from the class – contain functions • implement behaviors – contain data • implement attributes – Classes are reusable • Unified Modeling Language (UML) – used to model object-oriented systems and aid with their design – complex, feature-rich graphical language