lecture3-4 chapt2
-
Upload
pooppoop312 -
Category
Documents
-
view
221 -
download
0
Transcript of lecture3-4 chapt2
-
7/31/2019 lecture3-4 chapt2
1/76
2-1
Parts of a C++ Program
// sample C++ program#include using namespace std;
int main(){
cout
-
7/31/2019 lecture3-4 chapt2
2/76
2-2
Special Characters
Character Name Meaning// Double slash Beginning of a comment
# Pound sign Beginning of preprocessordirective
< > Open/close brackets Enclose filename in #include
( ) Open/closeparentheses
Used when naming afunction
{ } Open/close brace Encloses a group of
statements" " Open/close
quotation marksEncloses string ofcharacters
; Semicolon End of a programmingstatement
-
7/31/2019 lecture3-4 chapt2
3/76
Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
The cout Object2.2
-
7/31/2019 lecture3-4 chapt2
4/76
2-4
The cout Object
Displays output on the computer screen
You use the stream insertion operator
-
7/31/2019 lecture3-4 chapt2
5/76
2-5
The cout Object
Can be used to send more than one itemto cout:
cout
-
7/31/2019 lecture3-4 chapt2
6/76
2-6
The cout Object
This produces one line of output:
cout
-
7/31/2019 lecture3-4 chapt2
7/76
2-7
The endl Manipulator
You can use the endl manipulator to starta new line of output. This will produce two
lines of output:
cout
-
7/31/2019 lecture3-4 chapt2
8/76
2-8
The endl Manipulator
Programming isfun!
cout
-
7/31/2019 lecture3-4 chapt2
9/76
2-9
The endl Manipulator
You do NOT put quotation marks aroundendl
The last character in endl is a lowercaseL, not the number 1.
endl
This is a lowercase L
-
7/31/2019 lecture3-4 chapt2
10/76
2-10
The \n Escape Sequence
You can also use the \n escapesequence to start a new line of output.
This will produce two lines of output:
cout
-
7/31/2019 lecture3-4 chapt2
11/76
2-11
The \n Escape Sequence
Programming isfun!
cout
-
7/31/2019 lecture3-4 chapt2
12/76
Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
The #include Directive2.3
-
7/31/2019 lecture3-4 chapt2
13/76
2-13
The #include Directive
Inserts the contents of another file into theprogram
This is a preprocessor directive, not part ofC++ language
#include lines not seen by compiler
Do not place a semicolon at end of#include line
-
7/31/2019 lecture3-4 chapt2
14/76
Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
Variables and Literals2.4
-
7/31/2019 lecture3-4 chapt2
15/76
2-15
Variables
Variable: a storage location in memory
Has a name (identifier) and a type of data itcan hold
Must be defined (declared) before it can beused:
int item;
-
7/31/2019 lecture3-4 chapt2
16/76
2-16
Variable Definition
-
7/31/2019 lecture3-4 chapt2
17/76
2-17
#include using namespace std;
int main(){
int x;int y;y = 13;x = 25-y;cout
-
7/31/2019 lecture3-4 chapt2
18/76
2-18
Literals
Literal: a value that is written into aprograms code.
"hello, there" (string literal)12 (integer literal)
-
7/31/2019 lecture3-4 chapt2
19/76
2-19
20 is an integer literal
-
7/31/2019 lecture3-4 chapt2
20/76
2-20
This is a string literal
-
7/31/2019 lecture3-4 chapt2
21/76
2-21
This is also a string literal
-
7/31/2019 lecture3-4 chapt2
22/76
Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
Identifiers2.5
-
7/31/2019 lecture3-4 chapt2
23/76
2-23
Identifiers
An identifier is a programmer-definedname for some part of a program:variables, functions, etc.
int main(){
int x;
int y;y = 13;x = 25-y;cout
-
7/31/2019 lecture3-4 chapt2
24/76
2-24
C++ Key Words
You cannot use any of the C++ key words as anidentifier. These words have reserved meaning.
-
7/31/2019 lecture3-4 chapt2
25/76
2-25
Variable Names
A variable name should represent thepurpose of the variable. For example:
itemsOrdered
The purpose of this variable is to hold thenumber of items ordered.
-
7/31/2019 lecture3-4 chapt2
26/76
2-26
Identifier Rules
The first character of an identifier must be analphabetic character or and underscore ( _ ),
After the first character you may use alphabeticcharacters, numbers, or underscore characters. Upper- and lowercase characters are distinct
-
7/31/2019 lecture3-4 chapt2
27/76
2-27
Valid and Invalid Identifiers
IDENTIFIER VALID? REASON IF INVALID
totalSales Yes
total_Sales Yes
total.Sales No Cannot contain .
4thQtrSales No Cannot begin with digit
totalSale$ No Cannot contain $
-
7/31/2019 lecture3-4 chapt2
28/76
Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
Integer Data Types2.6
-
7/31/2019 lecture3-4 chapt2
29/76
2-29
Integer Data Types
Integer variables can hold whole numbers suchas 12, 7, and -99.
-
7/31/2019 lecture3-4 chapt2
30/76
2-30
Defining Variables
Variables of the same type can be defined- On separate lines:
int length;int width;
unsigned int area;- On the same line:
int length, width;unsigned int area;
Variables of different types must be in differentdefinitions
-
7/31/2019 lecture3-4 chapt2
31/76
2-31
This program has three variables:checking, miles, and days
-
7/31/2019 lecture3-4 chapt2
32/76
2-32
Integer Literals
An integer literal is an integer value thatis typed into a programs code. For
example:
itemsOrdered = 15;
In this code, 15 is an integer literal.
-
7/31/2019 lecture3-4 chapt2
33/76
2-33
Integer Literals
-
7/31/2019 lecture3-4 chapt2
34/76
Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
The char Data Type2.7
Th h D T
-
7/31/2019 lecture3-4 chapt2
35/76
2-35
The char Data Type
Used to hold characters or very smallinteger values
Usually 1 byte of memory Numeric value of character from the
character set is stored in memory:
CODE:char letter;letter = 'C';
MEMORY:letter
67
-
7/31/2019 lecture3-4 chapt2
36/76
2-36
Character Literals
Character literals must be enclosed insingle quote marks. Example:
'A'
-
7/31/2019 lecture3-4 chapt2
37/76
2-37
-
7/31/2019 lecture3-4 chapt2
38/76
2-38
A series of characters in consecutive memorylocations:
"Hello" Stored with the null terminator,
\0, at the end:
Comprised of the characters between the " "
H e l l o \0
-
7/31/2019 lecture3-4 chapt2
39/76
2-39
String datatype #include
concatenationInt main(){
string word = oh the stress ; string word2 = of it all; string word3 = word + word2; //concatenatecout
-
7/31/2019 lecture3-4 chapt2
40/76
1-
Algorithm for Baking a cake:
1. preheat oven to 450
2. mash 2 sticks butter and 1 cup sugar together in abowl.
3. beat 3 eggs in another bowl4. add 1 tsp baking soda, cup cocoa to bowl 25. add bowl 2 to bowl 16. mix well7. pour contents into greased cake pan8. put cake pan in oven for 1 hour9. remove cake voila
There are other ways to write algorithms diagrams,
flowcharts
-
7/31/2019 lecture3-4 chapt2
41/76
2-41
LabWrite a program that does the following:
1. Declare 3 ints, 2 chars and 3 strings. Givethem meaningful names.2. Assign a value to each.3. Multiply first 2 ints and assign the result to the
third int.4. Print the 3 rd int to the screen with a statement
saying what it is: int 1 x int 2 = followed byendl
5. Print out the two chars in the same cout
statement: here are my chars: 6. Concatenate first 2 strings and assign resultto string 3.
7. Print out string 3 with statement here are myconcatenated strings:
-
7/31/2019 lecture3-4 chapt2
42/76
Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
Floating-Point Data Types2.8
Algorithm for Baking a cake:
-
7/31/2019 lecture3-4 chapt2
43/76
2-431-
Algorithm for Baking a cake:
1. preheat oven to 450
2. mash 2 sticks butter and 1 cup sugar together in alarge bowl.
3. beat 3 eggs in another large bowl4. add 1 tsp baking soda, cup cocoa to bowl 25. add bowl 2 to bowl 16. mix well7. pour contents into greased cake pan8. put cake pan in oven for 1 hour9. remove cake voila
There are other ways to write algorithms diagrams,
flowcharts
//C++ program to bake a cake NOT
-
7/31/2019 lecture3-4 chapt2
44/76
2-441-
p g#include using namespace std;int main()
{Big_bowl bowl1, bowl2;BakingPan my_pan;Oven my_oven;bowl1 = 1_pound_butter + 1_cup_sugar;beat bowl1;bowl2 = eggs;beat bowl2;bowl2 = bowl2 + cocoa + baking_soda;bowl1 = bowl1 + bowl2;my_pan = bowl1;my_oven = my_panreturn 0;
}
l
-
7/31/2019 lecture3-4 chapt2
45/76
2-45
Floating-Point Data Types
The floating-point data types are:floatdoublelong double
They can hold real numbers such as:12.45 -3.8
Stored in a form similar to scientific notation
All floating-point numbers are signed
Fl ti g P i t D t T
-
7/31/2019 lecture3-4 chapt2
46/76
2-46
Floating-Point Data Types
Fl ti g i t Lit l
-
7/31/2019 lecture3-4 chapt2
47/76
2-47
Floating-point Literals
Can be represented in Fixed point (decimal) notation:
31.4159 0.0000625
E notation:3.14159E1 6.25e-5
Are double by default
Can be forced to be float ( 3.14159f ) orlong double ( 0.0000625L )
-
7/31/2019 lecture3-4 chapt2
48/76
2-48
-
7/31/2019 lecture3-4 chapt2
49/76
Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
The bool Data Type2.9
The bool Data Type
-
7/31/2019 lecture3-4 chapt2
50/76
2-50
Represents values that are true or false bool variables are stored as small integers false is represented by 0, true by 1:
bool allDone = true;
bool finished = false;
The bool Data Type
allDone
1 0
finished
-
7/31/2019 lecture3-4 chapt2
51/76
2-51
-
7/31/2019 lecture3-4 chapt2
52/76
Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
Determining the Size of a Data Type2.10
Determining the Size of a Data
-
7/31/2019 lecture3-4 chapt2
53/76
2-53
Determining the Size of a DataType
The sizeof operator gives the size of any data type orvariable:double amount;
cout
-
7/31/2019 lecture3-4 chapt2
54/76
Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
Variable Assignments and Initialization2.11
Variable Assignments and
-
7/31/2019 lecture3-4 chapt2
55/76
2-55
Variable Assignments andInitialization
An assignment statement uses the = operator to store a value in a variable.
item = 12;
This statement assigns the value 12 to theitem variable.
Assignment
-
7/31/2019 lecture3-4 chapt2
56/76
2-56
Assignment
The variable receiving the value mustappear on the left side of the = operator.
This will NOT work:
// ERROR!12 = item;
Variable Initialization
-
7/31/2019 lecture3-4 chapt2
57/76
2-57
Variable Initialization
To initialize a variable means to assign ita value when it is defined:
int length = 12;
Can initialize some or all variables:int length = 12, width = 5, area;
-
7/31/2019 lecture3-4 chapt2
58/76
2-58
-
7/31/2019 lecture3-4 chapt2
59/76
Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
Scope2.12
Scope
-
7/31/2019 lecture3-4 chapt2
60/76
2-60
Scope
The scope of a variable: the part of theprogram in which the variable can beaccessed
A variable cannot be used before it isdefined
-
7/31/2019 lecture3-4 chapt2
61/76
2-61
-
7/31/2019 lecture3-4 chapt2
62/76
Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
Arithmetic Operators2.13
Arithmetic Operators
-
7/31/2019 lecture3-4 chapt2
63/76
2-63
Arithmetic Operators
Used for performing numeric calculations C++ has unary, binary, and ternary
operators: unary (1 operand) -5 binary (2 operands) 13 - 7 ternary (3 operands) exp1 ? exp2 : exp3
Binary Arithmetic Operators
-
7/31/2019 lecture3-4 chapt2
64/76
2-64
Binary Arithmetic Operators
SYMBOL OPERATION EXAMPLE VALUE OF ans
+ addition ans = 7 + 3; 10
- subtraction ans = 7 - 3; 4
* multiplication ans = 7 * 3; 21
/ division ans = 7 / 3; 2
% modulus ans = 7 % 3; 1
-
7/31/2019 lecture3-4 chapt2
65/76
2-65
A Closer Look at the / Operator
-
7/31/2019 lecture3-4 chapt2
66/76
2-66
p
/ (division) operator performs integerdivision if both operands are integers
cout
-
7/31/2019 lecture3-4 chapt2
67/76
2-67
p
%(modulus) operator computes theremainder resulting from integer division
cout
-
7/31/2019 lecture3-4 chapt2
68/76
Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
Comments2.14
Comments
-
7/31/2019 lecture3-4 chapt2
69/76
2-69
Comments
Used to document parts of the program Intended for persons reading the source
code of the program: Indicate the purpose of the program Describe the use of variables Explain complex sections of code
Are ignored by the compiler
Single-Line Comments
-
7/31/2019 lecture3-4 chapt2
70/76
2-70
Single Line Comments
Begin with // through to the end of line:int length = 12; // length in inches
int width = 15; // width in inchesint area; // calculated area
// calculate rectangle areaarea = length * width;
Multi-Line Comments
-
7/31/2019 lecture3-4 chapt2
71/76
2-71
Multi Line Comments
Begin with /* , end with */ Can span multiple lines:
/* this is a multi-linecomment
*/ Can begin and end on the same line:
int area; /* calculated area */
-
7/31/2019 lecture3-4 chapt2
72/76
Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
Programming Style2.15
Programming Style
-
7/31/2019 lecture3-4 chapt2
73/76
2-73
g g y
The visual organization of the sourcecode
Includes the use of spaces, tabs, andblank lines
Does not affect the syntax of the program Affects the readability of the source code
Programming Style
-
7/31/2019 lecture3-4 chapt2
74/76
2-74
g g y
Common elements to improve readability: Braces { } aligned vertically Indentation of statements within a set of braces Blank lines between declaration and other
statements Long statements wrapped over multiple lines
with aligned operators
#include #i l d < t i >
-
7/31/2019 lecture3-4 chapt2
75/76
2-75
#include using namespace std;
int main(){
int x = 10;int y = 15;cout
-
7/31/2019 lecture3-4 chapt2
76/76
Program 1 Calculate area of a room. Declare 3 float variables, assign valuesto width and length of room. Assign area of room to third float.
Print that number to the screen with a statement the area of theroom is put an endl at the end.
Program 2 Concatenate 2 strings and determine the size of all three. Declare3 strings. Give values to the first two and assign theirconcatenated value to the third string. Print the concatenatedstring to the screen followed by endl, then print the size of that 3rdstring in memory. Try getting the size by using the word stringrather than the variable name.
Program 3 Declare 3 chars and 3 bool type variables. Give them values.Print the values to the screen. Try assigning values to bool of 1 or0, true or false, t and f. See what happens.
Program 4