Copyright 2006 Addison-Wesley Brief Version of Starting Out with C++ Chapter 2 Introduction to C++
-
Upload
nickolas-dorsey -
Category
Documents
-
view
218 -
download
0
Transcript of Copyright 2006 Addison-Wesley Brief Version of Starting Out with C++ Chapter 2 Introduction to C++
Copyright 2006Addison-Wesley
Brief Version of
Starting Out with C++
Chapter 2
Introduction to C++
Chapter 2 slide 2
TopicsLecture 52.7 The char Data Type2.8 Floating-Point Data Types2.9 The bool Data Type2.10 Determining the Size of a Data Type2.11 Variable Assignments and Initialization2.12 Scope2.13 Arithmetic Operators2.14 Comments2.15 Programming Style2.16 Standard and Prestandard C++
Chapter 2 slide 3
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';
MEMORY:letter
67
Chapter 2 slide 4
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 57A to Z 65 to 90a to z 97 to 122
Chapter 2 slide 5
ASSCII Characters#include <iostream.h>
int main(){ for (int i =0; i<256; i++) cout<< i << " "<<char(i)<<" ";
return 0; }
Chapter 2 slide 6
Character Strings
• Can store a series of characters in consecutive memory locations:"Hello"
• Stored with the null terminator, \0, at the end:
• Comprised of the characters between the " "
H e l l o \0
Chapter 2 slide 7
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
char .. See next example.
Chapter 2 slide 8
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 detailstypedef, getline(), getchar() … later
For the Dev compiler: String data type is valid, just make sure that you include the string
library
Chapter 2 slide 9
// using the string data type#include <iostream>using namespace std;int main(){ const int size =15; Char name[size]; // can't have a spaceint t1, t2, t3;int sum;
cout<< " name? \n";cin >> name; // no spacecout << "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
#include <iostream>using namespace std;int main(){ char name[80]; // can’t have a spaceint t1, t2, t3;int sum;cout<< " name? \n";cin.getline(name,sizeof(name)); // including a spacecout << "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 11
2.8 Floating-Point Data Types
• Designed to hold real numbers12.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 12
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 10 or 8 +-3.4E-4932 to +- 3.4E4932
Chapter 2 slide 13
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 14
• 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;• More on the Boolean representation .. later
2.9 The bool Data Type
allDone
1 0
finished
Chapter 2 slide 15
Chapter 2 slide 16
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 17
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 198Sounds “ STUPID” !! Unless you are called by a code
number !!
Chapter 2 slide 18
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 19
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 20
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 21
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 22
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 23
2.13 Arithmetic Operators
• Used for performing numeric calculations
• C++ has unary, binary, and trinary operators:– unary (1 operand) -5
– binary (2 operands) 13 - 7
– ternary (3 operands) exp1 ? exp2 : exp3
Chapter 2 slide 24
Binary Arithmetic OperatorsSYMBOL 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
Chapter 2 slide 25
/ Operator
• / (division) operator performs integer division if both operands are integerscout << 13 / 5; // displays 2cout << 91 / 7; // displays 13
• If either operand is floating point, the result is floating pointcout << 13 / 5.0; // displays 2.6cout << 91.0 / 7; // displays 13.0
Chapter 2 slide 26
% 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 27
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 28
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 29
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 30
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; /* calculated area */
Chapter 2 slide 31
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 32
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
Copyright 2006Addison-Wesley
Brief Version of
Starting Out with C++
Chapter 2
Introduction to C++