Download presentation
Presentation is loading. Please wait.
Published byBennett Farmer Modified over 9 years ago
1
PHY 107 – Programming For Science
2
Announcements Slides, activities, & solutions always posted to D2L Note-taking versions before class, for those who want Do get updated after class with any needed updates Use them in labs, weekly assignments, and projects There are also many other resources available Links on D2L to a few useful websites Library’s closed reserve has textbook & other books
3
Your First C Program
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 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 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_NAME double area = PI * (r * r); printf(MY_NAME); printf(DUMB_EXAMPLE);
7
What The Compiler Sees #define PI 3.1415962 #define AVOGADRO 6.022E23 #define MY_NAME “Matthew Hertz” #define DUMB_EXAMPLE MY_NAME double area = PI * (r * r); printf(MY_NAME); printf(DUMB_EXAMPLE);
8
What The Compiler Sees #define AVOGADRO 6.022E23 #define MY_NAME “Matthew Hertz” #define DUMB_EXAMPLE MY_NAME double area = 3.1415962 * (r * r); printf(MY_NAME); printf(DUMB_EXAMPLE);
9
What The Compiler Sees #define AVOGADRO 6.022E23 #define MY_NAME “Matthew Hertz” #define DUMB_EXAMPLE MY_NAME double area = 3.1415962 * (r * r); printf(MY_NAME); printf(DUMB_EXAMPLE);
10
What The Compiler Sees #define MY_NAME “Matthew Hertz” #define DUMB_EXAMPLE MY_NAME double area = 3.1415962 * (r * r); printf(MY_NAME); printf(DUMB_EXAMPLE);
11
What The Compiler Sees #define DUMB_EXAMPLE “Matthew Hertz” double area = 3.1415962 * (r * r); printf(“Matthew Hertz)”; printf(DUMB_EXAMPLE);
12
What The Compiler Sees double area = 3.1415962 * (r * r); printf(“Matthew Hertz)”; printf(“Matthew Hertz)”;
13
What The Compiler Sees double area = 3.1415962 * (r * r); printf(“Matthew Hertz)”; printf(“Matthew Hertz)”;
14
Symbolic Constants Value copied where it is used
15
Symbolic Constants
17
Variables Variable 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
18
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
19
Variable Names Begin with letter or underscore ( _ ) Then use any letters, numbers, or underscore C/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 bob s to use Reserved words are… reserved and can't be used Reserved words includes void, unsigned, class
20
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…
21
Variable Name Conventions
22
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 not really standardized Ranges for each type is not really standardized Non-negative versions using unsigned ______ char data type can hold a character
23
Representing Text Most computers you find follow ASCII standard ASCII American Standard Code for Information Interchange 256 (= 2 8 ) possible characters in extended definition Since computers are stupid, need to set fixed size Computers use 0 s & 1 s 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
24
ASCII Table
25
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
26
Writing Variable Declarations
27
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';
28
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';
29
Constants
30
Variables, Constants, & More General CasesExamples Variable Declaration dataType name; dataType name = value; dataType name, anotherName; dataType name = value, anotherName; int count; bool monkey = true; char help,letter; char a=‘a’,letter; Constant Declaration const dataType NAME= value; const double PI=3.1; Symbolic Constant #define NAME value #define AGE 34
31
Your Turn Work on activity in groups until 11:45 Each group will submit 1 copy at end of class Professor chooses the copy; so must work together
32
For Next Lecture Read pages 37 - 45 for Wed. What operations exist for us to use with variables? What can we use these variable to do anything? Why do data types matter in computations? What do we mean by order of operations? Week #1 weekly assignment due Tuesday Problems available on D2L & should be doable If problem takes more than 10 minutes, TALK TO ME!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.