1 / 28

Lecture 3: Variables

CSC 107 – Programming For Science. Lecture 3: Variables. Announcements. Textbook available from library’s closed reserve. Your First C++ Program.

marged
Télécharger la présentation

Lecture 3: Variables

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CSC 107 – Programming For Science Lecture 3:Variables

  2. Announcements • Textbook available from library’s closed reserve

  3. 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}

  4. 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

  5. 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”

  6. 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;

  7. 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;

  8. 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;

  9. 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;

  10. 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;

  11. What The Compiler Sees #define DUMB_EXAMPLE “Matthew Hertz”double area = 3.1415962 * (r * r);cout << “Matthew Hertz”;cout << DUMB_EXAMPLE;

  12. What The Compiler Sees double area = 3.1415962 * (r * r);cout << “Matthew Hertz”;cout << “Matthew Hertz”;

  13. What The Compiler Sees double area = 3.1415962 * (r * r);cout << “Matthew Hertz”;cout << “Matthew Hertz”;

  14. 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

  15. 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

  16. 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

  17. 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…

  18. 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…

  19. 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

  20. 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

  21. ASCII Table

  22. 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

  23. 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;

  24. 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';

  25. 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';

  26. 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

  27. Your Turn • Get in groups & work on following activity

  28. 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!

More Related