csc 107 – programming for science. announcements textbook available from library’s closed...

28
LECTURE 3: VARIABLES CSC 107 – Programming For Science

Upload: osborne-byrd

Post on 12-Jan-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CSC 107 – Programming For Science. Announcements  Textbook available from library’s closed reserve

LECTURE 3:VARIABLES

CSC 107 – Programming For Science

Page 2: CSC 107 – Programming For Science. Announcements  Textbook available from library’s closed reserve

Announcements

Textbook available from library’s closed reserve

Page 3: 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}

Page 4: CSC 107 – Programming For Science. Announcements  Textbook available from library’s closed reserve

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

Page 5: CSC 107 – Programming For Science. Announcements  Textbook available from library’s closed reserve

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”

Page 6: CSC 107 – Programming For Science. Announcements  Textbook available from library’s closed reserve

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;

Page 7: CSC 107 – Programming For Science. Announcements  Textbook available from library’s closed reserve

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;

Page 8: CSC 107 – Programming For Science. Announcements  Textbook available from library’s closed reserve

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;

Page 9: CSC 107 – Programming For Science. Announcements  Textbook available from library’s closed reserve

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;

Page 10: CSC 107 – Programming For Science. Announcements  Textbook available from library’s closed reserve

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;

Page 11: CSC 107 – Programming For Science. Announcements  Textbook available from library’s closed reserve

What The Compiler Sees

#define DUMB_EXAMPLE “Matthew Hertz”double area = 3.1415962 * (r * r);cout << “Matthew Hertz”;cout << DUMB_EXAMPLE;

Page 12: CSC 107 – Programming For Science. Announcements  Textbook available from library’s closed reserve

What The Compiler Sees

double area = 3.1415962 * (r * r);cout << “Matthew Hertz”;cout << “Matthew Hertz”;

Page 13: CSC 107 – Programming For Science. Announcements  Textbook available from library’s closed reserve

What The Compiler Sees

double area = 3.1415962 * (r * r);cout << “Matthew Hertz”;cout << “Matthew Hertz”;

Page 14: CSC 107 – Programming For Science. Announcements  Textbook available from library’s closed reserve

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

Page 15: CSC 107 – Programming For Science. Announcements  Textbook available from library’s closed reserve

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

Page 16: CSC 107 – Programming For Science. Announcements  Textbook available from library’s closed reserve

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

Page 17: CSC 107 – Programming For Science. Announcements  Textbook available from library’s closed reserve

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…

Page 18: CSC 107 – Programming For Science. Announcements  Textbook available from library’s closed reserve

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…

Page 19: CSC 107 – Programming For Science. Announcements  Textbook available from library’s closed reserve

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

Page 20: CSC 107 – Programming For Science. Announcements  Textbook available from library’s closed reserve

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

Page 21: CSC 107 – Programming For Science. Announcements  Textbook available from library’s closed reserve

ASCII Table

Page 22: CSC 107 – Programming For Science. Announcements  Textbook available from library’s closed reserve

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

Page 23: CSC 107 – Programming For Science. Announcements  Textbook available from library’s closed reserve

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;

Page 24: CSC 107 – Programming For Science. Announcements  Textbook available from library’s closed reserve

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

Page 25: CSC 107 – Programming For Science. Announcements  Textbook available from library’s closed reserve

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

Page 26: CSC 107 – Programming For Science. Announcements  Textbook available from library’s closed reserve

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

Page 27: CSC 107 – Programming For Science. Announcements  Textbook available from library’s closed reserve

Your Turn

Get in groups & work on following activity

Page 28: CSC 107 – Programming For Science. Announcements  Textbook available from library’s closed reserve

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!