Announcements
Starting next week class 6-8 on Thursday Homework 1 on the web
Due January 29 – next class meeting Homework policy
No late assignments Graded out of 10 points Receive 5 points for turning it in
Lecture 2
Topics of this lecture
Introduce first program Explore inputs and outputs of a program
Arithmetic using C++ Introduce the conditional statement
General Notes About C++and This Book Book geared toward novice programmers
Stress programming clarity C and C++ are portable languages
Portability C and C++ programs can run on many different
computers Compatibility
Many features of current versions of C++ not compatible with older implementations
Introduction to C++ Programming C++ language
Facilitates structured and disciplined approach to computer program design
Following several examples Illustrate many important features of C++ Each analyzed one statement at a time
Structured programming Object-oriented programming
A Simple Program:Printing a Line of Text Comments
Document programs Improve program readability Ignored by compiler Single-line comment
Begin with //
Preprocessor directives Processed by preprocessor before compiling Begin with #
Basics of a Typical C++ Environment Input/output
cin Standard input stream Normally keyboard
cout Standard output stream Normally computer screen
cerr Standard error stream Display error messages
fig01_02.cpp(1 of 1)
fig01_02.cppoutput (1 of 1)
1 // Fig. 1.2: fig01_02.cpp
2 // A first program in C++.
3 #include <iostream>
4 5 // function main begins program execution
6 int main()
7 {8 std::cout << "Welcome to C++!\n";
9 10 return 0; // indicate that program ended successfully
11 12 } // end function main
Welcome to C++!
Single-line comments.
Preprocessor directive to include input/output stream header file <iostream>.
Function main appears exactly once in every C++ program..
Function main returns an integer value.Left brace { begins function body.
Corresponding right brace } ends function body.
Statements end with a semicolon ;.
Name cout belongs to namespace std.
Stream insertion operator.
Keyword return is one of several means to exit function; value 0 indicates program terminated successfully.
A Simple Program:Printing a Line of Text Standard output stream object
std::cout “Connected” to screen <<
Stream insertion operator Value to right (right operand) inserted into output stream
Namespace std:: specifies using name that belongs to “namespace” std
std:: removed through use of using statements Escape characters
\ Indicates “special” character output
A Simple Program:Printing a Line of Text
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.
Make some modifications to First Program
Another Simple Program:Adding Two Integers Variables
Location in memory where value can be stored Common data types
int - integer numbers char - characters double - floating point numbers
Declare variables with name and data type before useint integer1;
int integer2;
int sum; Can declare several variables of same type in one declaration
Comma-separated list
int integer1, integer2, sum;
Another Simple Program:Adding Two Integers Variables
Variable names Valid identifier
Series of characters (letters, digits, underscores) Cannot begin with digit Case sensitive
Another Simple Program:Adding Two Integers Input stream object
>> (stream extraction operator) Used with std::cin Waits for user to input value, then press Enter (Return) key Stores value in variable to right of operator
Converts value to variable data type
= (assignment operator) Assigns value to variable Binary operator (two operands) Example:
sum = variable1 + variable2;
1 // Fig. 1.6: fig01_06.cpp
2 // Addition program.
3 #include <iostream> 4 // function main begins program execution
5 int main() {6 int integer1; // first number to be input by user
7 int integer2; // second number to be input by user
8 int sum; // variable in which sum will be stored
9 10 std::cout << "Enter first integer\n"; // prompt
11 std::cin >> integer1; // read an integer
12 13 std::cout << "Enter second integer\n"; // prompt
14 std::cin >> integer2; // read an integer
15 16 sum = integer1 + integer2; // assign result to sum 17 std::cout << "Sum is " << sum << std::endl; // print sum
18 19 return 0; // indicate that program ended successfully 20 } // end function main
Declare integer variables.
Use stream extraction operator with standard input stream to obtain user input.
Stream manipulator std::endl outputs a newline, then “flushes output buffer.”
Concatenating, chaining or cascading stream insertion operations.
Calculations can be performed in output statements: alternative for lines 18 and 20:
std::cout << "Sum is " << integer1 + integer2 << std::endl;
fig01_06.cpp(1 of 1)
Microsoft Visual C++ numeric data types
Type Name Bytes Other Names Range of Values
int * signed, signed int System dependent
unsigned int * unsigned System dependent
__int8 1 char, signed char –128 to 127
__int16 2 short, short int, signed short int
–32,768 to 32,767
__int32 4 signed, signed int –2,147,483,648 to 2,147,483,647
__int64 8 none –9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
char 1 signed char –128 to 127
unsigned char 1 none 0 to 255
Type Name Bytes Other Names Range of Values
short 2 short int, signed short int
–32,768 to 32,767
unsigned short 2 unsigned short int 0 to 65,535
long 4 long int, signed long int
–2,147,483,648 to 2,147,483,647
unsigned long 4 unsigned long int 0 to 4,294,967,295
enum * none Same as int
float 4 none 3.4E +/- 38 (7 digits)
double 8 none 1.7E +/- 308 (15 digits)
long double 10 none 1.2E +/- 4932 (19 digits)
Microsoft Visual C++ numeric data types
Memory Concepts
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
Memory Concepts
std::cin >> integer1; Assume user entered 45
std::cin >> integer2; Assume user entered 72
sum = integer1 + integer2;
integer1 45
integer1 45
integer2 72
integer1 45
integer2 72
sum 117
Effect of Several Assignments What are the values of a and b after all
statements are executed?int a = 1;int b;b = a;a = 2;
a = 2, b = 1
Arithmetic
Arithmetic calculations *
Multiplication /
Division Integer division truncates remainder
7 / 5 evaluates to 1
% Modulus operator returns remainder
7 % 5 evaluates to 2
Arithmetic Rules of operator precedence
Operators in parentheses evaluated first Nested/embedded parentheses
Operators in innermost pair first
Multiplication, division, modulus applied next Operators applied from left to right
Addition, subtraction applied last Operators applied from left to right
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.
X = 7 + 4 / 2 * (3 * ( 4 – 3) + 5) % 2 + 3
Decision Making: Equality and Relational Operators if structure
Make decision based on truth or falsity of condition If condition met, body executed Else, body not executed
Equality and relational operators Lower precedence than arithmetic operators Equality operators
Same level of precedence Relational operators
Same level of precedence Associate left to right
Decision Making: Equality and Relational Operators
Standard algebraic equality operator or relational operator
C++ equality or relational operator
Example of C++ condition
Meaning of C++ condition
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
Notice:
“==“
(not “=“)
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;
Look at example program
Thinking About Objects: Introduction 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
Thinking About Objects: Introduction 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
Thinking About Objects: Introduction 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
Top Related