33
Copyright 2006 Addison-Wesley Brief Version of Starting Out with C++ Chapter 2 Introduction to C++

Copyright 2006 Addison-Wesley Brief Version of Starting Out with C++ Chapter 2 Introduction to C++

Embed Size (px)

Citation preview

Page 1: 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++

Page 2: Copyright 2006 Addison-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++

Page 3: Copyright 2006 Addison-Wesley Brief Version of Starting Out with C++ Chapter 2 Introduction to 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

Page 4: Copyright 2006 Addison-Wesley Brief Version of Starting Out with C++ Chapter 2 Introduction to C++

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

Page 5: Copyright 2006 Addison-Wesley Brief Version of Starting Out with C++ Chapter 2 Introduction to C++

Chapter 2 slide 5

ASSCII Characters#include <iostream.h>

int main(){ for (int i =0; i<256; i++) cout<< i << " "<<char(i)<<" ";

return 0; }

Page 6: Copyright 2006 Addison-Wesley Brief Version of Starting Out with C++ Chapter 2 Introduction to C++

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

Page 7: Copyright 2006 Addison-Wesley Brief Version of Starting Out with C++ Chapter 2 Introduction to C++

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.

Page 8: Copyright 2006 Addison-Wesley Brief Version of Starting Out with C++ Chapter 2 Introduction to C++

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

Page 9: Copyright 2006 Addison-Wesley Brief Version of Starting Out with C++ Chapter 2 Introduction to C++

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;}

Page 10: Copyright 2006 Addison-Wesley Brief Version of Starting Out with C++ Chapter 2 Introduction to C++

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;}

Page 11: Copyright 2006 Addison-Wesley Brief Version of Starting Out with C++ Chapter 2 Introduction to C++

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

Page 12: Copyright 2006 Addison-Wesley Brief Version of Starting Out with C++ Chapter 2 Introduction to C++

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

Page 13: Copyright 2006 Addison-Wesley Brief Version of Starting Out with C++ Chapter 2 Introduction to C++

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

Page 14: Copyright 2006 Addison-Wesley Brief Version of Starting Out with C++ Chapter 2 Introduction to C++

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

Page 15: Copyright 2006 Addison-Wesley Brief Version of Starting Out with C++ Chapter 2 Introduction to C++

Chapter 2 slide 15

Page 16: Copyright 2006 Addison-Wesley Brief Version of Starting Out with C++ Chapter 2 Introduction to C++

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";

Page 17: Copyright 2006 Addison-Wesley Brief Version of Starting Out with C++ Chapter 2 Introduction to C++

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 !!

Page 18: Copyright 2006 Addison-Wesley Brief Version of Starting Out with C++ Chapter 2 Introduction to C++

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;

Page 19: Copyright 2006 Addison-Wesley Brief Version of Starting Out with C++ Chapter 2 Introduction to C++

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;

Page 20: Copyright 2006 Addison-Wesley Brief Version of Starting Out with C++ Chapter 2 Introduction to C++

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

Page 21: Copyright 2006 Addison-Wesley Brief Version of Starting Out with C++ Chapter 2 Introduction to C++

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.

Page 22: Copyright 2006 Addison-Wesley Brief Version of Starting Out with C++ Chapter 2 Introduction to C++

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.

Page 23: Copyright 2006 Addison-Wesley Brief Version of Starting Out with C++ Chapter 2 Introduction to C++

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

Page 24: Copyright 2006 Addison-Wesley Brief Version of Starting Out with C++ Chapter 2 Introduction to C++

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

Page 25: Copyright 2006 Addison-Wesley Brief Version of Starting Out with C++ Chapter 2 Introduction to C++

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

Page 26: Copyright 2006 Addison-Wesley Brief Version of Starting Out with C++ Chapter 2 Introduction to C++

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

Page 27: Copyright 2006 Addison-Wesley Brief Version of Starting Out with C++ Chapter 2 Introduction to C++

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

Page 28: Copyright 2006 Addison-Wesley Brief Version of Starting Out with C++ Chapter 2 Introduction to C++

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

Page 29: Copyright 2006 Addison-Wesley Brief Version of Starting Out with C++ Chapter 2 Introduction to C++

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;

Page 30: Copyright 2006 Addison-Wesley Brief Version of Starting Out with C++ Chapter 2 Introduction to C++

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 */

Page 31: Copyright 2006 Addison-Wesley Brief Version of Starting Out with C++ Chapter 2 Introduction to C++

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

Page 32: Copyright 2006 Addison-Wesley Brief Version of Starting Out with C++ Chapter 2 Introduction to C++

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

Page 33: 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++