260 likes | 454 Views
CSE1301 Computer Programming Lecture 6: Components of a C Program (Part 2). 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
E N D
CSE1301Computer ProgrammingLecture 6:Components of a C Program(Part 2)
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: can’t logically evaluate 7 + “cat”
Type • Built-in types: char, int, float • 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 “ask-key”) • American Standard Code for Information Interchange • see Appendix D of D&D
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) • Have a type associated with them, which tells the computer how to interpret the bits • Must be declared before use: [modifiers] <type name> <variable name>; [modifiers] <type name> <variable name>=<init value>;
myID Variable Declaration: Examples int myID;
Variable Declaration: Examples int myID; char my_initial = ’J’; Single “forward quotes” or apostrophe (’) rather than “back quotes” (‘)
01001010 my_initial Variable Declaration: Examples int myID; char my_initial = ’J’;
01001010 my_initial Variable Declaration: Examples int myID; char my_initial = ’J’; char my_initial = 74 ;
Variable Declaration: Examples float commission = 0.05; short int myHeight = 165; /* cm */ long int mySalary = 100000000000000000000; long float chanceOfADate = 3e-500; double chance_of_a_2nd_date = 1.5e-500;
Variable Declaration: Examples “Keywords” float commission = 0.05; short int myHeight = 165; /* 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. (see D&D 2/e Appendix A or D&D 3/e page 545, Figure 15.4)
Variable Declaration: Examples “Identifiers” float commission = 0.05; short int myHeight = 165; /* cm */ long int mySalary = 100000000000000000000; long float chanceOfADate = 3e-500; double chance_of_a_2nd_date = 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 [modifiers] <type> <constant name> = <init value>;
Constant Variables: Examples const int myID = 192; myID = 666; /* Error! */ const int passMark = 80; short char pAsSgRaDe = ’P’; const float e = 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 angleInDegrees; float angleInRadians; printf("Enter angle in degrees: "); scanf("%f", &angleInDegrees); angleInRadians = PI / 180 * angleInDegrees; printf("%f\n", angleInRadians); 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 angleInDegrees; float angleInRadians; printf("Enter angle in degrees: "); scanf("%f", &angleInDegrees); angleInRadians = PI / 180 * angleInDegrees; printf("%f\n", angleInRadians); return 0; } “Global” (constant) variable “Local” variables more on this later...
Readings This Lecture: • D&D 2/e: Sections 2.1 to 2.10 • D&D 3/e: Sections 2.1 to 2.5 Next Lecture:Booleans • D&D 2/e: • Sections 2.12 to 2.13, 3.2 and 4.13 to 4.15 • D&D 3/e: Sections 2.6, 3.5, 4.10 and 4.11