LECTURE 3:VARIABLES
CSC 107 – Programming For Science
Announcements
Textbook available from library’s closed reserve
Your First C++ Program
#include <iostream>using std::cout;
int main() { /* Hi, Mom. This is a comment
that goes over 2 line. */ cout << “Hello world!”; return 0; // This comment goes to the line’s end}
Pre-processor Directives
Code “pre-processed” before compilation No need to request it --- automatically
occurs Easier-to-read code results from this
process Just like using comments -- notice a recurring
theme?
Pre-processor directives start with # One directive per line & nothing else on the
line Directives should not span multiple lines
Symbolic Constants
Directive can be used to name a constant Any/all lines BELOW directive can use this
constant Pre-processor replaces name with value
Compiler sees value as if that were written there
When reading the code, programmer sees name
Makes code much easier to read, write, debug
Names traditionally in all CAPITAL letters THIS IS NOT REQUIRED, but “good style”
What You Write And Work With#define PI 3.1415962#define AVOGADRO 6.022E23 #define MY_NAME “Matthew Hertz”#define DUMB_EXAMPLE MY_NAMEdouble area = PI * (r * r);cout << MY_NAME;cout << DUMB_EXAMPLE;
What The Compiler Sees
#define PI 3.1415962#define AVOGADRO 6.022E23 #define MY_NAME “Matthew Hertz”#define DUMB_EXAMPLE MY_NAMEdouble area = PI * (r * r);cout << MY_NAME;cout << DUMB_EXAMPLE;
What The Compiler Sees
#define AVOGADRO 6.022E23 #define MY_NAME “Matthew Hertz”#define DUMB_EXAMPLE MY_NAMEdouble area = 3.1415962 * (r * r);cout << MY_NAME;cout << DUMB_EXAMPLE;
What The Compiler Sees
#define AVOGADRO 6.022E23 #define MY_NAME “Matthew Hertz”#define DUMB_EXAMPLE MY_NAMEdouble area = 3.1415962 * (r * r);cout << MY_NAME;cout << DUMB_EXAMPLE;
What The Compiler Sees
#define MY_NAME “Matthew Hertz”#define DUMB_EXAMPLE MY_NAMEdouble area = 3.1415962 * (r * r);cout << MY_NAME;cout << DUMB_EXAMPLE;
What The Compiler Sees
#define DUMB_EXAMPLE “Matthew Hertz”double area = 3.1415962 * (r * r);cout << “Matthew Hertz”;cout << DUMB_EXAMPLE;
What The Compiler Sees
double area = 3.1415962 * (r * r);cout << “Matthew Hertz”;cout << “Matthew Hertz”;
What The Compiler Sees
double area = 3.1415962 * (r * r);cout << “Matthew Hertz”;cout << “Matthew Hertz”;
Variables
Variable gives name to address where data stored When variable created, its initial value is
unknown Assignments update memory location with
new value Locations in memory updated by assignment
ONLY When variable is used in program…
…uses current value at that memory location Just about everything (interesting) uses
variables
Variable Declarations
Variables must be declared before can be used Way of getting computer to make space for
variable States how to interpret memory in future
uses Allows the compiler to check if uses are
legal Declarations must include two pieces:
Each variable must have legal, unique name
Type of data that the variable stores
Variable Names
Begin with letter or underscore (_) Then use any letters, numbers, or
underscore C++ case-sensitive when naming
variables Will treat as different Mass, mass, & masS
Unique name* needed for each variable Computer wouldn't know which of 1,000 bobs to use
Reserved words are… reserved and can't be used Includes all types listed on p. 83 of book void, unsigned, class also reserved words
Variable Name Conventions
Usually names begin with lowercase letter Helps clarify variables & symbolic constants
Best if name specifies datum variable stores Split multiple uses into multiple variables
Some things always make for bad names tmp, b, l (lowercase letter L) Anything would not say to grandparent,
priest, boss…
Variable Name Conventions
Usually names begin with lowercase letter Helps clarify variables & symbolic constants
Best if name specifies datum variable stores Split multiple uses into multiple variables
Some things always make for bad names tmp, b, l (lowercase letter L) Anything would not say to grandparent,
priest, boss…
Data Types
Each variable also has data type How program treats variable’s value
defined by this Single true or false value held by bool C/C++ defines 7 numeric data types
Integer types: short, int, long, long long Decimal types: float, double, long double Ranges for each type is not really
standardized Non-negative versions using unsigned
______ char data type can hold a character
Representing Text
Most computers you find follow ASCII standard American Standard Code for Information
Interchange 256 (= 28) possible characters in extended
definition Since computers are stupid, need to set
fixed size Computers use 0s & 1s ONLY – its all
they know Number still stored, but character is
displayed For number 97, a is printed Prints & for number 38 For number 55, 7 is printed
ASCII Table
There Is No Character
For computer, there are no characters Add to actual number just like normal
addition: ’M’ + 3 = 77 + 3 = 80 (’P’) ’0’ + 5 = 48 + 5 = 53 (’5’) 9 + ’1’ = 49 + 9 = 58 (’:’) ’1’+’0’ = 49 + 48= 97 (’a’)
Can also use to subtract, divide, any other operation
Writing Variable Declarations Single variable declared as: type name;double goodNameExample;short bad;
Can also declare multiple variables at once:int i, j;long double k, l, m, n, o, p;float thisIsAReallyLongName, thisIsAnotherLongName;
Writing Variable Declarations Could also specify initial value for
variable Variable, constant, literal, or expression can
be used
int i = 0.0; long j = -1;long double k = -0.000232847812;long l = j, many, minusJ = -j;char c = 'i';char newLine = '\n';char tab = '\t';
Writing Variable Declarations Could also specify initial value for
variable Variable, constant, literal, or expression can
be used
int i = 0.0; long j = -1;long double k = -0.000232847812;long l = j, many, minusJ = -j;char c = 'i';char newLine = '\n';char tab = '\t';
Constants
Constants very similar to variables Must be declared with a data type and
unique name const data_type var_name declares
variable Value of constant fixed when declared,
however Variables & constants treated and used
similarly
Your Turn
Get in groups & work on following activity
For Next Lecture
Read sections 6.1 – 6.7 for Wed. What operations exist for us to use with
variables? What can we use these variable to do
anything? How are data types used when computing
something? What do we mean by order of operations?
Week #1 weekly assignment due Tuesday Problems available on Angel & should be
doable If problem takes more than 10 minutes,
TALK TO ME!