Object Oriented Programming Spring - 2012
-
Upload
maddock-walters -
Category
Documents
-
view
31 -
download
0
description
Transcript of Object Oriented Programming Spring - 2012
Object Oriented ProgrammingSpring - 2012
COMSATS Institute of Information Technology
Intro to Programming
Kaleem [email protected]
Range of values
• What is the largest integer value that can be expressed in 32 bits?
• How to calculate range? [0…(2n – 1)] For 2 bits? 8 bits?
• For 32-bit computers• from 0 to 4,294,967,295
2
Range of values
• For 32-bit computers• Integer range is from -2,147,483,648 to
2,147,483,647• Integer overflow and underflow
3
What will be the output?
int a=2147483647;cout<<++a;
int a=-2147483648;cout<<a--;cout<<" "<<a;
Range of values
4
What will be the output?
int a=2147483647;cout<<++a; //-2147483648
int a=-2147483648;cout<<a--; //-2147483648cout<<" "<<a; //2147483647
5
Data items• Store data used in program:
read in from user constants used in program
• A data item can be declared either as a constant or a variable Constants are initialized with a value, but
their value cannot be changed after that. The value of a variable can be changed as
needed. • The keyword const in the declaration
indicates that the data item is a constant
6
Examplevoid main(){ // Declaring constants const int MIN_VALUE = 0; const int MAX_VALUE; // Error
MIN_VALUE = 45; // Error
cout << “MIN_VALUE is now “ << MIN_VALUE;
}
7
Declaration of data items.• We need to declare data items in our
program prior to using them.• The declaration tells:
whether the data item is a constant or a variable.
the identifier that will be used in the program to name the data item.
the data type for the data item.
8
Examplevoid main(){ // Declaring a constant. const float PI = 3.1416;
// Single variable declared at a time. int my_number; float GPA; char initial_letter;
// Can declare many data-items of the same type together. int height, base;}
9
Arrays• When we declare variables arbitrary
memory locations are assigned to them• Array
Same type of elements at contiguous location
Same name and type
• To refer to an element, specify Array name and position number
10
Arrays
c[6]
-45
6
0
72
1543
-89
0
62
-3
1
6453
78
Name of array (Note that all elements of this array have the same name, c) c[0]
c[1]c[2]c[3]
c[11]c[10]c[9]c[8]c[7]
c[5]c[4]
Position number of the element within array c
11
Arrays• Format: arrayname[ position number ]
First element at position 0 n element array c:
c[ 0 ], c[ 1 ]…c[ n - 1 ]
• Array elements are like normal variablesc[ 0 ] = 3;cout << c[ 0 ];
• Performing operations in subscript. If x = 3,c[ 5 – 2 ]or c[ 3 ]Or c[ x ]
12
• Total size of an array in bytes?• Total bytes = number of bytes in type x number
of elements• e.g. int sample[10];
Arrays
13
Declaring Arrays
• Declaring arrays - specify: Name Type of array Number of elements Examples
int c[ 10 ]; float hi[ 3284 ];
• Declaring multiple arrays of same type Similar format as other variables Example
int b[ 100 ], x[ 27 ];
14
Getting Values
• int MyArray[5];cin>>MyArray[0];cin>>MyArray[1] ;cin>>MyArray[2] ;cin>>MyArray[3] ;cin>>MyArray[4] ;
• Orfor(int i = 0; i < 5; i++)
cin>>MyArray[i];
15
Examples Using Arrays
• Initializersint n[ 5 ] = { 1, 2, 3, 4, 5 };
If not enough initializers, rightmost elements become 0
If too many initializers, a syntax error is generatedint n[ 5 ] = { 0 };
Sets all the elements to 0• If size omitted, the initializers determine it
int n[] = { 1, 2, 3, 4, 5 };
5 initializers, therefore n is a 5 element array
16
1
2 // Initializing an array with a declaration3 #include <iostream>45 int main()6 {7 int n[ 10 ] = { 32, 27, 64, 18, 95, 14, 90, 70, 60, 37 };89 cout << "Element \t Value" << endl;1011 int i = 0;1213 while(i < 10)14 {15 cout<<i<<“\t”<<n[i];16 i++;17 }18192021 return 0;22}
Notice how they array is declared and elements referenced.
17
int a[10], b[10];
// ...
a = b; // error – illegal
for(int i = 0; i < 10; i++)
a[i] = b[i]; //legal
Arrays
18
• Write a program to input an array of size 10 from the user and Find and print the minimum value in array Find and print the maximum value in array
19
Finding Minimum and Maximumint main(){ int i, min_value, max_value, list[10]; for(i=0; i<10; i++)
cin>>list[i]; // find minimum value min_value = list[0]; for(i=0; i<10; i++) if(min_value>list[i]) min_value = list[i]; cout << "\nminimum value: " << min_value << '\n';// find maximum value max_value = list[0]; for(i=0; i<10; i++) if(max_value<list[i]) max_value = list[i]; cout << "maximum value: " << max_value << '\n'; return 0;}
20
Strings• One dimensional arrays is used to create
character strings• In C++, a string is defined as a character
array that is terminated by a null• A null is specified using ‘\0’• Because of the null terminator, it is
necessary to declare a string to be one character longer
21
Strings• Arrays of characters• All strings end with null ('\0')• Examples
char string1[] = "hello"; Null character implicitly added string1 has 6 elements char string1[] = { 'h', 'e', 'l', 'l', 'o', '\0’ };
• Subscripting is the same string1[ 0 ] is 'h‘ string1[ 2 ] is 'l'
22
Reading strings from keyboard
• The easiest way to read a string entered from the keyboard is to make a character array
int main()
{
char str[80];
cout << "Enter a string: ";
cin >> str; // read string from keyboard
cout << "Here is your string: ";
cout << str<<"\n";
return 0;
}
23
String• Input from keyboard
char string2[ 10 ];cin >> string2;
Puts user input in string• Stops at first whitespace character• Adds null character
If too much text entered, data written beyond array
Printing strings cout << string2 << endl;
• Does not work for other array types
Characters printed until null found
24
Reading strings from keyboard
There is a problem with previous program, if the string has whitespace characters
// Using gets() to read a string from the keyboard.
int main()
{
char str[80];
cout << "Enter a string: ";
gets(str); // read a string from the keyboard
cout << "Here is your string: ";
cout << str<<“\n”;
return 0;
}