Beruflich Dokumente
Kultur Dokumente
1
Topics of this lecture
2
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
3
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
4
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 #
5
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
6
1 // Fig. 1.2: fig01_02.cpp
Single-line comments.
2 // A first program in C++.
3 #include <iostream>
Function main returns Preprocessor
an directive to
4 integer value. include input/output stream
5 Left brace
// function main begins program header file <iostream>.
{ begins execution
function
body. Function main appears
6 int main() exactly once in every C++ Statements end with a
7 { semicolon ;.
program.
8 std::cout << "Welcome to C++!\n";
9
10 return 0; // indicate that cout
program
Corresponding
Name rightbelongs
Stream brace }to operator.
ended
insertion successfully
11 ends function body.
namespace std.
12 } // end function main Keyword return is one of
several means to exit
function; value 0 indicates
Welcome to C++!
program terminated
successfully.
7
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
8
A Simple Program: Printing a Line of Text
Escape Sequence Description
9
1 // Fig. 2.4: fig02_04.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";
9 std::cout << “ to C++!\n";
10 } // end function main
Welcome to C++!
10
Printing Multiple Lines of Text with a Single Statement
1 // A first program in C++.
2 #include <iostream>
3
4 // function main begins program execution
5 int main()
6 {
7 std::cout << "Welcome \n to \n C++ !";
09 } // end function main
Welcome
to
C++!
11
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 use
int integer1;
int integer2;
int sum;
Can declare several variables of same type in one declaration
Comma-separated list
int integer1, integer2, sum;
12
Another Simple Program: Adding Two Integers
Variables
Variable names
Valid identifier
Series of characters (letters, digits, underscores)
Cannot begin with digit
Case sensitive
Naming Conventions
start with a lower case letter
mix of lower and uppercase letters and numbers
short but meaningful
generally avoid single letter variables
13
Another Simple Program: Adding Two Integers
14
1 // Fig. 1.6: fig01_06.cpp
2 // Addition program.
3 #include <iostream>
4 // function main begins program execution
5 int main() {
Declare integer variables.
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
Use stream extraction
9 operator with standard input
10 std::cout << "Enter firststream
integer\n";
to obtain//user
prompt
input.
11 std::cin >> integer1; // read an integer
12
13 std::cout << "Enter second integer\n"; // prompt
14 std::cin >> integer2; // read an integer
Calculations can be performed in output
Stream
statements:
manipulator
alternative for
15 lines 16 and 17: std::endl outputs a
16 sum = integer1 + integer2; // assign result to sum newline, then “flushes output
std::cout << "Sum is " << integer1 + integer2 << std::endl;
buffer.”
17 std::cout << "Sum is " << sum << std::endl; // print sum
18
19 return 0; // indicate that program ended successfully
Concatenating, chaining or
20 } // end function main CS 630
cascading stream insertion
15
operations.
Microsoft Visual C++ numeric data types
Type Name Bytes Other Names Range of Values
16
Microsoft Visual C++ numeric data types
Type Name Bytes Other Names Range of Values
17
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
18
Memory Concepts
integer1 45
std::cin >> integer1;
Assume user entered 45
integer1 45
integer2 72
std::cin >> integer2;
Assume user entered 72
integer1 45
integer2 72
sum = integer1 + integer2; sum 117
19
Effect of Several Assignments
20
Arithmetic
Arithmetic calculations
*
Multiplication
/
Division
Integer division truncates remainder
7 / 5 evaluates to 1
%
Modulus operator returns remainder
7 % 5 evaluates to 2
21
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)
X = 7 + 4 / 2 * (3 * ( 4 – 3) + 5) % 2 + 3 22
Order in which a second-degree polynomial is evaluated.
23
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
24
Decision Making: Equality and
Relational Operators
Sta nd a rd a lg eb ra ic C++ eq ua lity Exa m p le Mea ning of
eq ua lity op era tor or or rela tiona l of C++ C++ c ond ition
rela tiona l op era tor op era tor c ond ition
Relational operators
> > x > y x is greater than y
< < x < y x is less than y
Equality operators
= == x == y x is equal to y
!= x != y x is not equal to y
Notice:
“==“
25
(not “=“)
using statements
using std::endl;
26
1 // Fig. 2.13: fig02_13.cpp
2 // Comparing integers using if statements, relational operators
3 // and equality operators.
4 #include <iostream> // allows program to perform input and output
5
6 using std::cout; // program uses cout
7 using std::cin; // program uses cin using declarations eliminate
8 using std::endl; // program uses endl
need for std:: prefix
9
10 // function main begins program Declare variables
execution
11 int main()
12 {
13 int number1; // first integer cout and
to compare
Can write cin
14 int number2; // second integer to compare
without std:: prefix
15
16 cout << "Enter two integers to compare: "; //if statement
prompt compares
user for data values
17 of number1
cin >> number1 >> number2; // read two integers
If
from user and number2 to
condition is true (i.e.,
18 test for equality values are equal), execute this
19 if ( number1 == number2 ) if statement comparesstatement
values
20 of number1 and number2
cout << number1 << " == " << number2 << endl; to is true (i.e.,
If condition
21 test for inequality values are not equal), execute
22 if ( number1 != number2 ) this statement
23 cout << number1 << " != " << number2 << endl;
24
25 if ( number1 < number2 )
26 cout << number1 << " < " << number2 << endl;
Compares two numbers using
27 relational operator < and >
28 if ( number1 > number2 )
29 cout << number1 << " > " << number2 << endl;
30
27
31 if ( number1 <= number2 )
32 cout << number1 << " <= " << number2 << endl;Compares two numbers using
33
relational operators <= and >=
34 if ( number1 >= number2 )
35 cout << number1 << " >= " << number2 << endl;
36
37 return 0; // indicate that program ended successfully
38
39 } // end function main
28