Powerpoint Slides for the Standard Version of Starting Out with C++

Download Report

Transcript Powerpoint Slides for the Standard Version of Starting Out with C++

Brief Version of
Starting Out with C++
Chapter 2
Introduction to C++
Copyright 2006
Addison-Wesley
Topics
Lecture 5
2.7 The char Data Type
2.8 Floating-Point Data Types
2.9 The bool Data Type
2.10 Determining the Size of a Data Type
2.11 Variable Assignments and Initialization
2.12 Scope
2.13 Arithmetic Operators
2.14 Comments
2.15 Programming Style
2.16 Standard and Prestandard C++
Chapter 2 slide 2
2.7 The char Data Type
• Used to hold characters or very small
integer values
• Usually 1 byte of memory
• Numeric value of character from
character set is stored in memory:
CODE:
char letter;
letter = 'C';
Chapter 2 slide 3
MEMORY:
letter
67
Text data Type
• Character (represented by 1 Byte)
• String (stores a number of Characters).
– The size of the string depends on the number
of characters involved.
ASCII Values of Commonly used Characters:
0 to 9 48 to 57
A to Z 65 to 90
a to z 97 to 122
Chapter 2 slide 4
ASSCII Characters
#include <iostream.h>
int main()
{
for (int i =0; i<256; i++)
cout<< i << " "<<char(i)<<" ";
return 0;
}
Chapter 2 slide 5
Character Strings
• Can store a series of characters in
consecutive memory locations:
"Hello"
• Stored with the null terminator, \0, at
the end:
H
e
l
l
o
\0
• Comprised of the characters between
the " "
Chapter 2 slide 6
Strings in C++
• For the C++.net and DEV compilers, we
can declare a strings as:
string MyName;
cin >> MyName;
cout<<MyName
• As long as the name has no spaces.
char MyName[20];
• cin >> MyName;
• cout <<MyName;
• Use getline when you are reading a line of
Chapter
2 slide
char
.. 7See next example.
Strings in C++
• A better way for declaring strings to accommodate Turbo C++
Compiler
int constant size = 20;
char MyName[size];
cin >> MyName;
cout <<MyName;
• Chapter 11.. Full details
typedef, getline(), getchar() … later
For the Dev compiler:
String data type is valid, just make sure that you include the string
library
Chapter 2 slide 8
// using the string data type
#include <iostream>
using namespace std;
int main()
{
const int size =15;
Char name[size]; // can't have a space
int t1, t2, t3;
int sum;
cout<< " name? \n";
cin >> name; // no space
cout << "T1 ?";
cin >> t1;
cout << "T2 ?";
cin >> t2;
cout << "T3 ?";
cin >> t3;
sum = t1 + t2 + t3;
cout<< name<< " " <<t1<<" "<< t2<<" "<<t3<< " "<<
sum<<"\n";
system("pause");
return 0;
}
Chapter 2 slide 9
#include <iostream>
using namespace std;
int main()
{
char name[80]; // can’t have a space
int t1, t2, t3;
int sum;
cout<< " name? \n";
cin.getline(name,sizeof(name)); // including a space
cout << "T1 ?";
cin >> t1;
cout << "T2 ?";
cin >> t2;
cout << "T3 ?";
cin >> t3;
sum = t1 + t2 + t3;
cout<< name<< " " <<t1<<" "<< t2<<" "<<t3<< " "<<
sum<<"\n";
system("pause");
return 0;
}
Chapter 2 slide 10
2.8 Floating-Point Data Types
• Designed to hold real numbers
12.45
-3.8
• Stored in a form similar to scientific notation
• All numbers are signed
• Available in different sizes (number of
bytes): float, double, and long double
• Size of float  size of double
 size of long double
Chapter 2 slide 11
Floating Point
• Also known as Real number (numbers with a
fraction).
• Types and ranges:
Data Type
Size in bytes Range in E notation
float
4
+-3.4E-38 to +-3.4E38
Double
8
+-1.7E-308 to +-1.7E308
Long double
Chapter 2 slide 12
10 or 8
+-3.4E-4932 to +- 3.4E4932
Floating-point Constants
• 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) or long
double (0.0000625L)
• More on type casting slide 43
Chapter 2 slide 13
2.9 The bool Data Type
• 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;
allDone finished
• More on the Boolean
representation .. later
Chapter 2 slide 14
1
0
Chapter 2 slide 15
2.10 Determining the Size of a
Data Type
The sizeof operator gives the size of any data type
or variable:
double amount;
cout << "A double is stored in "
<< sizeof(double) << "bytes\n";
cout << "Variable amount is stored in "
<< sizeof(amount)
<< "bytes\n";
Chapter 2 slide 16
Assigning “Compatible” data Type
• Assign strings to string type, integers to integer
type, float to float type and so on !
string Lname = “Aljamal”;
char Lname[ ]= “Aljamal”;
int my_name;
my_name = 198;
Cout << “My Name is ” <<my_name;
Out put will be My Name is 198
Sounds “ STUPID” !! Unless you are called by a code
number !!
Chapter 2 slide 17
2.11 Variable Assignments
and Initialization
Assignment:
• Uses the = operator
• Has a single variable on the left side
and a value (constant, variable, or
expression) on the right side
• Copies the value on the right into the
variable on the left:
item = 12;
Chapter 2 slide 18
Variable Assignments and
Initialization
• Initialize a variable: assign it a value
when it is defined:
int length = 12;
• Can initialize some or all variables:
int length = 12, width = 5, area;
Chapter 2 slide 19
2.12 Scope
• The scope of a variable: where the
program can access the variable
• A variable cannot be used before it is
defined
Chapter 2 slide 20
Constants
• A modifier specifying that variable to remain a
constant value when used in declaration
statement.
• Form:
const double x = 7.65;
const float PI = 3.14;
• The value in the constant must be assigned
when declared.
• The program is not allowed to change the value
while it is running, if we need to change the
value , we have to change the code then re
compile it.
Chapter 2 slide 21
Where can we declare the
Variables in the program?
• Inside a function.
• Outside a function.
• In a function header.
For now lets declare our variables inside our
main function, which is our main program.
BUT: we always MUST declare variables
before using them.
Chapter 2 slide 22
2.13 Arithmetic Operators
• Used for performing numeric calculations
• C++ has unary, binary, and trinary
operators:
– unary (1 operand)
– binary (2 operands)
-5
13 - 7
– ternary (3 operands) exp1 ? exp2 : exp3
Chapter 2 slide 23
Binary Arithmetic Operators
SYMBOL
OPERATION
EXAMPLE
VALUE OF
ans
+
addition
ans = 7 + 3;
10
-
subtraction
ans = 7 - 3;
4
*
multiplication ans = 7 * 3;
/
division
ans = 7 / 3;
2
%
modulus
ans = 7 % 3;
1
Chapter 2 slide 24
21
/ Operator
• / (division) operator performs integer
division if both operands are integers
cout << 13 / 5;
cout << 91 / 7;
// displays 2
// displays 13
• If either operand is floating point, the result
is floating point
cout << 13 / 5.0;
cout << 91.0 / 7;
Chapter 2 slide 25
// displays 2.6
// displays 13.0
% Operator
• % (modulus) operator computes the
remainder resulting from integer division
cout << 13 % 5;
// displays 3
• % requires integers for both operands
cout << 13 % 5.0; // error
Chapter 2 slide 26
2.14 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
Chapter 2 slide 27
Casting
• Casting:
an operation in which the
value of one type of data is transformed
into another type of data.
General form:
double x = 3.5;
int y;
y = (int) x; // casts x into an int
Chapter 2 slide 28
C++ Style Comments
Begin with // through to the end of line:
int length = 12; // length in inches
int width = 15; // width in inches
int area;
// calculated area
// calculate rectangle area
area = length * width;
Chapter 2 slide 29
C-Style Comments
• Begin with /*, end with */
• Can span multiple lines:
/* this is a multi-line
C-style comment
*/
• Can be used like C++ style comments:
int area;
Chapter 2 slide 30
/* calculated area */
2.15 Programming Style
• The visual organization of the source
code
• Includes the use of spaces, tabs, and
blank lines
– Does not affect the syntax of the program
– Affects the readability of the source code
Chapter 2 slide 31
Programming Style
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
Chapter 2 slide 32
Brief Version of
Starting Out with C++
Chapter 2
Introduction to C++
Copyright 2006
Addison-Wesley