02 Introduction To C
02 Introduction To C
◙ C++ programs have parts and components that serve specific purposes
◙ Let’s examine the C++ program in Figure-1
// sample C++ program
#include <iostream>
using namespace std;
int main()
{
cout << "Hello, world!";
return 0;
}
Figure-1: C++ Program 2
The Parts of a C++ Program (2 of 2)
3
Comments
◙ The // marks the beginning of a comment.
◙ The C++ compiler ignores everything from the double slash to the end
of the line, so they do not cause the computer to perform any action
when the C++ program executes.
◙ A comment that begins with // is called a single-line comment, because
it terminates at the end of the line on which it appears.
◙ A // comment also can begin in the middle of a line and continue until
the end of that line.
◙ Delimited comments begin with the delimiter /* and end with the
delimiter */. All text between the delimiters is ignored by the compiler
4
Special Characters
Character Name Meaning
// Double slash Beginning of a comment
5
The cout Object (1 of 3)
6
The cout Object (2 of 3)
Or:
7
The cout Object (3 of 3)
8
The endl Manipulator (1 of 3)
◙ You can use the endl manipulator to start a new line of output. This
will produce two lines of output:
9
The endl Manipulator (2 of 3)
10
The endl Manipulator (3 of 3)
11
The \n Escape Sequence (1 of 2)
◙ You can also use the \n escape sequence to start a new line of
output. This will produce two lines of output:
12
The \n Escape Sequence (2 of 2)
13
The #include Directive
◙ Inserts the contents of another file into the program
◙ This is a preprocessor directive, not part of C++ language
◙ #include lines not seen by compiler
◙ Do not place a semicolon at end of #include line
14
Variables and Literals
◙ Variable: a storage location in memory
int item;
15
Variable Definition
16
Literals
◙ Literal: a value that is written into a program’s code.
17
Integer Literal
18
String Literals
19
Identifiers
◙ An identifier is a programmer-defined name for some part of a
program: variables, functions, etc.
20
C++ Key Words
You cannot use any of the C++ key words as an identifier. These words have reserved meaning.
21
Variable Names
◙ A variable name should represent the purpose of the variable. For
example:
itemsOrdered
22
Identifier Rules
◙ The first character of an identifier must be an alphabetic character or
and underscore ( _ ),
◙ After the first character you may use alphabetic characters, numbers,
or underscore characters.
◙ Upper- and lowercase characters are distinct
23
Valid and Invalid Identifiers
IDENTIFIER VALID? REASON IF INVALID
totalSales Yes Blank cell
24
Integer Data Types
◙ Integer variables can hold whole numbers such as 12, 7, and −99.
25
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 different definitions
26
Integer Types in Program 2-11
27
Integer Literals (1 of 2)
itemsOrdered = 15;
28
Integer Literals in Program 2-11
29
Integer Literals (2 of 2)
30
The char Data Type
◙ Used to hold characters or very small integer values
◙ Usually 1 byte of memory
◙ Numeric value of character from the character set is stored in memory:
CODE: MEMORY:
char letter; letter
letter = 'C';
67
31
Character Literals (1 of 2)
'A'
32
Character Literals (2 of 2)
33
Character Strings
◙ A series of characters in consecutive memory locations:
"Hello"
◙ Stored with the null terminator, \0, at the end:
34
The C++ string Class
◙ Special data type supports working with strings
#include <string>
◙ Can define string variables in programs:
string firstName, lastName;
◙ Can receive values with assignment operator:
firstName = "George";
lastName = "Washington";
◙ Can be displayed via cout
cout << firstName << " " << lastName;
35
The string Class
36
Floating-Point Data Types (1 of 2)
37
Floating-Point Data Types (2 of 2)
38
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) or long double (0.0000625L)
39
Floating-Point Data Types in Program 2-17
40
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:
allDone finished
bool allDone = true;
bool finished = false; 1 0
41
Boolean Variables
42
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";
43
Variable Assignments and Initialization
◙ An assignment statement uses the = operator to store a value in a
variable.
item = 12;
44
Assignment
◙ The variable receiving the value must appear on the left side of the =
operator.
◙ This will NOT work:
// ERROR!
12 = item;
45
Variable Initialization (1 of 2)
46
Variable Initialization (2 of 2)
47
Declaring Variables With the auto Key Word
◙ C++ 11 introduces an alternative way to define variables, using the
auto key word and an initialization value. Here is an example:
◙ The auto key word tells the compiler to determine the variable’s data
type from the initialization value.
48
Scope
◙ The scope of a variable: the part of the program in which the variable
can be accessed
◙ A variable cannot be used before it is defined
49
Variable Out of Scope
50
Arithmetic Operators (1 of 2)
51
Binary Arithmetic Operators
+ 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
52
Arithmetic Operators (2 of 2)
53
A Closer Look at the / Operator
◙ / (division) operator performs integer division if both operands are
integers
cout << 13 / 5; // displays 2
cout << 91 / 7; // displays 13
◙ If either operand is floating point, the result is floating point
cout << 13 / 5.0; // displays 2.6
cout << 91.0 / 7; // displays 13.0
54
A Closer Look at the % 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
55
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
56
Single-Line 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
57
Multi-Line Comments
◙ Begin with /*, end with */
◙ Can span multiple lines:
/* this is a multi-line
comment
*/
◙ Can begin and end on the same line:
int area; /* calculated area */
58
Named Constants
◙ Named constant (constant variable): variable whose content cannot
be changed during program execution
◙ Used for representing constant values with descriptive names:
◘ const double TAX_RATE = 0.0675;
◘ const int NUM_STATES = 50;
◙ Often named in uppercase letters
59
Named Constants in Program 2-28
60
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
61