240 likes | 369 Views
Topics. Type Variables Keywords and Identifiers Assignments Constant Variables. Variable. Value. Type. The kind of a value is its “type” Not all values are of the same kind For example: 7 + “cat” makes no sense. Type. Built-in types: char , int , float, double
E N D
Topics • Type • Variables • Keywords and Identifiers • Assignments • Constant Variables
Variable Value Type • The kind of a value is its “type” • Not all values are of the same kind • For example: 7 + “cat” makes no sense
Type • Built-in types: char, int, float, double • Type modifiers: long, short, const • User-defined types (arrays and records) • What about “strings”? • Strings are arrays of char (discussed later)
Character Representation • Characters are stored as a small integer • Each character has a unique integer equivalent specified by its position in the ASCII table (pronounced “as-key”) • American Standard Code for Information Interchange
Character Representation • The ASCII values range from 0 to 127 • value 0: special character ’\0’(a.k.a. NUL character) • value 127: special character <DEL> • other special characters: ’\n’ ’\t’ ’\’’ ’\\’ etc. • various “extended” sets from 128 to 255
Variable • Is a logical name for a container • (an actual piece of computer memory for values) • Has a type associated with it • tells the computer how to interpret the bits • Must be declared before use: int i; float result; int i=0; char initial=’K’;
myID Variable Declaration: Examples int myID;
Variable Declaration: Examples int myID; char myInitial = ’J’; Single “forward quotes” or apostrophe (’) rather than “back quotes” (‘)
01001010 myInitial Variable Declaration: Examples int myID; char myInitial = ’J’;
01001010 myInitial Variable Declaration: Examples int myID; char myInitial = ’J’; char myInitial = 74 ;
Variable Declaration: Examples float commission = 0.05; short int myHeight = 183; /* cm */ long int mySalary = 100000000000000000000; long float chanceOfADate = 3e-500; double chanceOfA2ndDate = 1.5e-500;
Variable Declaration: Examples “Keywords” float commission = 0.05; short int myHeight = 183; /* cm */ long int mySalary = 100000000000000000000; long float chanceOfADate = 3e-500; double chance_of_a_2nd_date = 1.5e-500;
Keyword • ...has a special meaning in C • ...is “case-sensitive” • ...cannot be used as variable names • Examples: int, char, long, main, float, double, const, while, for, if, else, return, break, case, switch, default, typedef, struct, etc.
Variable Declaration: Examples “Identifiers” float commission = 0.05; short int myHeight = 183; /* cm */ long int mySalary = 100000000000000000000; long float chanceOfADate = 3e-500; double chanceOfA2ndDate = 1.5e-500;
Identifier • ...is a series of characters consisting of letters, digits and underscores ( _) • ...cannot begin with a digit • ...must not be a keyword • ...is “case-sensitive” • Examples: sUmoFA, x1, y2, _my_ID_, Main(careful!)
not to be confused with == Assignment • Puts a specified value into a specified variable • Assignment operator: = <variable name> = <expression> ;
Assignment: Examples float x = 2.5 ; char ch ; int number ; ch = ’\n’ ; number = 4 + 5 ; /* current value of number is 9. */ number = number * 2; /* current value of number is now 18. */
Assignment • Value must have a type assignable to the variable • Value may be automatically converted to fit the new container • Example: • various.c
integer = 33.33; character = 33.33; floatingPoint = 33.33; integer = floatingPoint; floatingPoint = integer; return 0; } #include <stdio.h> /* Do various assignment statements */ int main() { int integer; char character; float floatingPoint; integer = 33; character = 33; floatingPoint = 33; integer = 'A'; character = 'A'; floatingPoint = 'A'; various.c
Constant Variables • ...are variables that don’t vary • ...may not be assigned to. • ...must be initialized const float Pi = 3.14159; const int classSize = 100;
Constant Variables: Examples const int myID = 192; myID = 666; /* Error! */ const int passMark = 80; short char pAsSgRaDe = ’P’; const float pi = 3.1415926; /* oops */ const double golden_ratio = 1.61803398874989;
Example: Constants #include <stdio.h> /* Converts an angle in degrees to radians. */ const float PI = 3.1415926; int main() { float angleInDegs; float angleInRads; printf("Enter angle in degrees:"); scanf("%f", &angleInDegs); angleInRads = PI/180*angleInDegs; printf("%f\n", angleInRads); return 0; } Converts an angle from degrees to radians output “Enter angle in degrees” input angleInDegrees angleInRadians = / 180 * angleInDegrees output angleInRadians
Example: Constants #include <stdio.h> /* Converts an angle in degrees to radians. */ const float PI = 3.1415926; int main() { float angleInDegs; float angleInRads; printf("Enter angle in degrees: "); scanf("%f", &angleInDegs); angleInRads = PI/180*angleInDegs; printf("%f\n", angleInRads); return 0; } “Global” constant variable “Local” variables more on this later...