02-Elementary Programming v2
02-Elementary Programming v2
Programming Technique I
(SCSJ1013)
What a Is a Program Made Of?
• Common elements in programming languages:
– Key Words
– Programmer-Defined Identifiers
– Operators
– Punctuation
– Syntax
Key Words
• Also known as reserved words
• Have a special meaning in C++
• Can not be used for another purpose
• Written using lowercase letters
• Examples in program (shown in green):
using namespace std;
int main()
1-3
Example Program
#include <iostream>
using namespace std;
int main()
{
double num1 = 5,
num2, sum;
num2 = 12;
1-5
Example Program
#include <iostream>
using namespace std;
int main()
{
double num1 = 5, num2, sum;
num2 = 12;
1-6
Punctuation
• Characters that mark the end of a statement,
or that separate items in a list
• Example in program (shown in green):
double num1 = 5,
num2, sum;
num2 = 12;
1-7
Example Program
#include <iostream>
using namespace std;
int main()
{
double num1 = 5,
num2, sum;
num2 = 12;
2-9
Comments
2-10
Single-Line Comments
2-11
Multi-Line Comments
2-12
The Parts of a C++ Program
Statement Purpose
// sample C++ program comment
#include <iostream> preprocessor directive
using namespace std; which namespace to use
int main() beginning of function named main
{ beginning of block for main
cout << "Hello, there!"; output statement
return 0; send 0 back to the operating system
} end of block for main
2-13
Special Characters
Character Name Description
// Double Slash Begins a comment
# Pound Sign Begins preprocessor directive
2-14
Important Details
• C++ is case-sensitive. Uppercase and
lowercase characters are different characters.
‘Main’ is not the same as ‘main’.
• Every { must have a corresponding }, and
vice-versa.
2-15
Variables
Variables
• A variable is a named location in computer
memory (in RAM)
• It holds a piece of data
• It must be defined before it can be used
• Example variable definition:
double num1;
1-17
Example Program
#include <iostream>
using namespace std;
int main()
{
double num1 = 5,
num2, sum;
num2 = 12;
variable
data type name
char letter;
2-19
Variables
– If a new value is stored in the variable, it replaces
the previous value
– The previous value is overwritten and can no
longer be retrieved
int age;
age = 17; // age is 17
cout << age; // Displays 17
age = 18; // Now age is 18
cout << age; // Displays 18
2-20
Variables: Example
Identifiers
Identifiers
• Programmer-chosen names to represent parts of the
program, such as variables
• Name should indicate the use of the identifier
• Cannot use C++ key words as identifiers
• Must begin with alphabetic character or _, followed by
alphabetic, numeric, or _ . Alpha may be uppercase or
lowercase
• Example in program (shown in green):
double num1
Example Program
#include <iostream>
using namespace std;
int main()
{
double num1 = 5,
num2, sum;
num2 = 12;
total_Sales
total.Sales
4thQtrSales
totalSale$
2-25
Lines vs. Statements
In a source file,
A line is all of the characters entered before a
carriage return.
Blank lines improve the readability of a program.
Here are four sample lines. Line 3 is blank:
double num1 = 5, num2, sum;
num2 = 12;
1-26
Lines vs. Statements
In a source file,
A statement is an instruction to the computer to
perform an action.
A statement may contain keywords, operators,
programmer-defined identifiers, and punctuation.
A statement may fit on one line, or it may occupy
multiple lines.
Here is a single statement that uses two lines:
double num1 = 5,
num2, sum;
1-27
Literals
• Literal: a value that is written into a program’s
code.
– "hello, there" (string literal)
– 12 (integer literal)
Literals: Example
Literals: Example
In-Class Exercise
Examine the following program. List all the variables and literals
that appear in the program.
#include <iostream>
using namespace std;
int main()
{ int little;
int big;
little = 2;
big = 2000;
cout<<"The little number is " <<little<<endl;
cout<<"The big number is "<<big<<endl;
return 0;
}
In-Class Exercise
What will the following program display on the
screen?
#include <iostream>
using namespace std;
int main()
{
int num;
num = 712;
cout<< "The value is " << num << endl;
return 0;
}
Input and Output
Input using cin
The cin Object
• Standard input object
• Like cout, requires iostream file
• Used to read input from keyboard
• Information retrieved from cin with >>
• Input is stored in one or more variables
The cin Object
int height;
cout << "How tall is the room? ";
cin >> height;
The cin Object
Sample of output:
Enter an integer: 7
Enter a decimal number : 2.25
Enter a single character : R
Enter an array of characters: Programming
Output using cout
The cout Object
2-45
Starting a New Line
2-52
Integral Constants
• To store an integer constant in a long memory
location, put ‘L’ at the end of the number:
1234L
• Constants that begin with ‘0’ (zero) are octal,
or base 8: 075
• Constants that begin with ‘0x’ are
hexadecimal, or base 16: 0x75A
2-53
Defining Variables
2-55
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
2-56
Assigning Floating-point Values to
Integer Variables
If a floating-point value is assigned to an
integer variable
– The fractional part will be truncated (i.e.,
“chopped off” and discarded)
– The value is not rounded
int rainfall = 3.88;
cout << rainfall; // Displays 3
2-57
The bool Data Type
2-58
The char Data Type
int main()
{ char letter;
letter = "Z";
cout<<letter<<endl;
return 0;
}
Summary of data types
Name Description Size Range
signed: -128 to 127
char Character or small integer. 1byte
unsigned: 0 to 255
short int signed: -32768 to 32767
Short Integer. 2bytes
(short) unsigned: 0 to 65535
signed: -2147483648 to
int Integer. 4bytes 2147483647
unsigned: 0 to 4294967295
signed: -2147483648 to
long int
Long integer. 4bytes 2147483647
(long)
unsigned: 0 to 4294967295
Boolean value. It can take
bool one of two values: true or 1byte true or false
false.
float Floating point number. 4bytes +/- 3.4e +/- 38 (~7 digits)
Double precision floating
double 8bytes +/- 1.7e +/- 308 (~15 digits)
point number.
Long double precision
long double 8bytes +/- 1.7e +/- 308 (~15 digits)
floating point number.
Naming Constant
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
Defining constants
• You can define your own names for constants that you use very
often without having to resort to memory-consuming variables,
simply by using the #define preprocessor directive.
• Its format:
#define identifier value
• Example:
#include <iostream>
using namespace std;
#define PI 3.14159
#define NEWLINE '\n‘
int main ()
{ double r=5.0;
double circle;
circle = 2 * PI * r;
cout << circle;
cout << NEWLINE; return 0;}
Declared constants (const)
• With the const prefix you can declare constants with a
specific type in the same way as you would do with a
variable
• Example:
#include <iostream>
using namespace std;
int main ()
{ double r=5.0,circle;
const double PI = 3.14159;
const char NEWLINE = '\n';
circle = 2 * PI * r;
cout << circle;
cout << NEWLINE; return 0;}
String Constant
2-67
A character or a string constant?
• A character constant is a single character,
enclosed in single quotes:
'C'
• A string constant is a sequence of characters
enclosed in double quotes:
"Hello, there!"
• A single character in double quotes is a string
constant, not a character constant:
"C"
2-68
The C++ string Class
2-71
Variable Assignment vs.
Initialization
• Initializing a variable
– Gives an initial value to a variable at the time it is
created
– Can initialize some or all variables of definition
int length = 12;
int width = 7, height = 5, area;
2-72
Scope
2-73
In-Class Exercise
• Trace the following program. Can it be
compiled?
#include <iostream>
using namespace std;
int main()
{
cout<<value;
int value;
return 0;
}
Arithmetic Expression
Arithmetic Operators and
Expression
Arithmetic Operators
2-77
Binary Arithmetic Operators
- subtraction ans = 7 - 3; 4
* multiplication ans = 7 * 3; 21
/ division ans = 7 / 3; 2
% modulus ans = 7 % 3; 1
2-78
/ Operator
2-79
% Operator
2-80
In-Class Exercise
• Identify as many syntax errors as you can in the
following program
*/ what is wrong with this program?/*
#include iostream
using namespace std;
int main();
}
int a, b, c
a=3
b=4
c=a+b
Cout<"The value of c is "<C;
return 0;
{
Order of Operations
In an expression with more than one
operator, evaluation is in this order:
()
- (unary negation), in order, right to left
* / %, in order, left to right
+ -, in order, left to right
In the expression 2 + 2 * 2 – 2
evaluate evaluate
evaluate third
second first
Example
int z, y=-5;
z= 8 - 3 + 9 / 2 + 2 * - y;
z= 8 - (3 + 9 / 2) + 2 * - y;// try this
8 - 3 + 9 / 2 + 2 * - y
4: - 5 2: / 4 1: - 5
3: * 10
5: + 9
6: + 19
Order of Operations
Show prove for the following expression
Associativity of Operators
long double
Highest: double
float
unsigned long
long
unsigned int
int
Lowest:
Ranked by largest number they can hold
Conversion Rules
1) char, short, unsigned short automatically
promoted to int
– For arithmetic operation
char c=‘A’; cout<<6+c; // int
sum = sum + 1;