REVIEW OF C++
CHAPTER 1
UNIT 1 : PROGRAMMING IN C++
Introduction to C++
- C++ programming language developed by AT&T Bell Laboratories in 1979 by Bjarne Stroustrup. C++ is fully based on Object Oriented Technology i.e. C++ is ultimate paradigm for the modeling of information.Tokens- Smallest individual unit. Following are the tokens
- Keyword-Reserve word having special meaning the language and can’t be used asidentifier.
- Identifiers-Names given to any variable, function, class, union etc. Naming convention (rule) for writing identifier is as under:
- First letter of identifier is always alphabet.
- Reserve word cannot be taken as identifier name.
- No special character in the name of identifier except under score sign ‘_’.
- Literals-Value of specific data type assign to a variable or constant. Four type of Literals: i) Integer Literal i.e int x =10 ii) Floating point Literal i.e float x=123.45iii)Character Literal i.e char x= ‘a’, enclosed in single quotes and single character only. iv) String Literal i.e cout<< “Welcome” , anything enclosed in double quotes
- Operator – performs some action on data o Arithmetic(+,-,*,/,%) o Assignment operator (=) o Increment / Decrement (++, --) o Relational/comparison (<,>,<=,>=,==,!=). o Logical(AND(&&),OR(||),NOT(!).Conditional (? :)
- Punctuation – used as separators in c++ e.g. [ { ( ) } ] , ; # = : etcPrecedence of operators:
++(post increment),--(post decrement)
|
Highest
Low
|
++(pre increment),--(pre decrement),sizeof
!(not),-(unary),+unary plus)
|
|
*(multiply), / (divide), %(modulus)
|
|
+(add),-(subtract)
|
|
<(less than),<=(less than or equal),>(greater than), >=(greater
than or equal to)
|
|
==(equal),!=(not equal)
|
|
&& (logical AND)
|
|
||(logical OR)
|
|
?:(conditional expression)
|
|
=(simple assignment) and other assignment
operators(arithmetic assignment operator)
|
|
, Comma operator
|
Data type- A specifier to create memory
block of some specific size and type. C++offers two types of data types:
- Fundamental type : Which are not composed any other data type i.e. int, char, float and void
- Derived data type : Which are made up of fundamental data type i.e array, function, class, union etcData type conversion- Conversion of one data type into another data type. Two type of conversion i.e
- Implicit Conversion – It is automatically taken care by complier in the case of lower range to higher range e.g. int x, char c=’A’ then x=c is valid i.e character value in c is automatically converted to integer.
- Explicit Conversion- It is user-defined that forces an expression to be of specific type.e.g. double x1,x2 and int res then res=int(x1+x2)Variable- Memory block of certain size where value can be stored and changed during program execution. e.g. int x, float y, float amount, char c;Constant- Memory block where value can be stored once but can’t changed later on during program execution.e.g. const int pi =3.14;cout – It is an object of ostream_withassign class defined in iostream.h header file and used to display value on monitor.cin – It is an object of istream_withassign class defined in iostream.h header file and used to read value from keyboard for specific variable.comment- Used for better understanding of program statements and escaped by the compiler to compile . e.g. – single line (//) and multi- line(/*….*/)Cascading – Repeatedly use of input or output operators( “>>” or “<<”) in one statement with cin or cout.
Control
Structure:
|
||||||
Sequence control
statement(if
)
|
conditional statement
(if else)
|
Multiple
Choice
Statement
If –else-if
|
Switch Statement (Alternate for ifelse-
if) works for only exact match
|
loop control statement (while ,do… while,
for)
|
||
Syntax
|
Syntax
|
Syntax
|
Syntax
|
Syntax
|
||
if(expressio n) {
statements;
}
|
If(expressio n) {
statements;
}
else {
statements;
}
|
If
(expression)
{
statements
}
else
if(expression)
{
statement }
else {
statement
}
|
switch(int / char variable) {
case literal1: [statements break;] case literal2: [statements, break;]
default:statements; }
Break is
compulsory statement with every case because
if it is not included then the controls executes next case statement until
next break encountered or end of swtich
reached.
Default is optional, it gets executed
when no match is found
|
while(expression)
{
statements;
}
Entry control loop works for true
condition.
do {
statements;
} while(expression);
Exit Control Loop execute at least once if the
condition is false at beginning.
for loop for(expression1;expressio n2;expression3)
{
statement;}
Entry control
loop works for true condition
and preferred for fixed no.of times.
|
||
Note:
any non-zero value of an expression is treated as true and exactly 0 (i.e. all
bits contain 0) is treated as false.
Nested
loop -loop within loop.
exit()- defined in
process.h and used to terminate the program depending upon certain condition. break- exit from the current loop depending upon certain condition.
continue- to skip
the remaining statements of the current loop and passes control to the next
loop control statement.
goto- control is unconditionally transferred to the location of local label
specified by <identifier>. For example A1:
cout<<”test”;
goto A1;
goto A1;
Some
Standard C++ libraries
|
|||
Header
|
Nome Purpose
|
||
iostream.h
|
Defines
stream classes for input/output streams
|
||
stdio.h
|
Standard
input and output
|
||
ctype.h
|
Character
tests
|
||
string.h
|
String
operations
|
||
math.h
|
Mathematical
functions such as sin() and cos()
|
||
stdlib.h
|
Utility
functions such as rand()
|
||
Some functions
- isalpha(c)-check whether the argument is alphabetic or not.
- islower(c)- check whether the argument is lowecase or not.
- isupper(c) - check whether the argument is upercase or not.
- isdigit(c)- check whether the argument is digit or not.
- isalnum(c)- check whether the argument is alphanumeric or not.
- tolower()-converts argument in lowercase if its argument is a letter.
- toupper(c)- converts argument in uppercase if its argument is a letter.
- strcat()- concatenates two string.
- strcmp-compare two string.
- pow(x,y)-return x raised to power y.
- sqrt(x)-return square root of x.
- random(num)-return a random number between 0 and (num-1)
- randomize- initializes the random number generator with a random value.Array- Collection of element of same type that are referred by a common name.
One Dimensional array
- An array is a continuous memory location holding similar type of data in single row or single column. Declaration in c++ is as under:const int size =20; int a[size] or int a[20]. The elements of array accessed with the help of an index. For example : for(i=0;i<20;i++) cout<<a[i];
- String (Array of characters) –Defined in c++ as one dimensional array of characters aschar s[80]= “Object oriented programming”;
Two dimensional array
A two diamensional array is a continuous memory location holding similar
type of data arranged in row and column format (like a matrix structure).
Declaration – int a[3][4], means ‘a’ is an
array of integers are arranged in 3 rows & 4 columns.
Function -Name
given to group of statements that does some specific task and may return a
value. Function can be invoked(called) any no. of time and anywhere in the
program.
Function prototypes-Function declaration that specifies the function name, return
type and parameter list of the function.
syntax: return_type function_name(type var1,type var2,….,type varn );
Actual Parameters
Variables associated with function name during function call
statement.
Formal Parameters
Variables which contains copy of actual parameters inside the
function definition.
Local variables
Declared inside the function only and its scope and lifetime is function
only and hence accessible only inside function.
Global variables
Declared outside the function and its scope and lifetime is whole
program and hence accessible to all function in the program from point
declaration.
Example
:
#include <iostream.h> int a=20; // global void main()
{ int b=10; // local cout<<a<<b;
}
Passing value to function-
- Passing by value- In this method separate memory created for formal arguments and if any changes done on formal variables , it will not affect the actual variables.So actual variables are preserved in this case
- Passing by address/reference- In this method no separate memory created for formal variables i.e formal variables share the same location of actual variables and hence any change on formal variables automatically reflected back to actual variables.Example :void sample( int a, int &b){ a=a+100;b=b+200; cout<<a<<b;}void main() {int a=50, b=40;cout<<a<<b; // output 50 40 sample(a,b) // output 150 240 cout<<a<<b; // output 50 240}
Function overloading
- Processing of two or more functions having same name but different list of parameters.Structure-Collection of logically related different data types (Primitive and Derived) referenced under one name.e.g. struct employee{ int empno; char name[30]; char design[20]; char department[20];}Declaration: employee e;Input /Output : cin>>e.empno; // members are accessed using dot(.) operator. cout<<e.empno;Nested structure
- A Structure definition within another structure.
- A structure containing object of another structure.e.g. struct address{ int houseno;char city[20]; char area[20];long int pincode;}struct employee{ int empno;char name[30];char design[20];char department[20];address ad; // nested structure }Declaration: employee e;Input /Output : cin>>e.ad.houseno; // members are accessed using dot(.) operator. cout<<e.ad.houseno;typedefUsed to define new data type name.e.g. typedef char Str80[80]; Str80 str;#define Directives Use to define a constant number or macro or to replace an instruction.
source: CBSE key notes
No comments:
Post a Comment