# Types and Variables. Computer Programming 2 C++ in one page!

## Presentation on theme: "Types and Variables. Computer Programming 2 C++ in one page!"— Presentation transcript:

Types and Variables

Computer Programming 2 C++ in one page!

Computer Programming 3 Objectives Observe types provided by C++ – Literals of these types Explain syntax rules for identifier names Study variables and constants – What they are – How they differ – How to declare – How to use Investigate internal representations

Computer Programming 4 Problem We are given the task of writing a program to help the payroll office. – They compute pay for university student workers – Students are all paid an hourly rate of \$6.75 Consider what behavior we desire for the program.

Computer Programming 5 Behavior For student payroll calculation: Enter student name: Smart, Osgood J. Enter ID number: 123456 Enter hours worked: 9.99 Student: Osgood J. Smart ID: 123456 Pay = \$99.99

Computer Programming 6 Objects Description Software Objects TypeKindName screen ostream varying cout various prompts string Constant student name String Varying name keyboard istream varying Cin student’s ID int varying idNumber student wage double constant HOURLY_WAGE student’s hours double varying hoursWorked student’s pay double varying pay descriptive label string constant

Computer Programming 7 Operations Display string (prompts, labels, name) Read a string ( name ) Read an integer ( idNumber ) Read a real value ( hoursWorked ) Compute pay = hoursWorked * HOURLY_WAGE Display an integer ( idNumber ) Display a real value ( pay )

Computer Programming 8 Algorithm 1.Declare the constant HOURLY_WAGE. 2.Display to cout a prompt for the student’s name (last, first, middle initial). 3.Read a string from cin into name. 4.Display to cout a prompt for the student’s id number. 5.Read an integer from cin into idNumber. 6.Display to cout a prompt for the student’s hours. 7.Read a real value from cin into hoursWorked. 8.Compute pay = hoursWorked * HOURLY_WAGE. 9.Display name, idNumber, and pay, with descriptive labels.

Computer Programming 9 Coding, Execution, Testing Create a program stub – Opening documentation – Compiler directives for library includes – An empty main function Convert each step of algorithm into code – Add declaration for each object not already declared – Declaration includes object type and name. Compile and run

Computer Programming 10 Types and Declarations Fundamental (basic/primitive) Types Integers (positive and negative numbers) – int Integer variations – short, long, unsigned Reals (fractional numbers) – float, double, long double Characters (letters, digits, symbols, punctuation) – char Booleans (logical values, true and false ) – bool

Computer Programming 11 Integers Memory used for an int depends on word size used by the hardware – Usually 16, 32, or 64 bits used 16 Bits (2 bytes) – short int – Range -32768 … 32767 32 Bits (4 bytes) – long int (or long ) – Range -2137483648 … 2137483647 One bit used for the sign

Computer Programming 12 Integers Integers can be specified as unsigned – Then the sign bit not needed – Gives larger positive range unsigned short (16 bits) – Range 0 … 65535 unsigned long (32 bits) – Range 0 … 4294967295

Computer Programming 13 Integer Literals Decimal integers – Sequence of digits without a decimal point Octal integers – Sequence of digits beginning with a 0 – Base 8 Hexadecimal integers – Sequence of digits beginning with an X – Base 16

Computer Programming 14 Reals float – Usually a 32-bit value (4 bytes) double – A 64-bit value (8 bytes) long double – A 96- or 128-bit value The programmer should choose which type based on degree of precision desired for the object

Computer Programming 15 Reals Values are stored internally in scientific notation – A sign for the number – Significant digits of the number – The power of 10 – Sign for the power

Computer Programming 16 Reals Literal values – A sequence of digits with leading sign, containing a decimal point – Scientific notation – any one of the following forms 0.12e11 1.2E10 12.0E9 12.e9 12E9

Computer Programming 17 Characters char type Represents individual characters – Each character has a code; usually ASCII code. Characters represented in memory by numeric values corresponding to their codes Character literals – Characters enclosed in single quotes 'X' '7' '>' 'e‘ – Codes: for example the code 65 is for A

Computer Programming 18 Characters Escape characters – A backslash \ combined with another character hold special meaning CharacterC++ Escape Sequence Newline \n Horizontal tab \t Vertical tab \v Backspace \b Carriage Return \r Form Feed \f Alert (beep) \a

Computer Programming 19 Strings Related to characters – A sequence of characters – Enclosed in double quotes "Hi Mom" – Can include escape characters "\nThe answer is " Warning – "A" is a string literal – 'A' is a character literal

Computer Programming 20 Identifiers Names given to software objects Rules: – Must not be C++ keywords int, if, while, … – Must start with a letter (or the underscore _ ) – Followed by numerals, letters, underscore Recommendation – Use meaningful identifiers – Go for longer names, rather than shorter

Computer Programming 21 Identifiers C++ is case sensitive – name is not the same as Name Typical usage – Constants are all caps PI – Variables Start with lower case Capitalize first letter of successive words monthlyElectricCharge

Computer Programming 22 Object Categories There are three kinds of objects: – Literals: unnamed objects having a value ( 0, -3, 2.5, 2.998e8, ‘A’, “Hello\n”,... ) – Variables: named objects values can change during program execution – Constants: named objects values do not change during program execution

Computer Programming 23 Literals int literals are whole numbers: – -27, 0, 4, +4 double literals are real numbers, and can be: – fixed-point: -0.333, 0.5, 1.414,... – floating-point: 2.998e8, 0.2998e9,... There are just two bool literals: false, true char literals are single ASCII characters: – ‘A’, ‘a’, ‘9’, ‘\$’, ‘?’,... string literals are ASCII character sequences: – “Hello”, “Goodbye”, “Goodbye\n”,...

Computer Programming 24 Constants Declaration of software objects that remain constant – const double HOURLY_WAGE = 6.75; Rules – const is a keyword – Specify type – Specify the name (caps recommended) – Must be initialized with value at declaration

Computer Programming 25 Constants Reasons to use constants – Improve readability of the source code – Facilitate program modification Good programming practice – Place all constant declarations at beginning of function where used

Computer Programming 26 Variables Give a name to a memory location – Compiler accesses specific memory location when program uses a given variable Refer to objects in the program for which the value can change Declaration type variableName; // or type variableName = initializer_expression;

Computer Programming 27 Variables Variables Declaration – Can be either initialized or uninitialized... – If variable is uninitialized Contents must be considered "garbage value" Examples: int age = 18; double GPA = 3.25, credits; char letterGrade = ‘A’; bool ok, done = false;

Computer Programming 28 int Representation Integers are often represented in the twos- complement format High-order bit indicates the number’s sign: 2 10 = 0000000000000010 2 1 10 = 0000000000000001 2 0 10 = 0000000000000000 2 -1 10 = 1111111111111111 2 -2 10 = 1111111111111110 2 We show 16 bits, but 32 or 64 are common.

Computer Programming 29 Twos-Complement Algorithm to find twos-complement representation of a negative number: – Select your number (e.g., -12) – Represent its absolute value in binary (0000000000001100) – Invert the bits (1111111111110011) – Add 1 (1111111111110100)

Computer Programming 30 unsigned Objects Some objects have values that are never negative, C++ provides the unsigned type: 0000000000000000 2 = 0 10 0000000000000001 2 = 1 10 0000000000000010 2 = 2 10... 1111111111111110 2 = 65534 10 1111111111111111 2 = 65535 10 No sign bit, numbers can be twice as big.

Computer Programming 31 int vs. unsigned Using 32 bits, int values range from – -2 31 (-2147483648) to 2 31 -1 (2147483647), unsigned values range from – 0 to 2 32 -1 (4294967295). An int value “loses” one of its bits to the sign, Maximum int value is about half of the maximum unsigned value.

Computer Programming 32 double Objects Real values are often represented in 64 bits Use the IEEE floating point standard: mantissa (52 bits) exponent (11 bits) sign (1 bit)

Computer Programming 33 Overflow – Exponent is too large – Not enough bits to represent Underflow – Number is so small – Not enough bits to represent negative exponent double Objects

Computer Programming 34 char and String Objects Characters represented internally with binary codes – 8 bits – only 128 characters Strings stored as a sequence of these binary codes

Computer Programming 35 char and String Objects Unicode uses 16 bit codes Possible to represent more than 65,000 characters Can include special characters

Computer Programming 36 Booleans Only two values – true and false – true stored as 1 Anything that is not zero is actually interpreted as true – false stored as 0 Could be stored in a single bit – Usually stored in a word or byte

Computer Programming 37 User defined types typedef typedef unsigned int uint; Arrays uint ids[]={1,2,3}; Struct struct PersonInformation { string name; uint id; }; Enum enum Boolean {FALSE,TRUE}; Boolean isDone=FALSE; class

Download ppt "Types and Variables. Computer Programming 2 C++ in one page!"

Similar presentations