Professional Documents
Culture Documents
Programming Fund Lec 004
Programming Fund Lec 004
~ Constants in C++: -
1. 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.
2. Defining Constants:
· There are two simple ways in C++ to define constants:
· Replacement performed by the preprocessor, before the program is compiled, thus cause
sort of blind replacement.
4. 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.
· A const object is subject to the scoping rules for variables, whereas a constant created using
#define is not.
~ EXPRESSION:
1. What is an Expression?
· Expressions are sequences of operators and operands that that specifies a computation.
2. 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.
3. 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.
· For example, if you want to store a long value into a simple integer then you can type cast
long to int.
· You can convert values from one type to another explicitly using the cast operator as
follows:
(type_name) expression
5; double mean;
· Explicit Type Casting: Conversion performed via in the form of unary type-casting
operator in the
(new-type) operand
new-type (operand)
Example: -
double x = 10.3;
int y;
y = int (x);
y = (int) x;
· The fractional part would be truncated and lost in case conversion from float or
double to int.
~ Type Promotion:
1. What is Type Promotion?
· Special case of implicit type conversion.
· In type promotion, the compiler automatically expands the binary representation of objects
of integer or floating-point types.
· Promotions are done prior to arithmetic and logical operations in order to make operations
possible, or more efficient if the ALU can work with more than one type.
· C++ perform such promotion for objects of boolean, character, wide character and short
integer types which are promoted to int, and for objects of type float, which are promoted to
double.
· Promotions never lose precision or modify the value stored in the object.
int x = 3; Output=6.5
double y = 3.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.
*/ 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.
~ Escape Sequence:
1. What is Escape Sequence?
· An escape sequence is a sequence of characters that does not represent itself when used
inside a character or string literal, but is translated into another character or a sequence of
characters that may be difficult or impossible to represent directly.
· Syntax is as follow:
~ Discriminant:
b2 - 4ac /2a
Solution:
· 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>
main ()
int i;
cin >> i;
· The extraction operator >> is binary and thus takes two operands.
· The left-side operand must be an input stream variable, such as cin. And right hand side is a
variable to store the data.
Equivalent to
· White space or carriage return are equivalent to segregate the two inputs.
~ Input Stream in C++:
1. cin without >> operator:
· The >> operator may be used when you simply want to read the next non- blankspace
characters entered by the user into a character or character array.
· Any printable characters that follow the first space will be ignored and will not be stored in
the variable.
· if, for example, you wish to obtain a whole sentence from the user that includes spaces. In
that case, you would be better served by using the cin member functions get or getline.
2. Using cin.get:
· The unformatted get member function works like the >> operator with one exceptions.
· 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:
· Example:
#include <iostream>
main()
char line[25];
cin.get( line, 25 );
· Both functions allow a third argument that specifies the terminating character for input.
· 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.
· Example:
#include<iostream>
void main()
char line[100];
In this example, if user enter Pakistan, the output will be Pakis. It will
~ Use of Operator:
1. 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.
2. 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
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.
3. Problem Solution:
· Lets Consider User enters number 1234
Number = 1234
1234 % 10 = 4
1234/10 = 123.4
123 % 10 = 3
123/10 = 12.3
12 % 10 = 2
· Remove last digit (Truncate due to integer)
12/10 = 1.2
4. Code in C++:
#include<iostream.h>
main ( )
int number,digit;