lecture 2: first program 1
DESCRIPTION
Lecture 2: First Program 1. 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 - PowerPoint PPT PresentationTRANSCRIPT
CS 630 1
Lecture 2: First Program1
CS 630 2
Topics of this lecture
Introduce first program Explore inputs and outputs of a program
Arithmetic using C++ Introduce the conditional statement
CS 630 3
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
CS 630 4
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
CS 630 5
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 #
CS 630 6
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
CS 630 7
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.
CS 630 8
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
CS 630 9
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
CS 630 10
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;
CS 630 11
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
CS 630 12
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;
CS 630 13
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 16 and 17:
std::cout << "Sum is " << integer1 + integer2 << std::endl;
fig01_06.cpp(1 of 1)
CS 630 14
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
CS 630 15
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
CS 630 16
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
CS 630 17
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
CS 630 18
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
CS 630 19
Arithmetic
Arithmetic calculations *
Multiplication /
Division Integer division truncates remainder
7 / 5 evaluates to 1
% Modulus operator returns remainder
7 % 5 evaluates to 2
CS 630 20
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
CS 630 21
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
CS 630 22
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 “=“)
CS 630 23
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