280 likes | 451 Views
CSC 107 – Programming For Science. Lecture 3: Variables. Announcements. Textbook available from library’s closed reserve. Your First C++ Program.
E N D
CSC 107 – Programming For Science Lecture 3:Variables
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 BELOWdirective 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 • Variablegives 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 typeslisted 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 sayto 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++ defines7 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 ______ • chardata 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,ais printed • Prints & for number 38 • For number 55,7is printed
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: typename;double goodNameExample;short bad; • Can also declare multiple variables at once:inti, j;long doublek,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 inti = 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 inti = 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 • constdata_typevar_namedeclares 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!