|
|
|
In C ++, all subprograms are called functions. |
|
Every C program must have a function named main. |
|
Other functions are called by main. |
|
Program execution returns to main when the
callee function completes execution. |
|
|
|
|
|
|
#include <iostream> |
|
using namespace std; |
|
|
|
int Square(int); |
|
int Cube(int); |
|
|
|
int main() |
|
{ |
|
cout << “The square of 27 is” <<
Square(27) << endl; |
|
cout << “and the cube of 27 is”
<< Cube(27) << endl; |
|
return 0; |
|
} |
|
|
|
|
int Square(int n) |
|
{ |
|
return n*n; |
|
} |
|
|
|
int Cube(int n) |
|
{ |
|
return n*n*n; |
|
} |
|
|
|
The left brace({) and right brace (}) mark the
beginning and end of the statements to be executed. |
|
|
|
|
The first statement in main is cout << The
square of 27 is” << Square(27) << endl; |
|
During the execution of this statement, Square is
called, returning a value of 729, which is printed out, followed by a new
line character. |
|
Then, the statement cout << “and the cube
of 27 is” << Cube(27) << endl; is executed which includes a
call of Cube. The value 19683 (the cube of 27) is displayed. |
|
Both Square and Cube are examples of value-returning
functions, i.e. int Square(int n). |
|
main is also a value-returning function, 0
usually indicates normal (error-free) execution has occurred. |
|
main is called by the operating system. |
|
|
|
|
#include <iostream> |
|
using namespace std; |
|
|
|
int Square(int); |
|
int Cube(int); |
|
|
|
int main() |
|
{ |
|
cout << “The square of 27 is” <<
Square(27) << endl; |
|
cout << “and the cube of 27 is”
<< Cube(27) << endl; |
|
return 0; |
|
} |
|
|
|
|
int Square(int n) |
|
{ |
|
return n*n; |
|
} |
|
|
|
int Cube(int n) |
|
{ |
|
return n*n*n; |
|
} |
|
|
|
|
|
|
#include <iostream> |
|
using namespace std; |
|
|
|
int Square(int); |
|
int Cube(int); |
|
|
|
int main() |
|
{ |
|
cout << “The square of 27 is” <<
Square(27) << endl; |
|
cout << “and the cube of 27 is”
<< Cube(27) << endl; |
|
return 0; |
|
} |
|
|
|
|
int Square(int n) |
|
{ |
|
return n*n; |
|
} |
|
|
|
int Cube(int n) |
|
{ |
|
return n*n*n; |
|
} |
|
|
|
|
|
|
#include <iostream> |
|
using namespace std; |
|
|
|
int Square(int); |
|
int Cube(int); |
|
|
|
int main() |
|
{ |
|
cout << “The square of 27 is” <<
Square(27) << endl; |
|
cout << “and the cube of 27 is”
<< Cube(27) << endl; |
|
return 0; |
|
} |
|
|
|
|
int Square(int n) |
|
{ |
|
return n*n; |
|
} |
|
|
|
int Cube(int n) |
|
{ |
|
return n*n*n; |
|
} |
|
|
|
|
|
|
#include <iostream> |
|
using namespace std; |
|
|
|
int Square(int); |
|
int Cube(int); |
|
|
|
int main() |
|
{ |
|
cout << “The square of 27 is” <<
Square(27) << endl; |
|
cout << “and the cube of 27 is”
<< Cube(27) << endl; |
|
return 0; |
|
} |
|
|
|
|
int Square(int n) |
|
{ |
|
return n*n; |
|
} |
|
|
|
int Cube(int n) |
|
{ |
|
return n*n*n; |
|
} |
|
|
|
|
#include <iostream> |
|
using namespace std; |
|
|
|
int Square(int); |
|
int Cube(int); |
|
|
|
int main() |
|
{ |
|
cout << “The square of 27 is” <<
Square(27) << endl; |
|
cout << “and the cube of 27 is”
<< Cube(27) << endl; |
|
return 0; |
|
} |
|
|
|
|
int Square(int n) |
|
{ |
|
return n*n; |
|
} |
|
|
|
int Cube(int n) |
|
{ |
|
return n*n*n; |
|
} |
|
|
|
|
#include <iostream> |
|
using namespace std; |
|
|
|
int Square(int); |
|
int Cube(int); |
|
|
|
int main() |
|
{ |
|
cout << “The square of 27 is” <<
Square(27) << endl; |
|
cout << “and the cube of 27 is”
<< Cube(27) << endl; |
|
return 0; |
|
} |
|
|
|
|
int Square(int n) |
|
{ |
|
return n*n; |
|
} |
|
|
|
int Cube(int n) |
|
{ |
|
return n*n*n; |
|
} |
|
|
|
|
#include <iostream> |
|
using namespace std; |
|
|
|
int Square(int); |
|
int Cube(int); |
|
|
|
int main() |
|
{ |
|
cout << “The square of 27 is” <<
Square(27) << endl; |
|
cout << “and the cube of 27 is”
<< Cube(27) << endl; |
|
return 0; |
|
} |
|
|
|
|
int Square(int n) |
|
{ |
|
return n*n; |
|
} |
|
|
|
int Cube(int n) |
|
{ |
|
return n*n*n; |
|
} |
|
|
|
|
|
|
|
|
#include <iostream> |
|
using namespace std; |
|
|
|
int Square(int); |
|
int Cube(int); |
|
|
|
int main() |
|
{ |
|
cout << “The square of 27 is” <<
Square(27) << endl; |
|
cout << “and the cube of 27 is”
<< Cube(27) << endl; |
|
return 0; |
|
} |
|
|
|
|
int Square(int n) |
|
{ |
|
return n*n; |
|
} |
|
|
|
int Cube(int n) |
|
{ |
|
return n*n*n; |
|
} |
|
|
|
|
|
|
|
|
Syntax consists of the formal rules governing
how valid instructions are written in a programming language. (grammar) |
|
Semantics consists of the set of rules that
determines the meaning of instructions written in a programming language.
(meaning) |
|
A metalanguage is a language that is used to
write the syntax rules for another language. |
|
In this book, we write the syntax rules for C++
using a metalanguage called a syntax template. |
|
|
|
|
|
A syntax template is a generic example of the
C++ construct being defined. |
|
Graphic conventions show which portions are
optional and which can be repeated. |
|
A boldface word or symbol is a literal word or
symbol in the C++ language. |
|
A nonboldface word can be replaced by another
template. |
|
A curly brace is used to indicate a list of
items, from which one item can be chosen. |
|
Shading indicates an optional part of the
definition. |
|
|
|
|
|
Identifiers are used in C++ to name things –
identifiers are made up of letters, digits, and the underscore character
(_), and must begin with a letter or an underscore. |
|
Valid identifiers Invalid identifiers |
|
sum_of_squares 40hours |
|
J9 Get Data |
|
box_22A box-22 |
|
GetData cost_in_$ |
|
Bin3D4 int |
|
count |
|
|
|
|
|
A data type is a specific set of data values,
along with a set of operations on those values. |
|
Data is stored in the computer’s memory. |
|
Data is like post office boxes, some are larger
than others. |
|
Two data types for now: |
|
The char Data Type – describes data consisting
of one alphanumeric character. We enclose them in single quotation marks,
e.g., ‘A’ ‘a’ ‘_’ ‘8’ |
|
The string Data Type – describes data consisting
of a sequence of characters. We enclose them in double quotation marks,
e.g., “Hello” “My name is Rhonda” |
|
|
|
|
|
|
|
A declaration tells the computer what an
identifier represents. (object, function, or type) |
|
In C++, you must declare every identifier before
it is used. |
|
A memory location which can change is known by a
variable name. |
|
VariableDeclaration |
|
DataType Identifer , Identifier …; |
|
A memory location(s) whose value never changes
is known by a constant name |
|
ConstantDeclaration |
|
const DataType Identifier = LiteralValue; |
|
|
|
|
|
Variables |
|
char letter, middleInitial, ch; |
|
float payRate; // Employee’s pay rate |
|
float hours; // Hours worked |
|
Constants |
|
const string STARS = “*********”; |
|
const char BLANK = ‘ ’; |
|
const string BOOK_TITLE = “Programming and
Problem Solving with C++”; |
|
const string MESSAGE = “Error Condition”; |
|
|
|
|
|
Warning: C++ is case-sensitive – Style and style
are not the same |
|
Capitalization Conventions |
|
Identifiers representing variables begin with a
lower-case letter and have each successive English word capitalized, e.g., lengthInYards |
|
Names of programmer-written functions and
program-mer-defined data types begin with capital letters and have each
successive English word capitalized, e.g., CalcPay(payRate, hours, wages) |
|
Identifiers representing constants are all
capitals, with words separated by underscores, e.g., MAX_LENGTH |
|
|
|
|
|
The value of a variable can be set or changed
through an assignment statement, |
|
e.g., lastName = “Lincoln”; |
|
AssignmentStatement |
|
Variable = Expression; |
|
An expression is an arrangement of identifiers,
literals, and operators that can be evaluated to compute a value of a given
type. |
|
|
|
|
|
Given the declarations |
|
string firstName; char middleInitial; |
|
string middleName; char letter; |
|
string lastName; string title; |
|
Valid Assignments Invalid Assignments |
|
firstName = “Abraham”; middleInitial
= “A.”; |
|
middleName = firstName; letter =
firstName; |
|
middleName = “ ”; firstName =
Thomas; |
|
lastName = “Lincoln”; “Edison” =
lastName; |
|
title = “President”; lastName = ; |
|
middleInitial = ‘ ’; |
|
letter = middleInitial; |
|