Lecture 4
Lecture 4
Constants
Escape Sequence
Quadratic Equation
What is a Constant?
Constants refer to fixed values that the program may not alter and they are
called literals.
Constants can be of any of the basic data types and can be divided into
Integer Numerals, Floating-Point Numerals, Characters, Strings and
Boolean Values.
Constants are treated just like regular variables except that their values
cannot be modified after their definition.
3
Constants in C++
Defining Constants
There are two simple ways in C++ to define constants:
1. Using #define preprocessor.
2. Using const keyword.
It is Good Programming practice to define constants in CAPITALS.
4
Constants in C++
5
Constants in C++
Named Constants
Concept: Literals may be given names that symbolically represents them in
a program.
A named constant is like a variable, but its content is read-only, and cannot
be changed while the program is running.
use const prefix to declare constants with a specific type as follows:
const type variable = value;
Sometimes, it is convenient to give a name to constant value
A const object is subject to the scoping rules for variables, whereas a
constant created using #define is not.
6
Expression
What is an Expression?
Expressions are sequences of operators and operands that that specifies a
computation.
Expressions are used for one or more of these purposes:
Computing a value from the operands
Designating objects or functions.
7
Expression
Types of Expression
Expressions may be of one of following types
Integral Expression: A mathematical expression involving one or more
integral (all operands are integer) and produces result in integer form.
Floating Expression: A mathematical expression that all operands of
float type. The result will be float also
Mixed Expression: An expression that has operands of different data
types is called a mixed expression
8
Expression
Evaluating Expression
When evaluating an operator in a mixed expression:
If both operands have same data type then result will be of operand
type
If the operator has different types of operands then the result would of
higher data type used in expression
For example one is an integer, one is float and the third is a double,
then the result would be a double number.
9
Type Casting in C++
10
Type Casting in C++
11
Implicit Type Casting
12
Type Promotion
13
Type Promotion
Promotions never lose precision or modify the value stored in the object.
int x = 3;
double y = 3.5; Output=6.5
cout<<(x+y);
Integer promotion is the process by which values of integer type "smaller"
than int or unsigned int are converted either to int or unsigned int.
int sum, i = 17;
char c = 'c'; /* ascii value is 99 */
sum = i + c;
cout<<sum; Output=116
Compiler is doing integer promotion and converting the value of 'c' to ascii
before performing actual addition operation.
14
Explicit Type casting
15
Escape Sequence
16
Quadratic Equation
a*x*x + b*x + c
17
Discriminant
2
b - 4ac
2a
= b*b - 4*a*c /2 *a Incorrect answer
Solution
cin Object
Concept : the cin object can be used to read data typed at the keyboard.
19
Input Stream in C++
cin in c++
Concept : the cin object can be used to read data typed at the keyboard.
cin is used together with the extraction operator, which is written as >>.
This operator is then followed by the variable where the extracted data is
stored.
#include <iostream>
using namespace std;
voidmain () {
int i;
cout << "Please enter an integer value: ";
cin >> i;
cout << "The value you entered is " << i;
}
20
cin and the Extraction Operator >>
26
Input Stream in C++
Using cin.get
The unformatted get member function works like the >> operator with one
exceptions
1. The get function includes white-space characters, whereas the
extractor excludes white space .
A variation of the get function specifies a buffer address and the maximum
number of characters to read. This is useful for limiting the number of
characters sent to a specific variable, as in example on next slide:
27
Input Stream in C++
cin.get Example
using namespace std;
#include <iostream>
main() {
char line[25];
cout << " Type Line and enter\n>";
cin.get( line, 25 );
cout << ' ' << line;
}
28
Input Stream in C++
Using cin.getline
The getline member function is similar to the get function.
Both functions allow a third argument that specifies the terminating
character for input.
The default value is the newline character.
Both functions reserve one character for the required terminating character.
However, get takes the input stream character by character while getiline
take the input steram line by line.
29
Input Stream in C++
cin.getline Example
using namespace std;
#include <iostream>
void main() {
char line[100];
cout<<"Type Line terminated by ‘t’ \n>";
cin.getline( line, 100,’t’ );
cout << line;
}
In this example, if user enter Pakistan, the output will be Pakis. It will
display characters up to ‘t’
30
Use of Operator
Problem Statements
Calculate the average age of a class of ten students. Prompt the user to
enter the age of each student.
Problem Analysis
We have to calculate the average age of ten students so we will take the ages
of ten students from the user. Ten variables are required to store the ages, one
variable for each student’s age. We will take the ages of students in whole
numbers (in years only, like
10, 12, 15 etc), so we will use the variables of data type int.
31
Use of Operator
Problem Statements
Write a program that takes a four digits integer from user and shows the
digits on the screen separately i.e. if user enters 7531, it displays 1,3,5,7
separately.
Problem Analysis
We know that when we divide a number by 10, we get the last digit of the
number as
remainder. For example when we divide 2415 by 10 we get 5 as remainder. We
will use this logic in our problem to get the digits of the number. First of all,
we declare two variables for storing number and the digit. In our
program we will use modulus operator ( % ) to get the remainder. We will use
the same login to solve above problem.
32
Use of Operator
Problem Solution
Lets Consider User enters number 1234
Number = 1234
1. Take the remainder of the above number after dividing by 10
1234 % 10 = 4
2. Remove last digit (truncate due to integer)
1234/10 = 123.4
3. Take the remainder of new number 123
123 % 10 = 3
4. Remove last digit (Truncate due to integer)
123/10 = 12.3
5. Take the remainder of new number 12
12 % 10 = 2
4. Remove last digit (Truncate due to integer)
12/10 = 1.2
5. Final digit remains
33
Use of Operator
Code in C++
#include <iostream.h>
using namespace std;
main ( ){
int number,digit;
cout << “Please enter a 4 digit integer : ”;
cin >> number;
digit = number %10;
cout <<digit << ‘ , ’;
number = number / 10;
digit = number % 10;
cout <<digit << ‘ , ’;
number = number / 10;
digit = number % 10;
cout <<digit << ‘ , ’;
number = number / 10;
digit = number % 10; 34
cout <<digit;
35