lecture 3: variables

28
LECTURE 3: VARIABLES CSC 107 – Programming For Science

Upload: marged

Post on 24-Feb-2016

62 views

Category:

Documents


0 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Lecture 3: Variables

LECTURE 3:VARIABLES

CSC 107 – Programming For Science

Page 2: Lecture 3: Variables

Announcements

Textbook available from library’s closed reserve

Page 3: Lecture 3: Variables

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: Lecture 3: Variables

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: Lecture 3: Variables

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: Lecture 3: Variables

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: Lecture 3: Variables

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: Lecture 3: Variables

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: Lecture 3: Variables

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: Lecture 3: Variables

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: Lecture 3: Variables

What The Compiler Sees

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

Page 12: Lecture 3: Variables

What The Compiler Sees

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

Page 13: Lecture 3: Variables

What The Compiler Sees

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

Page 14: Lecture 3: Variables

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: Lecture 3: 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

Page 16: Lecture 3: Variables

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: Lecture 3: Variables

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: Lecture 3: Variables

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: Lecture 3: Variables

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: Lecture 3: Variables

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: Lecture 3: Variables

ASCII Table

Page 22: Lecture 3: Variables

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: Lecture 3: Variables

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: Lecture 3: Variables

Writing Variable Declarations Could also specify initial value for

variable Variable, constant, literal, or expression can

be usedint 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: Lecture 3: Variables

Writing Variable Declarations Could also specify initial value for

variable Variable, constant, literal, or expression can

be usedint 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: Lecture 3: Variables

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: Lecture 3: Variables

Your Turn

Get in groups & work on following activity

Page 28: Lecture 3: Variables

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!